City College of New York – CCNY

EE 598.67

Senior Design
Spring 2008

- Micromouse http://micromouse.fatoni44.com

Project Report
Prepared by:

Faton Avdiu Andy Zhou Redwan Ahmed Emmanuel Hereira Allen Gutierrez Mohammad M. Hossain

ID: 2390 ID: 8651 ID: 3060 ID: 9930 ID: 6270 ID: 2903

May 27, 2008

Senior Design Project – II –

Page ii

Micromouse

Date:

5/27/2008

Version <1.0>

Table of Contents
Table of Contents ................................................................................................................................ ii Project Overview..................................................................................................................................1 1. Introduction....................................................................................................................................1
1.1 1.2 1.3 2.1 2.2 2.3 2.4 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3 3.3.1 3.3.2 3.4 4.1 4.2 4.3 5.1 5.2 5.2.1 5.2.2 5.3 Purpose ........................................................................................................................................ 1 Scope ........................................................................................................................................... 2 References ................................................................................................................................... 2 Goals and Objectives ................................................................................................................... 3 Brief History ................................................................................................................................ 4 IEEE Region 1 GOLD Conference ............................................................................................. 4 Rules and Specifications for the Competition ............................................................................. 5 Mechanical Layout ...................................................................................................................... 8 Hardware Detail List ................................................................................................................. 10 The Microprocessor - PIC18F4550....................................................................................... 11 Motors - Parallax Standard Servos........................................................................................ 14 Sensors - Sharp GP2D120 IR Proximity Sensor Modules .................................................... 16 Wheels and Tail Ball ............................................................................................................. 19 Chassis................................................................................................................................... 19 Batteries - Ultralife® 9V Lithium ......................................................................................... 20 Software..................................................................................................................................... 21 Interrupt Services – Moving the wheels................................................................................ 21 Smart robot – Maze solving algorithm.................................................................................. 23 Micromouse - Final Version...................................................................................................... 28 Work Structure .......................................................................................................................... 29 Expenses .................................................................................................................................... 30 Schedule .................................................................................................................................... 31 Team Members .......................................................................................................................... 32 Team meeting and project/meeting minutes.............................................................................. 33 Team Meeting – Senior Design Project I .............................................................................. 33 Project Minutes ..................................................................................................................... 33 Competition Award ................................................................................................................... 34

2. Overall Description........................................................................................................................3

3. Construction Method.....................................................................................................................8

4. Work Structure / Expenses / Schedule.......................................................................................29

5. Supporting Information ..............................................................................................................32

– ii –

Senior Design Project – II –

Page 1

Micromouse

Date:5/27/2008

Version <1.1>

Project Overview
1. Introduction

This document describes the project overview, purpose, feature set, outline and use of the final working robot – the Micromouse. In this section of the document we describe the purpose of the project, definitions, project scope, and an overview of the rest of the document, including all the specifications of the project. A detailed ANALYSIS/DESIGN report will follow into this document.

1.1

Purpose

In Senior Design Project, students have the opportunity to get exposed to various methods of analysis, design and implementation of a project. Usually, students work on small projects or college level projects. In senior design, we have the chance to advance to a higher level, and deal with real-world situations during the life-cycle of the project. The main purpose of Senior Design Project is to get students involved in developing a new product or system. Our Senior Design group
consisted of Faton Avdiu, Andy Zhou, Redwan Ahmed, Emmanuel Hereira, Allen Gutierrez, and Mohammad Hossain.

Autonomous robots have an extensive range of applications; from detecting explosives and sensing bio-hazards to finding humans in wreckage. When designing autonomous robots, most engineers face difficult problems dealing with power, dependable sensing mechanism, and unfamiliar terrain. Various robotics competitions held globally have inspired these engineers to search for innovative solutions to their problems. One such competition with a rich history is the micromouse competition. In the United States, micromouse competitions have been around for over 3 decades and have changed very little.

–1–

