MPC control algorithm, the full name is Model Predictive Control (Model Predictive Control), is a control technology based on the system dynamic model. It works by predicting the future behavior of the system through mathematical models and optimizing the system's control inputs based on these predictions to achieve the desired output. The core idea of the MPC control algorithm is to obtain the best control input by optimizing the prediction results for a period of time in the future in each control cycle. This optimization is based on some prediction results to optimize the control input of the system to achieve the desired output. The MPC control algorithm is widely used and is especially suitable for control systems that need to satisfy some constraints. By combining system models and optimization techniques, MPC can be used in different industries. The core of the MPC control algorithm lies in its prediction model, which can predict the future system state based on the current state information of the system. The form of the prediction model is not fixed and can be a state space equation, transfer function, step response model, impulse response model, fuzzy model, etc. The specific form depends on the controlled object and the state that needs to be predicted.
TinyMPC is an open source solver tailored for convex model predictive control, providing high-speed calculations. TinyMPC is implemented in C++ with minimal dependencies and is particularly suitable for embedded control and robotics applications on asset-constrained platforms. TinyMPC can handle state and input boundaries as well as second-order constraints. Python, Julia, and MATLAB interfaces are available to help generate code for embedded systems.
Robot Demonstration#TinyMPC is now also able to handle conic constraints! In (b) we benchmark TinyMPC against two existing cone solvers (SCS and ECOS) with embedded support for the rocket soft landing problem. TinyMPC achieves an average speedup of 13x on SCS and 137x on ECOS.
#Real-time control requires the solver to return a solution within a strict time window. The trajectory tracking performance of TinyMPC was compared with that of SCS and ECOS on the rocket soft landing problem while artificially varying the amount of time available for each solution. TinyMPC has fewer constraint violations and lower tracking errors than SCS and ECOS across all control durations.
Algorithm contributor:
程式碼取得位址:
GitHub - TinyMPC/TinyMPC: Model-predictive control for microcontrollers
The above is the detailed content of A silkier control algorithm than PID & Carnegie Mellon University. For more information, please follow other related articles on the PHP Chinese website!