Cannot Enable Robot
The enable robot example program will allow you to enable/disable/reset/stop the robot. You can also get the robot's current state. The robot must be enabled in order to control the motors.
1 - 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
estop_button: field says '
1', it means the E-Stop is engaged (from [
Disengage the E-Stop by twisting the red top until it 'pops'-up, then try resetting the robot.
$ rosrun baxter_tools enable_robot -r $ rosrun baxter_tools enable_robot -e
2 - Verify ROS Environment Variables are set
Make sure that you have properly set your baxter.sh ROS environment variables by running:
$ env | grep ROS
Verify that ROS_MASTER_URI contain's the robot's hostname and ROS_IP contains your workstation's IP address. If your workstation's IP or your robot's hostname have changed, the baxter.sh file must be updated.
It is also very important that if you have chosen to use the ROS_HOSTNAME rather than ROS_IP when setting up your ROS environment, the ROS_IP field should be commented out. Using both will result in a robot that cannot be enable.
This post from the forum shows one example of a researcher having a similar issue.
3 - Verify Network Setup
Reboot your robot with the network cable connected to reset communication to the Baxter.
Make sure you can ping Baxter from your workstation. If you can ping <robot ip> then the network is working correctly.
- If you are unable to ping Baxter, see the Networking page to review your network setup and ensure proper communication between the SDK and Baxter.
- See this post on the forum for additional information.