This is my implementation of a maze exploring and shortest path solving algorithm for the mms micromouse simulator, written in C++. The algorithm is inspired by UNSW's MTRN3100 Robot Design course.
Written by Ryan Wong
The algorithm works in two phases:
- Performs an initial flood-fill, initializing distances of each cell relative to the goal position, assuming no walls.
- Moves the mouse to the adjacent cell with the lowest distance, updating distances as new walls are detected.
- Once the goal is reached, performs another flood-fill with the start position as the target.
- Follows the path from start to goal (or goal to start, reversed) to find the shortest route.
You will need to install:
- MinGW or another C/C++ toolchain
- CMake
- mms micromouse simulator https://github.com/mackorone/mms