0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

讲解线性二次调节器(或LQR)和模型预测控制(或MPC)

YB7m_Apollo_Dev 来源:未知 作者:李倩 2018-10-26 17:24 次阅读

Apollo自动驾驶课程马上进入尾声,在无人驾驶威廉希尔官方网站 控制篇(上)中,具体讲解了最常用的控制算法——PID控制器

本期我们将继续介绍和控制相关的知识,具体讲解线性二次调节器(或LQR)和模型预测控制(或MPC)。本期也是自动驾驶入门课程中的最后一个模块。希望大家在完成入门课程后,继续深入学习无人驾驶威廉希尔官方网站 ,在无人驾驶领域越走越远。学习完课程的小伙伴记得做笔记领周边好礼哦!

第十课,控制(下)

1线性二次调节器

线性二次调节器(Linear Quadratic Regulator 或LQR)是基于模型的控制器,它使用车辆的状态来使误差最小化。Apollo使用LQR进行横向控制。横向控制包含四个组件:横向误差、横向误差的变化率、朝向误差和朝向误差的变化率。变化率与导数相同,我们用变量名上面的一个点来代表。我们称这四个组件的集合为X,这个集合X捕获车辆的状态。除了状态之外,该车有三个控制输入:转向、加速和制动。我们将这个控制输入集合称为U。

LQR处理线性控制,这种类型的模型可以用等式来表示(详见下图)。x(上方带点)=Ax+Bu,x(上方带点)向量是导数,或X向量的变化率。所以x点的每个分量只是x对应分量的导数。等式x点=Ax+Bu,该等式捕捉状态里的变化,即x点是如何受当前状态 x 和控制输入 u 的影响的。

这个等式是线性的,因为我们用∆x来改变x时,并用∆u来改变u。x点的变化也会让这个等式成立(见下图等式)。现在我们了解了LQR中的L。

接下来我们学习LQR中的Q。这里的目标是为了让误差最小化,但我们也希望尽可能少地使用控制输入。由于使用这些会有成本,例如:耗费气体或电力。为了尽量减少这些因素,我们可以保持误差的运行总和和控制输入的运行总和。当车往右转的特别厉害之际,添加到误差总和中。当控制输入将汽车往左侧转时,从控制输入总和中减去一点。然而,这种方法会导致问题。因为右侧的正误差只需将左侧的负误差消除即可。对控制输入来说也是如此。相反,我们可以让x和u与自身相乘,这样负值也会产生正平方,我们称这些为二次项。我们为这些项分配权重,并将它们加在一起。

最优的u应该最小化二次项的和随时间的积分。在数学中我们将这个积分值称为成本函数(形式见下图)。我们经常以紧凑的矩阵形式表示加权二次项的总和。

这里的Q和R代表x和u的权重集合。xT和uT是转置矩阵,这意味着它们几乎与x和u相同,只是重新排列以便矩阵相乘。x乘以xT,u乘以uT,实质上是将每个矩阵乘以它自己。最小化成本函数是一个复杂的过程,但通常我们可以依靠数值计算器为我们找到解决方案。Apollo就提供了一个这样的求解方案。在LQR中,控制方法被描述为u=-Kx。其中,K代表一个复杂的skeme,代表如何从x计算出u。所以找到一个最优的u就是找到一个最优的K。许多工具都可以轻松地用来解决K,尤其当你提供了interwetten与威廉的赔率体系 车辆物理特征的A、B,以及x和u的权重Q、R。

2模型控制预测

模型预测控制(或MPC)是一种更复杂的控制器,它非常依赖于数学优化,但基本上可以将MPC归结为三个步骤:1、建立车辆模型。2、使用优化引擎计算有限时间范围内的控制输入。3、执行第一组控制输入。MPC是一个重复过程,它着眼未来,计算一系列控制输入,并优化该序列。但控制器实际上只实现了序列中的第一组控制输入,然后控制器再次重复该循环。为什么我们不执行整个控制输入序列呢?那是因为我们只采用了近似测量与计算。如果实现了整个控制输入序列,实际产生的车辆状态与我们的模型有很大差异,最好在每个时间步不断地重新评估控制输入的最优序列。

MPC的第一步为定义车辆模型,该模型近似于汽车的物理特性,该模型估计了假如将一组控制输入应用于车辆时会发生什么。接下来,我们决定MPC预测未来的能力。预测越深入,控制器就越精确,不过需要的时间也越长。所以,我们需要在准确度与快速获取结果之间做出取舍。获取结果的速度越快,越能快速地将控制输入应用到实际车辆中。

下一步是将模型发送到搜索最佳控制输入的优化引擎。该优化引擎的工作原理是通过搜索密集数学空间来寻求最佳解决方案。为缩小搜索范围,优化引擎依赖于车辆模型的约束条件。

优化引擎可间接评估控制输入,它通过使用以下方法对车辆轨迹进行建模:通过成本函数对轨迹进行评估。成本函数主要基于与目标轨迹的偏差;其次,基于其他因素,如加速度和提升旅客舒适度的措施。

