From sdk-wiki
Jump to: navigation, search

Tuck Arms Example

The tuck arms example program will allow you to tuck/untuck Baxter's arms to/from 'shipping pose'.

Basic Usage

To Untuck the robot's arms:

   $ rosrun baxter_tools -u

To Tuck the robot's arms:

   $ rosrun baxter_tools -t


The pose that Baxter is shipping in is referred to as 'shipping pose'. This tool is particularly useful for the initial unpacking of Baxter. This tools is also useful for subsequent movements of Baxter (ie. moving Baxter through doorways etc.) as this is the most compact form for Baxter's transportation.


Important Note: Please make sure no other control programs are running as this tools disables collision avoidance.


To get help on tuck_arms use the -h argument:

   $ rosrun baxter_tools -h

Help screen: [ARGUMENTS]
  • h, --help show this help message and exit
  • t, --tuck tuck arms
  • u, --untuck untuck arms

Tuck Arms

Use -t to tuck Baxter's arms.

   $ rosrun baxter_tools -t

If not already in 'tucked' position, the robot will come to a neutral pose, disable collision avoidance and tuck the arms into the 'tucked' position, disabling on completion.

Untuck Arms

Use -u to untuck Baxter's arms.

   $ rosrun baxter_tools -u

If Baxter is in the 'tucked' position, collision avoidance will be disabled, and the arms will move into the 'untucked' pose where the robot will remain enabled. If Baxter is not tucked at program start, collision avoidance will remain enabled, and Baxter will move to the 'untucked' position.


Robot reports a timeout error on untuck or tuck command.

Make sure that your network connection is configured allowing you to make commands to the robot:Connecting and Testing the Development Workstation

In particular that your ROS_HOSTNAME is resolvable to the robot, or alternatively setting your ROS_IP to your current ip address (make sure that your ROS_HOSTNAME is not set when using this approach):

Robot reports failure to reset error on untuck or tuck command.

If your robot "fails to reset" when you running untuck/tuck arms example, the first thing to check is if the E-Stop is engaged:

$ rosrun baxter_tools enable_robot -s
enabled: False
stopped: True
error: True
estop_button: 1
estop_source: 1

If the estop_button: field says '1', it means the E-Stop is engaged (from [baxter_core_msgs/AssemblyState][baxter_core_msgs-AssemblyState] message: uint8 ESTOP_BUTTON_PRESSED=1). Disengage the E-Stop by twisting the red top until it 'pops'-up, then try resetting the robot.

$ rosrun baxter_tools enable_robot -r