/WolfieMouse

IEEE Reion 1 Micromouse competition.

Primary LanguageC

WolfieMouse

WolfieMouse is a robotics project to build a micromouse. This project covers three parts:

  • Robotics algorithm for maze solving (C++)
  • low-level hardware driver software (C and ARM assembly)
  • Tools to capture and plot robot's sensor data (Python)
  • Embedded hardware design and PCB design (KiCad, an open-source alternative to Altium)

This robot won:

  • The Special Mention Award in 2018 IEEE Region 1 Micromouse Robotics Competition.
  • The 3rd Place Award in 2019 IEEE Region 1 Micromouse Robotics Competition.

Get started

If you don't know what is micromouse competition, this document will help..

Requires tools:

Otherwise, a Vagrant virtual machine environment is provided to skip installing the above tools.

If you whish to start with this project, see get stared document.

Documentation

See documentation section.

Directory descriptions

  • doc: Documentation folder
  • firmware: The robot's program folder, including robotics algorithms and hardware drivers
  • simulation: Programs to test algorithms on a desktop computer
  • tools: Contains robot sensor data capturing tools and scripts for Vagrant machine.

Gallery

Terminal-based simulation program. M stands for the position of the robot, D stands for the position of the goal in the maze, and S stands for the starting position.

simulation

Schematic overview.

schematic_overview

PCB Footprint overview.

pcb_overview

License and Credits

Source code in firmware and simulation folders are licensed under GPLv2.1.

External libraries (FreeRTOS, CMSIS, STM32F4 HAL) under firmware/lib follow their own terms.

The fundamental hardware design is inspired by Project Futura by Green Ye.