GithubHelp home page GithubHelp logo

rst-tu-dortmund / control_box_rst Goto Github PK

View Code? Open in Web Editor NEW
46.0 6.0 21.0 2.55 MB

The control_box_rst package provides C++ libraries for predictive control, direct optimal control, optimization and simulation.

License: GNU General Public License v3.0

CMake 1.95% C++ 97.74% C 0.31%
mpc model-predictive-control optimal-control optimization trajectory-optimization ros

control_box_rst's Introduction

Control-Box RST

Status

ROS package:

  • ROS Melodic (melodic-devel): Melodic Status

Documentation

Build and installation instructions as well as further documentation are provided in the project wiki.

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.

Standard MPC and Hypergraph

  • C. Rösmann, M. Krämer, A. Makarow, F. Hoffmann und 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

Uniform Grid Time-Optimal MPC

  • 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.
  • C. Rösmann, F. Hoffman und T. Bertram: Convergence Analysis of Time-Optimal Model Predictive Control under Limited Computational Resources, European Control Conference (ECC), Denmark, June 2016.

Non-Uniform Grid Time-Optimal MPC

  • C. Rösmann, A. Makarow, F. Hoffmann und T. Bertram: Sparse Shooting at Adaptive Temporal Resolution for Time-Optimal Model Predictive Control, IEEE Conference on Decision and Control (CDC), Australia, December 2017.
  • C. Rösmann, A. Makarow, F. Hoffmann und T. Bertram: Time-Optimal Nonlinear Model Predictive Control with Minimal Control Interventions, IEEE Conference on Control Technology and Applications (CCTA), Hawai'i, August 2017.

Buy Me A Coffee

License

Copyright (c) 2020, TU Dortmund - Institute of Control Theory and Systems Engineering. 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/.

Some third-party dependencies are included that are licensed under different terms:

Optional included third-party dependencies (selected during configuration)

Optional third-party dependencies (optional linking)

control_box_rst's People

Contributors

amakarow avatar croesmann avatar garfield753 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

control_box_rst's Issues

Feasible Algorithm for GPU?

Hi,

I noticed that CPU performance (especially single-core performance) has not grown too much in recent years. While computing power of modern GPUs is increasing exponentially. I usually run TEB on 8th Gen i5 or i7 CPU to achieve relative long horizon and ensure relative high planning frequency. So I'm wondering if there are any efficient parallel methods to solve MPC or NLP on GPUs.

The performance of i5-2500k is 123.35 GFlOPS with AVX instructions. In contrast, even the lowest-end Jetson SoC (Jetson Nano) could achieve 236 GFLOPS on GPU. I know it's not quite reasonable to compare different hardware architecture in this way. But GPU computing seems more promising.

There are some related works on GPU-based MPC.
Model Predictive Control for Autonomous Navigation Using Embedded Graphics Processing Unit
The cost function in this work is similar, but they did not consider time-optimal. They use parallel computing capabilities of GPU to evaluate a large number of trajectories simultaneously. The number of possible control values is also limited to reduce search range. I don’t think this is an ingenious method.
Other materials may also help.
Levenberg-Marquardt with Sparse Block Matrices on the GPU
MPC Toolbox with GPU Accelerated Optimization Algorithms
Interior Point Methods on GPU with application to Model Predictive Control
CudaLBFGS

I'd like to hear your views.

Regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.