IRobot Roomba
The IRobot Roomba module provides an interface to the IRobot Roomba robotic vacuum platform. The module
provides an interface to most of the Roomba's capabilities and allows you to control the robot
and respond to sensor values on the platform.
Note that for a truly mobile platform you will need a bluetooth or other serial wireless connectivity
to the Roomba from a PC platform. The serial connector from the PC to the Roomba requires a special
cord and will not work with a regular serial cable. You will either need to create a cord
yourself or purchase the IRobot Create Serial cable
which has been tested and works with the Roomba 530. Other version have not been tested so check with IRobot for cable compatibility.
Interface
Instructions
1. Robot Model - Select the appropriate robot model. This is required as the communication speed and
protocols are slightly different for the 400 versus 500 Roomba series.
2. COM Port - Select the appropriate communications serial port. This will normally be COM1-4 if you are using
the Create serial cable. If you are using a USB to serial converter this will normally be above COM4.
3. Baud Rate - By default the 500 series is 115K and the 400 series is 57K.
4. Open Interface Mode - Select which mode you want to control the robot using. The OI mode allows you
to place the robot in a safer mode that will not respond to commands that could potentially cause the
robot to move uncontrollably. To ensure that the robot provides some rudimentary safety reactions
leave the OI Mode to Safe. Once set, your Roomba Clean (green light) should disappear, i.e. when in
program mode no LED's are on. This is a good chance to test the communication with the Roomba by
switching on one or more LED's to check that communication has been established.
5. LEDs - to quickly indicate status you can use the provided LED's that are already
on the Roomba. You can click on the checkbox or use the scroll bars to switch off/on
the Roomba's power, advance and play LEDs.
6. Motors - You can move the motors individually by moving the scroll bars or by changing the
values in the editable text box. To automate the movement of the robot you can select or type
in variables that contain values that will be sent to the robot as motor intensity values. Keep in
mind the STOP button at the bottom of the interface to quickly stop an out of control Roomba!
7. Cleaning - similar to the motor interfaces you can control the cleaning motors of the Roomba
by specifying non-zero values in the provided text boxes. Using the dropdown next to the values
you can automate the control of the cleaning motors by setting the appropriate variables using other
modules in RoboRealm.
8. Commands - to command Roomba to perform certain cleaning tasks or to power off you can manually
click on the Command Buttons to switch in to docking mode, max cleaning, etc. By using the variable
dropdown the command will execute when the provided variable has a non-zero value.
9. Sensors - The Roomba has many sensors (around 58 for 500 series) that indicate various detected external and
internal conditions of the robot. To react to the sensors and use those values
within the RoboRealm pipeline select the sensor name and type or select in a variable
that will contain the value. You can see the current value in the "Current Value"
text area. This data will be placed into the selected variable for use in other modules
such as the VBScript module. To test this select the Bump Left or Right sensor from the long Sensor Name dropdown. Manually
press the left or right bump sensor on the robot. The Current Value should change to 1
to indicate that it detected your press.
Check with your Roomba Open Interface documentation for all the sensor meanings, descriptions and range values.
10. Play Song - you can quickly select a song and press play to hear the Roomba
play a quick melody. To automate the playback of songs select a variable that will contain
the song name as seen in the dropdown. Note that after the song begins playing the variable is cleared to avoid
repeating the song. To add your own songs you can edit the "Music.rtttl" file in the RoboRealm
folder. This file contains RTTTL formatted melodies which are converted and sent to the Roomba
for playback. Note that the RTTTL format is the Nokia Cell Phone ringtone format and can be found for free in
many sites including tones4free and 2thumbswap.
Trouble Tips
- The serial cable for the Roomba is normally located below the top face plate. You will have to pry this faceplate off (no screws
need be loosened) in order to plug your serial cable into the Roomba.
- If the robot stops responding or does not respond try re-selecting or changing the OI mode. This can help to reset communication
with the robot and regain control.
- The LEDs will be off when in program mode. Be sure to switch off the Roomba correctly by pressing the Power button after you are
done experimenting otherwise the robot will remain on and run out of battery!
- Be sure that all hardware parts are functioning correctly before programming. If the dust collector is not correctly placed in
the robot the cleaning motors may not activate.
- If all else fails try resetting the robot by simultaneously holding down the Spot and Dock buttons for 10 seconds. Then try re-selecting the
OI mode.
For more information
IRobot Roomba Website
|