motors. 1. power distribution.uc.edu/www/web/jxiao/EE59866-F07. The mouse needs to be implemented with sensors. microcontrollers. For our senior design project we dedicated our time and research to build this micromouse and registered it for the competition at the GOLD Conference which was held on April 26th. Harold IEEE-MCR “Micromouse Competition Rules” http://www. Xiao. During the conference they witnessed the micromouse competition first hand and took an immediate interest in it. Jizhong Eggert J. a microcontroller. Working on a micromouse project required extensive knowledge of sensor integration. The mouse should not be controlled by any remote control.3 References “Robotics . motor control.Senior Design Project – II – Page 2 Micromouse Date:5/27/2008 Version <1. and additional accessories. understanding of programming.pdf –2– . Rudolph “Engineering Design” “Project Management” 8th Edition. wheels. and additional controlling of electronic devices.1> A few of the team members were invited to the IEEE Region 1 GOLD Conference at Fairleigh Dickinson University last April of 2007.htm Prof.Fall 2007 http://www-ee. 1. A more in depth look of these topics are covered in the body of this report. but rather be programmed to function on its own.All class lectures” City College of New York .ccny. The micromouse should be programmed to use a specific algorithm in order to solve the maze.2 Scope The micromouse should be capable of exploring a maze specified by the competition terms and rules. 2003 Kerzner.cuny.edu/main/files/sac2007/mm_rules.ieee. chassis. 2008.

Overall Description The micromouse project involved six student members. 2. All members of the team are in good academic standing. Many of the team members are part of the IEEE Executive Board at CCNY. designed. During the first phase of the project we focused on the comprehensive aspect of the project. The micromouse was built as a self contained autonomous robot able to navigate a specified maze in the quickest time possible. All members worked collectively for the duration of two semesters. mechanical. The workload was defined in the early phase of the project. The team employed knowledge in different areas from planning. five electrical engineers and one computer engineer. analyzed. very enthusiastic. The micromouse construction involved knowledge from multiple fields combined into a unified project. and programming issues of the micromouse. as well as requirement specifications. This project was undertaken to test and utilize the knowledge of a design team.1 Goals and Objectives The micromouse team did its best to ensure that the goals and objectives set by the team were achieved in timely manner. the scope and purpose. troubleshot and tested the maze navigation of the robot. During this time interval our main goal was to do research. The micromouse was entered into a competition to prove both the ability and ingenuity of the design team. implemented. –3– .Senior Design Project – II – Page 3 Micromouse Date:5/27/2008 Version <1. dedicated and have a great track record for activities around City College. Fall 2007 and Spring 2008. analyzing and designing the project life-cycle to electrical. where we specified and divided the load based on the expertise of each member. analysis and start designing the robot. We planned.1> 2. assembling.

Senior Design Project – II – Page 4 Micromouse Date:5/27/2008 Version <1. and to encourage them to continue their membership as GOLD members after they graduate. One such way to promote interest in GOLD is through the various competitions. This joint event provides a great opportunity to introduce GOLD to undergraduate students. and nurture volunteers. future engineers. –4– .1> 2. With the vision to increase the value of IEEE services and programs to young professionals and recent graduates. career fairs. and the micromouse competition.3 IEEE Region 1 GOLD Conference Region 1 GOLD (Graduates of the Last Decade) has successfully developed and organized an extensive list of programs. the first micromouse competition began in the 1970s. activities. The mice are built to run autonomously through a maze and find its center from a predetermined corner of the maze. Some of the contests include paper design. 2. motivational speakers. to promote the GOLD program to students. and conferences in the past few years. who built the original maze-solving machine. where the robots were tested against one another.2 Brief History The Micromouse is a small autonomous robot built to navigate a maze. For the last few years. Their mission is to develop programs and foster relationships. However. It was first presented by Cloude Shannon. the GOLD leaders have been energetically organizing numerous activities for their GOLD members. seminars. Region 1 GOLD was held in collaboration with the Region 1 Student Conference. its position within the maze. record data on maze. and resume clinics. The first record of “mouse versus maze” problem can be traced back to 1950. to provide tangible value to members. develop. usually during spring. and optimize a route to run in the shortest time possible. and to recruit. They were also encouraged to take up leading roles within the IEEE organization. the mice must be able to retain memory of the maze. Through its algorithm and configuration.

Passageways between the walls were 16.00 2nd Place: $1000. scratch. The coating on the top and sides of the walls were selected to reflect infrared light and the coating on the floor to absorb it. The competition has monetary rewards for the top three successful teams. The sides of the maze were painted white and the top of the walls red. The floor of the maze was made of wood and finished with non-gloss black paint. An exterior wall enclosed the entire maze.4 Rules and Specifications for the Competition Specifications The micromouse must be self contained and not use an energy source employing a combustion process. or destroy the walls. • • • 1st Place: $1500.00 2. The walls were 5 cm high and 1. The length and width is restricted to a square region of 25 cm x 25 cm even if the dimensions change its geometry during a run shall not exceed 25 cm x 25 cm.00 3rd Place: $700.8 cm wide. The height is unrestricted. damage. climb. The Micromouse should not jump over.1> The micromouse competition is the most prevalent and exciting event during the weekend long conference.2 cm thick. –5– .Senior Design Project – II – Page 5 Micromouse Date:5/27/2008 Version <1. Maze The maze comprised of 16 x 16 multiples of an 18cm x 18cm unit square.

