-
Notifications
You must be signed in to change notification settings - Fork 5
RecordDemo and Kinesthetic Learning GUI
See the hlpr_documentation repository for information on getting started with the Kinesthetic Learning GUI
Ubuntu 14.04 Trusty
- ROS
- HLPR_Manipulation
eef_publisher.py This code continually publishes the end effector pose (the '/base_link' to '/right_ee_link' transform) to the topic /eef_pose; this topic along with /joint_states is what the record demo action will bag.
RecordKFDemoAction()
This is an action server that will record a single demo each time it is initiated (it's called a keyframe demo but can be a keyframe or a trajectory demo, should rename??).
This action server subscribes to three topics:
-
/record_demo_frame: the messages on this topic tell the action server when to record data, messages have the following meaning:
- msg = 0: start a trajectory demonstration ("like this")
- msg = 1: start a keyframe demonstration ("start here")
- msg = 2: record intermediate keyframe ("go here")
- msg = 3" last keyframe, or end of trajectory demo ("end here")
-
/joint_states: each keyframe written to the bag file includes a JointState msg
-
/eef_pose: each keyframe written to the bag file include a Pose msg
The bag file with the name specified in the goal is opened as soon as the goal is sent to the server, then each keyframe writes data to the bag file, and the bag is closed on the last keyframe. For trjaectory demonstrations, data is written to the bag file at 100hz
record_keyframe_demo_action_client.py shows example client usage of the RecordKFDemoAction server.
playback_keyframe_demo_AS.py
This is an action server that will take a demo, stored as a bag file, and play it back using MoveIt to construct a plan and using hlpr_manipulation to execute the plan
playback_keyframe_demo_action_client.py
These are both little scripts if you want to quickly test out the above two action servers. The record client has different examples of recording demonstrations. The playback client tries to playback 'demo_data_0'.