Project Description

For the first time in Notre Dame’s history, the electrical engineering seniors took part in a new Senior Design project: designing and constructing a micromouse! The Micromouse Competition, first announced in 1977 by IEEE Spectrum and then held in New York City in 1979, challenges teams to design and build a fully autonomous robot capable of independently navigating and solving a 16x16 maze without any human intervention. Each team is given a ten minute exploration phase, during which the robot traverses the maze, builds an internal map, and identifies the fastest route to the center. The robot then either must travel back from the center to its starting point or be brought back by the competitors to be reset for racing. The micromouse must then travel back to the center as quickly as possible. In our year-long Senior Design Course, we tested out skills through both hardware and software design and implementation.

Below is a group picture with our race day mouse and board! Team members left to right are: Ethan Stone, Kieran Cosden, Kuwunda Shamambo, and Samantha Sebastian

404 Path Not Found Team Photo

Team Members

Kieran Cosden

Lead PCB Designer, Motor Control Programmer, and Software Co-Lead

Samantha Sebastian

Testing and Verification Co-Lead & Sensor and Controls Programmer

Kuwunda Shamambo

Hardware Verification Co-Lead, Software & Schematic Designer

Ethan Stone

Treasurer, Algorithm & Maze Logic Designer

Hardware Description

During the fall semester, we researched the system and components for the micromouse under the requirement of using an ESP32 chip with an Arduino framework for the code. In tandem with class lectures about both hardware and software fundamentals, we took the time to narrow down our choices for the sensors and motors to be tested in the spring semester. Then using KiCad we designed a custom PCB for the components to interface with, and through small tweaks and changes based on design feedback we printed the first and only iteration of our board by early-March. Then throughout the last few weeks of the semester we troubleshooted our main board.

Key Components:

Software Description

We utilized the Arduino framework for programming the ESP32 microcontroller. The software development focused on implementing algorithms for maze traversal, mapping, and pathfinding. Key aspects include sensor data acquisition, motor control logic, and decision-making processes to navigate the maze efficiently. We worked out the core logic for our autonomous navigation system.

Software Stack:

Race Day! :D

Since we couldn’t utilize our constructed PCB, we utilized the practice board provided to us at the start of the semester with customized ToF sensors mounted on the sides and front left. While our micromouse was successful in solving the maze during test runs, it unfortunately did not reach the center during the Race Day. During the ten minute exploration phase, it traveled to 17 cells before struggling to get past the first T-intersection. The most obvious issue during race day was the robot’s handling of T-intersections, where the mouse had a difficult time recognizing both side openings before the centering function fired.

One run through of the navigation portion of the maze!

description

Final Micromouse for Race Day using the practice board and our custom ToF sensors

Project Files

Below are the files for the KiCad files for our custom PCB design for our micromouse (corrected) and the Time-of-Flight Breakout Boards as well as our final report that goes into more detail about how design process and results