



In a
previous post, I covered several of the available SPARK computing systems, so I won't revisit SPARK hardware too extensively in this series. I will share any interesting discoveries I make working with the Create, iRobot's very simple yet comprehensive robot base. In addition, I'll try to include useful technical details. Of course, as much as the mechanical engineer in me loves to spend time designing and building robot parts, the Create is a nicely developed and well documented platform, so this project is primarily focused on software.
I don't have to worry or think about how the parts I machined might or might not fit together, or whether the motor control board I built will overheat and turn into a pile of smoldering mosfets. The Create takes that worry away, and gives me a mobile platform which I can control via a standard RS-232 serial port.
There is a small catch. iRobot designed the Create with an 8-pin mini-din connector and 0-5v serial port voltages. To connect my Create to my iCop computer, I require an adapter. Fortunately, one can be purchased from iRobot at a reasonable price, or you can
make your own.

So now I have the cabling to talk to my Create, but I need to know how to configure messages and what to send in order to control the robot.
Starting with configuring messages properly, the Create powers on with serial port properties that default to 57,600 baud,
8N1 data with no flow control. I’ll need to setup my iCop box with the same settings. Next, I need to figure out what messages to sent to the Create. I want to write a program that drives the Create in a very simple pattern and maybe responds to sensor data. I will need to send motor commands and read sensor responses. In order to do this, I have to find a guide to the commands that the control the Create.
iRobot provides a comprehensive and downloadable command guide, the
Create Open Interface. This guide lists all the commands and data packets that the Create responds to.
The Create has four operating modes: Off, Passive, Safe, and Full. Most operations begin from Off mode, with the Create listening for packets on the serial interface. A Start command (Opcode:128) is sent, which sets the Create to Passive mode and causes a single beep to be generated. In order for my software to drive the Create, I must be in Safe mode or Full mode. Full mode gives me full control of the Create. Safe mode will let me send commands and control the Create, but will stop the robot and return it to Passive mode if an unsafe condition is encountered. This sounds like the mode I want to use when testing out new software. For now, there is an easier way for me to get initial motions from the Create. Several preprogrammed demos are built into the Create’s firmware. These demos can be accessed by sending the Demo command (Opcode: 136) with a data byte ranging sequentially from -1 to 9. Any of these demos will be simple to run and give me instant gratification. So now it’s time to get back to Windows Embedded CE 6.0R2 and connect up to the Create!