sudo apt-get install ros-groovy-pr2-pbd
Running with Gazebo on your desktop
Terminal 1 (this will launch Gazebo):
$ export ROBOT=sim $ roslaunch pr2_pbd_interaction simulated_robot.launch
Terminal 2 (this will launch robot related stuff):
$ export ROBOT=sim $ roslaunch pr2_pbd_interaction pbd_demo_robot.launch
Terminal 3 (this will launch rviz and gui):
$ export ROBOT=sim $ roslaunch pr2_pbd_interaction pbd_demo_desktop.launch
* In the window named “Default - RosGui”, click on Plugins>PR2 Programming by Demonstration.
Running on the robot
On the robot:
$ robot start $ roslaunch pr2_pbd_interaction pbd_demo_robot.launch
On the desktop:
$ roslaunch pr2_pbd_interaction pbd_demo_desktop.launch
Here is an example sequence of speech commands to program a new action (which you can send through the GUI).
- Relax right arm.
- Relax left arm.
- (Move the arms to a starting pose. You can click on the gippers to get the interactive markers for moving the arms.)
- Create new action.
- Save pose.
- (Then move the arm somewhere else)
- Save pose.
- (Move the arm somewhere else)
- Open right hand.
- Close right hand.
- # Start recording motion.
- # (Move the arm in desired trajectory)
- # Stop recording motion.
Make sure you unselect the interactive markers on the robot’s end effectors
- Execute action.
You can also say ‘Open/close right/left hand’ as part of the sequence. If you would like any of your saved poses or trajectories to be relative to an object in the environment use the command ‘Record object pose’ before starting to save (currently assumes a single object on a flat surface). You can later edit the coordinate frames through the rviz window, by right-clicking on their visualization.
Full command list
test-microphone relax-right-arm relax-left-arm open-right-hand open-left-hand close-right-hand close-left-hand stop-execution undo-last-command delete-all-steps delete-last-step freeze-right-arm freeze-left-arm record-object-pose create-new-action execute-action next-action previous-action save-action edit-action save-pose start-recording-motion stop-recording-motion