0%

apollo学习笔记-day22

控制理论

  • 简介
    • 控制模块的输入一方面来自planning(规划模块),另一方面来自反馈阶段信息(如localization和HD Map)(定位与高精地图)
    • 其输出结果是控制指令,与下层模块canbus(车辆交互标准)进行交互
    • 同时控制模块也会从底层车辆得到反馈信号:速度信息、四轮转速信息、车辆健康状况信息、底盘是否报错信息、危险信息

控制模块

  • 控制模块包括三个部分:预处理、控制器和后处理
  • 预处理部分的主要功能包括三方面:
    • 第一是对输入信号的检查,对不正常信号的过滤
    • 第二是做一些紧急处理
    • 第三是做一些滤波操作,例如信号的平滑等
  • 控制器主要功能包括:模型建立、系统识别和分析,控制器/观察器设计以及参数调优等功能
  • 后处理部分将信号发送给执行器,包括限制的处理以及信号滤波
    • 因为油门、刹车、转向这种执行器本身有上下限、滞后(回滞曲线),所以需要对信号进行一些相关处理

  • 控制主要是为了弥补数学模型和物理世界执行之间的不一致性
  • 对于自动驾驶而言,规划的轨迹和车辆的实际运行轨迹并不完全一致,控制器按照规划轨迹在条件允许下尽可能地调节车辆本身
  • 为了能够安全、舒适的行驶,自动驾驶系统对性能的要求需要控制模块,主要体现在以下几个方面
    • 首先是稳定性,包括在所有场景下的车辆行为稳定和安全。
    • 其次是稳定状态的行为,减少或者消除规划和实际车辆行为的差别。
    • 最后是瞬时状态的行为。
  • 自动驾驶系统是否满足性能要求可以从三个角度去评测:时域、频域以及discrete domain(离散域)
  • 时域是指输出在时间轴上应该满足的要求
    • 其衡量的指标包括steady state gain、rising time、setting time、overshoot和undershoot
  • 系统在频域里也需要满足一定的要求
    • 在频域空间,X轴是输入频率,Y轴是输出跟输入的比例,理想状态下输出和输入比例应该为1
    • 系统性能在频域中的评价指标包括pass band、cutoff frequency等

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

参考资料