1 / 21

iRobot Create Command Interface

iRobot Create Command Interface. CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary. Anatomy. Anatomy. Bump Sensors. Anatomy. Agent software support: sensor tab. Agent software support: sensor tab. Agent software support: execute command.

renate
Download Presentation

iRobot Create Command Interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. iRobot Create Command Interface CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary

  2. Anatomy CPSC 609.68/599.68: Agent Communications

  3. Anatomy Bump Sensors CPSC 609.68/599.68: Agent Communications

  4. Anatomy CPSC 609.68/599.68: Agent Communications

  5. Agent software support: sensor tab CPSC 609.68/599.68: Agent Communications

  6. Agent software support: sensor tab CPSC 609.68/599.68: Agent Communications

  7. Agent software support: execute command execute takes a string of bytes (in decimal). Can also prefix a number with "s" to make it parse it as two bytes (a short). CPSC 609.68/599.68: Agent Communications

  8. Modes • OFF • Unresponsive (except START (128)) • Can charge • PASSIVE • Sensor status commands • No Actuator commands • Can charge • SAFE  recommended! • Sensor status commands • Actuator commands • But reverts to PASSIVE if moving forward and any cliff sensor is activated; any wheel drop sensor is activated; or the charger is plugged in • No Charging • FULL • Sensor status commands • Actuator commands • No Charging CPSC 609.68/599.68: Agent Communications

  9. Modes START (128) OFF PASSIVE SAFE (131) FULL (132) START (128) START (128) SAFE (131) SAFE FULL FULL (132) CPSC 609.68/599.68: Agent Communications

  10. Modes: WAIT • A 5th Mode: WAIT • When in WAIT mode the robot does not respond to ANY input. • Goes into WAIT mode for 3 commands (see WAIT slide): • WAIT-DISTANCE • WAIT-ANGLE • WAIT-TIME • WAIT-EVENT • If the robot is prevented, for some reason, from traveling the distance or the angle, it won’t respond to anything (try the undocumented command 7). • Use only in scripts, NOT RECOMMENDED CPSC 609.68/599.68: Agent Communications

  11. Actuators: Drive • DRIVE (137 <velocityhigh> <velocitylow> <radiushigh> <radiuslow>) • 2 short (16 bit) parameters • Each represented by 2 bytes, high byte first (so a total of 5 bytes for this command) • Parameter 1: velocity in mm/sec • -500 to +500 (-ve means “backwards”) • Parameter 2: curve radius in mm • -2000 to +2000 where -ve means clockwise and +ve means counterclockwise • 32768 means “go straight” • -1 and +1 mean spin in place clockwise, counterclockwise respectively CPSC 609.68/599.68: Agent Communications

  12. Actuators: LEDs • LEDs (139 <Adv&Play> <powerColor> <powerInten>) • Adv&Play: • Bit 1 (=2): Play LED • Bit 3 (=8): Advance LED • PowerColor (0-255): • 0=green; 255=red • PowerIntensity (0-255) • 0=off; 255=full intensity CPSC 609.68/599.68: Agent Communications

  13. Actuators: Send IR • SEND-IR (151 <IRbyte>) • Sends a byte using an add-on circuit and a IR LED • Can be received by the omnidirectional IR reciever at the front of the robot • Could be use to transmit short-distance identifiers for each robot • Does not replace CASA agent communication protocols! CPSC 609.68/599.68: Agent Communications

  14. Actuators: Songs • Load a song • 140 <song#> <length> {<note> <duration>}* • <song#>: 0-15 • <length>: number of notes (1/2 of bytes) (up to 16 notes) • <note>: see table in OI Manual • <duration>: in 1/64 second (31=G@49.0Hz … 127=G@12543.9Hz) • Play a song • 141 <song#> • Doesn’t work if a song is already playing CPSC 609.68/599.68: Agent Communications

  15. Inputs: Sensors • Read Sensors • 142 <packetID> • Packets 0-6 are “packet groups” (eg: 0 is sensors 7-26, which is 26 bytes [some are two-byte returns]) • Packets 7-42 are individual sensors • Either numerical values (1 or 2 bytes) or bitmaps • See OI Manual • Also a commands for: • reading a list of sensors (149) • requesting a continuous stream of packet data (148) • pausing/resuming a stream (150) CPSC 609.68/599.68: Agent Communications

  16. Sensor Groups Packets CPSC 609.68/599.68: Agent Communications

  17. Sensor Single Packets CPSC 609.68/599.68: Agent Communications

  18. Scripts • Load a script • 152 <length> <opcode>* • <length>: number of bytes in script (up to 100) • <opcode>: OI commands • Play a script • 143 • No flow control except for WAIT commands (next slide) • Show script • 154 • Returns the current script CPSC 609.68/599.68: Agent Communications

  19. Scripts: Wait • Wait time • 155 <time> • <time> in 1/10 sec (resolution of 15ms) • Wait Distance • 156 <disthigh> <distlow> • <dist> distance in mm. +ve=forward, -ve=back • Works for passively rotating the wheels • Wait Angle • 157 <anglehigh> <anglelow> • <angle> angle in deg. +ve=counterclockwise, -ve=clockwise • Wait Event • 158 <event#> • <event#>: eg: 1=wheel drop (see table in OI Manual, p.16) • Use -ve for inverse of event (eg: -1 wheel drop stops) CPSC 609.68/599.68: Agent Communications

  20. Tasks: measuring • You can track the distance traveled by using sensor 19 (distance) • Angle with sensor 20 (angle) • Note: reading these sensors causes them to be reset • Distance (angles) increment for forward (counterclockwise) and decrement for backward (clockwise) • Class iRobotCreate’s regular sensor reading keeps an accumulator for distance and angle CPSC 609.68/599.68: Agent Communications

  21. Tasks: Following a wall • You can track along a wall using the wall sensor (sensor 8) • Use Drive straight (137 <velocity> 32687) when the wall is there; or a wide right curve (137 <velocity> -2000) when the wall goes away • You should expect the occasional right-bump • If you get a left-bumb, you’ve probably hit a corner CPSC 609.68/599.68: Agent Communications

More Related