The Roomba Challenge

Fri, Dec 7, @ 16-19
There will be a two-way video conferencing connection
between B222 and CK112 during the challenge.
Also streamed LIVE with on-board cameras online.
(Use Conference ID 3030, and leave PIN and Sign-in name blank.)

A robotics programming project for Fall 2007 Artificial Intelligence course at the Department of Computer Science, University of Helsinki.

This year the final Roomba task will be a game in which two teams, both equipped with a Roomba, with a Nokia N80 cell phone camera as its eyes, compete against each other. The Roomba's task is to pick up (touch) and avoid (not touch) color-coded poles. The poles are 1.5 liter soda bottles wrapped in colored A4-papers. The bottles are filled with water, so they are heavy enough for the bump sensor to react. There are five green poles each worth of one positive point, 2 blue poles each worth of 3 positive points, and five red poles each worth of 5 negative points.

The team gets positive points by touching the green and blue poles, and giving a clearly audible signal (from Roomba), after which the pole touched is removed from the field by the referee (who wears black clothes). The team gets negative points by touching a read pole so that it visibly moves. The red poles will not be removed. No team will be punished for touching the same red pole two or more times within a short time window, i.e., without leaving the vicinity of the pole. The team also incurs a penalty of one negative point for superfluous audible signals, i.e., for beeping when not hitting a green or a blue pole.

The field is surrounded by white walls (tables turned tops inwards). The dimensions of the field are 3 x 4 tables (width x height in the picture below).

Competition format

The competition consists of two parts: first, there are qualifiers in which the opponents in the final competition are determined. The final competition will be held on a separate day.

In both the qualifiers and the competition there will be a time limit for how long the robots are allowed to collect the poles. This time limit is set to 5 minutes.

Teams will be seeded for the competition based on their qualifier performance. The actual competition is run in the cup-format in which the winner advances to the next round. The general idea is that the top seeded team plays against the bottom seeded one, the second best against the second from the bottom until four teams survive for semifinals. The winners of the semifinals go to the finals, and the losers compete for the 3rd position.

Now, that we have an odd number of qualified teams, some teams get a first-round bye, and only the lowest qualified teams will compete in the first round. See the bracket.

In the competition there will be two Roombas on the course --- these are assigned randomly between the teams. The team whose Roomba collects the most points during the competition session wins. In case of a tie, the time of picking the last point determines the ranking in the preliminary rounds. In the medal games the times are not taken into account, but there will be 2-minute overtime sessions with sudden death, i.e., no ties are possible unless neither team scores, until the winner can be determined. The overtimes will be run with reduced number of poles.

Scoring

The participation in the competition guarantees the teams a certain number of points. The rest are determined by the quality of the solution and the placement in the competition. Details TBD.

Start procedure

  1. Roombas are taken from the dock and placed at the ends of the field.
  2. Roomba controlling program is started.
  3. When teams signal the readiness:
  4. Spot-button of each Roomba is pressed down for about a second
  5. Spot-button of each Roomba is released.

Finish procedure

The competition is considered to be over when all the green and blue objects have been collected or 5 minutes has elapsed.

  1. Fair play expected.
  2. A team's own two Roombas are allowed to communicate with each other, but interference of the opponents robots is prohibited. e.g., teams cannot use their own robots to block the other team's robots.
  3. The motors of main brush, vacuum and sidebrush should be turned off all the time.
  4. The pre-programmed functions of SPOT, CLEAN and MAX can not be activated at any time.
  5. The pre-programmed Force-Seeking-Dock procedure can not be used.

Glance at programming with Roomba.

Read the Instructions to get you started with the cell phone camera.