A practical course at TU Munich to build a micromouse robot from scratch, led by Dr. Ph.D. Alexander Lenz. This repository serves as a collection of code and ressources during our group work of SS22. See the official course description for further information.
Content overview:
src/
: Source and header files for the programming of a Microchip dsPIC33FJ64MC804 microcontroller using the MPLAB X IDE and the MPLAB XC16 Compiler.pcb/
: Schematics and board layout designed in Autodesk Eagle.cad/
: 3D printed CAD parts including sensor and motor mountings.
List of external Eagle libraries:
Name | Usage |
---|---|
microchip-dspic33fjxxmc | Microcontroller DSPIC33FJ64MC804 |
Eagle_WCAP-ATG5 (rev21a).lbr | Electrolytic Capacitors |
Eagle_WE-TIS (rev22a).lbr | Inductances |
Eagle_WE-XTAL (rev21c).lbr | Oscillator Quartz Crystal |
SamacSys_Parts.lbr | Power Switch |
With the microchip compiler you have to allocate heap memory in the project properties (tutorial from Microchip). Use for example 4096 bytes.
- MAZE_SIZE: Number of columns (= number of rows) of maze.
- SIMULATION: Defines if simulation or real robot is used (used simulation: mms by mackorone).
- VISUALIZATION: Defines if in simulation visualization should be used.
Rename main.c
to main_not_used.c
(or any other name) and rename main_simulation.c
to main.c
.
- For simulation: Compile code and then follow the instructions of mms by mackorone.
- For real-world Micromouse: Flash the compiled code onto the Micromouse robot and put the Micromouse into the starting position (bottom left corner of the maze, i.e. you have to place the mouse in one of the corners such that there is an outer wall of the maze on the left side of the mouse). Then turn the Micromouse on. After 10 seconds, it will automatically start exploring. After the exploration phase, it calculates and executes the shortest path from the starting cell to the center of the maze.