top of page
Software and Systems
All the software developed for this project can be found in our GitHub
PID Control
Our robot used PID control to follow a track made of black tape. Some important findings and considerations are found below:
​
-
Established a setpoint using reflectance values from two tape sensors that straddled a line of black tape
​​
-
Utilized the comparatively higher reflectance values of aluminum foil squares to determine when the robot was at the end of the track, and when the robot should back up into the bin.
-
Found that sampling the sonar sensor for can detection every loop decreased the performance of the PID control. We reduced the sampling frequency so that it occurred every 35 loops, improving controllability
​
-
Found that the fluctuating voltage of the batteries used to power the DC motors had a significant impact on the performance of the PID control. Therefore we tuned the PID gains in the region where the battery voltage was most stable
Software Architecture
We knit robot functionality together using a modular software architecture.
​
-
Organized code pertaining to one action into functions allowing for easy creation of sequences, such as coordinating movement of robotic arms
​​
-
Used an interrupt to communicate when contact switches had been pressed on the robot
bottom of page