自动驾驶学习笔记

李, 晓洲 发布于 2024-04-03 1415 次阅读


仅仅是自己的所学所悟,不保证对错!

缩略词English中文
ACCAdaptive cruise control自适应巡航控制
ADASAdvanced driver assistance system高级驾驶员辅助系统
ADSAutomated driving system自动驾驶系统
ADS-DVAutomated driving system-dedicated vehicle自动驾驶系统-专用车辆
AEBAutomatic emergency braking自动紧急制动
DDTDynamic driving task动态驾驶任务
DSRCDedicated short range communications专用的短程通信
ESCElectronic stability control电子稳定性控制
LKALane keeping assistance车道保持协助
ODDOperational design domain运营设计领域
OEDRObject and event detection and response对象和事件的检测和响应
显示DDT部分的驾驶任务示意图(非控制图)视图

Ⅰ. 驾驶自动化系统等级分类

以下等级分类内容学习自SAE Internationgal内的文章《Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles》更多详细内容可前往官方网站下载PDF文档查看。

L0~L2级驾驶员执行全部或部分DDT

L0-No Driving Automation-无自动驾驶:人类完成DDT,驾驶自动化系统不执行DDT的任何部分。

L1-Driver Assistance-驾驶辅助:驾驶自动化系统可执行DDT的横向纵向子任务(但不能同时执行),驾驶员监督并随时接管,如ACC功能。

L2-Partial Driving Automation-部分驾驶自动化:驾驶自动化系统可以执行横向纵向车辆控制子任务(能同时执行)完成部分DDT,但需要驾驶员监督、随时接管并完成剩余DDT和OEDR。如点对点自动驾驶?

L3~L4级ADS可执行全部DDT

L3-Conditional Driving Automation-有条件的驾驶自动化:可以在特定ODD范围内执行全部的DDT,但驾驶员要做好接受DDT Fallback准备,接受在发生车身故障或DDT故障时ADS发出的干预请求。

L4-High Driving Automation-高级驾驶自动化:ADS执行持续和特定的ODD下的全部DDT和DDT回退。

L5-Full Driving Automation-完全自动驾驶:起点到终点完全由ADS控制,没有ODD限制。

ADAS高阶驾驶辅助系统

ADAS覆盖自动驾驶级别的L0~L2级别,ADAS利用车上安装的激光雷达、毫米波雷达、摄像头和IMU等传感器获取车辆周围环境及自身所处位置等数据,通过感知系统和决策算法给驾驶员提供预警信息或紧急避障措施。

常用的ADAS驾驶辅助系统有ACC1、LKA2、APA3、FCW4和AEB5

Ⅱ. 自动驾驶各部件功能

M-BOX

自动驾驶的“头”,规划模块、决策模块、控制模块和感知模块(感知模块一般在nvidia内运行,其它模块在CPU或像IMX6这样的核心板内运行。)

也负责与车身控制器通讯。

T-BOX

网关单元。处理4G、5G、V2X和RSU信号。负责车辆、云平台等的信息交互。

内部有通信单元(如华为MH5000)、GPS模块(如北斗星通UB482模块)

V-BOX

这里指的是自动驾驶的vbox,非车辆的vbox。

通过CAN线传递车辆某些传感器数据(如压力传感器、轮速传感器)到自动驾驶系统。

内部各模块电路通过MCU进行协调。

传感器

自动驾驶的“眼睛”和“鼻子”,让机器看见这个世界。观察周围环境,将具体数据传输到感知系统进一步分析运算,可以得到对象的物理数据、速度和加速度。

毫米波雷达

波长1~10mm,频率30~300GHz。利用TOF技术计算出距对象的距离。

