Micromouse Proposal Senior Design Project 2012-2013 Spencer Cupp, Sasha da Rocha Pinheiro, Kiel Wood 10/17/2012 Contents Problem Statement: ...................................................................................................................................... 2 Objective Statement: .................................................................................................................................... 2 Literature Survey:.......................................................................................................................................... 2 Algorithm: ................................................................................................................................................. 2 Microcontroller: ........................................................................................................................................ 4 Motors: ..................................................................................................................................................... 4 Sensors: ..................................................................................................................................................... 5 Batteries: ................................................................................................................................................... 5 Existing designs: ........................................................................................................................................ 6 Marketing Requirements: ............................................................................................................................. 8 Realistic Constraints:..................................................................................................................................... 9 Objective Tree: .............................................................................................................................................. 9 Functional Block Diagram: .......................................................................................................................... 11 Alternative Solutions:.................................................................................................................................. 13 Test Plan:..................................................................................................................................................... 16 Budget and Cost Analysis: ........................................................................................................................... 17 Schedule: ..................................................................................................................................................... 19 Conclusion: .................................................................................................................................................. 19 References: ................................................................................................................................................. 20 1 Problem Statement: The IEEE Micromouse Competition is a meeting where students design and build robots to autonomously solve a maze. The maze is a 16 x 16 block of cells, each cell measuring 18 x 18 cm. The walls of the maze are 5 cm high and 1.2 cm thick. The robots in the competition may use various sensors to find the most efficient path to the center of the maze in the shortest amount of time possible. The winner of the competition is the mouse that travels from start to finish in the shortest amount of time. Robots entered in the competition must not exceed 25 x 25 cm length and width and must be completely self contained. Any outside communication with the mouse is strictly forbidden. It is necessary that a device be designed and constructed to enter in the Micromouse Competition. In addition, the ECCS department would like to retain the Micromouse so it can be demonstrated to prospective students as well as at various university and college of engineering events. Objective Statement: The objective of this project is to design and construct a robot to enter in the Micromouse Competition. The robot will meet the specifications of the competition and follow all of its rules. It will use various sensors to detect the maze, utilize a dynamic programming algorithm to find the most efficient path through the maze, and will propel itself through this path to the end of the maze. A major focus of the design will be making the robot as fast as possible, giving it the best odds of placing first in the competition. Literature Survey: Algorithm: Maze solving algorithms have been studied in mathematics for a number of years and there are many to choose from. The types of algorithms typically used in micromouse competitions are called flooding algorithms. The term comes from the idea that if water was poured into the beginning of the maze, the drop of water that reached the end of the maze first would have travelled the shortest path to get there [10] . With the micromouse, this approach can be used by assigning a value of zero to the starting cell and numbering every other cell in the maze based on how many connected cells away from the beginning cell it is [10]. Once every cell is mapped this way, the algorithm can follow a path such that the number of the cells along the path always decreases as the mouse moves away from the maze’s center and towards the beginning. The resulting path will be the shortest possible path in the maze, as can be seen in Figure 1. 2 Figure 1: Flooding Algorithm Diagram [10] Though this type of flooding algorithm is frequently used in micromouse, the difference from one algorithm to another lies largely in how the mouse decides where to go before the map has been produced. Because the mouse does not know where the walls of the maze are when it enters the maze, one method is to assume there are no walls and take the most direct path to the center of the maze. When the mouse does encounter a wall, it will then reassign the cell values based on the new information about the wall, and take the most direct path from the current cell to the center based on that information. The reassigning of cell values can be seen when comparing Figures 2 and 3 below. Figure 2: The shortest path before knowledge of walls in the cell above the mouse 3 [10] Figure 3: The shortest path after knowledge of the walls in the cell [10] Microcontroller: A micromouse design will require a microcontroller to control the motors, receive input from the sensors, and essentially be the “brain” of the mouse. The microcontroller is programmed with an algorithm to help the mouse determine the best possible path through the maze as well as physically guide the mouse through the maze. When researching possible microcontrollers that could be used that would provide the necessary performance a few were found that would be suitable. The first microcontroller that was researched is the widely used Arduino. This microcontroller would provide the resources and connections necessary to drive and act as the “brain” for the mouse. There are also motor shields available that are compatible with the Arduino, essentially providing a plug and play driver circuit for the motors. Another microcontroller that was researched was the Raspberry Pi. This device is a full on Linux machine that would be very easy to program and would provide the necessary power and performance. Motors: With micromouse designs, the main option in motors is the choice between stepper motors and simple DC motors. Stepper motors can provide precise positioning and reliability and can function in some applications in an open loop control system. The motors can be operated from the microcontroller with existing libraries which simply need an input of how many degrees to rotate. Provided there is no wheel slippage when moving with a stepper motor, feedback on rotor position is unnecessary. Weaknesses of stepper motors are poor performance in rapid acceleration and constant current draw, which could drain the robot’s battery [6]. Simple DC motors offer more torque and therefore can typically move a robot faster, but are more difficult to control. These motors require an encoder to feed the rotor position back to the 4 microcontroller. Controlled movement is attained by supplying power to the motor, monitoring the encoder to determine how far the motor has rotated, and shutting the motor off when the desired position is reached. DC motors can accelerate rapidly and can be operated at variable speeds by rapidly toggling the power to the motor on and off [7]. Both motor types can be found for a wide variety of voltages, and there are many gearboxes available either attached to a motor or as a separate assembly, which can be used to increase torque. Sensors: A micromouse needs sensors to locate the walls of the maze. This information is then used to avoid colliding with them, keep the mouse moving in a straight line, make decisions about where to move, and determine when the maze center has been reached. There are many different ways to use sensors, but micromouse entries tend to use one of two basic schemes. The first involves looking down on the tops of the walls to locate them, and the second involves looking at the sides of the walls from within the maze. In the first scheme, by looking at the top of the wall on both sides of the robot, the sensors can be used both keep the robot travelling in a straight line and to look for openings on either side of the path. If looking at the walls with sensors from within the maze, it may be necessary to use separate sensors for these two tasks. Though extra sensors may be necessary with this method, the robot can be much smaller and likely faster because it doesn’t need to be taller than the walls of the maze. There are multiple types of sensors that can be used in both schemes, but the primary types used are infrared and ultrasonic transmitter/receivers. Both can detect the distance to an object by bouncing either sound or light off of it. Ultrasonic sensors calculate the distance to the object based on the time it takes for sound to travel to and from the object, whereas infrared sensors determine how close an object is based on how much infrared light is reflected off the object and returned to the sensor. These differences mean that many ultrasonic transmitters have a linear relationship between output voltage and distance to the object, whereas infrared sensors have a non-linear relationship, giving them an inner threshold distance at which an object’s location cannot be reliably detected [1]. Both infrared and ultrasonic sensors are susceptible to noise, and because the amount of noise in the competition maze is unknown, precautions should be made to make the design highly noise tolerant. One way to reduce noise is by focusing a sensor’s “vision” in a particular area. This can be done to an infrared sensor by putting blinds around it, limiting its field of view to a particular plane. Some infrared sensors also have built-in noise reduction features that rely on modulating the sensor signal to distinguish it from noise [5]. Batteries: The batteries on a micromouse power the microcontroller, sensors, and motors. A chief concern is having enough current to run the motors, while minimizing weight is desirable. Rechargeable batteries are also a favorable option due to the large number of non-rechargeable batteries that would be consumed during the testing phase of production. In micromouse competition, battery life is not of major concern because each team is only allowed ten minutes in the maze. 5 Several options are available among rechargeable batteries, including NiCad, NiMH and Lithium Ion. All three of these options should provide the current needed to drive the motors, but differ slightly in other areas. Lithium Ion batteries are typically 3.4 – 3.7 V, whereas NiCads and NiMH are typically about 1.2 V [2] . This means that for a desired voltage, it will require more NiCad or NiMH batteries than it would to provide the same voltage with Lithium Ion Batteries, leading to a heavier battery pack. Existing designs: Egg Torte The “Egg Torte” micromouse designed by Kato-san won first place in Japan’s Half Sized Micromouse Competition in 2010 [4]. It is constructed on a printed circuit board which houses the microcontroller and can be seen in Figure 4. It runs on lithium batteries and operates using four motors, but only two wheels. It appears that one motor turns each wheel and the second set of motors is used to make the mouse run faster after the first mapping run of the maze. In demonstrations the Egg Torte travels at a visibly faster rate in long, straight segments of the maze [9]. This design uses four IR sensors to navigate the maze: two looking forward and two looking out to the sides. The front two sensors look across each other to the opposite sides of the maze. By comparing the intensity of IR returned to either sensor, the mouse can determine whether it is travelling down the center of a path in the maze and whether there is a wall directly in front of it. The other two sensors seem to be looking at the walls to find openings where the maze branches away from the current path. On the underside of the mouse, there are two pads supporting the front and rear of the mouse to lower friction and prevent the underside of the circuit board from dragging on the ground. This mouse’s algorithm displays some impressively efficient features, such as moving diagonally through zigzags and rounding out its turns, narrowly missing the wall at the inner edge of a corner [4]. Figure 4: The Egg Torte Micromouse [4] Min7 The Min7 is a micromouse design that won the All Japan Micromouse competition in 2011 [11]. Its design also uses a circuit board with embedded microcontroller as a chassis, but uses only two motors to power its four wheels. The design again uses a lithium polymer battery and infrared sensors, and Figure 5 6 shows the visor which is placed over the sensors to reduce noise. Weighing in at only 90 grams and having a 10 x 7.5 cm profile, this mouse can reach speeds of up to 3.5 meters per second, solving a maze at competition in four seconds [11]. This design’s algorithm also employs corner cutting and diagonal movement techniques [12]. Figure 5: Min7 Micromouse [11] Top-Down Sensor Layout: A third design reviewed during research can be seen in Figure 6. This design utilizes infrared proximity sensors looking down at the maze walls from above. It has two wheels powered by stepper motors and uses a ball bearing to hold up the front end of the mouse. No footage of the mouse moving through the maze was available, but most mice found during research that used a top-down sensor approach were much slower than mice looking at the walls from within. Figure 6: Top-Down Sensor Design 7 [8] Marketing Requirements: Rules for the Micromouse [3] : The micromouse shall be self-contained (no remote control) The micromouse shall not use a combustion process energy source The micromouse shall not leave any parts behind while moving through the maze The micromouse shall not jump over, fly over, climb, scratch, cut, burn, mark, damage, or destroy walls of the maze The micromouse shall not exceed 25cm in length or width Definition of Maze to be Solved The maze consists of 16 x 16 unit squares Each unit square is 18cm square Maze walls are 5cm high and 1.2 cm thick The outside wall encloses the entire maze The sides of maze walls are white, the tops are red, and the maze floor is black The maze is wooden, finished with non-gloss paint The start of the maze is in one of the four corners The starting square has walls on three sides The destination of the maze is the four central squares In the center of the destination, there is a post 20cm high and 2.5cm on each side The destination only has one entrance At no other point in the maze are there four cells with no walls between them Multiple paths to the destination are allowed The maze layout will be such that a wall-hugging mouse will not be able to find the destination square Competition Rules [ 3] : [3] : Each micromouse will be allowed 10 minutes of access to the maze Each run in which a mouse successfully navigates from the start cell to the destination square will be given a run time The minimum run time a mouse performs will be the mouse’s official time First prize goes to the mouse with the shortest run time Mice that do not enter the destination square will be ranked by the maximum number of cells they traversed without being touched Operators may abort a run at any time 8 o If an operator touches the mouse during a run, it must be removed from the maze and placed back in the starting cell before proceeding If a mouse has entered the destination square, it may be removed, but a 30 second penalty will be added to the mouse’s following run The operator shall not feed any information on the maze into the micromouse The run timer will start and stop when the mouse crosses the start line (outside the start cell) and finish line (at entrance to destination cell), respectively Every time the mouse enters the start square, a new run begins The mouse may continue to navigate the maze after reaching the destination square for as long as their time allows Judges have the right to ask the operator for an explanation of the micromouse, stop a run, disqualify a micromouse, or give instruction as they see fit Contestants may perform the following procedures to a mouse o Move switches o Replace batteries o Adjust sensors o Change speed settings o Make repairs Contestants may not alter a mouse in a way that changes its weight Contestants may request a break for their mouse, stopping the ten minute timer and resuming it again when the mouse is prepared to compete again Realistic Constraints: The realistic constraints that properly apply to this problem are as follows: Maintainability, Operational, Functionality, and Performance. When speaking about maintainability, it has been decided that this design will allow for easy access to all components to make troubleshooting easier. Also, good documentation is needed so that this design can be modified easily at a later time by others. The operational constraint is important because, if followed, the design will have a high tolerance for noise coming from outside the maze. This will further guarantee reliability of the system. When fulfilling the functionality constraint it can be guaranteed that the mouse will reliably navigate the maze and successfully find the center within the allotted amount of time. Concerning performance, it can be guaranteed that the mouse will, with the use of an algorithm, determine the most efficient solution to the maze and follow this path. Objective Tree: The objective tree seen in figure 7 outlines the major criteria considered throughout the design process. The most important criterion in this design is reliability, as there is only one opportunity to perform at the competition. This includes a relative invulnerability to sensor noise and a robust algorithm for solving the maze. Speed and physical structure are both given equal weight as the next priority in design, as they are related. It is desirable for the design to have a high speed, but not at the sacrifice of precision in positioning. Meanwhile low weight without sacrificing durability is also desirable to help 9 improve speed. Another desirable quality which falls under both the physical structure and efficiency categories is for the mouse to be narrow enough to travel in a straight line through zigzags, which will help shave small amounts of time off of a run. Figure 7: Micromouse Objective Tree 10 Functional Block Diagram: The functional block diagram for this design can be seen in figures 9 and 10. The five main components can be seen as separate modules in the level 1 diagram. The functionality of these components: microcontroller, sensors, motors, battery, and user interface are outlined in Tables 1-5, which describe the inputs, outputs, and functionality of each module. Figure 8: Functional Block Diagram Level 0 Figure 9: Functional Block Diagram Level 1 11 Table 1: Functional Block Diagram Level 1 - Sensors Module Sensors Inputs Signals reflected from maze walls Power Outputs Signal to microcontroller Functionality Detect walls of maze Table 2: Functional Block Diagram Level 1 - Microcontroller Module Microcontroller Inputs Sensor input signal Power UI: On/Off and Reset Outputs Motor Control Functionality Navigate maze using sensor inputs to control the motors Table 3: Functional Block Diagram Level 1 - Motors Module Inputs Motors Power Control wires from microcontroller Outputs Movement Functionality Rotate wheels to move the micromouse Table 4: Functional Block Diagram Level 1 - Battery Module Battery Inputs Outputs none Power to microcontroller Power to motors Power to sensors Functionality Supply power to micromouse 12 Table 5: Functional Block Diagram Level 1 – User Interface Module User Interface Inputs User Power Outputs Power on/off Reset microcontroller Run maze again Functionality Toggle power with a switch, reset microcontroller with a button, and perform an additional run of the maze using a button Alternative Solutions: Because there are many options for each component of a micromouse, it was decided not to evaluate alternatives in terms of entire micromouse designs, but rather evaluate the options for each component independently. For the most important components of the design, decision matrices were developed to help determine the best option among several. Microcontroller: The Microcontroller was possibly the most important hardware decision for this design, and two different options were evaluated: the Arduino Uno and the Raspberry Pi. The Arduino Uno was selected for several reasons, some of which can be seen in the decision matrix (Table 6). One of the most important differences between the two microcontrollers was the presence of analog input pins on the Arduino. Because analog sensors will be used, analog to digital converters would need to be implemented outside of the Raspberry Pi, increasing complexity and weight with a potential sacrifice of reliability and precision. Though the Uno has significantly less processing power, it was determined that the power available was sufficient for this application. Another benefit of the Uno is the plug-and-play motor driver circuit that is available, which will simplify the control and power circuitry for the motors. 13 Table 6: Microcontroller Decision Matrix Criteria Optimum Factor Weight Processor Speed (MHz) Analog Input Pins Weight (g) high 15% high 50% low 15% Motor Driver Chip Available high 20% Arduino Uno Raspberry Pi 20 700 6 0 30 45 1 0 Min Max 20 700 0 6 0 45 0 1 Score 0.75 0.15 Motors: The decision matrix seen in Table 7 was developed to choose between stepper motors and simple DC motors. Initially, the precision control criteria led to stepper motors being selected. After questions raised by the project review board, this was reconsidered for two reasons: Firstly, the fact that stepper motors draw current at all times, even when not moving had been overlooked, and there was concern that the minimal batteries being used could be fully drained. Secondly, because some amount of slippage is unavoidable, it was decided that an encoder would be necessary for feedback on motor shaft position. Since the encoder provided the precision initially desired, the additional weight and lower speed of stepper motors was no longer justified. Table 7: Motor Decision Matrix Criteria Optimum Factor Weight Speed Control Weight Power Consumption high 30% high 25% low 25% low 20% Stepper Motor DC motor 1 2 2 1 2 1 2 1 Min Max 1 2 1 2 1 2 1 2 Score 0.25 0.30 Batteries: When choosing batteries for the design, the most important criterion was to minimize weight. A sampling of battery types were analyzed as seen in Table 8, though most non-rechargeable batteries 14 seemed impractical because of the number of batteries that would be consumed during testing. Lithium Ion batteries were determined to be the lightest, while still satisfying the motor’s current drawing needs. Due to the typical Lithium Ion battery having 3.7V potential, fewer batteries are necessary to deliver the same voltage than with other battery types. Table 8: Battery Decision Matrix Criteria Optimum Factor Weight Current Weight high 40% low 50% Alkaline NiCad NiMH Lithium Ion 1 4 2 3 3 4 2 1 Min Max 1 4 1 4 Score 0.17 0.40 0.47 0.77 Sensors: Ultrasonic and Infrared type sensors were compared as seen in Table 9. Because of the intended sensor array layout, detecting objects at an angle to the sensor was deemed very important. Ultrasonic sensors do not always perform this function well, being more successful at detecting objects perpendicular to the sensor. Minimum detection distance was also analyzed to verify that a sensor would work appropriately when in close proximity to the walls of the maze. The third criterion evaluated was noise vulnerability. As stated earlier, reliability in this design intended for competition is paramount. Though both sensor types are subject to noise, it was decided that infrared sensors can tolerate more noise than ultrasonic sensors. This is because blinds can be used to limit the sensor’s field of vision to the plane between the mouse and the walls, eliminating most noise coming in from above. Also, the specific model of infrared sensors looked at at use additional noise tolerating features. 15 Table 9: Sensor Decision Matrix Criteria Optimum Factor Weight Ultrasonic Infrared Min Max Minimum Range (cm) low 30% Angled Object Detection high 50% Noise Vulnerability Score low 20% 0.01 3 1 2 2 1 0 3 1 2 1 2 0.30 0.70 Test Plan: To ensure the design is at optimal condition for competition, the plan is to test exhaustively. Another result of the project review board discussion was to move the algorithm development and simulation earlier in the design process, starting work immediately. It will be useful to try algorithms that have been used in micromouse previously, making adaptations to improve them. Meanwhile, as parts arrive, the design will be assembled and each of the components will be tested. The following outline shows the different functionalities of the micromouse and the order in which these features will be tested. Once each feature is functional, the next will be tackled, with the exception of the algorithm, which will be developed in tandem with the hardware. 16 Test Plan: 1. Algorithm Simulation a. Test various existing mapping algorithms b. Make enhancements to a selected algorithm 2. Motor Control Testing a. Move forward in a straight line b. Move a specified distance forward c. Make a 90 degree turn 3. Sensor Testing a. Test each sensor individually b. Use sensors to keep robot in center of path c. Use sensors to stop before hitting a wall d. Use sensors to detect openings when a wall is reached e. Use sensors to detect openings to the sides on a straight path 4. Basic Maze Navigation a. Travel until a wall is reached, then decide which direction to turn using sensors b. Turn down an opening detected by sensors before reaching a wall 5. Algorithm Testing a. Use the algorithm to locate the center of the maze b. Locate the center of the maze and return to its beginning c. After locating the maze center, look for shorter routes d. Discover all routes from beginning to center and choose the shortest route e. Discover all routes, choose the shortest, and follow it at a higher speed 6. Algorithm Refinement a. Make a 45 degree turn b. Traverse a series of alternating 90 degree turns in a straight line at a 45 degree angle c. Recognize alternating turns with the algorithm and decide to travel at a 45 degree angle autonomously Budget and Cost Analysis: To determine the total cost of the project, a parts list was developed. The resulting price breakdown can be seen in Table 10. A 15% contingency was included to account for any parts that may be damaged during shipping or testing, as well as a lump estimate for shipping costs. Expenses for travel to the competition in Morgantown, West Virginia were included, as well as an estimate for the cost of engineering labor to develop and implement the design. 17 Table 10: Micromouse Cost Breakdown Parts Quantity Individual Cost Total Cost Bulk Order Rate Arduino Uno 1 $ 29.95 $ 29.95 $ 25.46 Arduino Motor Shield 1 $ 19.50 $ 19.50 $ 15.60 DC Motor w/ Encoder 2 $ 36.95 $ 73.90 $ 29.56 Motor Mounting Bracket 2 $ 7.45 $ 14.90 $ 6.33 Right angle gearbox 2 $ 50.95 $ 101.90 $ 50.95 Shaft couplings 2 $ 8.18 $ 16.36 $ 8.18 IR sensors 4 $ 13.95 $ 55.80 $ 11.16 IR Sensor Wires 4 $ 1.50 $ 6.00 $ 1.20 Sensor Mounting Brackets 4 $ 4.95 $ 19.80 $ 4.47 Wheel Hubs 2 $ 6.95 $ 13.90 $ 5.21 Wheels 2 $ 4.25 $ 8.50 $ 3.82 Casters 2 $ 4.99 $ 9.98 $ 3.99 Chassis 1 $ 12.00 $ 12.00 $ 4.00 Power Switch 1 $ 0.50 $ 0.50 $ 0.40 Run Button 1 $ 0.50 $ 0.50 $ 0.40 Battery 1 $ 11.59 $ 11.59 $ 10.76 Battery Charger 1 $ 23.95 $ 23.95 $ 21.54 Misc. screws and brackets 1 $ 10.00 $ 10.00 $ 9.00 Shipping Contingency 15% Total Prototype Budget Competition Expenses Travel to MorganTown WV Meals Total: Labor Quantity Individual Cost Project Engineer Hour 540 $30 Project Total: $ 80.00 $ 76.35 $ 509.03 $ 585.38 Total Cost $333 $185 $518 Total Cost $16,200 $ 17,303.38 Bulk Order Total $ 25.46 $ 15.60 $ 59.12 $ 12.66 $ 101.90 $ 16.36 $ 44.64 $ 4.80 $ 17.88 $ 10.42 $ 7.64 $ 7.98 $ 4.00 $ 0.40 $ 0.40 $ 10.76 $ 21.54 $ 9.00 $ 370.56 Estimated comittment 6 hrs/person/week * 30 weeks A break even analysis was performed based on the development costs seen above and the retail price shown in Table 11. If this design were developed and mass produced, 570 units would have to be sold before beginning to profit from the sales. Table 11: Break Even Analysis Development Cost $ 16,785.38 Unit Cost $ 370.56 Unit Price $ 400.00 Break even quantity 570 18 Schedule: The project schedule can be seen in attachment 1 Conclusion: In summary, this proposal outlines the format and rules of an IEEE micromouse competition, gives a sampling of research pertaining to micromouse designs that have worked in the past, identifies criteria used to guide the design process, describes the constituent parts of a general micromouse design, explains the decisions made to select specific component types, details the procedures the design will be tested by, estimates the cost of prototyping and mass producing the design, and schedules the work necessary to deliver a finished product. This final product will fulfill all specifications of the competition while maximizing speed, accuracy, and reliability in hopes of taking first place. In addition, this micromouse will also be put on display by the ECCS department to prospective students and at other College of Engineering gatherings. With the plans and schedule previously described, the complete design should be ready and well documented by April 4th, 2013. 19 References: [1] - "Bildr Are We Getting Close? Proximity Sensors Arduino." Bildr. N.p., 8 Mar. 2011. Web. 12 Sept. 2012. <http://bildr.org/2011/03/various-proximity-sensors-arduino/>. [2]-Bluejay, Michael. "Your Guide to Types of Household Batteries (AAA, AA, C, D, and 9V Sizes)." Battery Guide. N.p., n.d. Web. 20 Sept. 2012. <http://michaelbluejay.com/batteries/>. [3] -"Competitions." IEEE Entity Web Hosting. N.p., n.d. Web. 10 Oct. 2012. <http://sites.ieee.org/sb- osu/sac-2012/competitions/>. [4] - Edwards, Lin. "Micromouse Robot Runs Maze in Record-breaking Five Seconds (w/ Video)." Micromouse Robot Runs Maze in Record-breaking Five Seconds (w/ Video). N.p., 1 Nov. 2010. Web. 19 Sept. 2012. <http://phys.org/news/2010-11-micromouse-robot-maze-record-breaking-seconds.html>. [5] - "How to Build a Robot Tutorial - Society of Robots." SocietyofRobots.com. N.p., n.d. Web. 7 Sept. 2012. <http://www.societyofrobots.com/sensors_sharpirrange.shtml> [6] - Jones, Douglas W. "Control of Stepping Motors." Jones on Stepping Motors. N.p., n.d. Web. 14 Sept. 2012. <http://homepage.cs.uiowa.edu/~jones/step/>. [7] - Kamal, Ibrahim. "Closed Loop Speed and Position Control of DC Motors." IKALOGIC. N.p., n.d. Web. 12 Sept. 2012. <http://www.ikalogic.com/closed-loop-speed-and-position-control-of-dc-motors/>. [8] - Kanesalingam, C. "Design and Development of a Micromouse." Design and Development of a Micromouse. N.p., n.d. Web. 24 Sept. 2012. <http://homepages.uel.ac.uk/C.Kanesalingam/kanesh.htm>. [9] - "Micromouse Chubu Local Competition 2010 - "EggTorte"" YouTube. YouTube, 25 Oct. 2010. Web. 15 Oct. 2012. <http://www.youtube.com/watch?v=FzBwnsnxFGU>. [10] - "Micromouse - Maze Solver - Theory | Member Robot Tutorials." SocietyofRobots.com. N.p., 28 Feb. 2008. Web. 16 Oct. 2012. <http://www.societyofrobots.com/member_tutorials/node/94>. [11] - "Micromouse - Ng Beng Kiat." Micromouse - Ng Beng Kiat. N.p., n.d. Web. 2 Oct. 2012. <https://sites.google.com/site/ngbengkiat/Downhome/Topic1>. [12] - "Swift Robotic Mouse Navigates Huge Maze in Less than 4 Seconds!" YouTube. YouTube, 09 Dec. 2011. Web. 15 Oct. 2012. <http://www.youtube.com/watch?v=_9Y4ODmweYA>. 20