Timed Elastic Band
时间弹性带TEBAdvancedA local motion planner that treats a timed trajectory as an elastic band, optimized in real time against obstacles and motion limits.
TEB was proposed in 2012 by Christoph Rösmann and colleagues at TU Dortmund, and its open-source implementation, teb_local_planner, is a commonly used local-planner plugin in the ROS navigation stack. It builds on the 1993 ‘elastic band’ idea from Sean Quinlan and Oussama Khatib: a global path is treated as a rubber band that obstacles push away from and that otherwise pulls itself taut. TEB's addition is a time interval ΔT between adjacent poses, which lets it simultaneously optimize total travel time, distance to obstacles, and kinematic and dynamic constraints such as velocity, acceleration, and minimum turning radius. Each objective involves only a handful of neighboring poses, so the problem stays sparse and can be solved in real time with the g2o graph-optimization library. Later versions optimize several topologically distinct routes in parallel — going around an obstacle on the left versus the right — and pick the best one, and they support Ackermann-steered, car-like robots. Unlike the dynamic window approach, which only samples the next instant's velocity, TEB explicitly plans an entire timed trajectory, which serves it better in narrow passages and on car-like chassis.
ExampleAn Ackermann-steered inspection robot meets an obstacle in a corridor: TEB simultaneously optimizes ‘go around on the left’ and ‘go around on the right’ candidate trajectories, picks whichever takes less time while respecting the minimum turning radius, and re-optimizes against the updated costmap every control cycle.
- Also called
- TEB, teb_local_planner
- Related
- Global Planning and Local Planning · Dynamic Window Approach · Costmap · Trajectory Optimization · Ackermann Steering Chassis · ROS 2 Navigation Stack (Nav2)
- Sources
- teb_local_planner README(rst-tu-dortmund, GitHub)
Quinlan, Khatib: Elastic bands: connecting path planning and control (ICRA 1993)