特点:毫米波雷达发出的毫米波能量高、穿透力强,对沙尘、雨滴和烟雾的识别能力远强于激光雷达,不会轻易误判障碍物。

  • TOF技术:
    • Time Of Flight,时差法根据光速、发射和接收的时间差由下列公式计算出障碍物距离。
      s=τ/2c ,其中τ为发射和接收的时间差,c=3x10^8(m/s)
    • 由波长与频率公式(c=λ·ν)和普朗克-爱因斯坦关系式(E=h·ν)推导出能量-波长关系式E=ℎ·c/λ
      故波长越短,光子的能量越高,越容易穿透粒子。

    • 其中:
      • E 是光子的能量。
      • c 是光速,c=3x10^8(m/s)。
      • λ 是光(电磁波)的波长。
      • ν 是光(电磁波)的频率。
      • ℎ 是普朗克常数,约为 6.62607015×10−346.62607015×10−34 米^2·千克/秒。

激光雷达

激光雷达分为机械激光雷达和固态激光雷达。机械雷达可扫描角度为360°,内部是两个圆圆的“大眼睛”镶嵌在一个圆柱体上,圆柱进行高速的360°旋转。
固态激光雷达常用于乘用车自动驾驶,矿卡和卡车自动驾驶中会将固态激光雷达放于车头靠下位置的中部。而机械激光雷达用于矿卡和卡车自动驾驶车辆的两侧。

激光雷达测距技术上同样使用TOF技术,但由于发射的是激光束容易被沙尘、雨滴等粒子障碍物遮挡,激光雷达在恶劣天气的表现远弱于毫米波雷达,在ROS的可视化软件Rviz中的点云数据可以看到在前方沙尘飘过时可以在ROS的可视化软件Rviz中看到大片的散点状物体,此时感知系统如果屏蔽毫米波雷达的作用会在Rviz中看到感知系统的障碍物识别输出是一个长方体障碍物。

激光雷达的优点是具有高精度和高分辨率,能够实现对目标的精确测量。分为32线、64线和128线雷达。

PS:有幸在三一智矿见到了因撞车而破损的ouster激光雷达,掏了掏眼睛,狠狠的把玩了一番。

超声波雷达

超声波雷达的工作距离一般在3cm到3m之间,负责近距离探测,一般装在侧面或后面。

摄像头

单目摄像头

鱼眼摄像头

IMU惯性导航单元

IMU是测量物体三轴姿态角或角速率以及加速度的装置。由内部的三个加速度传感器与三个角速度传感器(陀螺仪)完成测量。

IMU的刷新频率高于GPS/RTK信号,在接收到第一次GPS/RTK信号后,IMU对测量数据进行积分并利用惯性定律估算出下一次GPS/RTK信号到来之前的位置信息发送给主控,因为是估算,所以存在随时间增长的误差,在下一次GPS/RTK信号到来后进行矫正。

HMI人机交互显示器

完成人机交互,可以从这里设置目的地。

RSU路测单元

功能:信号中继与信号交互,完成C-V2X车路协同信号交互。

组成:一般由无线网桥、CGU网关、天线、太阳能供电系统、防水箱、摄像头、交换机、POE组成。

Ⅲ. 自动驾驶车辆各模块功能及联系

通信模块

5G移动通信

V2X

定位导航系统

定位服务可以帮助车辆获取到车辆所在的具体坐标,为车辆的决策规划提供依据。

GPS定位技术

GPS卫星定期向地空接收器发送信号,这些信号携带有关卫星位置和时间等信息。

接收器利用信号传播速度(光速)与接发收信号的时间差计算出接收器与卫星的距离。

接收器可以通过三个卫星建立方程组得到[x,y,z]三个位置参数,但是卫星时钟和接收器时钟会存在误差,需要再通过来一个卫星消除时间误差。

式中i=1,2,3,4,xi、yi、zi指卫星三维坐标,已知;PSRi为测得的伪距,已知;Δtm为卫星和接收器上各自时钟的时间差,可能小于零,也可能大于零,此值已知;c是光速常量,已知;xuser、yuser、zuser是用户接收器三维坐标,位置;Δt是真正时差,未知。

解得时差后可以对用户机重新校时,最后取得较为精度为2m左右的坐标。

RTK定位技术

RTK (Real Time Kinematic), 即载波相位差分技术,它能够实时地提供测站点在指定坐标系中的三维定位结果,并达到厘米级精度。

RTK系统由两个主要部分组成:基准站和移动站。基准站是固定在已知位置的设备,它通过接收卫星信号并测量其精确位置。

