Plan a Robot Path¶
In this exercise, we will 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 does not quit immediately.
Complete Code¶
Observe the use of the AxialSymmetricPt::getClosestJointPose() 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