Skip to content
Rob Linsalata edited this page May 1, 2013 · 9 revisions

Puppet Example

Summary

Use puppet as an example of controlling Baxter using joint velocity control.

Quickstart

Start the puppet example from an RSDK terminal session, specifying the left or right arm as the "puppet", ex:

    $ rosrun joint_velocity puppet.py right

Grab the other arm (e.g. the left in this case) at the cuff and move it around using '0 G' mode to puppet the arm specified on the command line.

Overview

There are two modes of control for Baxter's arms, joint position and joint velocity control. This example will mirror any movement (joint velocities) on one arm to the other in 0 G mode.

For more information on Baxter's arms, see Using the Arms.

Usage

See the usage on the command line by passing puppet.py the -h, help argument:

    $ rosrun joint_velocity puppet.py -h

Usage:

puppet.py [-h] [-a AMPLIFICATION] limb

Positional Arguments
limb - Specify the limb to puppet: left or right

Optional Arguments
-h, --help - Show this help message and exit
-a AMPLIFICATION, --amplification AMPLIFICATION - Amplification to apply to the puppeted arm

Interfaces

ROS APIs

See the API Reference page for details.

  • Control Joint Velocity: /robot/limb/<limb>/command_joint_velocities

Publications:

  • /robot/limb/right/command_joint_angles [baxter_msgs/JointPositions]
  • /robot/limb/right/joint_command_mode [baxter_msgs/JointCommandMode]
  • /robot/limb/left/joint_command_mode [baxter_msgs/JointCommandMode]
  • /rosout [rosgraph_msgs/Log]
  • /robot/limb/left/command_joint_angles [baxter_msgs/JointPositions]
  • /robot/limb/left/command_joint_velocities [baxter_msgs/JointVelocities]
  • /robot/set_super_enable [std_msgs/Bool]
  • /robot/limb/right/command_joint_velocities [baxter_msgs/JointVelocities]

Subscriptions:

  • /robot/limb/right/joint_states [sensor_msgs/JointState]
  • /robot/limb/left/joint_states [sensor_msgs/JointState]
  • /sdk/robot/state [baxter_msgs/AssemblyState]

baxter_interface APIs

  • Limb class: limb.py

Troubleshooting

For common issues specific to using wobbler with Baxter, check out the Troubleshooting page.

Clone this wiki locally