← Baxter

Baxter · Documentation

The Mobility Base

The wheeled platform robot 2 stands on: how it is built, its limits, and what we know about ours.

Reading time
3 min read
Written by
Samuel Galla

AI-assisted This page was drafted with the help of AI tools and reviewed by its author. Check commands against the linked repository before running them on a robot. How we use AI

Robot 2 stands on a Mobility Base made by Dataspeed. This is a platform on four wheels that can drive forward, drive sideways and turn on the spot, while carrying a 75 kg robot. How to drive it from a program is in the tutorial Drive the Mobility Base.

How it is built

  • The controller drives the motors and listens to the wireless joystick, a radio-control transmitter with Dataspeed’s labels on it. The motors only work while the base’s computer is switched on, but nothing has to run on it: with the base switched on and the e-stop released, the joystick drives the base.
  • The e-stop is one button for robot 2 and the base together, and stops both.
  • The base’s computer runs Dataspeed’s driver, which offers the base as ROS 1 topics. It is a ROS 1 system of its own, separate from the robot’s, and nothing starts on it by itself: someone starts ROS and the base’s programs after switching it on.
  • The base’s bridge runs on the bridge machine next to the robot’s bridge, and carries the base to ROS 2. Programs don’t run on the base itself.

Who is in control

A program can only drive the base while the joystick allows it: the joystick is on, its left stick is up, and its mode switch is on “Computer”. The base reports which state it is in:

Mode Meaning
estop the e-stop is pressed
disabled the joystick is off, out of range, or its left stick is down
joystick the joystick drives (mode switch on “Manual”)
waiting a program may drive, but none is sending commands
driving the base follows a program
battery_low, battery_critical, motor_fault as they say

The base stops by itself when no command has arrived for a fifth of a second. A program that crashes, hangs or loses its connection therefore leaves a standing base. Pulling the joystick’s left stick down stops it at any time.

Limits

The base itself baxter_interface
Top speed 1.5 m/s 0.3 m/s
Top turning speed 2.1 rad/s 0.5 rad/s

The library cuts every command down to its own limits. They can be raised in a program, but only do that when you know the space around the base. The base knows speeds, not places: there is no command for “drive 30 cm”, so a distance comes from speed times time.

Our base

Computer Ubuntu 16.04, ROS 1 Kinetic, Dataspeed’s software 1.0.3 (from 2017)
At boot nothing starts; ROS and the base’s programs are started by hand
Battery 24 V
Clock 9 days behind in October 2026: the computer’s clock battery is flat and it has no time source, so everything the base sends carries the wrong time. To fix: replace the coin cell inside the computer, then set the time once

Switching off happens in a fixed order: bridges, then the robot, then the base’s computer, then the joystick, and the circuit breaker last. The e-stop stays released. The breaker cuts power to everything, the computer included, so the computer has to be shut down before it. The tutorial lists the steps.

A newer system on its computer?

Ubuntu 16.04 and ROS Kinetic are long out of support, but Dataspeed’s driver exists only as a ready-made program for those old versions. Its source was never published, so it can’t be rebuilt for a newer ROS. The realistic route is a newer Ubuntu with the old driver inside a Docker container. This would be tried on a second computer first, before anyone touches the built-in one. Nothing of this has been tried yet.

Dataspeed’s own documentation is offline. Archived copies are on the Wayback Machine under mbsdk.dataspeedinc.com.

Spotted a mistake? Edit this page on GitHub ↗