[ < RETURN_TO_MAIN_BOARD ]
SYS_MODULE // 04

Maze Explorer

ROBOTICS PID_CTRL MCU_SYS

> Exec_Summary

For a final project, my team was tasked with navigating a 2-wheeled robotic car through a maze of blue boxes without physically touching it after deployment. Using an accelerometer, a hypersonic sensor, wheel encoders, and bumper buttons, I opted for a highly pragmatic, hard-coded logic system to ensure completion under severe time constraints.

> Navigation_Logic

Instead of a complex mapping algorithm, the user inputs a predetermined sequence of up to 5 turns using the far left and right bumper buttons. The execution loop is simple: the car drives forward until it hits a wall, backs up slightly, executes the next programmed turn, and repeats.

The system has two known hardware limits: it cannot exit if the maze opening is in the middle of a wall, and it cannot exceed five memory states.

> PID_Control_System

[Image of PID control system block diagram]

The mechanical accuracy of the car relies on a PID system applied to the wheel speed. Voltage control alone is insufficient due to physical variables like gear wear and friction. The program generates a setpoint, and actual distances are measured by the wheel encoders. If a wheel deviates from the setpoint, a timer-generated PWM dynamically adjusts its speed. During turns, a differential value modifies the setpoints, ensuring crisp, accurate rotation.