Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/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.
https://github.com/rst-tu-dortmund/mpc_local_planner

car-like-robots mobile-robots model-predictive-control mpc path-planning ros trajectory-optimization

Last synced: 2 days ago
JSON representation

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.

Awesome Lists containing this project

README

        

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](https://github.com/rst-tu-dortmund/mpc_local_planner/wiki).

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

Build status:
- ROS Melodic (*melodic-devel*): [![Melodic Status](http://build.ros.org/buildStatus/icon?job=Mdev__mpc_local_planner__ubuntu_bionic_amd64)](http://build.ros.org/job/Mdev__mpc_local_planner__ubuntu_bionic_amd64/)

## Authors

* Christoph Rösmann

## 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**

- 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]'](https://arxiv.org/abs/2006.03534), June 2020.

**Standard MPC and Hypergraph**

- C. Rösmann, M. Krämer, A. Makarow, F. Hoffmann and T. Bertram: Exploiting Sparse Structures in Nonlinear Model Predictive Control with Hypergraphs, IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), New Zealand, July 2018.

**Time-Optimal MPC and Hypergraph**

- C. Rösmann: [Time-optimal nonlinear model predictive control, Direct transcription methods with variable discretization and structural sparsity exploitation](http://dx.doi.org/10.17877/DE290R-20283). Dissertation, Technische Universität Dortmund, Oct. 2019.
- C. Rösmann, F. Hoffmann und T. Bertram: Timed-Elastic-Bands for Time-Optimal Point-to-Point Nonlinear Model Predictive Control, European Control Conference (ECC), Austria, July 2015.

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 .

The package depends on third-party packages:
- *control_box_rst*, GPLv3, https://github.com/rst-tu-dortmund/control_box_rst
Please check also the dependencies of control_box_rst (not all modules
are included at the moment)
- *Ipopt*, EPL 1.0, https://github.com/coin-or/Ipopt

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