Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构

文章目录

  • 一、自动驾驶分类
    • 1.基本术语
    • 2.自动驾驶分级
  • 二、感知与决策基础
    • 1.感知
    • 2.决策
  • 三、硬件架构
    • 1.传感器介绍
      • (1)相机
      • (2)激光雷达
      • (3)毫米波雷达
      • (4)超声波雷达
      • (5)GNSS/IMU(惯性测量单元)
      • (6)计算硬件
    • 2.硬件配置设计
  • 四、软件架构
    • 1.环境感知
    • 2.环境地图
      • (1)占用网格地图
      • (2)定位地图
      • (3)详细的路线图
    • 3.运动规划
    • 4.车辆控制
    • 5.系统监督

自动驾驶汽车是一个极其丰富和跨学科的问题。本小节介绍了问题定义的语言和结构,定义了驾驶任务和驾驶环境中最突出的元素。

一、自动驾驶分类

1.基本术语

驾驶任务:包含三个子任务

  • 环境感知:包括追踪车辆运动,识别其他要素
  • 运动规划:对行驶路线进行规划
  • 车辆控制:是否刹车/加速/转向

Operation design domain(ODD):ODD构成了给定系统在其下运行的工作条件。它包括环境,一天中的时间,道路和其他性能,这些性能将使汽车可靠运行。明确定义自动驾驶汽车的工作条件,对于确保系统安全至关重要。

驾驶任务更细致的分类:

  • 横向控制:这是指在道路上进行横向操纵和导航的任务。向左,向右转,笔直或跟踪曲线等。
  • 纵向控制:这是制动或加速之类的动作来控制汽车在道路上的位置或速度的任务。
  • 对象和事件检测与响应(OEDR):OEDR本质上就是检测立即影响驾驶任务的对象和事件并对它们做出适当反应的能力。
  • 规划:规划主要涉及到目的地或执行操作(例如倾斜变更和交叉路口)所需的长期和短期计划。

2.自动驾驶分级

  • 0级:在此级别中,没有任何驾驶自动化,一切都由驾驶员完成。
  • 1级:自动驾驶系统可以通过执行横向或纵向控制任务来辅助驾驶员。例如自适应巡航控制和车道保持辅助系统、
  • 2级:自动驾驶系统在特定的驾驶场景中同时执行横向和纵向控制任务,但仍需要驾驶员对系统进行监控。
  • 3级:自动驾驶系统除了可以执行控制任务之外,还可以在一定程度上执行“对象和事件检测”。 但是,在发生故障的情况下,控制权必须由驾驶员承担。
  • 4级:自动驾驶系统可以自行处理紧急情况,但仍可能要求驾驶员接管。
  • 5级: 自动驾驶系统可以在任何必要的条件下运行。

二、感知与决策基础

任何驾驶任务大致都可以分为两个部分,感知和决策
Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第1张图片

1.感知

我们希望能够了解周围的环境与我们之间所处的关系,因此我们需要对周围环境进行感知,我们需要感知的元素包括

  • 静态物体:包括道路和车道标记,分隔斑马线等道路区域的内容以及重要信息
  • 动态物体:包括道路上的其他车辆、行人以及估计自身在任何时间点的位置以及前进的方向

感知方面需要应对的挑战包括传感器的不确定性,光照,天气等

2.决策

通过感知得到大量数据后,我们需要做出驾驶决策,常见的三种决策是:

  • 长期决策。例如如何从纽约到洛杉矶?
  • 短期决策。例如改变车道、通过十字路口
  • 即时决策。例如是否加速或者刹车

以上所有这些决策都属于即时决策,其他的决策方法包括

  • Reactive Planning:在被动规划中定义了几组规则,这些规则要考虑到自我车辆和环境中其他物体的当前状态并立即采取行动。因此,这些规则仅考虑当前状态,不考虑未来的预测。
  • Predictive Planning:在预测性规划中,我们对环境中的其他物体(例如车辆和行人)如何随时间推移做出预测。我们使用当前状态和预测信息来定义所有决策。

三、硬件架构

1.传感器介绍

传感器是测量或检测环境某些属性或随时间变化的任何设备。传感器大致可以分为两类:如果是记录了周围环境特性,那么传感器是exteroceptive。 如果传感器记录了自车属性,则它们是proprioceptive的。

自动驾驶车辆常见的传感器如下
Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第2张图片

(1)相机

相机是自动驾驶中最常用的传感器。它是一种被动式集光传感器,能够捕获有关场景的丰富、详细的信息。
Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第3张图片

