主权项 |
一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于该方法包括以下步骤:步骤(1)、根据被控对象的模型和设定值曲线,对MPC控制器的参数进行离线计算,以减少在线计算的计算量;然后将离线计算后的参数加载到DSP的内存中;所述的离线计算后的参数为MPC控制器的被控变量加权阵、控制增量加权矩阵、控制时域、预测时域、预测方程中的系数以及MPC每周期的QP命题中的系数;步骤(2)、根据步骤(1)离线计算后的参数,在每个控制周期调用一次MPC_online的函数,完成DSP上MPC在线求解的计算,并在求解结束后将控制变量u输出,其中MPC_online的函数的计算依次包括状态更新、约束检查、热启动、QP迭代求解、收敛深度控制,具体是:2.1状态更新:采用直接测量可测状态的方法或者引入状态观测器对不可测的状态进行状态估计:对于可以测量的状态,直接用测量得到的状态值对当前时刻的状态变量进行更新;对于不可测的状态,引入状态观测器利用被控对象的输入输出数据对状态进行观测,然后采用观测值对当前时刻的状态变量进行更新;2.2约束检查:在对被控对象的QP命题进行迭代求解前,先求解当前QP命题的一个无约束命题,并检查该解是否满足当前QP命题的约束条件,如果满足约束则跳过热启动与迭代求解的过程直接将该解输出,如果不满足约束则进入热启动与迭代求解的过程;2.3热启动:采用上一周期QP命题的解作为当前QP命题的初始点,该初始点即为决策变量的初值;2.4QP迭代求解:利用内点法进行迭代求解,计算当前QP命题的解,具体是首先通过内点法将当前QP命题的KKT条件转化为对一系列线性方程组的迭代求解;在每次迭代中求解一次线性方程组,求得的解即为当前的迭代点;2.5收敛深度控制:用收敛深度控制准则判断步骤(2.4)得到的迭代点是否满足收敛深度阈值要求,如果满足则终止迭代,输出结果;如果不满足则进入下一次迭代;步骤(3)、从步骤(2)控制器输出的QP命题的解中选取当前时刻的控制增量,然后将当前时刻的控制增量与之前时刻的控制量叠加得到当前时刻的控制量u(k),将该控制量u(k)输出到被控对象上,可以得到被控对象的输出值y(k);若被控对象的状态为可测,还可以得到被控对象的状态变量x(k),则将y(k)和x(k)构造下一个控制周期的QP命题,从而进入下一个控制周期的计算;若被控对象的状态为不可测,则直接根据y(k)构造下一个控制周期的QP命题,从而进入下一个控制周期的计算,从而实现嵌入式平台上对快速对象的MPC控制过程。 |