lqr (线性二次调解器)理论是现代控制理论中发展最早也最为成熟的一种状态空间设计法。特别可贵的是,lqr可得到状态线性反馈的最优控制规律,易于构成闭环最优控制。
lqr 最优设计是指设计出的状态反馈控制器 k 要使二次型目标函数 j 取最小值,而 k 由权矩阵 q 与 r 唯一决定,故此 q、r 的选择尤为重要。
mpc(模型预测控制)是一种先进的过程控制方法,在满足一定约束条件的前提下,被用来实现过程控制,它的实现依赖于过程的动态模型(通常为线性模型)。
在控制时域(一段有限时间)内,它主要针对当前时刻进行优化,但也考虑未来时刻,求取当前时刻的最优控制解,然后反复优化,从而实现整个时域的优化求解。
本文由社区开发者——吕伊鹏撰写,对mpc与lqr进行了较为详细的比较,希望这篇文给感兴趣的同学带来更多帮助。
apollo中用到了pid、mpc和lqr三种控制器,其中,mpc和lqr控制器在状态方程的形式、状态变量的形式、目标函数的形式等有诸多相似之处,因此结合自己目前了解到的信息,将两者进行一定的比较。
mpc(model predictive control,模型预测控制)和lqr(linear–quadratic regulator,线性二次调解器) 在状态方程、控制实现等方面,有很多相似之处,但也有很多不同之处,如工作时域、最优解等,基于各自的理论基础,从研究对象、状态方程、目标函数、求解方法等方面,对mpc和lqr做简要对比分析。
本文主要参考内容:
【1】龚建伟,姜岩,徐威.无人驾驶车辆模型预测控制[m].北京理工大学出版社, 2014.
【2】model predictive control-wikipedia.
【3】linear–quadratic regulator-wikipedia.
【4】inverted pendulum: state-space methods for controller design.
【5】王金城. 现代控制理论[m]. 化学工业出版社, 2007。
lqr的研究对象是现代控制理论中以状态空间方程形式给出的线性系统。mpc的研究对象可以是线性系统,也可以是非线性系统,只不过为了某些需求,如时效性,计算的便捷,操控性等,一般会将非线性系统转换为线性系统进行计算。非线性系统的线性化可参考上一篇文章。
apollo中,lqr和mpc控制器都选用的单车动力学模型作为研究对象,单车动力学模型为非线性系统,但lqr和mpc控制器的目的是为了求最优控制解,在具体的优化求解时,均通过线性化方法将状态方程转化为线性方程进行求解,所以,可以说apollo中lqr和mpc控制器的研究对象均为线性系统。
lqr的状态方程多以微分方程的形式给出,如:
是一个连续线性系统,在计算过程中需要转换为如公式3的离散线性系统。
mpc的状态方程可以为线性系统,可以为非线性系统,非线性系统形如下:
线性系统如公式3所示:
但lqr和mpc在计算求解时基本都是基于离散线性方程计算的。公式1可以很方便的转化为公式3的形式。
按照维基百科的说法:
lqr在一个固定的时域上求解,且一个时域内只有一个最优解,而mpc在一个逐渐消减的时域内(in a receding time window)求解最优解,且最优解经常更新。
可以结合mpc的滚动优化,以及图1进行理解:
图1 mpc和lqr的工作时域
针对同一工作时域[t,t+n],lqr在该时域中,有唯一最优控制解u∗(t),而mpc仅在t时刻有最优解u∗(t),但它会计算出一个控制序列u(t) ,并仅将序列的第一个值u∗(t)作为控制量输出给控制系统,然后在下一采样时间结合车辆当前状况求取下一个最优控制解u∗(t+1),这就是mpc所谓的滚动优化。
这么做的目的是为了使控制效果在一定时间内可期,并且能根据控制效果尽早调整控制变量,使实际状态更切合期望状态。
此外,lqr的工作时域可以拓展到无限大,即可以求取无限时域的最优控制解。而mpc只针对有限时域。
优化求解问题一般离不开目标函数的设计。
lqr的目标函数的一般形式为:
其中,终端状态,
正定的终端加权矩阵,x为状态变量,多为各种误差,u为控制变量,q为半正定的状态加权矩阵,r为正定的控制加权矩阵,实际应用中,q、r多为对角矩阵。
mpc的目标函数的一般形式为:
其中,
从形式上可以看出,lqr的目标函数为积分形式,mpc的目标函数为求和形式,但其实都是对代价的累计。
两者第一部分均为终端代价函数,当系统对终端状态要求极严的情况下才添加,一般情况下可省略。
跟踪代价,表示跟踪过程中误差的大小,控制代价,表示对控制的约束或要求等。
正如工作时域所述,针对同一工作时域,lqr有唯一最优控制解,也就是在该控制周期内,lqr只进行一次计算。
而mpc滚动优化的思想,使其给出该时域内的一组控制序列对应不同的采样时刻(采样周期和控制周期不一定相同),但是只将该序列的第一个值输出给被控系统,作为该时刻的最优控制解。
因此,对于工作时域[t,t+n],lqr只有唯一解,对于线性mpc,本质是凸优化问题,只有唯一解;但非线性mpc,可能会有n个local optimal。
最优控制解的求取多基于目标函数进行,取线性约束下的目标函数的极值为最优控制解。对于系统为线性,目标函数为状态变量和控制变量的二次型函数的线性二次性问题,最优解具有统一的解析表达式。
apollo中的mpc将优化问题转化为二次规划问题,利用二次规划求解器进行求解。横向控制中用的是lqr调节器,它通过假设控制量u(t)不受约束,利用变分法求解。
此外,lqr对整个时域进行优化求解,且求解过程中假设控制量不受约束,但是实际情况下,控制量是有约束的。
而mpc通常在比整个时域更小的时间窗口中解决优化问题,因此可能获得次优解,且对线性不作任何假设,它能够处理硬约束以及非线性系统偏离其线性化工作点的迁移,这两者都是mpc的缺点。
卡尔曼滤波是如何看到你的问题的
新颖的电子设备无痛技术可轻松地测量患者血糖
印制电路板的电磁兼容性设计规范
采用智能手机的无线充电参考设计
如何保障智能网联汽车在网络环境下的安全性?
Apollo代码学习—MPC与LQR比较
工信部征求四项标准意见,涉及自动驾驶数据记录系统
静态分析有助于管理Java中的风险
2019年物联网发展的六项预测
中图仪器一键式测量仪轻松解决手表零件尺寸测量难题
磁共振成像技术的发展历程
谷歌已暂停向华为提供关键软件和技术服务 消费者业务备受打击
Linear推出以太网供电控制器LTC4266A和LTC4274A
降噪耳机哪款值得入手?主动降噪耳机盘点!
“适老化”足够优秀的智能电视TCL X11
RA6T2无传感器矢量控制应用笔记 [完结篇] 评估环境说明 (2)
拉斯维加斯,沉浸式体验拥有重新塑造的世界的感觉
特斯拉将收购能源公司Maxwell
借尸还魂!三星打算怎样处置Note 7?
什么叫人工智能技术