USNA | Joel M. Esposito, Ph.D.  | Roomba Matlab

Version 2.0 Release 8.25.2011

irobotProject Overview

The iRobot Create is a reprogrammable version of the Roomba robot vacuum cleaner for robotics hobbyists, educators and researchers.  Out of the package, users can use their PC to control the robot by sending numerical sentences over a serial connection. 

Two obstacles to use, especially for educational purposes, are:  (1) the cryptic nature of the command interface; and (2) the difficulty in establishing a software serial port connection to the robot.   This Matlab toolbox seeks to overcome these difficulties making it easy to send commands from a PC running Matlab to the robot.  

The toolbox has been downloaded 1000's of times by students, researchers and educators from universities all over the world. 

Toolbox Features

The toolbox replaces the native low-level numerical commands, with a set of high level, intuitive, Matlab functions (aka "wrappers") that:

Create a link between your PC and Create using your PC's serial port or Bluetooth connections.

Provide user-friendly drive commands, calibrated in SI units.

Read the bump and cliff sensors, determine distance driven, and battery life in SI units.

Use the Matlab command line or script files to control the robot.  Note that all code is developed, stored and executed on the PC base station -- not the Create.


Create:  You need an iRobot Create.  The version of the physical robot does not matter much, but the toolbox was developed for use with the Create Open Interface version 1.0.  Most of the commands work with theRoomba Open interface as well, but the Toolbox has not been thoroughly tested on that platform.

Matlab:  The toolbox was developed and tested with MATLAB Release 2007-2011, though releases dating back to 2005 will likely work.    

Connection:  It assumes that you can establish a serial port connection between the Create and your PC, using either the Mini-DIN Connector cable that comes with Create, or the Bluetooth Adapter Module and Bluetooth USB Radio available from the iRobot website.  Other Bluetooth USB radios will work also.  Note that the Mini-Din is a wired connection, but it can be easily converted to a wireless one using something like this (Xbee).  If you experience any problems connecting to the robot wirelessly there is a good chance the problem lies with your bluetooth adapter's windows driver.  First switch to a wire connection (not Bluetooth) and see if the problem persists.

Command Module:   If you are interested in writing programs that are stored and execute on the Create, rather than a base station PC, this toolbox is not applicable.  Consider buying the Command Module, which lets you write C-program to execute on board the create.

Download the Toolbox


Authors: The MATLAB Toolbox for the iRobot Create  was developed by Professor  Joel Esposito  and Owen Barton at the United States Naval Academy in the Systems Engineering Department.  Joshua Koehler debugged and rewrote some of the functions for Version 1.0.  David Lim created the keyboard and GUI controls.  Owen, Josh and David were supported by the ASEE/ONR SEAP program, which provides high school students an opportunity to work in a Navy Laboratory.

Contact:  Direct question and bug reports to Professor  Joel Esposito: esposito (at) u s n a (dot) e d u

Citation Information:  The tool box is free.   If you use it in a publication, please cite:

author = {Joel M. Esposito and Owen Barton and Joshua Kohler},
title = { Matlab Toolbox for the iRobot Create },
howpublished = {},
year = {2011} }


Joel M. Esposito, Ph.D.

For more news about USNA, visit us on

facebook       Flickr       YouTube       Twitter       News(Rss)