在选择相机时,我们通常有三个重要的比较指标:

  • 分辨率:分辨率是创建图像的像素数。因此,这是一种指定图像质量的方法。
  • 视野:视野由照相机可见的水平和垂直角度范围定义,可以通过选择镜头和变焦来改变视野。
  • 动态范围:动态范围是图像中最暗和最亮色调之间的差异。高动态范围对于自动驾驶汽车至关重要,因为在驾驶过程中(尤其是在夜间)会遇到可变的照明条件。

我们常用的有单目摄像头,在自动驾驶中还有双目摄像头,即具有重叠视场和对齐图像平面的两个摄像头的组合。 双目摄像头可以从同步图像对目标进行深度估计。一张图像中的像素值可以与另一张图像进行匹配,从而产生视差图。 然后,可以使用该视差来估计每个像素的深度。

(2)激光雷达

Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第4张图片

激光雷达是自动驾驶车辆常见的3D传感器。LIDAR感应原理为将光束发射到环境中并测量反射的回波。 通过测量返回的光束飞行时间, 可以估计到反射物体的范围内的强度。 LIDAR通常包括带有多个堆叠光源的旋转元件。 并·输出三维点云图·,这对于评估场景几何非常有用。 由于它是具有自己的光源的有源传感器,因此LIDAR不受环境照明的影响。 因此可以在恶劣或多变的照明条件下工作。

激光雷达一些比较重要的性能指标包括光束(beam)数量、每秒可以收集的点数、转速和视野。

(3)毫米波雷达

Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第5张图片
毫米波雷达的使用寿命比LIDAR更长,可以可靠地检测环境中的大型物体。 通常会根据探测范围,视野以及位置和速度测量精度选择雷达。毫米波雷达常见有两种检测范围:一种具有较宽的视角范围但测量范围很近;另一种视野狭窄但测量范围更远。

(4)超声波雷达

Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第6张图片
超声波雷达是一种短距离测量传感器。 非常适合用于停车场景,在这种情况下,自车需要非常缓慢的接近其他车辆。另一个优势是它们的成本很低。 而且,就像雷达和激光雷达一样,它们不受光照和降水的影响。 通常可以根据其测量的范围,视野及其成本来进行选择。

(5)GNSS/IMU(惯性测量单元)

GPS,IMU是检测自车状态的传感器。

  • GNSS接收器用于测量自我车辆的位置,速度,有时甚至还提供航向信息。精度在很大程度上取决于实际的定位方法。
  • IMU可以测量自转车辆的角速度,加速度,并且可以将组合的测量结果用于估算车辆的3D方向。前进方向对车辆的控制很重要。

(6)计算硬件

自动驾驶汽车中最常用的计算硬件中最关键的部分是自动驾驶大脑,这是汽车的主要决策单元。它接收所有传感器数据并输出驾驶车辆所需的命令。它包含很多模块,例如

  • 串行和并行计算模块:例如GPU,FPGA和ASICs,它们用来对图像和LIDAR处理进行分割,对象检测
  • 时间同步硬件:GPS可以充当适当的参考时钟。无论如何,传感器测量值必须加上时间戳记,并带有一致的时间,以使传感器融合功能正常发挥作用。

2.硬件配置设计

我们需要考虑在不同驾驶场景中对传感器测量覆盖范围的需求。最典型的两种驾驶场景为高速公路和城市,在这些场景中,我们可能会有以下情况

  1. 紧急制动 (Emergency Stop):在紧急制动情况下,如果前方道路发生拥堵,我们需要能够感应到前方110米处。同样,为了避免横向碰撞或更改车道以避免撞到车道上的障碍物,我们需要至少能够感知我们相邻的车道,范围大概3.7米。
  2. 定速 (Maintain Speed):纵向保持100米左右距离,横向保持40-60米距离防止车辆合并。
  3. 变道(Lane Change):需要同时定位前后车辆和左右车辆的位置。
  4. 超车(Overtaking):纵向上,需要感知停放的汽车以及迎面而来的车辆。从侧面看,我们需要像在高速公路中那样观察相邻车道以外的车辆并入。
  5. 十字路口(intersections):我们需要对可能发生的所有类型的运动进行全方向感知,接近的车辆,附近的行人,转弯等等。
  6. 大转盘(roundabouts):我们需要一个横向大范围的短距离传感器和一个纵向大范围的短距离传感器。我们需要感知所有通过回旋处的传入流量。

