Pick Up Box¶
In this exercise, we will move the robot through the pick motion while avoiding obstacles in the environment. This will be accomplished by planning for each pose and closing or opening the vacuum gripper when apropriate. Also, we will demonstrate how to create a motion plan that MoveIt! can understand and solve.
- In the main program, locate the function call to
- Go to the source file of that function by clicking in any part of the function and pressing F2 in QtCreator.
- Remove the first line containing the following
ROS_ERROR_STREAM ...so that the program runs.
Find every line that begins with the comment
Fill Code:and read the description. Then, replace every instance of the comment
ENTER CODE HEREwith the appropriate line of code.
/* Fill Code: . . . */ /* ======== ENTER CODE HERE ======== */
set_attached_objectmethod to understand how to manipulate a
robot_stateobject which will then be used to construct a motion plan.
create_motion_planmethod to see how an entire motion plan request is defined and sent.
The execute() method sends a motion plan to the robot.
Build Code and Run¶
Compile the pick and place node:
Alternatively, in a terminal:
catkin build collision_avoidance_pick_and_place
Run the supporting nodes with the launch file:
roslaunch collision_avoidance_pick_and_place ur5_setup.launch
In another terminal, run your node with the launch file:
roslaunch collision_avoidance_pick_and_place ur5_pick_and_place.launch
The robot should go through the pick moves (approach, pick and retreat) in addition to the moves from the previous exercises. In the terminal you will see something like:
[ INFO] [1400555978.404435764]: Execution completed: SUCCEEDED [ INFO] [1400555978.404919764]: Pick Move 2 Succeeded [ERROR] [1400555978.405061541]: create_place_moves is not implemented yet. Aborting.