进阶课程㉗丨Apollo控制技术详解——控制理论

原创 阿波君 Apollo开发者社区 2019-08-14

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

  • 控制理论
  • 反馈信息
  • Planning
  • 时域
  • 频域
  • 控制量

控制模块根据预测的轨迹和估计的车辆状态向油门、刹车或转向扭矩发送适当的命令。控制模块使汽车尽可能接近计划的轨迹。控制器参数可以通过最小化理想状态和观测状态之间的误差函数(偏差)来估计。

决策问题通常用POMDP加上一些机器学习的技术来解决。解决好规划问题,需要把两个方面做好,一个是数据闭环(Data Driven),另一个是基于规则的方法。

上周阿波君为大家详细介绍了「进阶课程㉖Apollo规划技术详解——Understand More on the MP Difficulty」。详细地讲解了Apollo EM planner规划框架,以及解决优化问题的常用方法:离散化的方式、Expectation Maximization(期望最大化)。

本周阿波君将继续与大家分享Apollo控制技术详解——控制理论的相关课程。下面,我们一起进入进阶课程第27期。

以下,ENJOY

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

简介

本次课主要介绍以下三个方面的内容:

通用控制理论及其在Apollo自动驾驶平台上的应用。
功能的限制和未来的趋势。
类似的原理怎样应用于不同的模块。

首先我们回顾一下Apollo自动驾驶框架的基本结构,如图1所示。

在这里插入图片描述
▲图1 Apollo 软件框架

从图中可以看出,控制模块的输入一方面来自planning(规划模块),另一方面来自反馈阶段信息(如localization和HD Map),此部分信息包括车辆位置、朝向、速度等。

其输出结果是控制指令,与下层模块canbus(车辆交互标准)进行交互;同时控制模块也会从底层车辆得到反馈信号(车辆本身in vehicle reference frame:速度信息、四轮转速信息、车辆健康状况信息、底盘是否报错信息、危险信息)

控制模块

如图2所示,控制模块包括三个部分:预处理、控制器和后处理。其中,预处理部分的主要功能包括三方面,第一是对输入信号的检查,对不正常信号的过滤;第二是做一些紧急处理,第三是做一些滤波操作,例如信号的平滑等。

在这里插入图片描述
▲图2 控制模块的组成

控制器主要功能包括:模型建立、系统识别和分析,控制器/观察器设计以及参数调优等功能,如图3所示。

在这里插入图片描述
▲图3 控制器的主要功能

后处理部分将信号发送给执行器,包括限制的处理以及信号滤波,如图4所示。因为油门、刹车、转向这种执行器本身有上下限、滞后(回滞曲线),所以需要对信号进行一些相关处理。

在这里插入图片描述
▲图4 后处理

什么是控制,为什么需要控制

控制主要是为了弥补数学模型和物理世界执行之间的不一致性。对于自动驾驶而言,规划的轨迹和车辆的实际运行轨迹并不完全一致,控制器按照规划轨迹在条件允许下尽可能地调节车辆本身。为了能够安全、舒适的行驶,自动驾驶系统对性能的要求需要控制模块,主要体现在以下几个方面,如图5所示。

  • 首先是稳定性,包括在所有场景下的车辆行为稳定和安全。
  • 其次是稳定状态的行为,减少或者消除规划和实际车辆行为的差别。
  • 最后是瞬时状态的行为。
    在这里插入图片描述
    ▲图5 自动驾驶系统对性能的要求

具体而言,自动驾驶系统是否满足性能要求可以从三个角度去评测:时域、频域以及discrete domain(离散域)。时域是指输出在时间轴上应该满足的要求。其衡量的指标包括steady state gain、rising time、setting time、overshoot和undershoot。每个指标对应的具体含义如图6所示。

在这里插入图片描述
▲图6 控制模块在时域上的性能要求
类似的,系统在频域里也需要满足一定的要求。在频域空间,X轴是输入频率,Y轴是输出跟输入的比例,理想状态下输出和输入比例应该为1。系统性能在频域中的评价指标包括pass band、cutoff frequency等,如图7所示。

在这里插入图片描述
▲图7 频域的评判指标

除了时域和频域的要求,还需要满足discrete domain的要求。

在这里插入图片描述
▲图8 时域和频域的相互关系

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

此外,系统性能要求还有一些其它的考量指标,如图9所示。

在这里插入图片描述
▲图9 满足系统性能要求的额外考量指标

前面介绍了自动驾驶系统需要满足一些性能需求,如果没有控制器的话,这些性能指标可能难以满足,这就是为什么在自动驾驶系统中需要引入控制器的原因。

那么怎么样设计出好的控制模块呢?最简单的控制器就是PID控制器,即比例、积分、微分控制,它是一个model free的控制方法,也就是说PID控制具有通用性。PID控制的基本原理如图10所示。

在这里插入图片描述
▲图10 PID 控制器

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

------END------

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值