综上所述,前三种为高速公路的驾驶场景,城市驾驶则包含所有的驾驶场景,因此,我们需要具有较短的视角范围的远程传感器和通常具有中至短距离感测的宽视角传感器,甚至更短距离的传感器(如声纳在停车场景中的应用)。下图则是对硬件的一个整体性分析。
Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第7张图片

四、软件架构

自动驾驶汽车的模块化软件体系结构包含以下五个软件模块:环境感知、环境地图、运动规划、车辆控制、系统管理器。软件系统设计原理如下图
Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第8张图片

1.环境感知

环境感知模块的两个功能,首先是确定自动驾驶汽车的当前位置,其次是对周围障碍物进行分类和定位。

  • 定位模块会接收多个传感器信息,例如当前GPS位置,IMU和车轮里程计,然后将它们组合以输出准确的车辆位置。
  • 静态目标检测模块依靠高精度地图来识别场景中的重要静态目标。例如车道、路牌和交通信号灯等元素。
  • 动态目标检测模块使用摄像头、LIDAR、毫米波雷达来创建3D场景中动态目标的bounding box。 包含目标的位置,方向和大小信息。一旦检测到目标,下面通过跟踪模块进行目标跟踪。跟踪模块不仅提供目标的当前位置及其通过环境的历史轨迹。还会使用轨迹的历史记录与地图,以预测未来道路上的所有动态目标。

Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第9张图片

2.环境地图

环境地图有三种类型,即占用网格地图,定位地图和详细的路线图。

(1)占用网格地图

网格地图使用一组连续的LIDAR点集来构建2D或3D离散地图,该地图表示所有静态或固定障碍物的位置,包括树木,建筑物,路缘石和所有其他不可驱动的表面。该地图可以用于规划自动驾驶汽车的安全,无碰撞路径。
Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第10张图片

(2)定位地图

当汽车在环境中移动时,此地图由连续的激光雷达点集或相机图像特征创建。然后,定位模块将此地图与GPS,IMU和车轮里程表结合使用,来准确估算车辆的精确位置。

定位地图的作用是当自动驾驶汽车收到新的LIDAR或摄像机数据后,会将其与定位地图进行比较,并通过将新数据与现有地图对齐来创建自车位置的测量值。然后将该测量值与其它传感器组合在一起,以估计自车的运动,并最终用于控制车辆。
Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第11张图片

(3)详细的路线图

详细的路线图是可以由自动驾驶汽车驾驶的整个道路网的地图。该地图包含有关道路车道的信息,以及可能影响其的任何交通法规要素。详细的路线图用于计划自动驾驶汽车采用的安全有效的路线。可以通过以下三种方式之一来创建详细的路线图。

  • 在线创建:以准确标记和正确定位所有相关静态对象来创建地图。这包括所有车道边界在当前的驾驶环境中,任何管制元素(例如交通信号灯或交通标志),车道的任何管制属性,例如右转标记或人行横道。
  • 离线创建:通过多次收集给定道路的数据来构建离线地图。
  • 离线创建,在线更新。这种地图创建方法充分利用了这两种方法,可创建可在驾车时进行更新的高精度路线图。

3.运动规划

自动驾驶汽车使用分解方法,将运动规划问题分为以下三层

  • 任务规划:处理长期计划,定义整个驾驶任务,即从当前位置到最终目的地。任务规划会确定连接起点和终点的最佳路段顺序,然后将其传递到下一层。
  • 行为规划:负责处理解决短期计划,建立一组在沿着任务路径行驶时要执行的安全动作。如决定何时加速、减速等。
  • 本地规划:执行计划,负责定义要驱动的行驶路径和速度曲线。

4.车辆控制

Coursera自动驾驶1.1-1.2——自动驾驶基础和软硬件架构_第12张图片
车辆控制问题分为纵向控制和横向控制。横向控制器输出维持计划轨迹所需的转向角,而纵向控制器则调节油门,齿轮和制动系统以达到正确的速度。

5.系统监督

系统管理器是持续监视自动驾驶汽车各个方面并在子系统发生故障时发出适当警告的模块。有两个部分,硬件管理和软件管理。

  • 硬件监控器会持续监视所有硬件组件,以检查是否有任何故障,例如传感器损坏,测量值丢失或信息降级。硬件主管的另一项职责是持续分析硬件输出,查找与无人驾驶汽车所要执行的域不匹配的任何输出。例如,如果一个摄像头传感器被纸袋挡住。
  • 软件监控器负责验证软件堆栈,以确保所有元素均按正确的频率按预期运行,并提供完整的输出。

你可能感兴趣的:(自动驾驶,自动驾驶,人工智能)