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.
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.
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.
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:
@MISC{MatlabCreate,
author = {Joel M. Esposito and Owen Barton and Joshua Kohler},
title = { Matlab Toolbox for the iRobot Create },
howpublished = { www.usna.edu/Users/weapsys/esposito/roomba.matlab/},
year = {2011} }
Resources:
For more information on the iRobot Roomba
and other iRobot products visit
www.irobot.com