Here, I present a path planning algorithm I developed at KA-RaceIng for its autonomous electric race car, the KIT24. Given a map of cones marking the track, the algorithm finds the path through the race track. It superseded KA-RaceIng's previous approach to path planning because it can tolerate mistakes in the map (e.g. false positive or false negative cone detection).
Witness our race car in action: executing precise maneuvers with path planning on the race track (first) and employing cornering velocity planning, another technique I contributed to (second).
ka-raceing_autonomous_raceing_at_handling_limit.mp4
ka-raceing_cornering_velocity_planning.mp4
This RVIZ visualization showcases how my path-planning algorithm performs. It was recorded during real-world driving.
ScoreFunctionDFS_demo.mp4
This repository presents one part of my contribution to KA-RaceIng's autonomous racing software during a 7-month part-time (15h/week) position as Autonomous Driving Software Engineer at Karlsruhe Institute of Technology's Formula Student team KA-RaceIng.
- Re-designed the path planning algorithm to improve path planning safety to have fewer laps with planning mistakes
- Finished code others started for reducing the autonomous lap time by estimating the cornering stability of the car and accelerating to drive at its stability limit
- Automated the project’s GitLab CI pipeline to check code style and formatting rules automatically with a custom Docker Linux image
KA-RaceIng is a racing team of students from Karlsruhe Institute of Technology competing in Formula Student. Formula Student is an international engineering competition. 50-member teams from universities around the world design, build, and code autonomous electric full-sized race cars.
KA-RaceIng is one of the world's best formula student teams in autonomous racing. E.g.,
- 2nd place in Formula Student Germany 2023 (driverless)
- 1st place in Formula Student Hungary 2022 (driverless)
- 1st place in Formula Student Germany, Hungary, and Czech 2021 (driverless)
- C++17 Programming Language
- ROS Robotics Software Framework
- Docker Containers for Continuous Integration
- GoogleTest Unit Test Framework
The code I wrote in this project is private. The KA-RaceIng team actively uses it. It is the core of path planning at KA-RaceIng and contributes its part to our success in autonomous racing. Hence, I cannot publish any of this code here. I can give you more insights in a personal discussion, though.