acados
hpipm
acados | hpipm | |
---|---|---|
5 | 2 | |
901 | 574 | |
3.6% | 2.4% | |
9.6 | 7.9 | |
about 10 hours ago | about 2 months 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.
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.
hpipm
What are some alternatives?
Metatheory.jl - Makes Julia reason with equations. General purpose metaprogramming, symbolic computation and algebraic equational reasoning library for the Julia programming language: E-Graphs & equality saturation, term rewriting and more.
prometeo - An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing
pyomo - An object-oriented algebraic modeling language in Python for structured optimization problems.
blasfeo - Basic linear algebra subroutines for embedded optimization
Octavian.jl - Multi-threaded BLAS-like library that provides pure Julia matrix multiplication
MatrixEquations.jl - Solution of Lyapunov, Sylvester and Riccati matrix equations using Julia
StaticCompiler.jl - Compiles Julia code to a standalone library (experimental)
llvm-cbe - resurrected LLVM "C Backend", with improvements
artiq - A leading-edge control system for quantum information experiments