RoombaComm: Roomba Control & Communications API, release 1

This is an updated version of the RoombaComm API.

This release contains Javadoc documentation!

This release further expands on the two different levels of driving API: a lower-level one that is based on velocity, and a higher-level distance/angle one. I’m debating how to notate these differences. For instance:

roombacomm.setSpeed( 100 ); // set speed to 100 mm/sec
roombacomm.goForward( 150 ); // go forward 150 mm
roombacomm.spinRight( 45 ); // spin 45 degrees right
roombacomm.goBackward( 25 ); // go 20 mm backward

vs.

roombacomm.goForwardAt(100); // go forward at 100mm/sec
roombacomm.pause( 1500 ); // wait for 1.5 seconds, so it goes 150 mm
roombacomm.spinRightAt( 100 ); // spin right at 100mm/sec
float ptime = 45.0 * roombacomm.millimetersPerDegree / 100.0;
roombacomm.pause( ptime ); // wait until the Roomba has spun thru the angle

The wacky angle calculation above is the primary reason why I wanted a higher-level API. I want to do more Logo-like things.

2 Replies to “RoombaComm: Roomba Control & Communications API, release 1”

  1. I need a display device that will allow change from one image to another in less than 100 microseconds. I don’t think this can be done if the full image must be refreshed, but in my case I only need to load a change that has occurred at very specific locations in the image. So I would like to have location specific addressability. Can this be done with a modification of the interface with DLP chips?

    E. Greene
    University of Southern California

Leave a Reply

Your email address will not be published. Required fields are marked *