查看原文
其他

进阶课程㉘丨Apollo控制技术详解——基于模型的控制方法

阿波君 Apollo开发者社区 2022-07-29


知识点
敲黑板,本文需要学习的知识点有 


PID控制是一个在工业控制应用中常见的反馈回路部件,由比例单元P、积分单元I微分单元D组成。PID控制的基础是比例控制;积分控制可消除稳态误差,但可能增加超调;微分控制可加快大惯性系统响应速度以及减弱超调趋势。




上周阿波君为大家详细介绍了「进阶课程Apollo控制技术详解——控制理论」


主要介绍Apollo控制相关内容,包括常用控制理论、功能限制与未来趋势、相似原理在不同模块中的应用。目的是让大家了解控制模块的整体脉络及理论,通过案例讲解将理论转化成code及真正测试标准的方法。



本周阿波君将继续与大家分享Apollo控制技术详解——基于模型的控制方法的相关课程。下面,我们一起进入进阶课程第28期。


完整版视频学习  请戳『阅读原文


  以下,ENJOY  


相对于简单的PID控制,Apollo里面更多使用基于模型的控制方法,它包括四个部分:建模、系统辨识、控制器设计参数调优。本节主要介绍前三个部分,如图1所示。


▲图1 设计基于模型的控制模块的关键步骤





Modeling一般可以分为分析建模拟合建模。通常,一个模型主要由各种属性表示,如图2所示,主要包括描述输入输出的数量、模型是线性还是非线性、连续还是离散等特性。


▲图2 模型的属性表示


控制模块中的模型,通常包括运动学模型动力学模型。运动学模型是一种几何模型,感知、预测讨论的模型则以运动学模型为主。而在控制模块中,更多考虑动力学模型。实际上,运动学模型是动力学模型的一个子集。


▲图3 运动学模型和动力学模型


在自动驾驶中,Dynamic model以Kinematics model为初始模型,将环境等参数设置到Kinematics model中,把车看作质点进行分析。Dynamic model将车按车轮等部分分开进行约束或者系统补偿。


图4是两个比较简单的几何模型,左图是一个综合移动机器人控制模型,右图是著名的自行车模型,它把汽车看作只有两个轮胎的自行车,该模型在当年的DARPA挑战赛上获得冠军。


▲图4 两个几何模型


实际上,只考虑几何约束是不够的。下图是一个动力学模型,它不仅考虑了几何约束,还考虑了力矩和扭矩平衡。如图5所示,在自行车模型中,把前后轮都在XY两个方向进行分解。


▲图5 动力学模型


图6是刚体的一些力矩分析以及扭矩分析的公式,总体满足牛顿第二定律。


▲图6 力矩与扭矩分析公式


在假设纵向速度为0的情况下,我们可以对横向方程进行线性化,如图7所示。线性化的过程需要基于一些假设。大家一定要记住,做完控制之后要检查这些假设是否合理或者是否会造成很大的误差。


▲图7 模型线性化


通常情况下,模型的建立是基于误差,而不是参考值,如图8所示,对实际侧向加速度和理想侧向加速度之间的误差进行建模。


▲图8 基于误差的建模

在控制器实现过程中,通常会将ODE或者PDE方程进行处理,转化为矩阵计算的形式。虽然在数学表达形式上不一致,但是其物理含义保持不变,如图9所示。在状态空间表示中还会给出一些状态量的标识,包括输入量


▲图9 状态空间表示


关于汽车的动力学模型,感兴趣的可以参考以下文献。


▲图10 车辆动力学模型相关参考文献






▲图11 系统辨识


在模型中,有些参数是未知的,系统辨识的目的是确定这些未知参数的值。确定未知参数的方法有三种:白盒、灰盒以及黑盒方法


白盒方法是指对于基于第一原理(如牛顿定律)的模型结构,可以由测量数据估计模型的参数。


灰盒方法是用于只有部分模型结构可知,通过数据重建的方法来获取模型的其它部分的方法。


黑盒方法是指模型结构和参数都在未知的情况下,只能通过输入输出数据来估计的方法。


关于白盒和黑盒方法,更多的可以参考以下资料。


▲图12 白盒和黑盒方法的参考资料


基于学习的系统辨识方法可以参考以下资料,仔细分析,我们会发现基于学习的辨识方法和黑盒方法很类似。


▲图13 基于学习的系统辨识方法参考资料




基于模型的控制模块设计第三步是控制器的设计,包括滤波器设计、控制器设计以及观察器设计等。


滤波器可以分为线性非线性,数字滤波或者模拟信号滤波,离散滤波或者连续滤波等,如图14所示。


▲图14 滤波器分类


前面已经介绍,系统在频域里面需要满足某些性能要求,滤波器通常也会对频域信号进行处理。根据频域边界,我们可以对滤波器进行进一步细分,如图15所示,包括低通滤波,高通滤波等。


▲图15 低通滤波和高通滤波


根据实现方式不同,滤波器又可以分为高斯滤波、卡尔曼滤波、贝叶斯滤波等,如图16所示,这些滤波器通常用于预测跟踪


▲图16 用于预测和跟踪的滤波器



更多话题讨论、技术交流

可以添加『Apollo小哥哥』为好友

进开发者交流群


  



阿波君说:


在学习过程中,开发者不仅可以在Apollo开发者社区小程序上对课程内容进行提问,还可以在开发者微信群中交流学习心得,共同学习自动驾驶技术。

开发者社区还将在公众号上定期推送课程相关的技术干货,全程陪伴大家共同进步。祝Apollo开发者们顺利完成《Apollo自动驾驶进阶课程》的学习,在自动驾驶道路上越走越远!

阿波君还欢迎大家在小程序内晒出学习笔记,也可以加入开发者交流社群与大家交流互动,有好礼相送!



观看/阅读完该节课程后

在开发者社群

及小程序「社区问答」版块内

上传你的课程笔记截图

手写笔记/电脑文档均可

即可联络社区小助手获取

百度周边纪念品1份

赶快来撩吧~比心~





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存