Autonomous Car Senior Design Project

For my senior design project for my computer engineering degree, I worked with a team of computer and electrical engineering students to modify a toy car to autonomously follow a person holding a ultra-wideband module. I worked on the navigation system and the motor control for the car. The code was written in Arduino code.
The car works by using ultra-wideband technology. There are two esp32 boards connected to ultra-wideband modules on the front right and front left of the car. There is also an external ultra-wideband module, which is what the car follows. The ultra-wideband modules on the car can sense how far they are away from the external module. They send this information to the esp32 boards. The modules on the car are referred to as anchors and the external module is refered to as a tag. The anchors on the car are connected to an Arduino Mega, which calculates if the car should drive forward and which way the car should turn based on how far away the anchors are from the tag. The Arduino Mega then uses this information to control the motor controllers, which control speed and turning.