libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
plannerFunctions.hpp
1 #ifndef PLANNERFUNCTIONS
2 #define PLANNERFUNCTIONS
3 
4 #ifdef LIST_OF_PLANNERS
5 #define Global
6 #else
7 #define Global extern
8 #endif
9 
10 #include "P3d-pkg.h"
11 
15 /*object global permettant d'acceder aux planner dans tous les fichiers de Move3d*/
16 
17 #include "planner/planner.hpp"
18 #include "API/Trajectory/trajectory.hpp"
19 
20 #define PLAN_RIGHT_ARM 0
21 #define PLAN_LEFT_ARM 1
22 #define PLAN_BASE 2
23 #define PLAN_FULL 3
24 
25 #define PLAN_STATUS_FOUND 0
26 #define PLAN_STATUS_START_EQUALS_GOAL 1
27 #define PLAN_STATUS_START_INVALID 2
28 #define PLAN_STATUS_GOAL_INVALID 3
29 #define PLAN_STATUS_NOT_FOUND 4
30 
31 
32 Global std::vector<Planner*> plannerlist;
33 
38 {
39  int runId;
40  bool succeeded;
41  double time;
42  double cost;
43  int nbNodes;
44  int nbExpansions;
45 };
46 
50 API::Trajectory p3d_get_last_trajectory();
51 
55 void p3d_get_rrt_statistics( RRTStatistics& stat );
56 
60 void p3d_get_traj_statistics( TrajectoryStatistics& stat );
61 
66 void p3d_planner_functions_set_run_id( unsigned int idRun );
67 
73 
74 
75 p3d_traj* p3d_extract_traj(bool is_traj_found, int nb_added_nodes, Graph* graph, confPtr_t q_source, confPtr_t q_target);
76 
81 p3d_traj* p3d_planner_function( p3d_rob* robotPt, configPt qs, configPt qg);
82 
87 void p3d_smoothing_function( p3d_rob* robotPt, p3d_traj* traj, int nbSteps, double maxTime );
88 
93 void p3d_smoothing_function_dummy( p3d_rob* robotPt, p3d_traj* traj, int nbSteps, double maxTime );
94 
98 void p3d_set_goal_solution_function( configPt (*fct)() );
99 
104 bool p3d_generate_goal_configuration( Configuration& q );
105 
113 int p3d_run_prm(p3d_rob* robotPt);
114 
115 
116 int p3d_run_directed_prm(p3d_rob* robotPt);
117 
125 int p3d_run_acr(p3d_rob* robotPt);
126 
134 int p3d_run_vis_prm(p3d_rob* robotPt);
135 
143 int p3d_run_perturb_prm(p3d_rob* robotPt);
144 
152 int p3d_run_rrt(p3d_rob* robotPt);
153 
154 
155 
169 int p3d_plan(p3d_rob* robotPt, configPt from, configPt to, int robotPart, bool cartesian);//, Graph* fromGraph);
170 int p3d_plan(p3d_rob* robotPt, configPt from, configPt to, const std::vector<int> &joints, bool cartesian);
178 bool p3d_run_est(p3d_rob* robotPt);
179 
184 void p3d_learn_cxx(int NMAX, int (*fct_stop)(void), void (*fct_draw)(void));
185 
190 int p3d_specific_learn_cxx(double *qs, double *qg, int *iksols, int *iksolg, int (*fct_stop)(void), void (*fct_draw)(void));
191 
192 #endif
int p3d_specific_learn_cxx(double *qs, double *qg, int *iksols, int *iksolg, int(*fct_stop)(void), void(*fct_draw)(void))
SPECIFIC LEARN FUNCTION to use with C++ Planner API.
Definition: plannerFunctions.cpp:1413
Definition: trajectory.hpp:23
void p3d_learn_cxx(int NMAX, int(*fct_stop)(void), void(*fct_draw)(void))
LEARN FUNCTION to use with C++ Planner API.
Definition: plannerFunctions.cpp:1326
void p3d_smoothing_function_dummy(p3d_rob *robotPt, p3d_traj *traj, int nbSteps, double maxTime)
Funtion for smoothing a trajectory (Manip.
Definition: plannerFunctions.cpp:486
Definition: graph.hpp:28
void p3d_planner_functions_set_run_id(unsigned int idRun)
Funtion to set multirun Ids.
Definition: plannerFunctions.cpp:79
void p3d_smoothing_function(p3d_rob *robotPt, p3d_traj *traj, int nbSteps, double maxTime)
Funtion for smoothing a trajectory (Manip.
Definition: plannerFunctions.cpp:375
p3d_traj * p3d_planner_function(p3d_rob *robotPt, configPt qs, configPt qg)
Funtion for planning (Manip.
Definition: plannerFunctions.cpp:242
RRT statistics.
Definition: plannerFunctions.hpp:37
Definition: trajectory.hpp:40
unsigned int p3d_planner_functions_get_run_id()
Funtion to get multi-run Ids.
Definition: plannerFunctions.cpp:84
Classe représentant une Configuration d'un Robot.
Definition: configuration.hpp:25