为使乘客感觉更舒适,对控制输入的调整应该很小。因为动作变化幅度过大会让乘客感到不舒服。根据具体情况,我们可能需要为其考虑进一步的成本,并设计成本函数。模型、约束和成本函数合并在一起,并作为优化问题加以解决。我们可以在不同的优化引擎中,选择一种来寻找最佳解决方案。

3总结

控制实际上是无人驾驶汽车实现自动移动的方式。在控制中,我们使用转向、加速和制动来运行我们的目标轨迹。我们研究了几种不同类型的控制器。PID控制是一种简单而强大的控制算法,线性二次调节器和模型预测控制是另外两种类型的控制器,它们更复杂,但也更强大、更准确。Apollo支持所有这三种控制器,而你也可以选择最适合自己的控制器!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 调节器
    +关注

    关注

    5

    文章

    847

    浏览量

    46412
  • PID控制器
    +关注

    关注

    2

    文章

    173

    浏览量

    18579
  • Apollo
    +关注

    关注

    5

    文章

    342

    浏览量

    18445

原文标题:Apollo自动驾驶入门课程第⑩讲 — 控制(下)

文章出处:【微信号:Apollo_Developers,微信公众号:Apollo开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    永磁同步电机模型预测控制Simulink仿真教程资料下载

    本篇文章为永磁同步电机模型预测控制(PMSM-MPC)Simulink仿真教程包含了控制原理和simulink仿真搭建。详细的描述了模型
    发表于 06-30 06:30

    永磁同步电机模型预测控制matlab/simulink仿真模型

    出售永磁同步电机(pmsm)模型预测控制MPC)matla b/simulink仿真模型,转速控制,电流
    发表于 07-05 07:18

    模型预测控制+逻辑控制

    模型预测控制MPC)+逻辑控制(相平面分区控制)–matlab例程介绍MATLAB-模型模糊神
    发表于 08-17 07:09

    模型预测控制介绍

    这篇主要讲一下模型预测控制,如果对PID控制了解的同学,那效果更好。如果不了解PID控制,还是熟悉下比较好。模型
    发表于 08-18 06:21

    什么是有限集模型预测控制

    有限集模型预测控制(finitecontrol set-model predictive control,FCS-MPC)作为一种具有运算量大的特点的控制算法,随着数字信号处理
    发表于 08-27 06:05

    LQR线性二次调制系统的记录

    LQR 控制本blog主要记录LQR 线性二次调制系统的,学习教程为两个B站的教学视频。状态空间4-LQ
    发表于 08-30 08:00

    鲁棒模型预测控制(RMPC)是什么

    鲁棒模型预测控制(RMPC)是一种设计不确定系统控制器的有效方法,在这种不确定系统中,每个可能的扰动实现都必须满足状态和输入约束。然而,在某些情况下,由于需要防止低概率异常值,这一要求可能会显著降低
    发表于 09-10 08:37

    什么是MPC模型预测控制

    什么是MPC模型预测控制
    发表于 11-22 06:10

    基于LQR最优调节器的倒立摆控制系统

    倒立摆控制系统是一个典型的高阶、不稳定、多变量、非线性和强藕合控制系统。本文研究分析了单节倒立摆控制系统的数学
    发表于 09-02 16:38 24次下载

    基于Laguerre函数的模型预测控制电流调节器

    电动汽车用异步电机复杂的运行工况,造成电机参数改变,传统同步PI控制性能不甚理想。基于复矢量比例积分( PI)控制模型预测控制MPC)的
    发表于 01-09 14:40 1次下载

    Apollo代码学习—MPCLQR比较

    MPC(Model Predictive Control,模型预测控制)和LQR(Linear–Quadratic Regulator,线性
    的头像 发表于 03-22 17:08 1.5w次阅读

    Matlab/yalmip工具编写自动驾驶模型预测控制(MPC)代码

    在无人驾驶的运动控制中,模型预测控制MPC)算法得到了广泛使用,龚建伟《无人驾驶车辆模型预测控制
    发表于 06-06 09:38 1次下载
    Matlab/yalmip工具编写自动驾驶<b class='flag-5'>模型</b><b class='flag-5'>预测控制</b>(<b class='flag-5'>MPC</b>)代码

    开关模式二次侧后调节器UCC3583数据表

    电子发烧友网站提供《开关模式二次侧后调节器UCC3583数据表.pdf》资料免费下载
    发表于 04-08 11:11 0次下载
    开关模式<b class='flag-5'>二次</b>侧后<b class='flag-5'>调节器</b>UCC3583数据表

    二次侧立柱调节器控制器LM25115数据表

    电子发烧友网站提供《二次侧立柱调节器控制器LM25115数据表.pdf》资料免费下载
    发表于 04-22 10:44 0次下载
    <b class='flag-5'>二次</b>侧立柱<b class='flag-5'>调节器</b><b class='flag-5'>控制器</b>LM25115数据表

    二次侧后调节器/同步降压控制器LM5115数据表

    电子发烧友网站提供《二次侧后调节器/同步降压控制器LM5115数据表.pdf》资料免费下载
    发表于 04-28 09:41 0次下载
    <b class='flag-5'>二次</b>侧后<b class='flag-5'>调节器</b>/同步降压<b class='flag-5'>控制器</b>LM5115数据表