Baxter Research Robot

Baxter
Status Active

Superusers

  • Ivan Penskiy (ipenskiy[at]umd[dot]edu)

Important documents and useful links

Overview

Baxter from Rethink Robotics 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.

Software setup

Baxter is connected to the lab's LAN with a static IP. The controlling PC has Ubuntu 14.04 installed with ROS Indigo running.

Location

Brendan Iribe Center 432, Room 0116.

Physical specifications

Maximum Reach 1210 mm
Degrees of Freedom 14 (7 per arm)
Maximum Payload (Including End Effector) 2.2 kg

Reservation

Baxter must be reserved before using. The reservation is done using the Google calendar (IRB-0116ba). You will be able to reserve the equipment personally after attending the RML lab orientation and then following the steps below to gain access to the equipment.
Please estimate reservation times (they can be changed after the fact) and limit your reservations to a 12 hour maximum to ensure other users also have access to the system.

Video demonstration

The following videos demonstrate capabilities of Baxter:

Baxter: research at UMD Baxter: examples from industry Baxter: MoveIt demo

Note: these are promotional and instructional videos. They are included for demonstrational purposes only. The details of actual operational procedures in RML can differ!

Important 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.
  • Be generally careful when working with Baxter.
  • Baxter runs on Ubuntu 14.04 and ROS Indigo. Baxter Gazebo simulation is also available on Ubuntu 16.04 and ROS Kinetic.

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: http://sdk.rethinkrobotics.com/wiki/Workstation_Setup. 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
catkin_make


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 (http://wiki.ros.org/catkin/Tutorials/workspace_overlaying) 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 baxter.sh script from the Baxter workspace which you will use in your daily work to communicate with Baxter.


cp /opt/ros/baxter/baxter.sh .
chown your_username_here baxter.sh
chmod u+x baxter.sh


(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
./baxter.sh


You can now verify everything is working by starting at step 2 of the SDK Hello Baxter page here: http://sdk.rethinkrobotics.com/wiki/Workstation_Setup

Shutting down procedures

  • Bring arms in the neutral position and disable Baxter
  • Make sure the end effectors are not in the close vicinity to foreign objects (e.g. tables)
  • Turn OFF Baxter by pressing power button in the back just for a second. Do not hold in the power button when shutting down! Holding down the power button can cause hard drive corruption on the next boot.
  • Do not unplug the robot while it is in the process of shutting down! This can also cause problems for the next time you boot up.

Gaining access to equipment

  • Preparation
  • Scheduling
  • Instruction session
Preparation:

Baxter has several well defined and structured online tutorials, RML expects users to be familiar with Baxter robot specs and capabilities as well as its basics of operation. Specifically, users should have knowledge of the following topics:

  • ROS framework, one should go through the ROS tutorials for basic understanding.
  • ROS packages for running Baxter. For instance, this manual provides all the steps necessary to get started on Baxter in ROS.
  • Gazebo simulation and control using MoveIt.
Scheduling:

Once you are confident in the topics from the previous section, email the lab manager (Ivan Penskiy, ipenskiy[at]umd[dot]edu ) to schedule the instruction session (30-45 min).

Instruction session:

In the beginning of the session the user will be asked several questions to test the knowledge of Baxter and the basics of ROS framework. The user also will have to demonstrate a Gazebo simulation of Baxter. The following are the deliverables for the simulation:

  • Spawn Baxter in a map in Gazebo (you can use standard maps from the tutorials).
  • Command Baxter to perform a simple action.
  • Run Rviz in parallel to Gazebo and show the real-time visualization of the simulation in Rviz.

After confirming knowledge and skills required to operate Baxter, the user will be instructed on rules and technical aspects of using Baxter in RML (network connection, turning ON and OFF procedures, etc).