1 #ifndef TASKMANAGERINTERFACE_H
2 #define TASKMANAGERINTERFACE_H
4 #include "taskManager.hpp"
27 std::multimap<std::string,std::string> agents;
28 std::multimap<std::string,std::string> objects;
29 std::multimap<std::string,p3d_point> points;
30 std::multimap<std::string,std::string> additionalData;
34 bool isAlreadyComputed;
48 void initTaskManager();
50 void setTypeStr(std::string str);
51 void setType(TasksId type);
52 TasksId getType() {
return _type;}
54 void setAgent(std::string
id, std::string name);
55 void setObject(std::string
id, std::string name);
56 void addPoint(std::string
id, p3d_point p);
57 void addAdditinalData(std::string
id, std::string value);
60 std::multimap<std::string,std::string> getAgents() {
return _agents;}
61 std::multimap<std::string,std::string> getObjects() {
return _objects;}
62 std::multimap<std::string,p3d_point> getPoints() {
return _points;}
63 std::multimap<std::string,std::string> getAdditionalData() {
return _additionalData;}
65 void desactiveConstraints(
Robot* ag);
66 void clearAgents() {_agents.clear();}
67 void clearObjects() {_objects.clear();}
68 void clearPoints() {_points.clear();}
69 void clearAdditionalData() {_additionalData.clear();}
75 void callAlternative(
int taskId);
76 double getTaskHeuristic();
79 Task* getLastSolutionFound();
81 PlannerStates getState() {
return _PS; }
82 void setState(PlannerStates PS) { _PS = PS; }
84 int getSolutionId() {
return _solutionId;}
85 void setSolutionId(
int solId) {_solutionId = solId;}
87 int getAlternativeId() {
return _alternativeId;}
88 void setAlternativeId(
int altId) {_alternativeId = altId;}
90 int getSubSolutionId() {
return _subSolutionId;}
91 void setSubSolutionId(
int subSolId) {_subSolutionId = subSolId;}
94 void clearAllInputs();
95 std::string getCurrentInputsDescr();
99 bool hasWorldState(){
return _hasWorldState;}
100 void setHasWorldState(
bool val) {_hasWorldState = val;}
102 TaskSolution* getCurrentSol() {
return current_solution;}
103 void setCurrentSol(
TaskSolution* curSol) {current_solution = curSol;}
105 PlanNode* getCurrentPN() {
return _curr_PN;}
106 void setCurrentPN(
PlanNode* curPN) {_curr_PN = curPN;}
109 void setCurrentSubSol(
TaskSubSolution* curSol) {current_sub_solution = curSol;}
111 bool getComputeMP() {
return _computeMP;}
112 void setComputeMP(
bool CMP) { _computeMP = CMP;}
117 void removeConstraintFromPrevTS(
int taskId,
int altId);
119 void addCurrentTaskToList();
120 void loadCurrentTaskFrom(
task_in TI);
122 void resetAllFromScratch();
123 void removeLastTaskFromList();
124 std::string getOneTaskDescr(
task_in t);
125 std::string getListDescr();
127 bool testGoalConstraints();
128 bool computePlan(
bool computeMP,
int init_id);
129 bool computeJustMP();
131 bool getWSFromRangeParam(
int taskId,
int altId,
WorldState* ws,
double rangeParam);
133 std::vector<std::pair<std::pair<int,int>,
double> > getBacktrackPriorities();
135 std::vector<task_in> getTaskList() {
return _tasksList;}
136 void setTaskList(std::vector<task_in> ti) {_tasksList = ti;}
138 bool getPlanFound() {
return _planFound;}
139 void setPlanFound(
bool pf) {_planFound = pf;}
141 bool getIsComputePlanSuccess() {
return _isComputePlanSuccess;}
142 void setIsComputePlanSuccess(
bool s) {_isComputePlanSuccess = s;}
147 void savePlanToDisk(std::string path);
148 void loadPlanFromDisk(std::string path);
150 void readTask(std::vector<std::string> vt);
152 std::pair<std::string,WorldState*> readWS(std::vector<std::string> vt);
153 p3d_traj *readTraj(std::vector<std::string> vt,
Robot *r);
154 p3d_localpath *readLocalpath(std::vector<std::string> vt, std::string type,
Robot *r);
155 confPtr_t readConf(std::vector<std::string> ligne,
Robot *r );
158 double getCurrentHeurisitic() {
return _currentHeuristic;}
159 void setCurrentHeurisitic(
double h) {_currentHeuristic = h;}
161 bool addAttachementsFromTask(
int taskId,
int alternativeId);
162 bool addAttachementFromObject(
Robot* robot,
Robot*
object,
int armId);
163 void clearAttachements();
164 std::vector<Attachement> getAttachements() {
return _attachements;}
170 std::string _typeStr;
171 std::multimap<std::string,std::string> _agents;
172 std::multimap<std::string,std::string> _objects;
173 std::multimap<std::string,p3d_point> _points;
174 std::multimap<std::string,std::string> _additionalData;
186 int current_computing_id;
195 std::vector<task_in> _tasksList;
199 bool _isComputePlanSuccess;
203 double _currentHeuristic;
207 std::vector<Attachement> _attachements;
211 #endif // TASKMANAGERINTERFACE_H
Definition: taskSolution.hpp:9
Definition: taskConstraints.hpp:34
Definition: planNode.hpp:12
Definition: taskSubSolution.hpp:10
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
Definition: taskManager.hpp:19
Definition: taskManagerInterface.hpp:43
Definition: worldState.hpp:30