10 #include "../OMPL_Planner/OMPL_Planner.hpp" 12 int main(
int argc,
char **argv)
14 int planningDimension = 2, solvingTime = 5;
15 std::string plannerName, mapFile;
16 std::vector<double> start, goal, planning_bounds_x_, planning_bounds_y_, planning_bounds_z_;
18 planning_bounds_x_.resize(2);
19 planning_bounds_y_.resize(2);
20 planning_bounds_z_.resize(2);
22 cout<<
"Path planning with OMPL version "<<OMPL_VERSION<<
"\n";
23 cout<<
"Choose a dimension for planning 2D or 3D (default :"<<planningDimension<<
") : ";
24 cin >> planningDimension;
26 start.resize(planningDimension);
27 goal.resize(planningDimension);
29 cout<<
"Choose a planner (available planner : CForest, RRTstar) : ";
34 planning_bounds_x_[0]=-15;
35 planning_bounds_x_[1]=15;
36 planning_bounds_y_[0]=-15;
37 planning_bounds_y_[1]=15;
38 planning_bounds_z_[0]=-15;
39 planning_bounds_z_[1]=15;
41 if (planningDimension == 3)
42 planner.setPlanningBounds(planning_bounds_x_, planning_bounds_y_, planning_bounds_z_);
44 planner.setPlanningBounds(planning_bounds_x_, planning_bounds_y_);
46 planner.setPlanningDepth();
48 planner.setPlanner(plannerName);
50 cout<<
"Enter direction to the Octomap file (.bt file usually) : ";
52 planner.setStateChecker(mapFile,0.5,0.5,0.5);
54 cout<<
"\n Planner initialization done !\n";
59 cout<<
"Choose a start position (expecting "<< planningDimension <<
" values) : ";
60 if(planningDimension==2)
61 cin>> start[0] >> start[1];
63 cin>> start[0] >> start[1] >> start[2];
65 cout<<
"Choose a goal position (expecting "<< planningDimension <<
" values) : ";
66 if(planningDimension==2)
67 cin>> goal[0] >> goal[1];
69 cin>> goal[0] >> goal[1] >> goal[2];
71 planner.setStartGoal(start,goal);
73 cout<<
"Choose solving time (default :"<<solvingTime<<
") : ";
78 if(planner.findPath(solvingTime))
80 og::PathGeometric path = planner.getPath();
84 cout<<
"\n No path found\n";
86 cout<<
"Thanks for using this awsome Hello World !\n";
Class for planner for 2D and 3D planning.