USNA Faculty Profiles


Matlab Toolbox for the iRobot Create (MTIC)
Version 2.0 Release 8.25.2011


Toolbox Features


Project 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.




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. 

New for Version 2.0 (8.25.2011)

  • Bug Fixes:  Previously CliffLeftSensorRoomba returned value of right sensor, now fixed.   SetLEDsRoomba now supports all possible combination of LEDs. Documentation fixes.
  • Added Key Board Control:   Robot can be driven with keyboard using RobotHardKeyBoard
  • Added GUI Control:  Robot can now be drive via a GUI.   This can be useful when a laptop has been attached to robot.   For example, it is possible to  remote desktop into laptop using smart phone and drive the robot.
  • Tested in Matlab 2010a and 2010b




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 the Roomba 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-2010, though releases dating back to 2005 will likely work.  There have been reports of errors using 2010a in conjunction with Bluetooth.   We have been unable to replicate these errors and suspect they may arise from interaction between proprietary 3rd party Bluetooth drivers and Matlab.  If you experience such problems, first switch to a wire connection (not Bluetooth) and see if the problem persists.  Be sure to update your drivers. As a last resort consider upgrading to Matlab 2010b +.   

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).

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

Note that the Beta version has not be thoroughly tested.  The authors make no guarantees about performance or compatibility.   Please report any bugs to esposito (at) usna (dot) edu.




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} }




Forthcoming Publications

Some Other Code You Might Find Useful

This Matlab code is not part of the toolbox and is provided as is.  The code can be used to interface with a  variety of common add-ons to the create:

Conferernce Presentations

<updated 8/24/2011>