ForzaETH Race Stack at Center for Project Based Learning
October 29, 2025 · View on GitHub
A modular software stack for scaled autonomous head-to-head racing on 1/10th-scale vehicles, built on commercial off-the-shelf hardware. Used by ForzaETH and the D-ITET Center for Project Based Learning (PBL) at ETH Zurich.
Accompanying this repository, a paper titled ForzaETH Race Stack - Scaled Autonomous Head-to-Head Racing on Fully Commercial off-the-Shelf Hardware is available on Journal of Field Robotics, detailing the system's architecture, algorithms, and performance benchmarks.
NOTE: For extensions on said paper, tied to specific publications, please refer to the later paragraph Additional Publications
NOTE: We have a ROS2 version of this stack, check out the other branches of this repo!
Table of Contents
- Installation
- Quick Start
- Getting started
- Contributing
- Acknowledgement
- Citing ForzaETH Race Stack
- Additional Publications
Installation
We provide an installation guide here.
Quick Start
To launch a quick end-to-end simulation and run time trials:
# Start the simulator with the base system
roslaunch stack_master base_system.launch map_name:=<map> racecar_version:=NUC2 sim:=True
# Run time trials with the default controller
roslaunch stack_master time_trials.launch
Getting started
After installation, the car (or the simulation environment) is ready to be tested. For examples on how to run the different modules on the car, refer to the stack_master README. As a further example, the time-trials or the head-to-head checklists are a good starting point.
Or check out our video playlist on Youtube:
Note: Click on the thumbnails to watch the videos.
Contributing
In case you find our package helpful and want to contribute, please either raise an issue or directly make a pull request. To create pull request please follow the guidelines in CONTRIBUTING.
Acknowledgement
This project would not be possible without the use of multiple great open-sourced code bases as listed below:
- f1tenth_system
- F1TENTH Racecar Simulator
- Veddar VESC Interface
- Cartographer
- Cartographer ROS Integration
- global_racetrajectory_optimization
- RangeLibc
- BayesOpt4ROS
- cpu_monitor
Citing ForzaETH Race Stack
If you found our race stack helpful in your research, we would appreciate if you cite it as follows:
@article{baumann2024forzaeth,
title={ForzaETH Race Stack—Scaled Autonomous Head-to-Head Racing on Fully Commercial Off-the-Shelf Hardware},
author={Baumann, Nicolas and Ghignone, Edoardo and K{\"u}hne, Jonas and Bastuck, Niklas and Becker, Jonathan and Imholz, Nadine and Kr{\"a}nzlin, Tobias and Lim, Tian Yi and L{\"o}tscher, Michael and Schwarzenbach, Luca and others},
journal={Journal of Field Robotics},
year={2024},
publisher={Wiley Online Library}
}
Additional Publications
Learning-Based On-Track System Identification for Scaled Autonomous Racing in Under a Minute.
Please refer to the system_identification README.
Predictive Spliner: Data-Driven Overtaking in Autonomous Racing Using Opponent Trajectory Prediction
Please refer to the predictive-spliner README.
License
This project is licensed under the MIT License. See the LICENSE file for details.