Preview
About the Project
Drop the Racecar in an unknown area and it gets to work on its own. It maps the space, spots road debris, photographs each piece and reports exactly where it is and how to get there.
We built it on ROS around a behaviour-based architecture, where an arbitration node decides, moment to moment, which function gets the motors. Beyond autonomy, we modelled the car's lateral dynamics with a bicycle model, tuned its PID controller through time-frequency analysis, and wrote the TCP/UDP services and web interface that let you drive it remotely.
Functions
How it works
The Racecar follows a simple chain: sensors → functions → actuators. Four sensors feed it, an IMU, wheel encoders, a camera and a LiDAR, a laser scanner that measures the distance to everything around the car. Three functions turn that data into decisions.
Trajectory following
As the car drives, odometry combines the IMU and encoders to track its own position and orientation. At the same time, the laser scan finds walls and obstacles and measures how far away they are. Knowing where it is and where each obstacle sits relative to it, the car places them on a map, built up gradually as it roams the area. Once the map is complete, an A* path-planning algorithm computes the optimal trajectory to reach each piece of debris.
Photography
When debris is found, the car records its coordinates. An approach routine calculates the movements needed to centre the vehicle on the debris, then stops it for five seconds while the camera takes a picture automatically.
Obstacle detector
Running alongside, this safety function uses the LiDAR to watch the path ahead. If something is in the way, it stops the vehicle, backs up and records the obstacle's position.
From decisions to motion
Each function sends motor commands to an arbitration node, which applies the one with the highest priority. Manual teleoperation and the emergency stop first, then the obstacle detector, photography and trajectory following. The winning command drives the actuators. The servomotor sets the steering and the motor sets the speed.
The result
At the end of a run, the car produces a report listing every piece of debris with its photo, its coordinates and the optimal trajectory to reach it.