Document Sample
Micromouse Powered By Docstoc

                            Alex Forencich and Jeffery Wurzbach
                            IEEE UCSD

Matching Funds Proposal
Micromouse is a annual competition held at the IEEE Region 6 spring meeting in which an autonomous robot
must find its way to the center of a maze. This project requires a variety of skills including mechanical design,
circuit design, microcontroller programming, PCB layout, PCB assembly, and maze algorithms. The experience
and skills the team gains working on this project will give them a huge advantage in school and in the job

The official Micromouse rules are specified by the IEEE, and the competition will be held at UCSD this Spring in
conjunction with the IEEE Southwest Area Meeting. The UCSD Micromouse project was founded in fall 2006, and
this will be our third consecutive year participating in the competition. Our main competitors are Arizona State
University and New Mexico Tech.

Student Benefits
Students working on Micromouse have to apply knowledge learned inside the classroom and learn a number of
skills not taught at UCSD. This project requires a number of skills including:

Circuit design. The typical ECE class involves analyzing circuits, not designing circuits. In a typical ECE lab,
students are given a circuit and have to solve for some parameter to make it work correctly. In Micromouse,
students are given an abstract problem - build a robot that solves a maze - and must translate that into a
concrete implementation that solves the problem. First, the team has to come up with a strategy, then a system
level design, then break that system down into modules, and finally design circuits and select parts to
implement those modules. The students have to design circuits for the microcontroller, sensors, wireless
interface, motor controllers, and power supply.

PCB layout. Since ECE classes use breadboards, PCB design is not even mentioned. In Micromouse, students
must choose parts from hundreds of manufacturers and dozens of suppliers with myriad specifications and
footprints. They must teach themselves the art of PCB layout, and the tools for getting it done. The de facto
standard for hobbyists and academics designing professional quality PCBs is CadSoft Eagle. The team used Eagle
to design state of the art multilayer, double sided PCBs using surface mount components. All traces were routed
by hand.

SMD soldering. The typical ECE class involves building circuits on breadboards from a bin of already ordered
parts. It's good for learning and rapid prototyping, but you won't find a breadboard inside your laptop. After
sending the PCB layouts for fabrication, the team had to solder the components to the boards. SMD soldering is
an art that can only be mastered through practice. This also gives students a design for manufacturability
perspective that will help them in industry when they're designing RF circuitry for next-generation cell phones.

Mechanical design. The chassis of the robot was designed in SolidWorks. SolidWorks is the standard in
professional CAD software, and is widely used in industry. Below, a SolidWorks rendering of a preliminary design
using an acrylic material.
Mechanical fabrication and assembly. The team sent some of the CAD drawings out for professional fabrication,
and made others themselves using standard machine shop tools including lathe and drill press.

Embedded programming. The robot uses an ARM microprocessor - the same kind of processor found in
iPhones, Blackberries, Windows Mobile devices, and other high performance embedded systems. They use the
GNU toolchain to cross-compile for ARM, and JTAG interface to program the chip. Since there is no OS, the
students get to program at a very low level - stepper motor drivers, sensor interfaces, interrupt handlers,
memory management. They coded the motor drivers to use PID to avoid the walls of the maze.

Artificial Intelligence. After the low-level code has been written, the students get to write the maze solving
code. While DFS is the standard maze exploration algorithm, the fact that the maze can be run multiple times
offers opportunities for learning and optimization. For example, after the mouse has run the maze once, it could
identify the straightaways and go faster on those sections.
The Competition
The mice are completely autonomous robots
that must find their way from a predetermined
starting position to the central area of the maze
unaided. The mouse needs to keep track of
where it is, discover walls as it explores, map
out the maze and detect when it has reached
the goal. Having reached the goal, the mouse
will typically perform additional searches of the
maze until it has found an optimal route from
the start to the center. Once the optimal route
has been found, the mouse will run that route in
the shortest possible time. Mice can run at up
to three meters per second, with current world
records around 6~7 seconds.

The competition is held annually at the IEEE Region 6 Southwest Area Meeting. This meeting is held at a
different university in the southwest area every year. This year, UCSD has the privilege of hosting the
competition. Other universities will be coming on campus on March 25 to compete in the Micromouse
competition. In preparation, we have built our own to-spec maze so that we can host the competition. The
picture below shows our fiercest competitor and undefeated Micromouse champion, Arizona State University, in

The rules are available at:
Two years ago, Chris Aprea built the first UCSD micromouse for the 2007 competition. He used an OOPic
processor board, Sharp distance sensors, and two stepper motors. Unfortunately, the processor did not have
enough resources to perform the calculations necessary to actually solve the maze. The distance sensors failed
shortly before the competition causing the robot to spin around in circles.

After the failures of the first bot, a redesign was deemed necessary. Alex Forencich joined the team after the
2007 competition and designed a custom ARM processor board to replace the underpowered OOPic board and
shoddy motor drivers. The new bot performed much better, but still had several major problems. The
mechanical frame of the bot was not ideal, allowing the bot to get stuck in the maze after only traveling a short
distance. Also, the hardware and software were difficult to debug due to the lack of useful debugging interfaces
and the single-board construction. A new design was needed to remedy these issues, so after the competition,
the team immediately began working on a new design for the robot.

Progress so Far
The new design was started last year after the competition. Jeffery Wurzbach joined the team and designed a
new chassis for the robot that would prevent the unit from getting stuck as well as provide better sensor
mounts for the Sharp distance sensors. The new team leader Alex Forencich redesigned the electronics from
the ground up, starting with the power supply. The linear regulators on the old bot had the bad habit of getting
very hot, so the new power supply was built out of much more efficient switching supplies. The processor
worked great, but was hard to debug so a new processor board was designed to add support for a Zigbee
wireless serial link and a basic LED indicator board, greatly simplifying debugging. The motor controllers were
moved to a separate board so isolating motor controller issues is as simple as swapping out the whole board
instead of firing up the soldering iron. It was also determined that an actual maze, built to scale, would be
necessary to properly prepare for the competition, so the construction of the maze began with the new
academic year.

The new bot is featured on the front cover. It was also presented at Eureka 2009.

Since three bot chassis were built and we had a very good turnout in terms of team members, three sets of all
the hardware have been procured and the team will break into three smaller groups for writing the software.
Work to be done
Currently, quite a few of the bot's onboard peripherals are up and running. However, there is still quite a bit of
low-level hardware interface code that needs to be written, namely in relation to the motor controller. All of
the high-level code needs to be written as well, but most of that will be taken care of by the separate teams.
The maze is currently a work in progress, but it is coming together little by little.

Budget and Fundraising Efforts
We petitioned for and received $1500 from the IEEE San Diego section. We also received a large discount on the
Eagle license. This project produces results of amazing professionalism, and we would greatly appreciate the
help of the Jacobs school in continuing to fund such a high quality project.

Shared By: