I worked on a team to create a robot that can autonomously follow a path laid out on the ground. In this project I focused on developing the control loop to sense for the path on the ground and adjust the motor speeds and directions as necessary. I also worked on the software to adjust the speeds of the servos while the robot navigates.
The robot utilizes two IR sensors that are placed on either side of the path for the robot to follow. Whenever the sensors detect the path, the robot automatically rotates to ensure the path stays centered between the sensors. Whenever the path is not detected, the robot continues moving forward, continuing down the path.
To adjust the speeds during operation, I wrote a Python script to write key presses from a laptop to the serial monitor on the robot's Arduino, and then adjusted speeds based on that monitor's output.

A block diagram showing the architecture of our robot's firmware.

IR sensor readings detecting the path on the ground.

Corresponding direction changes for each motor.

Back to Top