来源:bilibili
导航
自动化驾驶层级与结构
- L0 无自动化 全靠人工
- L1辅助驾驶 基础辅助:
- 如:防抱死:车辆转弯时,因为向心力,会导致车轮抱死,车辆会出现偏移操作,通过点刹的模式,电脑控制抱死的程度来减少车辆侧滑的程度
- 车身稳定系统 :收集车辆的加速度,位置或位移,车轮转向角度控制转向状态
- L2部分自动化
- 可以自动化加速 跟车 转向,驾驶员时刻扶稳方向盘,有问题随时接管方向盘
- 自适应巡航ACC,自适应跟车、自动紧急制动、侧方盲区监测、前方碰撞预警、自动泊车、限速识别、自动变道
- L3有条件自动化
- 特定条件下完全自主驾驶,尤其是在高速公路上,路况没有这么复杂
- L4 高度自动化
- 拥堵,复杂路况都可以自动化驾驶,不需要人工接管
- L5完全自动化
- 独立完成驾驶决策,驾驶员不需要干预
L2/L3 级别自动驾驶应用
自动紧急制动、侧方盲区监测、前方碰撞预警、自动泊车、限速识别、自动变道
目前我国量产策划的自动驾驶等级正在从L2到L3过渡
架构
- 最底层是车辆平台,它会有基础能力的一个支持;
- 上层是外围的硬件,就是摄像头,雷达,传感器,惯性导航IMU,我们在桥洞或者隧道里,GPS信号丢失情况下,通过你的车辆惯性,也就是你进入隧道之前的速度,推导出你大概的位置,然后进行传感器本身的收集。V2x:多路信息,车联网的一些网络系统的一些信息的组合,后面就是传统的动力和底盘控制,比如说发动机,还有刹车油门,底盘稳定系统,悬挂,这些系统的传统车辆的一些控制能力,
- 再到上层,就是蓝色部分,需要有一些硬件平台支持,需要有一些微型控制单元,还有CPU,有一些可能还有GPU,就是有一些AI算力需要GPU计算,他比CPU的效率高很多,一般至少有几倍的提升
- 然后上面有异构的硬件分布,他是有多系统的,比如安卓系统,qnx系统,linux系统,就在这种硬件平台设计上也要支持这种异构架构应用的能力
- 在上面就是系统的操作软件,比如linux,安卓,hypervisor BSP的一些底层硬件驱动,这些都是相当于我们系统层面做的一些基础的操作系统能力的支持,上层可能会有POSIX管理平台和实时控制页面,这个不用太关注,这个是在操作系统层面的实现一些管理能力
- 在上层就是一些算法,比如说深度学习视觉模块,传感器的分析整合模块,还有一些网络连接模块,和运行控制模块,
- 再到上层,传给自动驾驶的通用模块,感知决策和执行。相当于把这些整合到大脑里,然后驱动给下游做执行,
- 上层应用调用自动驾驶的通用框架去做上游的一些应用知识,包括一些数据地图和感知融合,还有一些这个显示层面,
- 这个整体相当于自动驾驶的一个架构,便于了解我们到底怎么实现的,底层通过传感器收集设备信息,系统应用层面要支持多系统,多分布的操作系统会支持你多系统的一些应用,包括linux、安卓、qniux,和一些底层的驱动,然后再传给上层的一些模块,他会收集到你采集的一些信息,然后做整合,供给自动驾驶的通用模块,去做决策,下发给下面的一些ECU控制单元做执行,这也相当于自动驾驶通用框架的一个能力,然后再上面会提供一些算法接口,给上面应用层进行调用,这就是整体的一个架构情况
自动驾驶测试分层
测试场景分类