Skip to content

Designing a micromouse maze solving robot from scratch to implement floodfill maze solving algorithms on it.

Notifications You must be signed in to change notification settings

fluffysunfish/Micromouse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Micromouse

Design a micromouse PCB from scratch and implement maze floodfill algorithms on it!

Table of Contents

About The Project

The aim of this project is to design and assemble a full size micromouse which will use floodfill and other path finding algorithms to solve a maze.

The dimensions of our full-size micromouse is 11.5 x 10 cm

Project Workflow

Research

  • Learning and understanding Embedded C by referring to the firmware used in SRA WallE and MazeBlaze
  • Understanding what Micromouse is and how maze solving algorithms like floodfill actually work
  • Deciding the constraints for our micrmouse and selecting hardware and electronic componenets accordingly. We did a detailed review of existing micromouse designs and features and arrived at our present design.

CAD and PCB Design

  • Designing a CAD Model on Onshape.com. We went through various iterations and design options. After weighing the pro's and cons of a 4 motor design, we settled for a 2 motor design with a suction fan in the centre.
  • PCB Design keeping mechanical design in mind during routing. Once the pcb design and routing is finalised, the order for the PCB is placed.

Perfboard Testing and PID

  • Testing our pcb schematic on a perfboard and recreating the final micromouse design on a perfboard.
  • Implementing PID on the perfboard Micromouse to refine the code and understand the implementation of control systems.

PCB Soldering and Assembly

  • Once the PCB is delivered, we will solder the components onto the PCB and assemble the bot with the 3D-printed mounts
  • After this, the testing of the final Micromouse in a 6ft x 6ft maze will begin.

Hardware Used

Components Description
ESP32 WROOM-E Microcontroller
VL 5310X ToF sensor4
DRV8833 Motor Driver
N12 600 RPM With Encoders Motors
IR Sensors Infrared Emitter-Receiver Pair

Perfboard Testing

PCB Model

  • View of the PCB Model front and back:
pcb_model_front pcb_model_back
  • View of the PCB Routing - front and back:
pcb_routing_front pcb_routing_back

CAD Models

  • First design iteration was a four motor design with a suction fan. However this design was not suitable for fitting an enitre Esp-Devkit.
four_motor_design two_motor_design
  • Second and final design is a two-motor design with a suction fan. Certain drawbacks of the four-motor design was addressed in this design.

Features

  • Suction Fan to improve traction and potentially turn at faster speeds without flipping over.
  • Custom mount to hold the motors, shaft and suction fan in place and reduce the distance between the plate and the ground.
  • Gears to run 4 wheels on two motors

Floodfill Algorithm Simulation

The path solving algorithm floodfill has been successfully implemented in the software simulation.
Floodfill simulation

Software Used

Future Work

  • Implementing the flood-fill algorithm on it
  • Optimizing the bot to achieve high speeds and taking turns as diagonals

Contributors

Resources

Acknowledgements

  • SRA VJTI Eklavya 2024
  • Special thanks to our mentors Atharva Atre, Suraj Sonawane, and all the seniors at SRA, VJTI for their constant support and guidance throughout the project.

License

MIT License

About

Designing a micromouse maze solving robot from scratch to implement floodfill maze solving algorithms on it.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.1%
  • Other 0.9%