Skip to content

MPCvsTEB

Christoph Rösmann edited this page Jul 19, 2020 · 2 revisions

Both the teb_local_planner and the mpc_local_planner are realizations of predictive controllers.

The mpc_local_planner is very generic as it copes with almost arbitrary system dynamics (nonlinear state space models) and supports hard constraints. The teb_local_planner applies several simplifications and approximations, i.e. a simplified robot model and soft constraints, to speed up optimization times.

Which planner to use heavily depends on the application. A guideline could be as follows:

If you have a standard differential drive robot or a simple car-like robot (with quite fast steering), use teb_local_planner as it is usually faster, more robust and provides more features at this time.

For more complex robot dynamics (nonlinear bicycle model or custom state space models with arbitrary state and input dimensions) use the mpc_local_planner.

For a more detailed discussion on the differences between both planners (and their theoretical methods) refer to

  • C. Rösmann, A. Makarow, and T. Bertram: Online Motion Planning based on Nonlinear Model Predictive Control with Non-Euclidean Rotation Groups, arXiv:2006.03534 '[cs.RO]', June 2020.
Clone this wiki locally