hpipm
acados
hpipm | acados | |
---|---|---|
2 | 5 | |
480 | 677 | |
- | 2.5% | |
7.7 | 8.9 | |
about 1 month ago | 3 days ago | |
C | C | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hpipm
acados
-
How to understand Model Predictive Control
I would check out CasADi (specifically the opti framework) and or ACADOS. To code up a quick MPC in general is not hard, but to squeeze efficiency and exploit sparsity for good real-time performance is a little more involved and these tools really help with that.
-
Question about Model Predictive Control (MPC) cost function
Generally, nonlinear MPC uses either IPOPT (an interior point method) or sequential quadtraic programming based approaches (google GURBOI, qpoases, qrqp...). A good python framework is CasADi, or its sister project ACADOS. I think there is also a fair amount of literature on learning MPC cost functions from data you could probably find.
-
Show HN: prometeo – a Python-to-C transpiler for high-performance computing
Thanks for the question! My background is in numerical optimization for optimal control. Projects like this https://github.com/acados/acados motivated the development of prometeo. It's mostly about solving optimization problems as fast as possible to make optimal decisions in real-time.
-
Do you know a good free toolbox on mpc control for GNU Octave?
Look at Acados. I didn't use it with Octave, but according the readme it has a interface with Octave.
What are some alternatives?
blasfeo - Basic linear algebra subroutines for embedded optimization
StaticCompiler.jl - Compiles Julia code to a standalone library (experimental)
OpenBLAS - OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
pyomo - An object-oriented algebraic modeling language in Python for structured optimization problems.
Octavian.jl - Multi-threaded BLAS-like library that provides pure Julia matrix multiplication
py2many - Transpiler of Python to many other languages
prometeo - An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing
Metatheory.jl - General purpose algebraic metaprogramming and symbolic computation library for the Julia programming language: E-Graphs & equality saturation, term rewriting and more.
llvm-cbe - resurrected LLVM "C Backend", with improvements