What exactly is model predictive control MPC (2)

        In actual systems, not all systems are linear systems, and there are also a large number of nonlinear systems. So how to deal with nonlinear systems will be the issue we need to consider in this article.

4. Linear systems and nonlinear systems

1. Linear system

        

        If we have a linear system, linear constraints, and a quadratic cost function, then we can control the system with a linear time-invariant MPC.

                 With the above properties, a convex problem can be solved, which has a global optimal solution.

2. Nonlinear systems

1. Convert nonlinear system to linear system

        

        If the above linear system is replaced by a nonlinear system, linear MPC can also be used to solve the problem of optimal bumps. But an adaptive or gain-scheduled MPC controller is required. 

        For a nonlinear system, its sampling can be transformed into linear transmission to the control model. Note that when using an adaptive MPC controller, the number of states and the number of constraints do not change. If changing needs to use gain-scheduled MPC controller.

         As shown in the figure above, each sampling point is linearized and sent to the controller. There are three independent controllers in the gain-scheduled MPC, corresponding to three control points. The number of states, constraints, etc. are all different for the three controllers. There also needs to be a switch to switch between the three controllers. While having multiple controllers is a good option, it will require more memory.

        So in general, if the state quantity of the model does not change, an adaptive MPC controller can be used; if the state of the model changes, a gain-scheduled MPC controller needs to be used.

2. Nonlinear MPC controller

        

        If it is really not easy to transform the nonlinear system into a linear system, a nonlinear MPC controller can be used.

         With nonlinear functions and nonlinear cost functions, then the problem is no longer optimally convex, but has multiple local optimal solutions. The ability to find a globally optimal solution depends on the non-linear solver.


 5. Tips for running MPC quickly

        When running MPC, the storage capacity of the computer is required, and the waiting time of the calculation is also required. So how to reduce the occupied memory, how to control the optimization time, this section will discuss this issue.

1. Explicit MPC

        If our sampling time is very short, then the controller needs to calculate and control the time within this sampling time. This places high demands on the computing power of the computer.

         Explicit MPC is to store various predicted results offline. When a value is given, a set of prediction ranges stored offline is directly found without online calculation. The more cases, the more cases are stored and the larger the memory usage.

2. Sub-optimal solution

        

         If the optimal result can only be solved in the tenth step, but we can't wait that long. Directly select the result of the fifth step, while saving the running time, the result is not much different from the tenth step.

Guess you like

Origin blog.csdn.net/szl__lzs/article/details/121680745