Skip to content

Software

Graph-Based Local Trajectory Planner (TUM)

By TUM - Institute of Automotive Technology, from github.com/TUMFTM/GraphBasedLocalTrajectoryPlanner (opens in a new tab)

  • Cars
  • Library
  • Reference stack
  • LGPL-3.0-only

A Python graph-based local trajectory planner for vehicles that returns a set of cost-optimal actions such as keep straight, pass left, or pass right. It was used on a real race vehicle.

  • Stale. No commit in 12 months: the newest is from 16 Jul 2021.

Facts

GitHub stars
269read on 6 Nov 2026
Last update
16 Jul 2021Newest commit on master
Maintenance
Staleno commit in 12 months
Difficulty
Reference stack: not buildable at home

Checked on GitHub on 6 Nov 2026.

Licenses

Code
LGPL-3.0-only (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (LGPL-3.0-only) at commit 18763ef (opens in a new tab), on 4 Nov 2026.

Commercial use
Yes

Copyleft: Modified source must be published.

Overview

What it does: Robotheca's summary

  • Returns an action set where each action is the globally cost-optimal solution for that task.
  • Infeasible action primitives are left out of the returned set.
  • Lets users pick actions from a priority list or plug in their own behaviour planner.
  • Comes with open interfaces and debug, visualization and development tools.
  • Was used on a real race vehicle during the Roborace Season Alpha, reaching speeds above 200 kph.
  • Documentation is hosted on Read the Docs; the authors note it has not undergone certified safety validation.

Written by Robotheca from the project's README (opens in a new tab) at commit 18763ef, not by its creator.

The README

The creator's own README, copied as written: README.md by TUM - Institute of Automotive Technology, at commit 18763ef, under LGPL-3.0-only (opens in a new tab). The original on GitHub (opens in a new tab).

Read the README here

Graph-Based Local Trajectory Planner

Title Picture Local Planner

The graph-based local trajectory planner is python-based and comes with open interfaces as well as debug, visualization and development tools. The local planner is designed in a way to return an action set (e.g. keep straight, pass left, pass right), where each action is the globally cost optimal solution for that task. If any of the action primitives is not feasible, it is not returned in the set. That way, one can either select available actions based on a priority list (e.g. try to pass if possible) or use an own dedicated behaviour planner.

The planner was used on a real race vehicle during the Roborace Season Alpha and achieved speeds above 200kph. A video of the performance at the Monteblanco track can be found here (opens in a new tab).

Disclaimer

This software is provided as-is and has not been subject to a certified safety validation. Autonomous Driving is a highly complex and dangerous task. In case you plan to use this software on a vehicle, it is by all means required that you assess the overall safety of your project as a whole. By no means is this software a replacement for a valid safety-concept. See the license for more details.

Documentation

The documentation of the project can be found here (opens in a new tab).

Contributions

[1] T. Stahl, A. Wischnewski, J. Betz, and M. Lienkamp, “Multilayer Graph-Based Trajectory Planning for Race Vehicles in Dynamic Scenarios,” in 2019 IEEE Intelligent Transportation Systems Conference (ITSC), Oct. 2019, pp. 3149–3154.
(view pre-print) (opens in a new tab)

Contact: Tim Stahl (opens in a new tab).

If you find our work useful in your research, please consider citing:

   @inproceedings{stahl2019,
     title = {Multilayer Graph-Based Trajectory Planning for Race Vehicles in Dynamic Scenarios},
     booktitle = {2019 IEEE Intelligent Transportation Systems Conference (ITSC)},
     author = {Stahl, Tim and Wischnewski, Alexander and Betz, Johannes and Lienkamp, Markus},
     year = {2019},
     pages = {3149--3154}
   }

Files and versions

Facts read at commit 18763ef

Robotheca never hosts the code: each link goes to the creator's own page.

Use it

How to install it, in the creator's words: The project's README (opens in a new tab)

Robotheca doesn't review code. Read it before running it.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.