A Customizable, Compact Robot for Maze Navigation#
The goal: create a robot that can successfully navigate through a maze, detecting and acting upon certain scenarios along the way, while having a very small footprint.
The result: a robot built on top of a custom designed PCB, based upon an STM32F4 series ARM microprocessor, using almost all 3D printed structural components, as an open-source platform.
Maze Solving / Searching algorithms#
The algorithms utilize breath and depth first searches to find an efficient route around the maze and explore every part of it.
Along the way, the robot aligns itself against the walls to keep on its route, and saves the currently explored maze data inside the MCU’s flash memory, so that it can resume where it left off.
The Hardware: PCB#
A PCB was designed using the open-source software KiCAD to contain the STM32F4 MCU, its supporting components, motor control electronics, and connectors for the many sensors spread throughout the robot. Many of the sensors are also designed to use hardware capabilities of the MCU, such as hardware timers and ADCs, to maximize CPU efficiency while using all the sensors.
Most parts of the robot itself, including the chassis and all of the mountings for sensors and accessories, were custom designed using FreeCAD, another open-source program, and 3D printed to fit the circuit board, motors, and sensors.
As a platform#
Due to the open-source nature of the entire project, it can be easily adapted to suit other tasks that take advantage of the small form factor of the robot. All of the hardware can be modified and 3D printed on the spot to reconfigure the platform as needed.