iRobot Create More...
iRobot Create
Newer versions of the iRobot Create vaccum robot can be controlled by an external computer over a serial line. This driver supports control of these robots.
Note that the serial port on top of the Create operates at 5V, not the RS232 standard of 12V. This means that you cannot just plug a plain old serial cable between the Create and your PC's serial port. You need to put a level-shifter in between them. Or you if have a computer that exposes serial lines at "logic level," (e.g., the Gumstix), you can use them directly. Check out iRobot's hacker site for more information, including the pinout on the Create's serial port. The Create Wiki has a howto on building an appropriate serial cable.
- Compile-time dependencies
- none
- Provides
The create driver provides the following device interfaces:
- position2d
- This interface returns odometry data (PLAYER_POSITION2D_DATA_STATE), and accepts velocity commands (PLAYER_POSITION2D_CMD_VEL).
- power
- This interface returns battery levels (PLAYER_POWER_DATA_STATE).
- bumper
- This interface returns bumper data (PLAYER_BUMPER_DATA_STATE).
- opaque
- This driver supports programming song, playing songs, setting the LEDs, and running demo scripts.
- Play song data format in bytes: [0][song_number]
- Program song data format in bytes: [1][song_number][length(n)][note_1][length_note_1]...[note_n][length_note_n].
- Set LEDS format in bytes: [2][dirt_dectect(0/1)][max_bool(0/1)][clean(0/1)][spot(0/1)][status(0=off,1=red,2=green,3=amber)][power_color(0-255)][power_intensity(0-255)]
- Run a demo script in bytes: [3][demo number]
- Supported configuration requests
- PLAYER_POSITION2D_REQ_GET_GEOM
- PLAYER_POSITION2D_REQ_SET_ODOM
- PLAYER_POSITION2D_REQ_RESET_ODOM
- PLAYER_BUMPER_REQ_GET_GEOM
- PLAYER_IR_REQ_POSE
- PLAYER_OPAQUE_REQ
- Configuration file options
- port (string)
- Default: "/dev/ttyS0"
- Serial port used to communicate with the robot.
- safe (integer)
- Default: 1
- Nonzero to keep the robot in "safe" mode (the robot will stop if the wheeldrop or cliff sensors are triggered), zero for "full" mode
- Example
driver ( name "create" provides ["position2d:0" "power:0" "bumper:0" "ir:0" "opaque:0"] port "/dev/ttyS2" safe 1 )
- Todo:
- Add support for IRs, vacuum motors, etc.
- Recover from a cliff/wheeldrop sensor being triggered in safe mode; the robot goes into passive mode when this happens, which right now requires Player to be restarted