Leeds Formula Student AI - Autonomous Racing
Developing the Brain of an Autonomous Racecar with ROS 2
As a key contributor to the Leeds Gryphon Racing AI team, I dove headfirst into the high-stakes world of autonomous motorsports. Our mission was to develop a robust software stack for the Formula Student AI competition, pushing the boundaries of vehicle perception, planning, and control. The entire system is built upon the Robot Operating System 2 (ROS 2), providing a flexible and powerful framework for our autonomous systems.
My work centered on the core components of the autonomous driving pipeline. This involved designing, implementing, and testing nodes for real-time object detection, sensor fusion, and vehicle simulation. A significant part of my contribution was in the perception system, where we utilized advanced computer vision techniques to accurately detect and classify cones on the racetrack. This is a critical task, as the cones define the drivable path for the vehicle.
Key Technologies and Contributions:
- ROS 2 Jazzy: Architected and developed modular ROS 2 packages for perception, and control.
- C++ & Python: Implemented performance-critical nodes in C++ for speed, while leveraging Python for rapid prototyping and non-critical components.
- Gazebo Simulation: Developed and maintained a high-fidelity simulation environment in Gazebo Harmonic. This allowed for rigorous testing of the entire software stack without the need for a physical car, accelerating development and improving safety.
- Perception Stack: Worked on integrating YOLO-based object detection models for real-time cone detection from camera feeds. This included preprocessing point cloud data to enhance detection accuracy.
- System Integration: Ensured seamless communication and data flow between various nodes, from perception to the control system, using ROS 2 topics, services, and actions.
- Version Control & CI/CD: Utilized Git and GitHub for version control and collaborated with the team to establish continuous integration workflows.
This project was a fantastic opportunity to apply theoretical knowledge to a complex, real-world engineering challenge. The fast-paced environment of competitive motorsports, combined with the technical depth of autonomous systems, made for an incredibly rewarding experience. The collaborative nature of the team and the open-source ethos of the project were instrumental to our success.
You can explore our work and the full software stack on our team's GitHub repository.