Baxter Research Robot

  • Dell desktop
  • OS: Ubuntu 14.04
  • ROS Indigo
  • Rishabh Agarwal (
  • Ivan Penskiy (
Important documents and useful links:

Overview: This is a humanoid robot designed for research in human-safe robotic manufacturing and human-assistive robotics. It has two 7-axis arms, integrated cameras, sonar, torque sensors, and direct programming access via a standard ROS (Robot Operating System) interface. Baxter comes with both electronically controlled and vacuum grippers and a mobile pedestal to easily move the robot.

Important use reminders:
  • While this is designed as a human-safe robot, it is still a big robot that can do a lot of damage. Make sure the red emergency stop button is accessible at all times!!
Location: Engineering Annex Building 093, Room 0307 (Robot Room of RRL)

Reservation: Baxter must be reserved before use. The reservation is done using the NanoCenter reservation system.

You will be able to reserve the equipment personally only after being trained on it.

Training Procedure:

For the training on Baxter it is essential to be familiar with the following aspects:
  • Since the robot uses ROS as its framework, one should be used to working on ROS. For anyone starting on ROS it is recommended to go through the beginner tutorials of ROS Indigo for basic understanding. The tutorials could be found at the following link: ROS Tutorials 
  • Rethink robotics provides detailed instructions and tutorials for Baxter. Understanding the existing packages on Baxter would provide a strong base and understanding for further developments on Baxter. Therefore, anyone working on Baxter should take a look at their learning section: Baxter wiki
  • Before providing the permission for working on Baxter hardware, we require every individual to show a detailed simulation of Baxter on Gazebo or MoveIt. The simulation should provide one of Baxter's arm to move from one location to another and grab any object (for simplicity keep it a square box) and bring it back to the previous location of the arm. Tutorials for task are linked: MoveIt Tutorial and Gazebo tutorial

Workspace Setup:

Once you have completed the above steps and an account created on the computer, you need to create a workspace so ROS knows where your code is when you are working with Baxter.

Take a look at the Rethink Robotics SDK wiki on setting up the workstation: Everything has already been set up on the machine except for the catkin workspace in your home directory where your packages will reside. To do this, first create a new directory somewhere in your home directory, just as in step 3 of the SDK directions:

cd ~

mkdir -p ros_ws/src

cd ros_ws

(ros_ws is just the default tutorial name, you can choose any preferred name). Then do an initial build after sourcing the ROS environment script.

source /opt/ros/baxter/install/setup.bash


Here, the setup.bash file in the Baxter workspace is used instead of the one mentioned in the tutorial, /opt/ros/indigo/setup.bash. This is so the Baxter SDK packages can reside in a separate workspace and be common to every user. By sourcing the Baxter workspace setup.bash, your workspace becomes an overlay of the system workspace ( and will see all of its packages as if they were in your own workspace. Note that if you ever completely clean out the generated build files in your own workspace, you need to source the Baxter setup.bash before rebuilding.

Finally, copy the script from the Baxter workspace which you will use in your daily work to communicate with Baxter.

cp /opt/ros/baxter/ .           

chown your_username_here

chmod u+x

(Note the . as the second argument of the cp command, assuming your current directory is ros_ws) And that’s it for setup. Now, whenever you want to run code that talks with Baxter you only have to do:

cd ~/ros_ws


You can now verify everything is working by starting at step 2 of the SDK Hello Baxter page here:

When adding code to your workspace, it is strongly encouraged that you keep your packages inside version-controlled repositories, either with git or mercurial. Your packages, as well as others from third-party sources, can then be maintained by the wstool utility provided by the ROS community. An overview is here: There is a good tutorial using the former name ‘rosws’ here: