ForzaETH Race Stack by 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: The results in the paper have been evaluated in the ROS1 version of the stack. As this is the ROS 2 version of the ForzaETH Race Stack, results may differ, as well as certain functionalities might be missing such as (might be added in the future):
- Baysian Optimization
- CPU Usage Measurements
- Car2Car Syncing
- SynPF integration
- Scan Alignment
- System Identification
Note: In general the ROS 2 stack is significantly less tested and explored than the ROS 1 version!
We provide an installation guide here.
Or check out our video playlist on Youtube:
Note: Click on the thumbnails to watch the videos.
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.
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.
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
If you are having problem with the SIM (no car/scans showing for example), try the setup once again:
source ~/ws/src/race_stack/.install_utils/f110_sim_setup.shIf your joystick is not working, try the following while the controller is connected:
sudo chmod 666 /dev/input/js0
sudo chmod 666 /dev/input/event*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}
}