The VAUL team builds a championship winning autonomous F1Tenth car for ICRA 2024 using Foxglove's visualization
The F1TENTH is an open-source platform for autonomous systems research and education. Students and researchers around the world use it to learn and experiment with perception, planning, and control by building an RC car 1/10th the size of an F1 car. The F1TENTH Foundation regularly organizes F1TENTH Autonomous Grand Prix in international robotics conferences where teams battle on the racetrack to see who has the fastest car, but most importantly, the best algorithms.
Recently, the Véhicule Autonome Université Laval (VAUL) team took home first place at the 15th Grand Prix in Yokohama, Japan during ICRA 2024. The team is mostly made up of undergraduate students in mechanical, software, and electrical engineering from Laval University.
VAUL is a student club that was created in 2017 for people who are passionate about mobile robotics. They started competing in F1TENTH about two years ago. They have participated in three Grand Prix races to date. Aside from the F1TENTH, they also develop autonomous snowplows and participate in other competitions.
Weighing around 4kg, their cars are capable of driving autonomously up to speeds of 12 m/s and enduring lateral accelerations of 5 m/s^2 while cornering. The car is equipped with a lidar, an IMU, and an on-board Jetson Orin NX that does all the calculations–external computing is not allowed in competition.
When getting on the race track for the first time, the team runs lidar-based SLAM to map the track. Once the map is complete, they are able to compute the optimal trajectory and velocity profile around the track for their car model.
When racing, they load the map and the trajectory in-memory and use a particle filter running on the GPU for localization. For their lateral control, they run a Pure Pursuit controller to follow the trajectory–running Model Predictive Control (MPC) is too computationally expensive for the on-board computer. To avoid other cars on the track, they run simple obstacle detection algorithms and switch from Pure Pursuit to reactive control when needed to overtake other cars safely. All their systems are integrated in ROS2 Foxy.
Data visualization plays a key role in racing, whether it is autonomous or not. To perform well, a racing team must visualize accelerations, weight transfer, slip angles, motor commands, etc. to identify areas on the track where the car is not pushed to its limit.
To get real-time telemetry data from their car, they use the Foxglove bridge to stream data over a local websocket connection. The bridge handles local networking details so anyone on the team can use Foxglove to visualize data from and assess the performance of the car.
The team from Laval also logs their data to MCAP recordings and makes extensive use offline analysis. This allows them to replay races and see what went wrong and what went well in order to improve their algorithms. "With Foxglove, we can easily share recordings with the team to accelerate our analysis workflow" says Nicolas Lauzon of the VAUL team.
When visualizing, they don’t always look at the same metrics. What they focus on depends on the context of the analysis: debugging a software problem, a hardware problem, or a raceline problem. For this, they use Foxglove layouts to organize and switch their data visualizations so they only look at the relevant metrics for the task at hand.
Soon, VAUL plans to speed up their development workflows even more by using the Foxglove Agent to synchronize the state of their F1TENTH cars with the Foxglove cloud. By installing the lightweight Agent on their vehicles, team members will be able to fetch MCAPs from the robots over the internet from the Foxglove interface. They'll also be able to set up rules for some files to upload automatically.
After a year of dedicated work on the cars in between university classes, winning the international competition in Japan was a huge milestone for the team. "We are really proud of this victory, but we are going home with even more ideas on where our cars can improve" says the entire VAUL team.
The VAUL team would like to thank all their sponsors, without them this adventure would not be possible. You can follow the VAUL team on LinkedIn, Youtube, Facebook, Instagram or take a look at their website. And of course, check out Foxglove for all your robotics data visualization and management needs.
A special thanks to William Fecteau, Tommy Bouchard-Lebrun, Effie Daum, Jean-Michel Fortin, and Nicolas Lauzon from the VAUL team, for helping put together this post.