

These projects were executed to gain a better understanding of PID controllers and computer vision.
The self-balancing robot uses two DC motors with encoders and a lightweight foam-core structure. It also has an IMU to provide information about the acceleration and movement of the robot as it falls down.
The Maze robot utilizes the same foam-core structure, one ultrasonic sensor to detect walls and use them as a reference, and a pixie camera for color recognition and to detect the frontal distance of the robot from a wall or obstacle.
The Maze robot struggled to recognize the color tags due to inconsistent lighting in the room. Additionally, the system ran on a single 9V battery, which depleted extremely fast and caused inconsistent behavior between runs.
The self-balancing robot had a similar issue with the 9V battery, resulting in an unreliable power source that made PID calibration almost impossible. As a solution, I decided to make a tethered robot and attempted to find the optimal PID values. One issue with this approach is that at times the tether providing power to the Arduino would be in tension, affecting the performance of the self-balancing robot.
Both projects were developed and executed during the COVID-19 pandemic, which limited access to higher-capacity batteries and extra components to address the issues identified in my designs.

First Iteration of Maze Robot
First Iteration of Self-Balancing Robot