Skip to content

Tuck Arms Example

rethink-cgindel edited this page Nov 12, 2013 · 8 revisions

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 tuck_arms.py -u

To Tuck the robot's arms:

$ rosrun baxter_tools tuck_arms.py -t

Overview

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.

Tuck/Untuck_Arms.png

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

Functions

To get help on tuck_arms use the -h argument:

$ rosrun baxter_tools tuck_arms.py -h

Help screen:

tuck_arms.py [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 tuck_arms.py -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 tuck_arms.py -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.

Troubleshooting

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: https://github.com/RethinkRobotics/sdk-docs/wiki/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):

http://www.ros.org/wiki/ROS/NetworkSetup#Name_resolution

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

  [baxter_core_msgs-AssemblyState]: http://github.com/RethinkRobotics/baxter_common/blob/release-0.7.0/baxter_core_msgs/msg/AssemblyState.msg

Clone this wiki locally