/ar-tu-do

ROS & Gazebo project for 1/10th scale self-driving race cars

Primary LanguageC++

Autonomous Racing Software Stack and Simulation Enviroment

Build Status

This repository contains software for 1/10th scale autonomous race cars to compete in the F1/10 competition. It is developed by the Autonomous Racing Project Group of TU Dortmund.

Documentation

  • For general information and documentation check out our wiki page.
  • For source code documentation check out the auto-generated Doxygen documentation.

Video of final results and testing

Final presentation video

Simulation

Racing with a wallfollowing algorithm

Features

We provide several LIDAR based driving algorithms:

  • Fast and efficient wallfollowing based on fitting circles into the LIDAR scan
  • Sensorfusion of ZED camera and LIDAR data
  • Boxing of sensor data
  • Voxel based obstacle detection (experimental)
  • Heavy workload code is in C++
  • Full telemetry logging and HUD display
  • Report creation of telemetry data
  • ROS navigation stack based implementation that uses SLAM, a precalculated map and path planning
  • Deep Reinforcement Learning (Q-Learning and Policy Gradient)
  • Neural Networks with evolutionary training
  • Depth camera support
  • Video recording
  • Huge set of display options in RViz
  • Management script

Our software works on physical hardware and in a simulated environment using Gazebo. Further features are:

  • Automatic emergency braking
  • Dead Man's Switch
  • Teleoperation via keyboard, Xbox and Playstation controller
  • Speedometer and Lap Timer

We also added some more stuff not directly connected to the software, please check out the wiki for more information.

Hardware

Our car is based on a 1/10th scale RC car (Traxxas Ford Fiesta) with these additions:

License

This project (excluding git submodules) is under MIT and GPLv3 dual licensed - see the MIT.LICENSE and GPLv3.LICENSE file for details.

Racing with a wallfollowing algorithm