0%

apollo学习笔记-day24

控制器的类型

  • 控制器的类型大致可以分为三类,分别是开环控制、前馈环控制和后馈环控制

前馈环控制

  • 前馈环控制器可以分为两类
    • image-20200806202644734
    • 上图是增加一个H,可以看出是一个前置滤波器,把输入转化为理想的输入
    • 下图是把扰动量加入到前馈环中,将模型的先验知识添加到环路,减少扰动的影响
  • 前馈环控制器的三种主要控制策略:Optimal Control(优化控制)、 Adaptive Control(自适应控制)、Robust Control(鲁棒性控制)
  • 设计控制器的时候,首先需要考虑可控性和可观性
    • 可控性(Controllability)是指系统是不是能按期望通过控制量U达到相应的动态
    • 可观性(Observability)是指在初识状态已知的情况下,是不是可以重构整个系统的状态
  • 优化控制
    • 优化控制的目的是在给定系统的情况下,找到或者设计出一个控制法则使系统可以满足特定的优化标准
    • 优化控制的分类和演化
      • 最早可追溯到上世纪五六十年代的卡尔曼滤波和后来的LQR,这两个控制在一起可以得到一个LQG
      • 需要注意的是LQG是一个线性并且没有限制的控制器,在这个基础上增加限制,就得到了LMPC
      • 在LMPC的基础上,增加非线性因素就得到了MPC
      • 控制器的演化:响应速度更快,但是计算代价更高
    • LQR(线性二次型调节器)
    • MPC控制器
      • 它包含Predictive Plant、Real Plant、MPC Controller以及Feedback Correction
      • MPC和跟LQR的区别在于,MPC有一个关于时间T的优化矩阵,同时还有一系列的控制约束
    • 自适应控制是一种针对控制系统中参数多变或者初始值不确定的控制方法
  • 鲁棒性控制
    • 鲁棒性用来解决如何确定模型的正确性问题,它主要是用来处理模型的非确定性,是一种在已知模型错误边界的情况下,设计一个性能不错而且稳定的控制器的方法
    • 最简单的鲁棒性控制器是LQR/LTR控制器,也是一个二次线性调节器
    • 离散化
      • 离散化实际上是在尽可能的保存连续空间信息的情况下,把连续空间的问题转换为离散空间的描述,使得计算机能够更好地处理
      • 如果采样不够好,会丢失很多信息使得系统不稳定

控制器设计的其它方面

  • 控制器设计还有其它次要的因素需要考虑,这些因素更多的是影响控制器的性能,包括Deadzone、饱和和抗饱和等
  • Deadzone主要是执行器的一些特性引起的,例如汽车的油门,可能给油0%~15%的区间都不会使汽车前行,这个时候反应在图上就是一条平行的线段,我们称之为Deadzone
  • 控制器的发展趋势
    • 未来控制器可能从以下几个方面发展:
      • 数据驱动的控制
      • 结合轨迹生成的控制
      • 结合预测的控制
      • 基于模型的增强学习控制方法
  • 工程应用案例
    • 目前,在Apollo中,控制的工程应用主要有两个方面,一个是系统识别,使用的是自动标定方法,另一个是安全策略
    • 在自动驾驶系统中,有很多的部件参数是不确定,供应商也不会提供,但是在控制或者其它模块可能需要对这些部件进行建模,首先就得识别部件的参数,通常采用的是自动标定的方法
    • 安全策略的考虑主要是基于控制是否与底层交流的最后一个模块,所以有很多的安全策略需在控制层面完成
      • 全信息可分为两个部分:上游信息(Planner发出)+下层反馈信息
      • 如果上游Planning信息丢失、延时、未更新,控制系统需要做出诸如Emergency Stop、缓行之类的决策
      • 类似的,由于接触不稳或者其它因素,导致控制指令没有执行,控制器也需要做一些安全策略的考虑

参考资料