Skip to content

Software

teb_local_planner

By rst-tu-dortmund, from github.com/rst-tu-dortmund/teb_local_planner (opens in a new tab)

  • Navigation and mapping
  • Library
  • BSD-3-Clause

A ROS plugin for the 2D navigation stack that locally plans robot trajectories with Timed Elastic Band optimization. It is aimed at mobile robots that need to avoid obstacles.

Facts

GitHub stars
1,366read on 6 Nov 2026
Last update
21 Sept 2026Newest commit on noetic-devel
Maintenance
Activea commit in the last 90 days
Difficulty
Advanced

Checked on GitHub on 6 Nov 2026.

Licenses

Code
BSD-3-Clause (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (BSD-3-Clause) at commit 9e55af4 (opens in a new tab), on 22 Oct 2026.

Commercial use
Yes

Overview

What it does: Robotheca's summary

  • Plugs into the base_local_planner of the ROS 2D navigation stack as a local planner.
  • Optimizes the robot's trajectory at runtime for execution time, separation from obstacles, and kinodynamic constraints.
  • Dependencies are installed with rosdep, using the lists in package.xml and CMakeLists.txt.
  • Build status for the melodic-devel branch is tracked on the ROS Buildfarm.

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

The README

The creator's own README, copied as written: README.md by rst-tu-dortmund, at commit 9e55af4, under BSD-3-Clause (opens in a new tab). The original on GitHub (opens in a new tab).

Read the README here

teb_local_planner ROS Package

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Refer to http://wiki.ros.org/teb_local_planner (opens in a new tab) for more information and tutorials.

Build status of the melodic-devel branch:

Citing the Software

Since a lot of time and effort has gone into the development, please cite at least one of the following publications if you are using the planner for your own research:

  • C. Rösmann, F. Hoffmann and T. Bertram: Integrated online trajectory planning and optimization in distinctive topologies, Robotics and Autonomous Systems, Vol. 88, 2017, pp. 142–153.
  • C. Rösmann, W. Feiten, T. Wösch, F. Hoffmann and T. Bertram: Trajectory modification considering dynamic constraints of autonomous robots. Proc. 7th German Conference on Robotics, Germany, Munich, May 2012, pp 74–79.
  • C. Rösmann, W. Feiten, T. Wösch, F. Hoffmann and T. Bertram: Efficient trajectory optimization using a sparse model. Proc. IEEE European Conference on Mobile Robots, Spain, Barcelona, Sept. 2013, pp. 138–143.
  • C. Rösmann, F. Hoffmann and T. Bertram: Planning of Multiple Robot Trajectories in Distinctive Topologies, Proc. IEEE European Conference on Mobile Robots, UK, Lincoln, Sept. 2015.
  • C. Rösmann, F. Hoffmann and T. Bertram: Kinodynamic Trajectory Optimization and Control for Car-Like Robots, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, Sept. 2017.

Image: Buy Me A Coffee (opens in a new tab) (opens in a new tab)

Videos

The left of the following videos presents features of the package and shows examples from simulation and real robot situations. Some spoken explanations are included in the audio track of the video. The right one demonstrates features introduced in version 0.2 (supporting car-like robots and costmap conversion). Please watch the left one first.

Image: teb_local_planner - An Optimal Trajectory Planner for Mobile Robots (opens in a new tab) (opens in a new tab) Image: teb_local_planner - Car-like Robots and Costmap Conversion (opens in a new tab) (opens in a new tab)

License

The teb_local_planner package is licensed under the BSD license. It depends on other ROS packages, which are listed in the package.xml. They are also BSD licensed.

Some third-party dependencies are included that are licensed under different terms:

All packages included are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the licenses for more details.

Requirements

Install dependencies (listed in the package.xml and CMakeLists.txt file) using rosdep:

rosdep install teb_local_planner

Files and versions

Facts read at commit 9e55af4

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.