← Back to Projects
The Micromouse robot is designed as an autonomous embedded system that navigates a maze by sensing walls, computing optimal paths, and executing controlled movements. The project is divided into software simulation and hardware implementation stages.
a. Maze Solving Algorithm:
The maze-solving logic is implemented using the Flood-Fill algorithm, which assigns cost values to each maze cell based on its distance from the target cell. A Manhattan distance heuristic is incorporated to improve path selection efficiency and reduce traversal time.
The robot explores the maze over two consecutive journeys. During the first run, the maze structure is discovered and stored. In the second run, the stored data is used to determine the shortest and most efficient path.To enable high-speed traversal, the final path is optimized as a series of turn-point cell coordinates rather than cell-by-cell movement. This approach minimizes frequent direction changes and reduces PID error accumulation, allowing faster and smoother motion.
The complete algorithm has been simulated using Micromouse simulation software (MacKerone) to validate correctness before hardware integration.
b. Control and Motion Logic:
Basic motion primitives have been implemented and tested, including:
Straight-line travel with controlled speed
Accurate 90-degree left and right turns. These motion routines form the foundation for executing optimized maze paths once the maze-solving logic is integrated with the physical robot. Hardware interrupts are used for motor control to ensure precise timing and responsive motion handling.
c. Hardware Design:
The mechanical chassis of the Micromouse was designed using AutoCAD, with a focus on compactness, stability, and balanced weight distribution. The robot includes:
- N20 100 RPM DC motors
- 44 mm diameter wheels
- Dual 1500 mAh 3.7V (Nominal voltage) batteries connected in series for sufficient runtime
- Two buck converters for regulated power supply
- DRV8833 motor driver for bidirectional motor control (MOSFET based design - increased efficiency)
- ESP32 microcontroller as the main control unit
- MPU6050 IMU for orientation and motion feedback
d. Sensor Integration:
For wall detection and distance measurement:
- Ultrasonic HC-SR04 series sensors are used for primary obstacle detection and distance measurement.
- TCRT5000 IR distance sensors were tested for future upgrades, with careful consideration of calibration requirements and ambient light sensitivity
- The MPU6050 IMU communicates with the ESP32 using the I²C protocol, providing real-time orientation data for accurate turns and motion correction.
e. Software Platform:
The complete embedded firmware is being developed using PlatformIO, enabling structured code management, library support, and cross-platform development. The maze-solving algorithm, motion control logic, and sensor handling routines are designed to operate together within a real-time embedded framework.
Current Project Status:
- Maze-solving logic successfully simulated
- Chassis designed and assembled
- Motors, drivers, power system, and sensors installed
- Straight motion and turning control implemented
- Remaining task: integration of maze-solving logic with the physical robot and full maze testing
Learning Outcomes
a. Embedded Systems Design:
Gained practical experience in integrating microcontrollers, motor drivers, sensors, and power electronics into a complete autonomous robotic system.
b. Algorithm Implementation:
Developed a strong understanding of maze-solving algorithms such as Flood-Fill and heuristic optimization using Manhattan distance.
c. Control Systems:
Learned implementation of motion control techniques for precise straight-line travel and accurate rotational movements in mobile robots using PID control.
d. Mechanical Design:
Understood the importance of chassis geometry, wheel size, and motor selection in robot stability and performance.
e. Software Development:
Improved proficiency in embedded programming using PlatformIO, including modular code design, debugging, and simulation-to-hardware transition.
Tools Used:
- PlatformIO
- ESP32 Development Framework
- MacKerone Micromouse Simulation Software
- AutoCAD (Mechanical Design)
- Ultrasonic and IR Sensors
- DRV8833 Motor Driver
- MPU6050 IMU
The aim of this project is to design, simulate, and partially implement an autonomous Micromouse robot capable of solving a maze using the Flood-Fill algorithm with heuristic optimization. The project focuses on algorithm simulation, mechanical design, motor control, sensor integration, and embedded system development using the ESP32 platform.
Project Lead(s)
Team Members