rst-tu-dortmund / mpc_local_planner

The mpc_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. It provides a generic and versatile model predictive control implementation with minimum-time and quadratic-form receding-horizon configurations.
http://wiki.ros.org/mpc_local_planner
GNU General Public License v3.0
565 stars 142 forks source link
car-like-robots mobile-robots model-predictive-control mpc path-planning ros trajectory-optimization

mpc_local_planner ROS Package

The mpc_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. It provides a generic and versatile model predictive control implementation with minimum-time and quadratic-form receding-horizon configurations.

For custom build instructions (e.g. compilation with other third-party solvers) see this wiki.

Refer to http://wiki.ros.org/mpc_local_planner for more general information and tutorials.

Build status:

Authors

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 software for published work.

Main Paper and Approach

Standard MPC and Hypergraph

Time-Optimal MPC and Hypergraph

Buy Me A Coffee

License

Copyright (c) 2020, Christoph Rösmann, All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

The package depends on third-party packages:

It depends on other ROS packages, which are listed in the package.xml. They are licensed under BSD resp. Apache 2.0.

Requirements

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

rosdep install mpc_local_planner