本文介绍了无人驾驶系统的基本架构,无人驾驶软件系统通常分为三层:感知、规划和控制。
无人驾驶系统的核心可以概括为三大部分:感知(Perception)、规划(Planning)和控制(Control)。这些部分及其与其他车辆硬件和外部环境的互动可以通过以下方式进行描述:
感知是指无人驾驶系统从环境中收集信息并提取相关信息的能力。环境感知特别强调对周围环境的理解,包括识别障碍物位置、速度及可能的行为,检测道路标志和标线,识别行人和车辆等。此外,定位也是感知的一部分,指的是无人车确定自己在环境中的位置的能力。
规划是无人车为了达到特定目标而做出有目的决策的过程。对于无人驾驶车辆,目标通常是指从起点到达终点,同时避开障碍物,并持续优化行驶轨迹和行为以确保乘客的安全和舒适。规划层通常细分为任务规划(Mission Planning)、行为规划(Behavioral Planning)和动作规划(Motion Planning)三个层次。
控制则是无人车准确执行规划动作的能力,这些动作来自更高层次的规划。
环境感知是确保无人车对环境有全面理解和把握的关键。为了实现这一点,无人驾驶系统需要获取周围环境的大量信息,包括障碍物的位置、速度及其可能的行为,可行驶区域和交通规则等。无人车通常通过整合激光雷达(Lidar)、摄像头(Camera)和毫米波雷达(Millimeter Wave Radar)等多种传感器的数据来获取这些信息。
激光雷达是一种使用激光进行探测和测距的设备,它能每秒发送数百万光脉冲,通过旋转结构实时生成周围环境的3D地图。激光雷达在无人驾驶系统中扮演着重要角色,但也有其局限性,如点云稀疏或丢失部分点的情况,以及在恶劣天气下的表现不佳。
为了处理点云信息,我们通常会进行分割(Segmentation)和分类(Classification)。分割是为了将点云中的离散点聚类成整体,而分类则是区分这些整体属于哪一类(如行人、车辆和障碍物)。常见的分割算法包括基于边的方法、基于区域的方法、参数方法、基于属性的方法和基于图的方法等。
在完成点云目标分割后,通常会使用机器学习中的分类算法,如支持向量机(SVM)或专门设计的卷积神经网络(CNN)来进行分类。不过,基于点云的分类方法受点云分辨率低的影响,对于稀疏的目标(如行人)可能不够可靠,因此通常会结合激光雷达和摄像头的数据,利用高分辨率的摄像头进行分类,同时利用激光雷达的可靠性进行障碍物检测和测距。
在无人驾驶系统中,图像视觉用于道路检测和道路上目标的检测。道路检测包括识别车道线和可行驶区域,而交通参与者检测则包括对车辆、行人和其他交通标志的检测和分类。车道线检测涉及识别车道线并计算曲率,以及确定车辆相对于车道线的偏移。可行驶区域检测则通过深度神经网络进行像素级分类。交通参与者的检测和分类主要依靠深度学习模型,如基于Region Proposal的RCNN系列和基于回归方法的YOLO系列。
定位在无人驾驶系统中至关重要,因为它决定了无人车需要知道自己在环境中的确切位置。定位的准确性直接影响到规划和执行层的决策。目前,最常用的定位方法是融合全球定位系统(GPS)和惯性导航系统(INS)。此外,地图辅助类定位算法如SLAM(同步定位与地图构建)也被广泛应用,通过利用先前的先验信息和当前的观测数据,完成车辆的定位。
在实际应用中,通常会事先使用激光雷达构建高精度地图(HD Map),并在定位时通过点云匹配确定无人车在地图中的位置。这种方法被称为扫描匹配,常见的方法有迭代最近点法(ICP)和正态分布变换(NDT)等。这些方法能够提供10厘米以内的定位精度,但它们依赖于高精度地图,并且在开放路段下仍需配合GPS定位使用。
无人驾驶规划系统的分层结构设计源于2007年的DARPA城市挑战赛。规划模块通常分为三层:任务规划、行为规划和动作规划。任务规划负责相对顶层的路径规划,如从起点到终点的路径选择。我们可以将道路系统处理成有向网络图(Directed Graph Network),通过搜索这个图来找到最优路径。行为规划则根据任务规划的目标和当前的局部情况,作出下一步无人车应执行的决策。动作规划则是通过规划一系列动作以达到某种目的(如规避障碍物)。
控制层作为无人车系统的最底层,负责将规划好的动作转化为实际操作。控制系统内部会存在测量,控制器通过比较车辆的实际状态和预期状态,输出相应的控制动作,这一过程被称为反馈控制。PID控制器是目前最广泛使用的控制器之一,但它在无人车控制中存在一定的局限性。为此,引入了基于模型预测的控制方法,这种控制方法能够更好地应对延迟问题,提高控制精度。
本文概述了无人驾驶系统的基本架构,包括感知、规划和控制三个主要部分。感知部分涵盖了环境感知和定位,规划部分细分为任务规划、行为规划和动作规划,而控制部分则着重介绍了基于模型预测的控制方法。无人驾驶系统通过多层次的设计实现了高效、安全的自动驾驶功能。