UC Berkeley Micromouse: Jake 2000

Jake 2000 was UC Berkeley's first micromouse.

Mailing List

If you are interested in the Micromouse project and would like to discuss or hear about it, you may subscribe to our mailing list. I don't know of an automated way to subscribe, but if you send a message to micromouse@ieee.eecs.berkeley.edu and ask to be added to the mailing list, then I think someone will help you out. You should also join the UC Davis micromouse mailing list. To do so, send a message saying "subscribe micromousers" to listproc@ucdavis.edu. The current information about efforts at UC Berkeley regarding Micromouse should be available on the Berkeley IEEE site, but you'll probably just get pointed back here.

Software

It was our intention to have a full simultation of the robot that would run on a PC, including a navigation module for choosing routes and a pilot module for executing the computed routes. This pilot module would be tested in a simulator running on a PC. Our intention was that the navigation and piloting routines developed in this 'test tube' environment would then be transferred, without modification, to the robot platform. In theory this was a great idea, but in practice it didn't work out quite so well — the main failure was in simulating all the annoyances of the physical environment (slippage, motor response at low battery voltages, etc). The result was that we lacked a robust control system for the robot's movement (that having been relegated down to "only a software problem"). Nonetheless, these software programs may still be useful, although they're written for rather archaic environments (one requires Borland Turbo Pascal and the other requires Borland Turbo C to compile, and both run in DOS).

Navigator

The navigate program simulates the Mouse's navigation algorithms. The mouse maintains an in-memory map of known squares, and produces a hypothesized best route to the goal, which is stored as a queue of instructions ("go forward three squares; turn right; go forward one square; etc"). When an unknown square is encountered, the square is added to the map and a new route is computed. Once the goal is reached, the mouse switches the start and goal cells, so that it will infinitely run between the start cell and the maze's center. It is guaranteed to find the shortest path, and do it in the minimum time.

You may download the source (Borland C) and executable (DOS) in navigate01.zip. You will also need a collection of mazes, such as mazes.zip.

Pilot

The pilot program simulates the real-world kinematics of the mouse, tracking the mouse's position in two-dimensional space and its rotational orientation. The simulation is conducted in discrete units of time of variable duration. The simulator computes sensor values and feeds these data to the mouse's pilot function under test, which may issue simulated motor commands to the simulator. The simulator integrates the equations of motion and tracks the behavior of the mouse. The entire physical state, including schematic drawings of the maze and the mouse, including sensor states, is displayed graphically and updated at each time step.

Us

Them

Miscellaneous

Copyright © 2001 by Tobin Fricke