Roomba 500 series ROS drivers

ROS drivers for the roomba 500 series robots ** Forked **

View the Project on GitHub Arkapravo/roomba_500_ROS_drivers


Image Alt

ROS drivers for the roomba 500 series robots

Fork in

The following two ROS packages are forked in from ISR - University of Coimbra repository;
(1) roomba_robot
(2) serial_communication


ROS Electric or ROS Fuerte installation ( is needed for these packages. Build and install

serial_communication with

rosmake cereal_port

and roomba_robot with

rosmake roomba_500_series

and make sure that these are on the ROS PATH.

Interfacing the robot

Step One

Connect the Roomba with the computer using a FTDI USB cable, Bluetooth connectivity will also suffice. To check for the port and connection of the FTDI USB cable, type in

dmesg | grep tty

in the terminal window, it should give output as this,

Image Alt

this confirms that the FTDI USB cable has been interfaced with the computer.

Step Two

Switch on the robot, the CLEAN button will have a light on

Image Alt

Step Three

Start an instance of the master and in another terminal window type in

rosrun roomba_500_series roomba560_node

the above node is specifically made for Roomba 560 robot, for any other model consider trying out the following,

rosrun roomba_500_series roomba500_light_node

that should make the lights of the robot go off and give an output as this,

Image Alt

Now the robot can be controlled by ROS nodes, try teleoperation etc.


on Roomba 560

By Arkapravo Bhaumik ( and Koushik Kabiraj (

On a ROS Electric installation (Ubuntu 10.04 LTS, Ubuntu 11.04 and Ubuntu 11.10)

Image Alt

on Roomba 521

By Devasena Prasad (

On a ROS Groovy installation (Ubuntu 12.04)

Permission for USB must be changed using

sudo chmod 777 /dev/ttyUSB*

roomba500_light_node works fine

Image Alt