RTK系统工作原理:基准站将载波相位观测值及自身坐标信息发送给移动站,移动站自身求出载波相位修正值,并修正自身定位数据,实现厘米级定位。

惯性导航

SLAM定位技术

SLAM是Simultaneous Localization And Mapping(同时定位与地图构建)的缩写。

用于自主导航和机器人感知的技术,旨在通过在未知环境中同时进行自主定位和构建环境地图实现机器人的导航与路径规划。SLAM技术涉及特征提取与匹配、传感器融合、滤波器和优化算法等。

SLAM定位原理:激光SLAM分别在距离不算太远的两地(如拐角的前与后)进行两次激光扫扫描,将两次中有相同特征的元素进行提取与匹配,一边计算车辆与周围环境的相对位置,一边进行地图构建,将两次扫描的结果构建在一张地图中。实现难点是特征元素的提取与匹配。

在运动中建图,为后续车辆更好的进行规划决策。

感知模块

接收各传感器信息获取目标物理信息,再结合摄像头加深度学习完成对目标的识别,即车、人、交通标识或普通障碍物,并预判行人和车的运动,将这些数据融合对准最后传给规划决策层。

规划决策模块

在感知周围环境的基础上,结合目的地和自身位置做出正确合理的路线和决策。

路径规划(Mission/Route Planning)

静态地图规划,规划从起点到终点最优道路的形式序列。

输出依赖无人车高精地图的绘制。

行为决策(Behavioral Planner/Decision Making)

根据周围车辆、交通状况(路口行人、车流、红绿灯、交通行驶道、人行道和交通规则等)以及车辆状态(车身姿态、车速等)和车辆的历史行为信息(上一次行为决策是什么?)决定行驶决策,是跟车还是转弯等。

动作规划(Motion Planning/Local Planning)

相比行为决策是更具体在约束下的优化规划。将行为决策的宏观指令解释成带有时间信息的轨迹曲线。

具体的A点到B点短距最优行驶路线(如换车道)。包括轨迹规划和速度规划。

控制模块

接收到决策命令之后施行对车辆的控制进行轨迹跟踪。

控制模块通过控制算法达到跟随决策的预期效果,通过IMU感知车辆的速度、加速度等信息来判断此时本车状态,并结合地图信息与客观环境(雪天、雨天的道路湿滑等),即控制模块结合车身属性和外界因素进行物理学计算把上流的动作规划输出的时空轨迹转化成对车辆的控制(油门、刹车开度与转向角度等)。

控制模块通过CAN总线将控制指令传到车身控制器再进一步传到各零器件实现加减速和转向等。

  • 轨迹跟踪包括
    • 速度跟踪
    • 路径跟踪
    • 车辆姿态
  • 对外界物理环境的建模
    • PID
    • Stanley
    • Pure Pursuit
    • LQR
    • MPC

各模块上下游联系

  1. ACC自适应巡航
    利用雷达探测目标车辆状态和自身传感器提供的本车状态实现车速跟随和车距保持。
    前方有车且车速低于设置巡航车速,则跟随前方车辆实现车速跟随和车距保持;前方无车按照设定车速进行定速巡航。
    要注意前方车辆急加减速等车速变化时本车车速的平滑过渡。 ↩︎
  2. LKA车道保持系统
    使用摄像头识别车道标识线,判断本车在车道内的位置,进行横向控制调整车辆转向使其在车道内形式。 ↩︎
  3. APA自动泊车
    利用传感器识别有效停车位,自动规划泊车路径,结合IMU的精确定位最终完成自动泊车。 ↩︎
  4. FCW前方碰撞预警系统
    通过摄像头和雷达融合识别车辆及车距和相对速度,当车距达到警报车距阈值时进行警告,但不采取任何避障措施。 ↩︎
  5. AEB自动紧急制动
    在FCW的基础上,根据相对车速计算出碰撞时间与安全制动距离,到达安全阈值时自动实施刹车制动。 ↩︎
此作者没有提供个人介绍。
最后更新于 2024-05-02