Apollo车辆控制模块::框架与流程

self_drive car_学习笔记--第11课:控制理论_鸿_H的博客-CSDN博客 

智能驾驶进阶8——控制_次言的博客-CSDN博客

一、框架图

在这里插入图片描述

在这里插入图片描述

  1. 控制输入:主要来源于规划模块以及反馈阶段信息(如localization和HD Map)
    1.  ----轨迹线reference【速度、加速度、位置】
    2. ----定位信息【自身位置状态】
    3. ----地图信息【环境信息,自身在环境位置信息】
    4. ----车辆反馈信息
  2. 控制输出:控制指令(油门、刹车、方向盘),与canbus进行交互
    1. canbus 车辆交互:(交互标准)
      1. ----Chassis(底盘)
      2. ----速度、四轮转速
      3. ----底盘健康状况
      4. ----底盘报错
      5. ----自动驾驶状态
  3. 控制模块也会从底层车辆得到反馈信号(车辆本身in vehicle reference frame:速度信息、四轮转速信息、车辆健康状况信息、底盘是否报错信息、危险信息)
  4. simulated model,车辆的运动学和动力学模型,控制模块如果是基于模型的控制算法的话,需要首先对车辆建模,同时仿真中需要车辆在环。
    1. ----运动学模型【车,根据轨迹以及运动方向,判断该车下一时刻会出现在哪里】
    2. ----动力学模型【车,在整个环境中的受力情况,包括干扰、风力、摩擦系数等造成的力学信息】

二、控制模块细分流程图

在这里插入图片描述

控制流程:预处理——控制器——后处理

  1. 预处理

    1. ----数据清洗:不正常信号、planning异常值【对于异常数据,去除或者报错】
    2. ----合理性检查:定位信息、车辆底盘信号
    3. ----紧急处理:前方突然出现障碍物(emergency stop)【例如无人车前侧安装的超声传感器,直接连接到control模块,应付紧急障碍物】
    4. 做一些滤波操作,例如信号的平滑等。----信号smooth:去除信号噪声【传感器的信号都是带有噪声】,lag Compensation【滞后信号补偿,这是由于信号传递过程中,信号传递过程中有些滞后,需要做一些补偿,消除一些传递误差】
  2. 控制器

    1. ----建模【建立一个车辆模型,目的提供一个控制对象】
    2. ----系统参数辨识【控制可修复一些细微细小的错误,而这些错误对应的值是无法精确得到,这时候就需要系统辨识,利用一些方法,猜算出这些值也就是对应的系统参数】
    3. ----控制观测器设计【观测器,指的是有些控制方法在反馈的基础上,要添加更多观测信息,才能确定其反馈值是否符合控制输入;控制观测器可理解为整个控制器的一套方法;其设计非常重要,决定控制器性能】
    4. ----参数Fine Tuning【参数调节,与深度学习的超参的调差方式(一般是试验试错方式)不一样,而其一般是依据一些数学原理对参数调整进行指导,但也有试错试验方式来调整的
  3. 后处理

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

    1. 稳定性,包括所有场景下的车辆行为稳定和安全(稳)
    2. 稳定状态的行为,减少或消除规划和实际车辆行为的差别(稳态性能(准):静态误差)
    3. 瞬时状态的行为,避免超调过大或者不收敛。(动态性能:快(ts、超调))
    4. 其它问题(控制问题、规控一体化):振动(超调大、鲁棒差、)、漂移(速度大)、柔性控制。

三、控制器设计

  • 步骤
    • 滤波器设计
      • 线性与非线性
      • 数字滤波与模拟信号滤波
      • 离散滤波和连续滤波
      • 对频域信号细分为低通滤波和高通滤波
      • 根据实现方式,分为高斯滤波、卡尔曼滤波、贝叶斯滤波(预测、跟踪)
    • 控制器设计
    • 观察器设计

猜你喜欢

转载自blog.csdn.net/one__leaf/article/details/129656990