UCR IEEE MicroMouse 2003 May 2003
Pat Leang and Vouy Yeng www.Leang.com/robotics

 

In the center picture from left to right: Vouy, Pat, Brian, Jeremy, Devon, Eric, Daniel.
Second place finish went to CenterPunch with a time of 146 seconds.
The robot ran for the entire 10 minutes without any problems.  First place finished in 123 seconds and third place went to /dev/mouse with a finish time of 356 seconds.  Lego team put up a good show.

Introduction

Teams

  1. Team CenterPunch:  Pat Leang and Vouy Yeng
  2. Team /dev/mouse:  Devon Oslund, Bryan Cabalo, Jeremy Kent
  3. Team Lego: Daniel Tan
  4. UCR IEEE President: Eric Frohnhoefer

CenterPunch Robot Design

Body The body of the mouse is made from Lexan Plastic (supposedly unbreakable). There are 2 decks of Lexan plates. The lower deck mounts onto the motor plates and the holds the batteries and sensors.  The top deck holds the microcontroller and the stepper motor driver. We used 4-40 size screws on the entire mouse.

MCU The microcontroller is the MIT Handyboard.  It has the Motorola 68HC11A1FN processor.  It has 16K of RAM for user programs. For more info about the Handyboard, see http://handyboard.com/.

Motors Locomotion was achieved by using 12V stepper motors with 3.6 degrees per step. The robot is driven with a proportional control system. We use a proportional drive to control the motors.  The differential speed of the motors depends upon how close it is to the wall.  We accelerate when starting from rest and decelerate when stopping.  From the Handyboard, we used 6 digital outputs to control the 2 stepper motors; 2 outputs controlled each of the step inputs; 2 outputs are used for direction; and 2 outputs are used for full/half step mode.  The stepper configuration is half step mode.  The motors were mounted onto a steel plate that mounts onto the lower deck of the mouse.  The wheels were made from aluminum with rubber o-rings for tires (traction).  We use the MC3479P stepper motor driver to control the motors. 

Sensors The wing sensors are used for calibration; we used the QRD1114 IR sensors.  They produce an analog voltage output as a function of the amount of IR that is received (emitter/collector pair).  The sensors are mounted on the edge of the wings, which is made from a steel rod.  The main sensors are the Sharp GP2D120 analog sensors.  They can measure distances between 4 and 30 cm.  They are mounted in the front of the robot, pointing: left, middle and right.  The sensors produce an analog reading which is proportional to the distance that an object is front of the sensor.  The algorithm we used is the Depth-First search with the FloodFill algorithm.  When finding the center, the mouse uses the Depth-First search algorithm.  After it has found the center, it uses the FloodFill algorithm to find the shortest path among the cells it has visited.
 
Older robot designs  In the first design, we used stepper motors and 15 IR sensors: 5 on each side and 5 in front.  In the second design, we used DC motors with a hose clamp for a makeshift shaft encoder.  These designs were not adequate and so we came up with the third and final design-- "CenterPunch".

First design


Second design

 
Final design: CenterPunch, April 10, 2003

Movies of CenterPunch (*.avi)

uMouse Simulator

You can download a simulator program that runs the Depth-First search algorithm.  The program lets you open, save, and build mazes.  For description and instructions, look in the "about" dialog box. Click here to download Micromouse Simulator program.

Source Code

Source Code for HandyBoard microcontroller.  You can use notepad to open up any of these files for viewing.

Data Sheets

Information on the components that we used.

Competition Day.  Dated May 10, 2003

Additional Information

Please contact me if you have any questions: pleang@vislab.ucr.edu


robotics home | kam's homepage | contact | © Leang