从以下几个方面进行阐述: 一,研究对象:是否线性 二,状态方程:离散化 三,目标函数:误差和控制量的极小值 四,工作时域:预测时域,控制时域,滚动优化,求解一次 五,求解方法:QP求解器,变分法求解黎卡提方程 六,LQR和MPC的优缺点:滚动优化,求解时域,实时性,算力,工程常用方法
一, 研究对象:是否线性
MPC:线性和非线性系统均可 LQR:线性系统 非线性系统 通过泰勒展开的方法进行近似离散化为线性系统:
其中x 为状态的误差, u为控制量
二, 状态方程:离散化
**MPC:**1,对非线性的状态方程进行线性化。2,对线性方程进行离散化 **LQR:**对线性系统就行离散化 连续的线性系统:
离散化:通过前向欧拉方法进行离散化。
整理后得: 为方便描述将离散后的方程记为:
三, 目标函数:求误差和控制量极小值
LQR目标函数一个是积分,MPC目标函数一个是累计和,本质都是对代价的累计。 当系统对终端状态要求极为严格时,目标函数会加一项终端代价函数,一般情况下该项省略。终端代码为:
四, 求解方法:QP求解器工具,变分法求黎卡提方程
**MPC:**转化为二次规划问题,利用求解器进行求解,生成控制序列 。 **LQR:**采用变分法,通过求解黎卡提方程进行逼近,最终获取控制序列 。
五, 工作时域:预测时域,控制时域,滚动优化,求解一次
MPC:是求解预测时间段Np内的控制序列 ,并在下个周期后进行滚动优化,每次只需控制序列的第一个值作为控制的输入。为了提高速度,可只计算控制时间段Nc 内的控制序列,时间段(Np-Nc)内的控制量均取Nc-1处的值即可,因为每次只取第一个控制量作为输入即可。 **LQR:**求解预测时间段内的控制序列 ,只求解一次,每个周期下取对应的控制量即可,而不考虑之前周期下实际与规划的误差。
六,LQR和MPC的优缺点:滚动优化,求解时域,实时性,工程常用的方法
LQR缺点: 1,LQR不滚动优化,预测时间段内的控制序列只求解一次,没有考虑实际与规划的误差。 2,LQR求解整个预测时域内的控制序列,而MPC可在更小的时间窗口中求解优化问题,获得次优解,可大大提升求解速度。 3,无约束,假设对控制量无约束。 **MPC缺点:**计算量大,实时性差,对于算力要求高,硬件成本较高, 但两者控制效果相差不大,故工程上横向控制常使用LQR。
|