Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Micromouse2009Alex Forencich and Jeffery WurzbachIEEE UCSD2/13/2009Matching Funds Proposal19335752733675<br />Overview<br />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 market.<br />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.<br />Student Benefits<br />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:<br />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.<br />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.<br />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. <br />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.<br />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.<br />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.<br />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.<br />The Competition<br />288988547625The 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. <br />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 action.<br />The rules are available at: http://ieee.ucsd.edu/files/micromouse-rules.pdf<br />center227330<br />History<br />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.<br />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. <br />Progress so Far<br />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.<br />The new bot is featured on the front cover. It was also presented at Eureka 2009.<br />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.<br />Work to be done<br />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. <br />Budget and Fundraising Efforts<br />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.<br />