基于状态空间模型的控制
模型预测控制(MPC)简介 对基于状态空间模型的控制理解得很到位
在这里我重点讲解一下状态空间模型。那么什么是状态?输出是不是也是状态的一种?对的,输出也是一种状态,只不过我们赋予了这个状态特殊的意义。举个例子来说,舞龙,假设是只能通过龙尾的人A指挥前面一个人B动作,然后B指挥他前面的一个人C动作….依次如此,达到控制龙头的人F叼住绣球的动作。如果只关注龙头的人(输出)和龙尾的人(输入),而忽略龙身子的动态,那就是所谓的输入—输出系统。经典控制理论就是建立在输入—输出系统的基础上面的。 但是我如果不管要管龙尾和龙头的人,我连龙身子上面的人也要要求在固定的位置,那么这就是状态空间的概念,即我对系统中的每一个状态都要控制到。龙头位置的人也是一个状态,故输出本身就是一个状态,或者说是状态的一个组合。
【控制理论】线性二次型最优控制解析 这个讲的LQR很好。这个博主的博客可以都看看,感觉控制方向的都写得不错
状态空间模型 写得很易懂
仔细看下面这一段:
系统状态会发生变化,那么这个变化应当和什么有关呢?一个是系统当前的状态,一个是系统的输入。比如一个弹簧滑块系统,滑块的加速度(收到的外力)和系统当前的位置有关(弹簧弹力),也和外力输入有关(人手或电机给与滑块一个外力)。将输入记为u。系统状态的变化,对于连续系统而言,是系统的导数,对于离散系统而言,是系统状态的变化量,一般取为系统下一时刻的状态,二者包含的信息一致。于是有了如下方程
连续系统
这个方程描述了 系统如何变化,也就是下一时刻的状态是怎样随这一时刻的状态和这一时刻的输入而变化的,可以称之为 系统的演化模型,描述系统如何演化的。
状态变量与状态方程 把系统变为 一阶微分方程
教了如何在已知系统微分方程或传递函数的前提下,列写状态方程(包括状态变量的寻找)
讲了如何画控制框图
现控笔记(二):状态空间表达式 具体说了二阶三阶的框图
控制理论学习笔记(7)——状态空间(state space)
预测控制
预测控制,即模型预测控制(MPC),MPC是一个总称,有着各种各样的算法。其动态矩阵控制(DMC)是代表作。
预测模型那一部分讲得比较清楚
MPC-双输入单输出控制
对于双输入双输出系统的模型预测控制(DMC)的MATLAB实现
Model predictive control (MPC) is an advanced method of process control that is used to control a process while satisfying a set of constraints. It has been in use in the process industries in chemical plants and oil refineries since the 1980s. In recent years it has also been used in power system balancing models[1] and in power electronics.[2] Model predictive controllers rely on dynamic models of the process, most often linear empirical models obtained by system identification. The main advantage of MPC is the fact that it allows the current timeslot to be optimized, while keeping future timeslots in account. This is achieved by optimizing a finite time-horizon, but only implementing the current timeslot and then optimizing again, repeatedly, thus differing from Linear-Quadratic Regulator (LQR). Also MPC has the ability to anticipate future events and can take control actions accordingly. PID controllers do not have this predictive ability. MPC is nearly universally implemented as a digital control, although there is research into achieving faster response times with specially designed analog circuitry.[3]
Generalized predictive control (GPC) and dynamic matrix control (DMC) are classical examples of MPC.[4]
Understanding Model Predictive Control, Part 1: Why Use MPC?
MPC is a feedback control algorithm that uses a model to make predictions about future outputs of a process.
Here’s an analogy to explain what we mean: Say that you’re driving and your goal is to keep the car within the lane. The decisions you make to achieve this goal are very similar to how a model predictive controller works. You know your car’s characteristics: how fast it goes or how much it turns based on the control actions you take. Using this model of the car, you do simulations in your head. These give you predictions about your future trajectory based on the control actions you choose. Then you select the optimal action that drives the predicted trajectory as close as possible to the desired trajectory.
以下引自论文 MPC-based 3-D trajectory tracking for an autonomous underwater vehicle with constraints in complex ocean environments :
MPC is a numerical optimization-based control strategy, in which a system model is designed to predict the future control inputs and the future plant responses. It has a sound theoretical basis. By computing a sequence of future system input adjustment, the MPC controller attempts to optimize future plant responses at each regular interval (Qin and Badgwell, 2003). A system cost function is constructed which refers to the errors between the predicted system responses and the desired system outputs. By minimizing the cost function, the optimal control input sequence of the future sampling instants can be obtained. During solving the optimization problem, the input and state constraints can be explicitly tackled, which can improve the robustness of the system. Rolling optimization and feedback correction are the main characteristics of MPC, which can effectively reduce or even eliminate the time-delay in a closed-loop system (Wang et al., 2018). Therefore, the MPC-based system can achieve excellent stability, optimality, and robustness (Mayne et al., 2000; Rawlings, 2002).
MPC轨迹跟踪
自动驾驶——模型预测控制(MPC)理解与实践 约束设置那部分有一定的参考意义
基于CppAD的ipopt控制器进行二次规划求解最优解 (C++)
自编Matlab代码实现MPC基本算法 两个实现关键点,说得很清楚