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