Senior Design Project – II – Page 6 Micromouse Date:5/27/2008 Version <1.1> Figure 1: Standard Maze Figure 2: Maze Diagram –6– .

Once the center is reached initially. The team whose mouse compiles the lowest –7– . the mouse needs to continue to explore the maze until it finds the shortest path. Accuracy The micromouse was able to detect and avoid collisions with walls.1> Each participant in the competition was given a time limit of 15 minutes to have their robot run through the maze. The robot needed to make 90 degree turns and be able to correct itself with proper alignment. The total time is measured from the time the robot is first activated. a micromouse can make as many runs as possible.Senior Design Project – II – Page 7 Micromouse Time Date:5/27/2008 Version <1. The micromouse is evaluated based on the time taken to go from the starting square until it reaches the finish square (the center of the maze). Within this time limit.

–8– .1> 3.1 Construction Method Mechanical Layout Schematic 1: Micromouse Diagram The dimensions of each unit square in the maze are 18cm by 18cm. we decided to keep the size of the robot to a minimum to obtain better mobility and to avoid collision with the walls. 3. During the initial design phase for the robot.Senior Design Project – II – Page 8 Micromouse Date:5/27/2008 Version <1. From previous experience we saw that larger robots tend be impeded by making contact with the walls.

All the parts were configured together to obtain a mouse that was well balanced. The purpose of the ball is to aid in rotation of the robot and to maintain equilibrium.Senior Design Project – II – Page 9 Micromouse Date:5/27/2008 Version <1. The location of the ball did not hinder the sensors from retrieving data. 7] The sensor [6] faces the left side and is positioned to take readings of walls or openings. [2. [5] The front sensor is situated closer toward the center to provide leeway to detect the walls. –9– . The sensors are not effective under 4 cm. the mouse can stop early if placed too close to the front. Sensor [7] behaves similarly except it faces the right side.1> [1] A light plastic ball placed in the back is attached by a pin through its core for stability. [6. We have to mention that our mouse was the smallest and the fastest compared to other contestants in the competition. light. The center of mass will effectively prevent the micromouse from flipping when brakes are applied. and stable. shifting the sensors to the middle and connecting the sensors back to back with a crossbar allows the sensors to capture data precisely. The extra space is a buffer that makes the sensor accurate. 4] The wheels and motors were positioned on the micromouse so that it creates a center of mass between the ball and the wheels. 3. Both sensors are actually positioned above sensor [5] and do not impede the readings.

6 cm] Diameter. [0.3 cm] Width Plastic Ball / [2] Rubber Band Tires Chassis: Power Source: Light Weight Plastic Chassis [3] 9 Volt Batteries Each part is described in more details in the following sections.1> 3.2 Hardware Detail List The Micromouse was built with the following list of resources: Microcontroller: Motors: Sensors: Wheels: PIC18F4550 [2] Continuous Rotation Servos [3] Sharp GP2D12 IR Proximity Sensor Modules [2] Plastic: [6. – 10 – .Senior Design Project – II – Page 10 Micromouse Date:5/27/2008 Version <1.

2. – 11 – . reading the sensors and navigate through the map of the maze. 6. 7.PIC18F4550 Date:5/27/2008 Version <1. 3. The sensors repeat the detection of walls or gaps. The PIC was able to control all functions of the mouse.1> Figure 3: PIC18F550 w/Create USB Interface The PIC18 microprocessor was selected as the intelligence for the Micromouse to create a smart robot that can find the way through the maze. While traveling the sensor also kept the robot centered along the path. The sensors detected walls and/or gaps. 4. 2. The appropriate move was then decided depending on the steps needed to reach the center. rotating the wheels in a way so the mouse will turn right or left. and so on. The mapped array was used to solve the micromouse maze through our algorithm. Walls are recorded on a 'map' in storage array.1 The Microprocessor . 5. including starting and braking of the mouse. The PIC processor provided the logic to drive the micromouse and solve the maze. The controlling software worked using this approach: 1.Senior Design Project – II – Page 11 Micromouse 3. Steering and drive are controlled to make the move to the next sector.

we needed to intervene into the assembly code for better and faster results while reading from sensor and motor control. setting the parameters were convenient in programming. Assembler ('machine') code gives good control of short timing loops and generates fast-running code. The following table shows the resources included inside the Pic18 microprocessor: Table 1: PIC18 Internal Resources The following diagram displays the PIN diagrams for the PIC18 microprocessor: Diagram 1: PIC18F4550 PIN Diagram – 12 – .1> The micromouse maze has a maximum of 256 squares. Out team used C++ to write the code. Even though the compilers are quite smart. and we used the MPLAB compiler to compile the code into assembly and generated the HEX file.Senior Design Project – II – Page 12 Micromouse Date:5/27/2008 Version <1.

1> The next diagram shows the block diagram for the PIC microprocessor. Diagram 2: PIC18F4550 BLOCK Diagram – 13 – .Senior Design Project – II – Page 13 Micromouse Date:5/27/2008 Version <1.

red). and about 10-20mA when idle.59oz Torque: 3. one (5 Volt. and therefore fulfilled the requirements for our project.1> As one can notice the above diagrams and tables. The motors feed on 5 volts at about 100mA maximum. As shown in diagram 3. meaning it is able to spin 360 – 14 – .40 kg-cm / 47oz-in Size mm: (L x W x H) 40.Parallax Standard Servos Technical Specifications Power: 6vdc max Speed: 0 deg to 180 deg in 1.0 Figure 4: Parallax Servo Motor Diagram 3: Parallax Servo Connections The servo contains a small DC motor. one ground wire (0 Volt. Competing during the competition showed the prowess and ability of the processor.Senior Design Project – II – Page 14 Micromouse Date:5/27/2008 Version <1.2.5 x 20. they have a three-wire ports.5 seconds on average Weight: 45.0 grams / 1. and one signal (white) wire.2 Motors . a gear box and control circuitry.0 x 38. The servos were controlled by pulses of about 1 to 2 milliseconds at a repetition rate of about 50 per second. black). 3. The servo contains a feedback potentiometer used by internal circuits to measure the position of the output shaft. the PIC microprocessor is very powerful. The servo provides a continuous rotation.

5 Figure 6: Sharp GP2D120 Diagram 4: GP2D120 Block Diagram – 16 – .Sharp GP2D120 IR Proximity Sensor Modules Technical Specifications Power: 5. as long as it is above about 30 repetitions per second.0 x 13. The speed is not greatly affected by the pulse repetition rate.3 Sensors .2.0 x 13.Senior Design Project – II – Page 16 Micromouse Date:5/27/2008 Version <1. If no signal is input to the motor then the servo will stop. 3. Using two servos running in opposite directions enables the micromouse to perform stop and pivot turns.1> degrees.5 vdc max Distance Measuring Range: 4cm (1.6") to 30cm (12") Average Dissipation Current: 33 mA (50mA max) Size mm: (L x W x H) 44.

Senior Design Project – II – Page 17 Micromouse Date:5/27/2008 Version <1.1> Figure 6: GP2D120 Timing Chart Graph 1: GP2D120 Information – 17 – .

The sensors operated quickly enough to measure position to reasonable tolerance. The later part is used to compute adjustments needed to keep the micromouse equidistant from each side wall. In the Micromouse project. sensors had two main purposes: 1 .Detect the presence or absence of walls to the sides and front. The side sensor are use two-fold. We focused on achieving a reliable steering. If a front wall is detected then the robot will stop and compute what direction turn is more efficient to reach the center. Although the sensors are minimally affected by reflectivity and surrounding lights. first to detect the presence or absence of side walls and second to assist in relaying the distance of the robot from each side wall.Senior Design Project – II – Page 18 Micromouse Date:5/27/2008 Version <1. and direction control. The front sensor’s main objective was to detect forward walls to prevent collision and also make wall positions in the maze. they were calibrated to function in a predictable manner for varying maze and ambient conditions. – 18 – .To provide feed-back about the distance from the walls.1> The sensors we implemented were able to take a continuous distance reading and return a corresponding analog voltage. 2 . During competition cameras had flash turned off and did not affect the sensors.

There was enough space for the microprocessor. The size of the wheels were balanced enough to stabilize the micromouse without being too large or small.4 Wheels and Tail Ball Date:5/27/2008 Version <1. batteries. – 19 – . The plastic wheels with a ball were placed in a triangular setup for balance. and the microprocessor was placed in a protective cover above the whole setup. All space on the micro mouse was used efficiently as possible. two wheels in the middle of the mouse and the ball toward the back end.1> Figure 7: Wheel w/Rubber Band Tires The micromouse comprised of two wheels with rubber band treads with enough traction to avoid slipping. motors and sensors. Servos were placed in the mid-section of the mouse. sensors were located in themed-front region. The chassis was hand cut from a light plastic toy truck due to the ease in shaping the plastic. The setup adjusted the center of mass to prevent flipping. 3. While inside the maze the mouse was small enough to fit and not come in contact with the walls.5 Chassis The micromouse chassis is the main piece that holds together all the other parts. In one occurrence the middle sensor was placed too low that detected deviations in the floor to be walls.Senior Design Project – II – Page 19 Micromouse 3.2. to solve the problem the sensor was mover higher and more forward.2. batteries were placed in a basket in the back section.

2.6 Batteries .1> Technical Specifications Volt Range: 5. Graph 2: Battery Information – 20 – .4 V @ 23° C Max.9 V Average Voltage: 9.Ultralife® 9V Lithium Date:5/27/2008 Version <1.Senior Design Project – II – Page 20 Micromouse 3.4 Grams The power pack of the micromouse consisted originally of a single 9V battery.2 Ah @ 9 mA to 5. We made a mistake of not accounting for the current drain and caused irregularity during the testing. While the micro mouse made runs through our sample maze it would slowdown and being to malfunction. Discharge: 120 mA continuous Pulse Capacity: Up to 400 mA Weight: 36.4 to 9.0 V Nominal Capacity: 1. The solution to the problem was to connect three 9volt batteries in parallel therefore increasing the current passing through the system.

The following graph explains how the motors work: – 21 – . the wheel will spin in certain direction or it will stay still. 3. As we previously mentioned the micromouse has to discover the maze and find the center. so it can think and solve the maze efficiently. and based on a width of a pulse.Senior Design Project – II – Page 21 Micromouse Date:5/27/2008 Version <1.1> 3.3. We control the timing of signals by using timers on PIC microcontroller. based on the information during the processing of the code.1 Interrupt Services – Moving the wheels During all these processes the microcontroller is programmed to send signals to servo motors so the wheels move. Also. We use IRS to send pulses to the motors every 20 milliseconds. This part of the project was really challenging as it requires to fully understand the PIC18 microcontroller and the use of INTERRUPT services. the micromouse is programmed to read the sensors often enough so it has time to process instructions and make a decision which way to go.3 Software One of the most important and challenging part of the project was programming the robot. An INTERRUPT causes the processor to save its state of execution and begin execution of an interrupt handler. We use TMR0 (Timer 0) to send a pulse every 20 milliseconds and TMR3 (Timer 3) to control the width of the pulse.

} } else if (servo_state==SERVOSTOP) { TMR3H = 0x00. TMR3L = 0xCF. count++.1> The following is part of the code where we use the interrupts and timers to control the wheels: void timer_isr (void) { if (INTCONbits.LATA1 = 1.LATA2 = 1. } } else if (PIR2bits. servo_state=SERVOHOLD.LATA1 == 0 && LATAbits. if (servo_state==SERVOHOLD) { TMR3H = 0xFF. } } } – 22 – .TMR0IF = 0. } if (LATAbits.Senior Design Project – II – Page 22 Micromouse Date:5/27/2008 Version <1. TMR3L = 0x00.LATA2 == 0) { servo_state=SERVOSTOP. encoder = PORTDbits.LATA1 == 1) { LATAbits. LATDbits. } TMR0H = 0x8D. travelcount++. servo_timer=1. servo_timer++.TMR3IF = 0.LATA2 = 0. TMR0L = 0x28. TMR3L = 0xFA. lastencoder = encoder.TMR0IF) { INTCONbits.TMR3IF) { PIR2bits. } if (servo_timer > servo[1] && LATAbits. if (lastencoder != encoder) { encodercount++. for_count++.LATD6.LATA1 = 0. if (for_count > 2) { s1_count++. TMR3H = 0xDA.LATA2 == 1) { LATAbits. for_count =0. if (servo_timer > servo[0] && LATAbits.RD1.LATD6 = !LATDbits. LATAbits. LATAbits.

where we had to program the micromouse so it can think and be able to find its way to solve the maze. we need to store information of the walls and also use distance values for each cell of the maze. As the mouse explores the maze it finds new walls and updates the distance values. Initially. use the algorithm and flood the maze 4. We did this by programming in C and using a floodfill algorithm. – 23 – . which floods the maze after every move and helps the robot make a decision. update the wall array 3. read the sensors 2. The complete code of the project is attached in a different file. We use two 1-dimensional arrays to map the maze and the distance values. update the direction of the mouse The robot repeats these steps whenever reaches the center of the next cell on the maze. We will explain in details each step of the micromouse as it reaches the center of the maze. The mouse has to know its location and direction at any time so it runs the algorithm and make a decision on the next move. compare the distance values of neighbor cells 6. to find the shortest path.Senior Design Project – II – Page 23 Micromouse Date:5/27/2008 Version <1. In order to solve the maze efficiently.2 Smart robot – Maze solving algorithm This was the most difficult part of the project. update the distance values for each cell of the maze 5. the mouse will only know the boundaries of the maze and the center cells.1> 3. move to the next cell with the lowest value 7. The following describe the steps the robot takes to make a decision: 1.3.

updates the distance values starting from the goal (at zero) and add 1 to each neighbor. it reads the sensors. At this point no distance changes since the discovered wall doesn’t change the maze much. – 24 – . each neighbor cell changes the distance value. and repeats the same procedure as in the first step. In this case the current cell will change it distance value from 2 to 4. (1) (2) (3) 1 – The mouse starting point is at the corner of the maze. we created a step-by-step graphical explanation and described every move of the mouse until it reaches the center. detects the wall on the right side (marked as RED).Senior Design Project – II – Page 24 Micromouse Date:5/27/2008 Version <1.1> As it is not very clear to understand these steps. (Continue to step 4) (4) (5) (6) 4 – The algorithm uses the information on the wall-array and assigns the distance values to each cell. to explain these steps. and that is to move one cell forward. It moves to the other possible cell. runs the flood algorithm. 3 – At this point the mouse discovers another wall to the right. Also. and it runs the algorithm. 2 – At this point the micromouse discovers another wall to the right. We are using a 5x5 maze. (See the yellow cells) The mouse will move to the next cell available. since it is easier to explain and understand the process. First. and in this case there is only one possible cell. because now the mouse knows that it needs 4 steps to reach the current cell instead of 2 because there is a wall. The mouse makes the decision to move to the next possible cell.

Then. 9 – At this point another wall is detected to the left of the mouse. (7) (8) (9) 7. In order to make this decision. The wall map is updated and the algorithm will update the distance values described on step 8. the mouse will compare the distance values and move to the one with the lowest value (Step 11). 6 – Another wall is detected. 11. Finally the mouse will move one cell forward(step 9). The mouse repeats the same procedure.Senior Design Project – II – Page 25 Micromouse Date:5/27/2008 Version <1. – 25 – . Same procedure as step 5. but now the direction of the mouse will change. 8. another wall is detected and the algorithm will change the distance values as shown in step 12. It can go forward (down one cell) or to the left of the mouse (right from this view). ( 10 ) ( 11 ) ( 12 ) 10.1> 5 – Another wall is discovered. 12 – At this point the robot has two choices.

( 16 ) ( 17 ) ( 18 ) 16 – The mouse is programmed to explore the maze until it finds all the walls and the distance values will be updated as shown above. and change all the distance values as they are shown above. The starting point will become the new GOAL. 15 – At this point the robot has two choices. 17 – At this point the mouse will change the GOAL. At this point. it will choose the one with the lowest value. but as we described before. hence the distance value zero (the yellow cell).1> ( 13 ) ( 14 ) ( 15 ) 13.Senior Design Project – II – Page 26 Micromouse Date:5/27/2008 Version <1. Next. again. and that indicates that it reached the GOAL (in this case the center of the maze). the mouse reached the cell with the distance value zero. 18 – At this point the mouse will have three options. 14. – 26 – . and it will repeat the same step again. The mouse will compare the distance values and move to the one with the lowest value (Step 14). the algorithm will run.

21.Senior Design Project – II – Page 27 Micromouse Date:5/27/2008 Version <1. – 27 – . 20.1> ( 19 ) ( 20 ) ( 21 ) ( 22 ) 19. 22 – Same procedure is used to reach the new goal.

4 Micromouse .Final Version Figure 8: Top-View Figure 9: Angled Side View – 28 – .Senior Design Project – II – Page 28 Micromouse Date:5/27/2008 Version <1.1> 3.

1 Work Structure / Expenses / Schedule Work Structure The following diagram shows the work breakdown structure: MICROMOUSE PROJECT Finance/Funds Chassis Hardware Software Maze Professor Xiao Exterior Design PIC 18 MPLAB Design EE Department Wires Sensors (Sharp GP2D12) C++ Algorithm Wood Crafting IEEE Electrical Motor (Servo Motors) C-18 Compiler Structure Wheels ICD2 Diagram 5: Micromouse Project – Work Breakdown Structure – 29 – .1> 4.Senior Design Project – II – Page 29 Micromouse Date:5/27/2008 Version <1. 4.

91 Total Table 2: Final Expenses $354. Plastic.Senior Design Project – II – Page 30 Micromouse Date:5/27/2008 Version <1.58 Dia.44 Robot Parts Continuous Rotation Servo Motors 2 Wheel.52 $16.1> 4. . 2.2 Expenses The following table shows the final cost of our project: Sensors Sharp GP2D120 IR Sensor Sharp IR Sensor Cable 7 7 $99.21 – 30 – .3 W Rubber Band Tire Tail Wheel Ball Aluminum Chassis Resistors + Capacitors 4/40 x 3/8" Nut + Screws LED's Piezospeaker Wires 2 2 1 1 4+ 4+ 4 1 4+ $173.34 Accessories Lithium 9V BTRY 9V BTRY Clips Electrical Tape 5PK 9V Battery Clips ALK 9V BTRY 5 1 1 1 4 $62.

Senior Design Project – II – Page 31 Micromouse Date:5/27/2008 Version <1.1> 4. Sensors Software] Assessment [Maze Tests] Submit Entry into Contest Finishing Touches [Final Version] Competition Day 09/01/07 – 11/01/07 10/01/07 – 4/13/08 11/01/07 – 01/01/08 12/01/07 – 02/01/08 01/15/08 – 04/25/08 Before 01/25/08 03/16/08 – 04/25/08 April 26th 2008 Table 3: Final Schedule SEPT Research Parts Purchase Assembly Testing Software Submit Entry into Contest Finishing Touches Competition Day OCT NOV DEC JAN FEB MAR APR Before 01/25/08 April 26th 2008 Table 2: Gantt chart – 31 – .3 Schedule Research Parts Purchase Assembly [Beta Version] Testing [Motor.

EE .EE .Comp. E .Senior Design Project – II – Page 32 Micromouse Date:5/27/2008 Version <1. Hossain Allen Gutierrez .1 Supporting Information Team Members Name Major Andy Zhou Redwan Ahmed Faton Avdiu Emmanuel Hereira Mohammad M.EE .EE – 32 – .EE . 5.1> 5.

Specification and Design. having a complete understanding of what we want to do and what the goals & objectives are. Allen Please read: Please bring: Project Requirements. Redwan Type of meeting: Note taker: Project meeting 12:30PM Engineering Building .2. Andy.2 Team meeting and project/meeting minutes The following shows only one of the team meeting and project minutes during the first phase of our project: 11/02/2007 5.1> 5.2 Project Minutes Agenda item: Discussion: Discussing robot hardware. Emmanual. Andy Faton. Mohammad Attendees: Faton. – 33 – . what algorithm to use. and about PIC microcontroller All project requirements were discussed in details. parts. including research.2. new ideas etc. what kind of motors to use. Also lectures from Prof.1 Team Meeting – Senior Design Project I Meeting called by: Facilitator: Faton. Emmanuel. Xiao All work so far. differences between types. Mohammad.Senior Design Project – II – Page 33 Micromouse Date:5/27/2008 Version <1. All members of the team presented there ideas as well as work done so far for the project. 5. Andy. design Presenter: All team members Discussed what parts to use.IEEE Office Allen. Conclusions: Split the team work among team members. what sensors to use and also discussed around PIC18 microcontroller. Redwan.

Senior Design Project – II – Page 34 Micromouse Date:5/27/2008 Version <1.1> 5.3 Competition Award – 34 – .