Tuck Arms Example - RethinkRobotics/sdk-docs GitHub Wiki
The tuck arms example program will allow you to tuck/untuck Baxter's arms to/from 'shipping pose'.
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
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 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
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.
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.
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
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