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.
If you don't know what is micromouse competition, this document will help..
Requires tools:
- GNU Arm Embedded Toolchain and Makefile to build program for the robot.
- OpenOCD to upload the program to the robot and to debug.
- KiCad to design a PCB hardware.
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.
doc
: Documentation folderfirmware
: The robot's program folder, including robotics algorithms and hardware driverssimulation
: Programs to test algorithms on a desktop computertools
: Contains robot sensor data capturing tools and scripts for Vagrant machine.
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.
Schematic overview.
PCB Footprint overview.
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.