Research Robots Applications Industries Technology About Contact Sales
← Back to Knowledge Base
Robotics Core

TEB Local Planner

An optimization-based local planner that navigates mobile robots through complex environments by transforming trajectories into a "Timed Elastic Band." Essential for AGVs requiring smooth, kinematic-aware navigation in dynamic spaces.

TEB Local Planner AGV

Core Concepts

Elastic Band Optimization

The planner deforms the path like a rubber band. It balances internal forces (smoothing the path) against external forces (repelling from obstacles).

Kinematic Constraints

Unlike simple planners, TEB explicitly accounts for the robot's physical limits, including turning radius, maximum velocity, and acceleration limits.

Time Optimization

The "Timed" aspect adds temporal information to the path, allowing the robot to minimize travel time while respecting dynamic constraints.

Homotopy Classes

TEB maintains multiple candidate trajectories simultaneously (different routes around an obstacle) and switches to the optimal one dynamically.

Obstacle Avoidance

Handles both static map obstacles and dynamic entities (people, other AGVs) by real-time deformation of the trajectory plan.

Carlike Support

Specifically supports Ackermann steering geometry, making it ideal for forklift AGVs and car-like delivery robots that cannot rotate in place.

How It Works

The TEB Local Planner sits between the global path planner and the robot's motor controllers. Unlike standard DWA (Dynamic Window Approach) planners that sample velocities, TEB formulates navigation as a multi-objective optimization problem.

It takes the global plan (a set of waypoints) and converts it into a hyper-graph. The nodes represent robot poses and time intervals, while the edges represent constraints such as velocity limits, obstacle proximity, and kinematic feasibility.

By solving a sparse system of equations in real-time using the g2o framework, the planner "tightens" the path to be as fast as possible while pushing it away from obstacles, resulting in smooth, continuous motion rather than the jerky behavior often seen in sampling-based planners.

Technical Diagram

Real-World Applications

Warehouse Forklifts

Perfect for Ackermann-steered automated forklifts operating in narrow aisles where precise turning radii must be strictly enforced to prevent collisions with racking.

Hospital Delivery Robots

Enables smooth navigation around patients and equipment. The ability to plan parallel trajectories helps the robot decide whether to pass a gurney on the left or right.

Outdoor AMRs

Used in last-mile delivery robots traversing sidewalks. TEB handles the complex kinematics of 4-wheel steering and dynamic pedestrian avoidance effectively.

Industrial Manufacturing

Facilitates the movement of heavy-load omnidirectional platforms in factories, optimizing for time efficiency to keep production lines running without bottlenecks.

Frequently Asked Questions

What is the main difference between TEB and DWA local planners?

DWA (Dynamic Window Approach) samples a set of velocities and simulates them forward to find a collision-free path, which is computationally cheap but can lead to sub-optimal, jerky paths. TEB (Timed Elastic Band) formulates navigation as an optimization problem over the entire local trajectory, resulting in smoother, faster, and kinematically feasible paths, though it requires more CPU power.

Can TEB Local Planner handle car-like (Ackermann) robots?

Yes, this is one of TEB's strongest features. It natively supports non-holonomic kinematic constraints, including minimum turning radii. You can configure the `min_turning_radius` parameter and set the robot footprint model to ensure the planner generates valid maneuvers for car-like vehicles.

How computationally expensive is TEB compared to other planners?

TEB is more computationally intensive than DWA because it solves a sparse hyper-graph optimization problem in every control cycle. However, on modern embedded computers (like NVIDIA Jetson or Intel NUC), it runs efficiently at 10-20Hz. Optimization parameters can be tuned to balance performance and path quality.

Does TEB support omnidirectional (holonomic) robots?

Absolutely. By setting the `max_vel_y` parameter greater than zero and configuring holonomic weights, TEB will generate paths that utilize strafing movements. This allows mecanum-wheeled robots to move laterally or diagonally to optimize travel time and obstacle clearance.

What happens if the robot gets stuck in a local minimum?

Like all gradient-based optimizers, TEB can get stuck in local minima. To mitigate this, TEB implements "Homotopy Class Planning," where it maintains and optimizes multiple distinct trajectories simultaneously. If the current path becomes blocked or sub-optimal, it can switch to a better alternative topology seamlessly.

How does TEB handle dynamic obstacles like walking humans?

TEB continually updates the optimization graph based on the local costmap. If an obstacle enters the path, the "elastic band" is pushed away by the obstacle cost. For predictable moving obstacles, TEB can also utilize velocity estimates to plan trajectories that avoid future collision points.

What inputs does the TEB planner require to function?

TEB requires a global plan (waypoints from a global planner like Dijkstra or A*), odometry data (current robot position/velocity), and a local costmap (LIDAR/camera data representing obstacles). It is typically implemented as a plugin for the ROS Navigation Stack or Nav2.

How difficult is it to tune the parameters for TEB?

Tuning can be complex due to the large number of parameters (velocity limits, acceleration limits, weights for time vs. clearance, obstacle inflation, etc.). It is best to start with provided configuration presets for your robot type and incrementally adjust weights to achieve the desired driving behavior.

Can TEB handle backing up / reverse motion?

Yes. TEB can automatically plan reverse maneuvers if they are more efficient or necessary to escape a tight spot. You can control this behavior using the `weight_kinematics_forward_drive` parameter; a lower weight allows more reverse driving, while a very high weight forces forward motion.

Is TEB Local Planner open source?

Yes, the TEB Local Planner is open source and widely available for ROS (Robot Operating System) and ROS 2. It is maintained by the community and researchers, making it a cost-effective and robust solution for commercial and research robotics projects.

How does the planner handle narrow doorways?

TEB is excellent for narrow spaces because it doesn't just check for collisions at discrete points; it optimizes the trajectory to stay centered. However, you must ensure your footprint model is accurate and the `min_obstacle_dist` is set correctly to allow passage without the planner thinking the fit is impossible.

Ready to implement TEB Local Planner in your fleet?

Explore Our Robots