无人驾驶系统算法端简介

本博客完全是扫盲的,是一个比较宏观的单个无人车架构部分简介。

无人驾驶不是某一种技术,而是一系列技术的综合,是一个极其复杂的系统。

无人驾驶系统主要分为三个部分:算法端、Client端和云端。算法端主要指面向传感、感知、决策等关键步骤的算法,作用是从传感器的原始数据中提取有效的信息用来了解无人车周遭的环境,并根据环境做出相应的决策。Client端主要指机器人操作系统及其硬件平台,作用是融合多种算法以满足实时性和可靠性的要求。云端主要指数据存储、模拟、高精地图绘制以及深度学习模型训练,作用是为无人车提供离线计算及其存储功能,通过云平台,我们能够测试新的算法、更新高精地图并训练更加有效的识别、追踪和决策模型。

 算法系统主要由三部分:第一,传感,从传感器中提取出有效的信息;第二,感知,定位无人车所在位置及感知现在所处的环境;第三,决策,经过传感和感知之后,无人车做出相应决策,以便可靠,安全地抵达目的地。

1.传感

无人车装备各种不同类型的传感器,每种传感器都有自己的优劣性能,因此,使用不同的传感器以便利用其优点或者弥补其他传感器功能的不足,之后,再将各种传感器采集的数据融合。一般来讲,无人车中有以下几种传感器。

(1)GPS/IMU:GPS 是一个相对准确的定位传感器,但是它的更新频率过低,仅有10Hz,不足以提供实时的位置更新。IMU的准确度会随着时间降低,但是它的更新频率可以达到2000Hz或者更高。通过整合GPS和IMU两者的优点,我们可以为车辆定位提供准确又实时的位置更新,整合后的GPS/IMU系统通过高达200Hz频率的全球定位和惯性导航更新数据,以帮助无人车完成自我定位。

(2)LIDAR:激光雷达主要用来绘制高精度地图、定位以及避障。激光雷达在无人车中是被用来做主传感器的,以激光为光源,通过探测激光和被探测物相互作用的光波信号来完成遥感测量。以Velodyne64线激光雷达为例,它可以完成10Hz旋转并每秒可达130万次读数。

(3)摄像头:摄像头被广泛使用在物体识别和物体追踪中,在车道检测、交通灯侦测、人形横道检测中都以摄像头为主。无人车一般至少有8个摄像头,分别从前后左右四个维度完成物体发现、识别、追踪等任务。

(4)雷达和声吶:雷达将电磁波的能量发设到空中某一方向,处在此方向的物体反射该电磁波,雷达通过接收此反射波,以提取该物体的某些信息,比如目标物体至雷达的距离,距离变化率或者径向速度、方位、高度等。雷达和声纳的数据用来表示在车的前进方向上最近避障物的距离。雷达和声纳系统产生的数据不需要经过过多的处理,通常可直接被控制器采用。因此,可实现转向、刹车或者预张紧安全带等紧急功能。

2.感知

在获得传感信息后,数据被送到感知子系统以充分了解无人车周遭的环境。在这里感知子系统主要做:定位、物体识别和追踪。

(1)定位:使用卡尔曼滤波整合IMU/GPS传感器各自的优势,合并提供准确且实时的位置信息更新。然而我们并不能仅仅依靠这样的数据组合完成定位工作,原因有三:

         a.这样的定位精度仅仅在一米以内;

          b.GPS信号有着天然的多路径问题将引入噪声干扰。

          c.GPS必须在非封闭环境中工作,因此在诸如隧道等场景中GPS都不适用。

作为补充,摄像头也被用于定位。基于摄像头的定位一般分为三个步骤:

          a.通过对立体图像的三角剖分,首先获得视差图用以获得每个点的深度信息;

           b.通过匹配连续立体图像帧之间的显著特征,可以通过不同帧之间的关系建立相关性,并由此估计这两帧之间的运动情况;

           c.通过比较捕捉到的显著特征和已知地图上的点计算车辆的当前位置;

     然而基于摄像头的定位方法对照明条件非常敏感,因此借助于大量粒子滤波的激光雷达通常被用做车辆定位的主传感器。由激光雷达产生的点云对环境进行了“形状化描述”,但并不足以区分各自不同的点。通过粒子滤波系统可将已知的地图和观测到的具体形状进行对比以减少位置的不确定性。

(2)物体识别与追踪

物体的识别和追踪也是由激光雷达来完成的,在这个过程中,通过深度学习可以达到较为显著的物体识别和追踪精度。

物体识别:卷积神经网络(CNN)是在物体识别中被广泛应用的深度神经网络。

物体追踪:同样,这里还是使用深度学习的在计算机视觉的应用来完成物体追踪。通过使用辅助的自然图像,离线的训练过程可以从中学习图像的共有属性以避免视点及车辆位置信息变化造成的偏移,离线训练好的模型应用在在线的物体追踪中。

3.决策

在决策阶段,行为预测、路径规划以及避障机制三者结合起来实时完成无人车动作规划。

(1)行为预测:行为预测就是根据司机平时开车驾驶预判行为的方法预判无人车的动作。可以使用随机模型产生这些车辆的可达位置集合,并采用概率分布的方法预测每一个可达位置的概率。

(2)路径规划:路径规划是一个非常复杂的事情,尤其是车辆在全速行驶的过程中。路径规划使用的一个方法是使用完全确定模型,它搜索所有可能的路径并利用代价函数的方式确定最佳路径。

(3)避障:至少使用两层的避障机制来保证无人车的安全。第一层是基于交通情况预测的前瞻级。根据现有的交通状况如拥堵、车速等,估计出碰撞发生的时间以及最短预测距离等参数。基于这些估计,避障机制将被启动以执行本地路径规划。如果前瞻级失效,则第二级实时反应层将使用雷达数据进行本地路径重新规划,一旦雷达预测到路径前方有障碍物,则立即执行避障机制。

本博客基于《第一本无人驾驶技术书》,如果是入门级别,推荐这本书,比较系统而且简单。

 

 

 

         

你可能感兴趣的:(无人驾驶)