Plan a Robot Path¶
In this exercise, we’ll pass our trajectory to the Descartes planner in order to plan a robot path.
Locate Exercise Source File¶
- Go to the main application source file located in
plan_and_run/src/plan_and_run_node.cpp
. - In the main program, locate the function call to
application.planPath()
. - Go to the source file for that function located in the
plan_and_run/src/tasks/plan_path.cpp
. Alternatively, in Eclipse you can click in any part of the function and press “F2” to bring up that file. - Comment out the first line containing the
ROS_ERROR_STREAM( ...
entry so that the function doesn’t quit immediately.
Complete Code¶
- Observe the use of the AxialSymmetricPt::getClosesJointPose() in order to get the joint values of the robot that is closest to an arbitrary joint pose. Furthermore, this step allows us to select a single joint pose for the start and end rather than multiple valid joint configurations.
- Call the DensePlanner::planPath() method in order to compute a motion plan.
- When planning succeeds, use the DensePlanner::getPath() method in order to retrieve the path from the planner and save it into the
output_path
variable. - Find comment block that starts with
/* Fill Code:
and complete as described. - Replace every instance of
[ COMPLETE HERE ]
accordingly.
Build Code and Run¶
cd
into your catkin workspace and runcatkin build
- Then run the application launch file:
roslaunch plan_and_run demo_run.launch