This is the open-source repository for the Roboracer autonomous driving project at the University of Modena and Reggio Emilia.
Autonomous Stack •
Instructions •
Contribute •
Cite •
License
The main target platform for this project is the Roboracer (formerly F1Tenth) research platform. For a complete bill of materials, building instructions and more about the platform, check out the official Roboracer platform documentation.
While the Roboracer platform is mainly based on a strict set of sensor and computer requirements, this repository mainly implements software for the following research prototypes
KITT is our main Roboracer-compliant vehicle, equipped with a Hokuyo UST-10LX 2D LiDAR and an NVIDIA Jetson embedded computer. The vehicle is mostly used in autonomous racing use-cases and serves as the baseline platform for our research and development efforts.
KITT is also an educating platform used by students to learn autonomous driving concepts and it's the main vehicle deployed by HiPeRT Lab's Roboracer team in competitions.
Thundershot is our main FPGA-based embedded research platform, which is also equipped with a Hokuyo UST-10LX 2D LiDAR. It is based on an AMD Kria KR260. We plan to release our FPGA implementation of a 2D lidar localization pipeline.
This repository acts as a proof-of-concept software stack to drive scaled autonomous vehicles. It's split into several independent modules, each one implementing a specific functionality of the autonomous vehicle.
vehicles
- vehicle description files, transformation fixed frames and support files related to each vehicleadx_data
- a lightweight and low-dependency library for handling data structures commonly used in autonomous drivingadx_data_ros
- ROS2 wrappers for adx_data typesadx_msgs
- Custom ROS2 transport messages definitionsadx_curve
- a library for handling curves and splinesmaps
- maps and trajectories storage, plus means to serve them to nodesparticle_filter
- high-performance 2D LiDAR localization on embedded multi-core processorspath_handler
- ROS2 utilities to handle paths and trajectoriespurepursuit
- pure pursuit control on static and/or dynamic trajectories
For more information and instructions, you can check the README file in each module's root directory.
To build the repo and run a test demo of the system, please refer to the instructions file.
We gladly welcome contributions from the community
- Did you find a bug, unexpected behavior, or just something that can be improved? Open an issue and we will gladly discuss it
- You want to contribute something (small or big) to the project? Feel free to fork the repository and open a pull request on this repository. Please provide a clear description of your changes and/or how they affect the codebase. We will review your pull request and provide feedback as needed
If you use the code in this repository or our work is relevant to your research, please consider citing one or more of the following works:
Adaptive Localization for Autonomous Racing Vehicles with Resource-Constrained Embedded Platforms
@inproceedings{10546748,
author={Gavioli, Federico and Brilli, Gianluca and Burgio, Paolo and Bertozzi, Davide},
booktitle={2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)},
title={Adaptive Localization for Autonomous Racing Vehicles with Resource-Constrained Embedded Platforms},
year={2024},
doi={10.23919/DATE58400.2024.10546748}}
GPU implementation of the Frenet Path Planner for embedded autonomous systems: A case study in the F1tenth scenario
@article{MUZZINI2024103239,
title = {GPU implementation of the Frenet Path Planner for embedded autonomous systems: A case study in the F1tenth scenario},
journal = {Journal of Systems Architecture},
volume = {154},
pages = {103239},
year = {2024},
issn = {1383-7621},
doi = {https://doi.org/10.1016/j.sysarc.2024.103239},
author = {Filippo Muzzini and Nicola Capodieci and Federico Ramanzin and Paolo Burgio},
}
An FPGA Overlay for Efficient Real-Time Localization in 1/10th Scale Autonomous Vehicles
@INPROCEEDINGS{9774517,
author={Bernardi, Andrea and Brilli, Gianluca and Capotondi, Alessandro and Marongiu, Andrea and Burgio, Paolo},
booktitle={2022 Design, Automation & Test in Europe Conference & Exhibition (DATE)},
title={An FPGA Overlay for Efficient Real-Time Localization in 1/10th Scale Autonomous Vehicles},
year={2022},
doi={10.23919/DATE54114.2022.9774517}}
This repository is licensed under the Apache License, Version 2.0.