libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
planner.hpp
1 #ifndef PLANNER_HPP
2 #define PLANNER_HPP
3 
4 #include "API/ConfigSpace/configuration.hpp"
5 
6 #ifndef GRAPH_HPP
7 class Graph;
8 #endif
9 
10 #ifndef NODE_HPP
11 class Node;
12 #endif
13 
14 namespace API {
15 class Trajectory;
16 }
17 
28 class Planner
29 {
30 public:
34  Planner();
35 
42  Planner(Robot* rob, Graph* graph);
43 
47  virtual ~Planner();
48 
53  virtual bool trajFound();
54 
60 
65  void setRobot(Robot* R);
66 
72 
77  void setGraph(Graph* G);
78 
84  bool setInit(confPtr_t Cs);
85 
91  bool setGoal(confPtr_t Cg);
92 
97  Node* getInit();
98 
103  Node* getGoal();
104 
108  confPtr_t getInitConf() { return _q_start; }
109 
113  confPtr_t getGoalConf() { return _q_goal; }
114 
119  bool getInitialized();
120 
125  void setInitialized(bool b);
126 
130  virtual unsigned init();
131 
135  virtual unsigned int run() = 0;
136 
140  int getRunId() { return m_runId; }
141 
145  void setRunId(int id) { m_runId = id; }
146 
151  double getTime();
152 
153  void chronoStart();
154 
155  void chronoStop();
156 
157  void chronoUpdate();
158 
159  virtual API::Trajectory * extractTrajectory();
160 
161 protected:
162 
163  int (*_stop_func)();
164  void (*_draw_func)();
165 
166  // Store configurations for cases where the
167  // goal configuration is not inserted in the graph
168  confPtr_t _q_start;
169  confPtr_t _q_goal;
170 
177  bool _Init;
179  bool m_fail;
180 
181  int m_runId;
182 
183  double m_time;
184 };
185 
186 extern Planner* global_Move3DPlanner;
187 
188 #endif
Robot * _Robot
Le Robot pour lequel la recherche va se faire.
Definition: planner.hpp:174
confPtr_t getInitConf()
Get init configuration.
Definition: planner.hpp:108
Planner()
Plain Constructor of the class.
Definition: planner.cpp:27
int getRunId()
Get the run Id.
Definition: planner.hpp:140
Classe représentant un Node d'un Graph.
Definition: node.hpp:39
Graph * _Graph
Le Graph qui va être utilisé
Definition: planner.hpp:175
Node * getInit()
obtient le Node intial de la planification
Definition: planner.cpp:92
bool setGoal(confPtr_t Cg)
place le Node final de la planification
Definition: planner.cpp:159
Robot * getActivRobot()
retourne le Robot activ
Definition: planner.cpp:72
confPtr_t getGoalConf()
Get goal configuration.
Definition: planner.hpp:113
virtual bool trajFound()
test de trajectoire
Definition: planner.cpp:60
void setGraph(Graph *G)
modifie le Graph actif pour la planification
Definition: planner.cpp:87
bool setInit(confPtr_t Cs)
place le Node initial de la planification
Definition: planner.cpp:125
Definition: graph.hpp:28
double getTime()
return time in algorithm this function must be called after ChronoTimeOfDayOn()
Definition: planner.cpp:117
void setRunId(int id)
Set the run Id.
Definition: planner.hpp:145
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
virtual unsigned int run()=0
Run function.
virtual unsigned init()
Méthode d'initialisation du Planner.
Definition: planner.cpp:102
void setInitialized(bool b)
modifie la valeur du Booleen de test d'initialisation
Definition: planner.cpp:206
Node * _Start
Le Node initial de la planification.
Definition: planner.hpp:171
Definition: trajectory.hpp:40
bool getInitialized()
test si le Planner est initialisé pour la planification
Definition: planner.cpp:201
Node * getGoal()
obtient le Node final de la planification
Definition: planner.cpp:97
void setRobot(Robot *R)
place le Robot utilisé pour la planification
Definition: planner.cpp:77
Base class for planning algorithms.
Definition: planner.hpp:28
Node * _Goal
Le Node final de la planification.
Definition: planner.hpp:172
bool _Init
Le Planner a été initialisé
Definition: planner.hpp:177
virtual ~Planner()
Destructeur de la classe.
Definition: planner.cpp:56
Graph * getActivGraph()
obtient le Graph actif pour la planification
Definition: planner.cpp:82