Skip to content

ForzaETH/TinyCenterSpeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TinyCenterSpeed

arXiv MIT License

This module implements TinyCenterSpeed. A lightweight adaptation of state-of-the art machine learning algorithms for object detection. The module is implemented as part of the ForzaETH race-stack.

TinyCenterSpeed provides a framework for data generation, preprocessing, training, inference and hardware optimization for the hardware of an F1TENTH racecar.

Key Features

  • Machine Learning: Learning-based approach for perception in autonomous racing.
  • High Accuracy: TinyCenterSpeed shows state-of-the-art performance, improving previous methods by as much as 61.38%.
  • High Performance: TinyCenterSpeed is deployable on off-the-shelf hardware accelerators, achieving real time inference in just 7.88ms.
  • Experimental Validation: Tested on a 1:10 scale autonomous racing platform with a robust comparison to state-of-the-art algorithms.

Overview

  • Dataset: Framework for generating and processing LiDAR data for ML applications with computer-vision. The complete dataset can be found here.
  • Environments: Provides the environments used for training.
  • Models: The detailed model definitions.
  • Train: Provides functionality to train the model. Also contains example usage of the dataset pipeline.
  • Pretrained models: Provides pretrained models for direct use.
  • Inference: Inference code compatible with the ForzaETH race-stack.

Installation

TinyCenterSpeed is part of the ForzaETH Race Stack. Please refer to the installation guide for detailed instructions and perform the quickstart guide below to run the system.

Quickstart Guide

Running inference requires the following data to be available in the form of ROS messages:

/scan
/global_waypoints
/car_state/odom_frenet
/dynamic_tracker_server/parameter_updates

To easily try TinyCenterSpeed, launch one of the example Rosbags available here.

Play the bag with:

rosbag play <path_to_bag>

Running inference is as simple as launching the node with one of the provided launchfiles, either with or withouth tracking using a Kalman Filter.

⚠️Remember to adapt the number of detectable opponents in the cfg. Setting the number too high will have no bad effect.⚠️

roslaunch tcs TCS.launch

or

roslaunch tcs TCS_tracking.launch

Launch a visualisation tool like RVIZ or Foxglove. To see the results, viusalize the topics /perception/obstacles_markers_new, /map, /scan.

As part of the ForzaETH Race Stack, TinyCenterSpeed can also be run integrated in the Head-to-head mode. Please refer to the Race Stack for detailed usage.

Contributing

TinyCenterSpeed is available under the MIT license. In case you found TinyCenterSpeed helpful and want to contribute, please either raise an issue or directly make a pull request.

Citing TinyCenterSpeed

If you found TinyCenterSpeed useful in your research, we would appreciate to cite it as follows:

@misc{reichlin2025tinycenterspeed,
      title={TinyCenterSpeed: Efficient Center-Based Object Detection for Autonomous Racing}, 
      author={Neil Reichlin and Nicolas Baumann and Edoardo Ghignone and Michele Magno},
      year={2025},
      eprint={2504.08655},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2504.08655}, 
}

About

Tiny CenterPoint-based Detector

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •