---
kind: concept
slug: timed-elastic-band
title: Timed elastic band
summary: >-
  Local trajectory planner that optimises a band of poses between robot and goal, with time intervals and penalty terms for limit violations. Two extensions: MP-TEB adds predicted-human social costs (author-reported best total time in 3 of 4 simulated scenes); RTEB adds a hybrid A* recovery layer for infeasible trajectories (lower distance and time in dense obstacle tests).
tags: [motion-planning, local-planning, mobile-robots, trajectory-optimization, social-navigation]
papers: ["2411.01814", "2412.03174"]
related: [a-star-search, kinematic-bicycle-model, model-predictive-control, motion-prediction, generative-adversarial-network]
status: draft
updated_at: 2026-10-25
---

## Overview

A local planner decides how the robot should move now, around nearby obstacles.
The timed elastic band (TEB) represents the trajectory as a band of poses
between the robot and its goal, with a time interval between each pair of
poses. The band is adjusted by minimising a cost. The cost adds the squared
time intervals to weighted penalties that are active only when a kinematic,
clearance, velocity or acceleration limit is violated [arxiv:2411.01814 §2.2]
[arxiv:2411.01814 eq. 2]. Both the start and the goal stay fixed during
optimisation [arxiv:2411.01814 eq. 3].

The two cards in this set both extend TEB and keep its optimiser. They differ
in what they add. MP-TEB adds predicted human motion to the cost
[arxiv:2411.01814 §2]. RTEB adds a recovery path for the cases where the TEB
trajectory cannot be driven [arxiv:2412.03174 §3].

## Variants

### Base TEB cost

The base form is the cost in [arxiv:2411.01814 eq. 2]. The paper optimises
several locally optimal bands for different obstacle configurations and keeps
the cheapest one [arxiv:2411.01814 eq. 3] [arxiv:2411.01814 eq. 4]. The weight
values and the maximum time interval are not stated in that paper
[arxiv:2411.01814 §2.2].

### Social extension: MP-TEB

The forecaster is a Social GAN. It takes the last 8 positions of each tracked
person, sampled every 0.5 s, and predicts 12 future positions [arxiv:2411.01814 §2.1].
The planner adds three social terms to the base cost: a term that pulls toward
a predicted human path, a term for a predicted dynamic obstacle that moves at
its velocity, and a priority-side term that is subtracted [arxiv:2411.01814 eq. 5]
[arxiv:2411.01814 eq. 6] [arxiv:2411.01814 eq. 7]. The total is the base cost
plus a scaled social cost [arxiv:2411.01814 eq. 8]. The authors report it in
Gazebo against DWA and TEB on four scenarios, with the shortest total time in
three of them [arxiv:2411.01814 tab. 1]. Card: [Nguyen Canh et al. (MP-TEB)](/papers/2411.01814).

### Recovery layer: RTEB

RTEB checks the kinematic feasibility of the current trajectory at each
iteration. The paper does not give the test or its threshold [arxiv:2412.03174 §3].
When the trajectory is infeasible, a hybrid A* search over car-like states
builds a drivable path [arxiv:2412.03174 §3.1.1]. A Voronoi-field obstacle term
and curvature and path terms then smooth that path, with weights 0.5, 0.3 and
0.2 [arxiv:2412.03174 §3.1.2] [arxiv:2412.03174 eq. 1]. TEB restarts from the
smoothed path [arxiv:2412.03174 §3]. Near the goal, a pre-goal pose aligns the
heading [arxiv:2412.03174 §3.1.3]. On dense obstacle scenes the authors report
lower traverse distance, time and control effort than TEB and NMPC at 30% to 50%
density [arxiv:2412.03174 tab. 4]. Card: [Kulathunga et al. (RTEB)](/papers/2412.03174).

## When to use which

| Situation | Use | Why |
|---|---|---|
| People move near the robot and you can track them | MP-TEB | Its cost uses predicted human and obstacle positions [arxiv:2411.01814 eq. 5] [arxiv:2411.01814 eq. 6]. It needs a trained forecaster, and the weights are not stated [arxiv:2411.01814 §2.1]. |
| TEB often returns infeasible trajectories in cluttered space | RTEB | The recovery runs only when the trajectory is infeasible [arxiv:2412.03174 §3]. Its gains are reported at 30% to 50% obstacle density [arxiv:2412.03174 tab. 4]. |
| Little or no clutter | Base TEB | RTEB's recovery is inactive without obstacles, so it adds no cost there [arxiv:2412.03174 §4.3]. Neither paper reports a benefit in obstacle-free scenes. |
| Differential-drive robot | MP-TEB, with care | Its kinematics are differential-drive [arxiv:2411.01814 eq. 9], but the command derivation is missing [arxiv:2411.01814 §2.2]. |
| Car-like vehicle | RTEB | The paper argues the approach suits car-like vehicles, and its hybrid A* uses a steering and arc-length model [arxiv:2412.03174 §1] [arxiv:2412.03174 §3.1.1]. |
| Need a tested reference implementation | Neither, yet | The MP-TEB repository does not contain the planner, and RTEB has no official code. Plan to build from the paper; see the cards' Paper vs code sections. |

## Implementation sketch

The common core is a band optimisation with fixed endpoints. Each variant adds
its own step around it. Steps marked as optional are specific to one variant.

```pseudocode
# TEB family control step  [arxiv:2411.01814 §2.2] [arxiv:2412.03174 §3]
# Input:  band of poses, goal pose, optional person tracks
# Output: optimised band; a command must still be derived from it

def teb_step(band, goal, tracks):
    # Optional recovery (RTEB): replace infeasible band  [arxiv:2412.03174 §3]
    if not kinematically_feasible(band):
        path = hybrid_astar(band[0], goal)              # [arxiv:2412.03174 §3.1.1]
        band = reinitialise(smooth(path))               # [arxiv:2412.03174 §3.1.2]
    # Base cost: time intervals plus limit penalties  [arxiv:2411.01814 eq. 2]
    cost = teb_cost(band)
    # Optional social cost (MP-TEB): added with a scale factor  [arxiv:2411.01814 eq. 8]
    if tracks is not None:
        cost += delta_mp * social_cost(band, tracks)    # sign: see Contradictions
    # Minimise with the endpoints fixed  [arxiv:2411.01814 eq. 3]
    return minimise(cost, band, fix_endpoints=True)
```

## Contradictions

- **Sign of the social terms.** As printed, the human-path and dynamic-obstacle
  terms grow with distance and are added to the cost. Read literally, the planner
  is pulled toward those points, which is the opposite of the avoidance the paper
  describes [arxiv:2411.01814 eq. 5] [arxiv:2411.01814 eq. 6] [arxiv:2411.01814 §2.2].
  The paper does not settle the sign.
- **Which cost is optimised.** The local optimum is written with the base
  cost, while the social cost is defined separately [arxiv:2411.01814 eq. 3]
  [arxiv:2411.01814 eq. 8].
- **Text against table, MP-TEB.** The text says MP-TEB is better on efficiency
  and safety in every scenario. In the corridor scenario DWA has the shorter
  total time and TEB the shorter path [arxiv:2411.01814 tab. 1] [arxiv:2411.01814 §3.2].
- **Text against table, RTEB.** The text says RTEB has lower values across all
  metrics. In goal-alignment scenario 3, RTEB's distance is larger than TEB's
  (5.95 m against 5.41 m) [arxiv:2412.03174 tab. 2] [arxiv:2412.03174 §4.3].
- **Headline figure.** The abstract gives about 20% lower distance, time and
  control effort. No single table value matches it. Derived by the compiler
  from the table, not stated by the authors: at 30% to 50% density the distance
  gain is 10% to 33% [arxiv:2412.03174 tab. 4].
- **Planning frequency.** RTEB's TEB frequency is 13 Hz in one table and 15 to
  20 Hz in another, and the two tables use different definitions
  [arxiv:2412.03174 tab. 3] [arxiv:2412.03174 tab. 4] [arxiv:2412.03174 §4.3].
- **Different benchmarks.** MP-TEB is compared with DWA and TEB in Gazebo on four
  scenes [arxiv:2411.01814 tab. 1]. RTEB is compared with TEB and NMPC on dense
  farm-like scenes in simulation and on a real vehicle [arxiv:2412.03174 tab. 4].
  The gains are not measured on a common benchmark.

## Papers

- [Nguyen Canh et al. (MP-TEB)](/papers/2411.01814): adds Social GAN predictions and three social cost terms to TEB.
- [Kulathunga et al. (RTEB)](/papers/2412.03174): adds a hybrid A* and Voronoi-smoothing recovery layer that restarts TEB.
