智能驾驶进阶8——控制

控制理论

简介

Apollo自动驾驶框架的基本结构
在这里插入图片描述

  • 控制的输入主要来源于规划模块以及反馈阶段信息(如localization和HD Map)
  • 控制的输出是控制指令,与canbus进行交互
    • canbus 车辆交互标准
  • 控制模块也会从底层车辆得到反馈信号(车辆本身in vehicle reference frame:速度信息、四轮转速信息、车辆健康状况信息、底盘是否报错信息、危险信息)
  • simulated model,车辆的运动学和动力学模型,控制模块如果是基于模型的控制算法的话,需要首先对车辆建模,同时仿真中需要车辆在环。

控制模块

在这里插入图片描述

  • 预处理——控制器——后处理

  • 预处理

    • 对输入信号的检查,对不正常信号的过滤
    • 做一些紧急处理
    • 做一些滤波操作,例如信号的平滑等
  • 控制器

    • 模型建立
    • 系统识别和分析
    • 控制器观测器设计以及参数调优等
  • 后处理

    • 将信号发送给执行器(限制的处理以及信号滤波)
      • 油门、刹车、转向这种执行器本身有上下限、滞后(回滞曲线),所以需要对信号进行一些相关处理。
  • 控制:在车辆允许的条件下让车辆尽可能按照规划的技术路径走,弥补数学模型和物理世界执行之间的不一致性。

    • 稳定性,包括所有场景下的车辆行为稳定和安全
    • 稳定状态的行为,减少或者消除规划和实际车辆行为的差别
    • 瞬时状态的行为,避免超过(比如图内曲线超过峰值)或者非收敛的(如c、d图)
      在这里插入图片描述
  • 判断自动驾驶系统是否满足性能要求

    • 时域:输出在时间轴上要满足的要求

      • steady state gain
      • rising time
      • setting time:达到终值的±2%或者5%
      • overshoot:瞬态方向时的超调量(通过设计调整使最大最小都不超过峰值)
      • undershood在这里插入图片描述
    • 频域

      • X轴是输入频率,Y轴是输出和输入的比例,理想状态Y值为1
      • pass band
      • cutoff frequency在这里插入图片描述
    • 离散域

    • 对系统来说,在time domain跟frequency domain中的系统需求是可以等价转换的。系统在时域中的要求、响应、数学表达跟频域是可以相互对应的。

    • 其他指标

控制器

  • 如何设计好的控制模块
    • PID控制器,具有通用性
    • 基本原理
      • U是参考量,它和反馈信号之间的差距用error 表示,即图中的e。比例控制P的意思是该控制量与误差成比例,用Kp*e(t) 表示。当Kp比较小的时候,接近终值的速度会非常慢,如右图的红线所示,但是它有超调与undershoot现象。当Kp设置比较大时,则达到稳态速度变快,但会超调,如右图紫色曲线所示。如果系统中存在损耗,比如汽车上坡的动力或者摩擦损耗,使得比例控制每次增加的控制量就等于或者小于损耗时,出现稳态误差,这就是引入积分控制的目的,它可以将之前的误差进行积分,消除稳态误差。而微分控制的目的是使系统更快的从瞬态转化为稳态。系统的控制量就是P+I+D三项的和。