iRobot Create 2
This page discusses iRobot's "Create 2" (aka C2; the initial platform for the RX Rover).
The "Create 2" (C2) is a convenient platform
for experimentation and development in robotics.
As a reworked iRobot
it supports the Roomba Open Interface (ROI).
This allows it to accept motion-related commands
and report its status (e.g., battery charge, distance traveled).
Each C2 has been augmented with an interface cable,
marks for mounting holes, etc.
The ROI supplies power (nominal 16 VDC) as well as signals,
so it's already nicely set up for hacking!
In addition, iRobot has a STEM
and a substantial community of Roomba hackers.
On typical indoor flooring, the C2 can move around
at a maximum speed of 0.5 m/s (about 1 mph).
This is fine for a prototype, but I suspect
that I'll want any "production" Rover to be faster
and comfortable with outdoor surfaces (e.g., asphalt, concrete).
If so, I can swap in a different mobility platform
(e.g., based on a model truck).
I was delighted to find "Hacking Roomba",
an extremely approachable (if dated) guide to the subject.
It provides a nice overview of iRobot's motivations and approach,
plus a variety of example interfacing projects.
If you're just getting started with the Roomba,
to get a copy of this book!
In order to learn about the C2's capabilities and limitations,
I needed to find a place to play with it.
This had to be a fairly substantial and largely unoccupied space.
Fortunately, my area has a number of public spaces.
If I could get permission to use some corridors in a school or mall,
I should be able to do some quiet experimentation.
The ROI uses byte-oriented serial data communication,
based on the RS-232
Partial or multiple bytes are used as needed
to accommodate various data requirements.
Because of its Erlang
handles this sort of low-level programming with aplomb.
is a Java
that abstracts this interface nicely,
using a LOGO
I plan to convert at least some of RoombaComm into Elixir,
both for convenience and as protection from API lock-in.
Although there is an Open Interface (OI) Specification
there is no official information on how to open up the C2 (e.g., to drill holes).
The C2 has a nice USB adaptor cable, but it doesn't provide access to raw power.
So, I'll have to add another socket (or whatever) for this purpose.
The C2 can only move at about 1 mph, which is fine for experimentation,
but a bit slow for production mapping.
So, I expect to get a faster platform at some point.
The C2 wasn't designed for outdoor use (e.g., on paved surfaces).
I suspect that this would wear out the machinery rather quickly.
This wiki page is maintained by Rich Morin
an independent consultant specializing in software design, development, and documentation.
Please feel free to email
comments, inquiries, suggestions, etc!