The iRobot Create is very similar to iRobot's Roomba, but without the internal vacuum. This allows us to add a greater payload and gives us convenient mounting holes. iRobot also provides a complete programming interface to the Create that makes controlling the robot very simple. The interface is a simple set of commands and parameters sent to the robot serially. Read the Open Interface
specifications for more info.
For our simple use we only required a few commands. Upon initialization the 128 command must be sent to tell the robot to start accepting external control. Next a mode must be selected. For full control we send the 132 command to the Create. Note you must send all data to the Create as integers, not regular ascii text. Each command opcode is one byte, the value of that byte is the integer value 128 or whatever. If you were to transmit in ascii or ansi text, each character in 128 would be a byte. For testing or control via PC we recommend Realterm
as it makes everything very simiple. You will also need to set the Baud rate to 57600 as stated in the Open Interface documentation.
Now that the Create is initialized, we use the 137 command to drive the robot forward. Wait Distance, 156 is used to stop the robot after a specified distance. The script commands 152 and 153 put everything together and make a simple script which can be run over and over.
iRobot sells what they call the Command Module which is basically a programmable micro controller and a few serial ports which you may use to control your Create. Instead we used a Cypress Programmable System-on-a-Chip (PSoC) combined with a very small x86 PC called the eBox 2300.
The robot has an 18V battery which we will use to power all our peripherals.