Spotlight: How FST Lisboa Used the Foxglove Platform to Build an Award-Winning Autonomous Racecar
Miguel Gonçalves (Department Leader, Autonomous Systems) is an automotive enthusiast and motorsport fan who found a way to combine these passions with Formula Student Driverless. He earned an undergraduate degree in Computer Science and Engineering, and is currently finishing his Master’s in Artificial Intelligence and Intelligent Robotics. After graduation, he hopes to play a role in the future of self-driving cars.
Rita Fardilha (Team member, Autonomous Systems) is an Aerospace Engineering student, currently finishing her master's thesis. She joined the Autonomous Systems department at FST Lisboa, because she is passionate about working on challenges that lead to innovative solutions. While she is currently working on embedded systems, she hopes to continue contributing to the autonomous driving field in the future.
Our ultimate goal each season is to participate in multiple Formula Student competitions around Europe – this year, we had the honor of participating in FS Austria (manual), FS Germany (manual and driverless), and FS Spain (manual and driverless).
Although our driverless project started three years ago, this year was unique in that we no longer had a baseline prototype to work with – we were building an autonomous vehicle from scratch. As members of the Autonomous Systems department, our focus was to ensure a smooth integration of the autonomous system in the design of the new prototype, while continuously developing our autonomous software to extract the most performance out of the car.
Our team’s history
We are constantly iterating and refining our prototypes according to the trends and demands of an ever-changing motorsport industry. In the beginning, over 20 years ago, our team was made up of fewer than 10 students, and our goal was to create a relatively seamless combustion prototype. Now, our team is over 60 students strong, and our mission is to design and develop a high-performance electric prototype with autonomous capabilities.
FST Lisboa’s driverless project started 3 years ago, and it initially focused on adapting a previous electric prototype to be a fully-working driverless vehicle. This year, the focus shifted towards developing a new autonomous prototype from scratch, one fit to compete in both the manual-driven and driverless categories.
Our racecar competing in both the manual vs. autonomous competitions.
Photographs by Partenfelder and Schuster, ©Formula Student Germany
In the months leading up to the season, our Autonomous Systems department is responsible for developing the car’s autonomous software in ROS/C++. This includes building out the robotics stack – from perception, estimation, and control – as well as live testing this software stack on the physical prototype.
The perception module replaces a human driver’s vision by processing the information from the LiDAR to identify cones in the input point cloud. The estimation module estimates the vehicle’s position and orientation through IMU, wheel speed, wheel torque, and steering angle measurements. It uses these values to then map the track and localize the vehicle on it. Lastly, the control module, which includes both motion planning and control algorithms, determines the car’s planned trajectory within the mapped track and computes the necessary vehicle inputs (e.g. pedal setpoint, steering angle) to follow it.
All algorithms are submitted to intensive offline testing, both in simulation and with recorded data, before we load them onto the actual vehicle for on-track testing. When testing on recorded sensor data, we use Foxglove Studio to visualize the outputs of our algorithms, mostly through the 3D panel. We overlay detected cones on the raw point cloud, build the map, and render the planned trajectory. To keep things organized, we spread other information – like debug logs, plots, and transitions – across multiple panes and tabs.
During on-track vehicle testing, we need to analyze car state information and control outputs. For this we have predefined layouts with different plots for the computed steering angle, the actual steering angle, the computed pedal setpoint, steering actuator information, current vehicle velocity, wheel speeds and torques, and more. Studio’s interactive plots make it much easier to find problems in real time, and our ability to share these layouts among team members makes it easier than ever for anyone to help analyze the data and diagnose issues.
After an on-track testing day, all logged data is uploaded to Foxglove Data Platform as ROS 1 bag files, so that they can be available to all team members. From there, any developer can effortlessly stream any recording to Foxglove Studio on their local machine without having to download the entire file, saving time and storage space. Studio’s playback controls also make it significantly easier to carefully analyze specific events within a rosbag. All together, these Foxglove platform features accelerate our development cycle dramatically – by helping us organize our test data, share it with our teammates, and reduce the time spent on post-analysis.
Formula Student competitions use four dynamic disciplines – acceleration, skidpad, autocross, and trackdrive – to test different aspects of the car. Each team is often allowed 2 - 3 runs for each discipline. This fast-paced environment leaves little time for data analysis between runs, even though that may be crucial to do.
Having predefined Foxglove Studio layouts for different analysis scenarios accelerates our tasks significantly, allowing us to more quickly debug our car and determine which parameters to tune for our next run. Being prepared with these automated workflows helped us react faster to difficulties that arose on the track – such as perception noise from nearby vegetation.
Photographs by Schuster and Mosch, ©Formula Student Germany.
Thanks to Foxglove, we were able to react more quickly to unexpected scenarios, giving us an edge against other teams. We achieved podium places in both driverless competitions – 3rd place overall in Germany, 1st place overall in Spain – turning this season into the most successful ever in the team’s history!
Left: The FST Lisboa team placing 3rd overall at FST Germany. Photo by Wintermantel, ©Formula Student Germany.
Right: The Autonomous Systems team celebrating 1st place at FST Spain.
Follow the 2023 FST Lisboa team
With a new season comes a new prototype – one that we hope will build and improve upon the results of its predecessor. Be sure to follow its development on the FST Lisboa team's Instagram, YouTube and LinkedIn.
Executing and configuring multiple ROS 2 nodes at once
An exciting week of Foxglove announcements and news
Get blog posts sent directly to your inbox.