software design

Written in C++, the code for our robot utilizes the existing TINAH and Arduino libraries. The routines also include the usage of functions provided by Amar Shah (ENPH 253 TA).

Link to Github Repository

The Software is structured so that there is a software module for each major action such as tape following, edge detection, signal processing, etc. The main .ino file is the software implementation for the routine used to run the course. The routine utilizes the functions in each separate module and integrates them to get the behavior necessary for the robot to finish the course.

The Control Algorithm relies on the robot reaching certain environmental indicators to transition between the different modules and routine. The robot will always initially be line following until a marker has been reached, such as a gap detected by the edge sensors. The robot will then run the next module which is responsible for bridge deployment and when it is done, it will transition back to the main line following state. The robot runs the course by relying on these markers in order to transition between the different programmed modules.

ENGINEERING PHYSICS PROJECT LAB 2018