Overview

This package provides utilities for collecting, recording, processing, and learning from demonstrations with the PR2.

Installation

Get this package via github:

   1 git clone https://github.com/sniekum/pr2_lfd_utils.git

Build using catkin. This package has recently had a major update, so the rest of this wiki page may be out of date until further notice.

Utilities

Before any utilities can be used, a launch script must be run:

   1 roslaunch pr2_lfd_utils lfd.launch

Then, any of the following utilities are available:

* moveArmsToSide.py - Simple script that moves the PR2's arms to a standard position at its sides.

* recordNode.py - Allows for the recording of a kinesthetic demonstration on the PR2. When running, pressing start on the robot's PS3 controller puts the left arm into mannequin mode and begins recording joint positions (including gripper) and observed AR tags positions into a bagfile in an autogenerated folder, if any. Pressing start again switches to a new bagfile. Pressing select ends the demonstration. If start is pressed again, a new folder (and bagfile) are created. See src/recordInteraction.py for more details and instructions for switching arms.

* processDemos.py - Converts a folder of bagfiles into .txt files for use by other pr2_lfd_utils scripts and .mat files for analysis in Matlab, if desired.

* singleReplay.py - Uses converted files from processDemos.py to learn a Dynamic Movement Primitive (DMP) and then replays it in a specfied coordinate frame.

* singleReplayAndRecord.py - Identical to singleReplay.py, but shows an example of how additional data from the execution can be recorded, such as gripper accelerometer data.

Wiki: pr2_lfd_utils (last edited 2015-02-09 20:52:19 by ScottNiekum)