你听过无人驾驶,但你了解无人驾驶的算法吗?

标签: dev | 发表时间:2017-05-26 00:00 | 作者:
分享到:
出处:http://itindex.net/admin/pagedetail

小编说:我们已经拉开了全自动无人驾驶的序幕,在幕布之后是我们精彩的未来,但你可能不知道的是无人驾驶系统是一个复杂的系统,系统主要由三部分组成:算法端、Client端和云端。算法端从传感器原始数据中提取有意义的信息以了解周遭的环境情况,并根据环境变化做出决策。跟随本文一起简单了解下无人驾驶算法吧。本文选自《第一本无人驾驶技术书》。

算法系统由几部分组成:第一,传感,并从传感器原始数据中提取有意义信息;第二,感知,以定位无人车所在位置及感知现在所处的环境;第三,决策,以便可靠、安全地抵达目的地。

1.传感

通常来说,一辆无人车装备有许多不同类型的主传感器。每一种类型的传感器各自有不同的优劣,因此,来自不同传感器的传感数据应该有效地进行融合。现在无人驾驶中普遍使用的传感器包括以下几种。

(1)GPS/IMU:GPS/IMU 传感系统通过高达200 Hz频率的全球定位和惯性更新数据,以帮助无人车完成自我定位。GPS是一个相对准确的定位用传感器,但是它的更新频率过低,仅有10Hz,不足以提供足够实时的位置更新。IMU的准确度随着时间降低,因此在长时间距离内并不能保证位置更新的准确性;但是,它有着GPS所欠缺的实时性,IMU的更新频率可以达到200Hz或者更高。通过整合GPS与IMU,我们可以为车辆定位提供既准确又足够实时的位置更新。

(2)LIDAR:激光雷达可被用来绘制地图、定位及避障。雷达的准确率非常高,因此在无人车设计中雷达通常被作为主传感器使用。激光雷达是以激光为光源,通过探测激光与被探测物相互作用的光波信号来完成遥感测量。激光雷达可以用来产生高精度地图,并针对高精地图完成移动车辆的定位,以及满足避障的要求。以Velodyne 64-束激光雷达为例,它可以完成10Hz旋转并且每秒可达到130万次读数。

(3)摄像头:摄像头被广泛使用在物体识别及物体追踪等场景中,在车道线检测、交通灯侦测、人行道检测中都以摄像头为主要解决方案。为了加强安全性,现有的无人车实现通常在车身周围使用至少八个摄像头,分别从前、后、左、右四个维度完成物体发现、识别、追踪等任务。这些摄像头通常以60Hz的频率工作,当多个摄像头同时工作时,将产生高达1.8GB每秒的巨额数据量。

(4)雷达和声呐:雷达把电磁波的能量发射至空间中某一方向,处在此方向上的物体反射该电磁波,雷达通过接收此反射波,以提取该物体的某些有关信息,包括目标物体至雷达的距离、距离变化率或径向速度、方位、高度等。雷达和声呐系统是避障的最后一道保障。雷达和声呐产生的数据用来表示在车的前进方向上最近障碍物的距离。一旦系统检测到前方不远有障碍物出现,则有极大的相撞危险,无人车会启动紧急刹车以完成避障。因此,雷达和声呐系统产生的数据不需要过多的处理,通常可直接被控制处理器采用,并不需要主计算流水线的介入,因此可实现转向、刹车或预张紧安全带等紧急功能。

2.感知

在获得传感信息之后,数据将被推送至感知子系统以充分了解无人车所处的周遭环境。在这里感知子系统主要做的是三件事:定位、物体识别与追踪。

1)定位
GPS以较低的更新频率提供相对准确的位置信息,IMU则以较高的更新频率提供准确性偏低的位置信息。我们可以使用卡尔曼滤波整合两类数据各自的优势,合并提供准确且实时的位置信息更新。如下图所示,IMU每5ms更新一次,但是期间误差不断累积精度不断降低。所幸的是,每100ms,我们可以得到一次GPS数据更新,以帮助我们校正IMU积累的误差。因此,我们最终可以获得实时并准确的位置信息。然而,我们不能仅仅依靠这样的数据组合完成定位工作。原因有三:其一,这样的定位精度仅在一米之内;其二,GPS信号有着天然的多路径问题将引入噪声干扰;其三,GPS必须在非封闭的环境下工作,因此在诸如隧道等场景中GPS都不适用。

基于GPS/IMU定位的原理图

因此作为补充方案,摄像头也被用于定位。

基于立体视觉测距的流程图

简化来说,基于视觉的定位由三个基本步骤组成:① 通过对立体图像的三角剖分,首先获得视差图用以计算每个点的深度信息;② 通过匹配连续立体图像帧之间的显著特征,可以通过不同帧之间的特征建立相关性,并由此估计这两帧之间的运动情况;③ 通过比较捕捉到的显著特征和已知地图上的点计算车辆的当前位置。然而,基于视觉的定位方法对照明条件非常敏感,因此其使用受限且可靠性有限。

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

为了在地图中定位运动的车辆,可以使用粒子滤波的方法关联已知地图和激光雷达测量过程。粒子滤波可以在10cm的精度内达到实时定位的效果,在城市的复杂环境中尤为有效。然而,激光雷达也有其固有的缺点:如果空气中有悬浮的颗粒(比如雨滴或者灰尘),那么测量结果将受到极大的扰动。

定位中的多传感器融合

因此,我们需要利用多种传感器融合技术进行多类型传感数据融合,处理以整合所有传感器的优点,完成可靠并精准的定位。

2)物体识别与跟踪

激光雷达可提供精准的深度信息,因此常被用于在无人驾驶中执行物体识别和追踪的任务。近年来,深度学习技术得到了快速的发展,通过深度学习可达到较显著的物体识别和追踪精度。

卷积神经网络(CNN)是一类在物体识别中被广泛应用的深度神经网络。通常,CNN由三个阶段组成:① 卷积层使用不同的滤波器从输入图像中提取不同的特征,并且每个过滤器在完成训练阶段后都将抽取出一套“可供学习”的参数;② 激活层决定是否启动目标神经元;③ 汇聚层压缩特征映射图所占用的空间以减少参数的数目,并由此降低所需的计算量;④ 一旦某物体被CNN识别出来,下一步将自动预测它的运行轨迹或进行物体追踪。

物体识别和跟踪示意

物体追踪可以被用来追踪邻近行驶的车辆或者路上的行人,以保证无人车在驾驶的过程中不会与其他移动的物体发生碰撞。近年来,相比传统的计算机视觉技术,深度学习技术已经展露出极大的优势,通过使用辅助的自然图像,离线的训练过程可以从中学习图像的共有属性以避免视点及车辆位置变化造成的偏移,离线训练好的模型直接应用在在线的物体追踪中。

3.决策

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

1)行为预测

在车辆驾驶中主要考验的是司机如何应对其他行驶车辆的可能行为,这种预判断直接影响司机本人的驾驶决策,特别是在多车道环境或者交通灯变灯的情况下,司机的预测决定了下一秒行车的安全。因此,过渡到无人驾驶系统中,决策模块如何根据周围车辆的行驶状况决策下一秒的行驶行为显得至关重要。

为了预测其他车辆的行驶行为,可以使用随机模型产生这些车辆的可达位置集合,并采用概率分布的方法预测每一个可达位置集的相关概率。

面向行为预测的随机模型示意

2)路径规划

为无人驾驶在动态环境中进行路径规划是一件非常复杂的事情,尤其是在车辆全速行驶的过程中,不当的路径规划有可能造成致命的伤害。路径规划中采取的一个方法是使用完全确定模型,它搜索所有可能的路径并利用代价函数的方式确定最佳路径。然后,完全确定模型对计算性能有着非常高的要求,因此很难在导航过程中达到实时的效果。为了避免计算复杂性并提供实时的路径规划,使用概率性模型成为了主要的优化方向。

3)避障

安全性是无人驾驶中最重要的考量,我们将使用至少两层级的避障机制来保证车辆不会在行驶过程中与障碍物发生碰撞。第一层级是基于交通情况预测的前瞻层级。交通情况预测机制根据现有的交通状况如拥堵、车速等,估计出碰撞发生时间与最短预测距离等参数。基于这些估计,避障机制将被启动以执行本地路径重规划。如果前瞻层级预测失效,则第二级实时反应层将使用雷达数据再次进行本地路径重规划。一旦雷达侦测到路径前方出现障碍物,则立即执行避障操作。

相关 [驾驶 驾驶 算法] 推荐:

你听过无人驾驶,但你了解无人驾驶的算法吗?

- - IT瘾-dev
小编说:我们已经拉开了全自动无人驾驶的序幕,在幕布之后是我们精彩的未来,但你可能不知道的是无人驾驶系统是一个复杂的系统,系统主要由三部分组成:算法端、Client端和云端. 算法端从传感器原始数据中提取有意义的信息以了解周遭的环境情况,并根据环境变化做出决策. 跟随本文一起简单了解下无人驾驶算法吧.

Google自主驾驶汽车出车祸

- Jingzhi - Solidot
Google去年透露正在研发自主驾驶汽车,并在人类很少干预的条件下行驶了十几万英里. 人工智能驾驶的汽车引发了一些安全方面的担忧. 本周早些时间,有目击者在Google山景城总部拍摄了一幅照片,显示一辆普锐斯与另一辆普锐斯追尾. 听起来是这是一次无关紧要的小事故,但肇事者是Google自主驾驶原型车.

Google 无人驾驶汽车的原理

- - 爱范儿 · Beats of Bits
最近,内华达州的机动车驾驶管理处给 Google 无人驾驶汽车 颁发了车牌. 虽然 Google 透露这个项目至少还要十年才能投放商用,但是这仍然是一个令人兴奋的消息,可以幻想下有生之年迎接一个无需考驾照的时代. 对于无人驾驶汽车,想必许多人会质疑其可行性,毕竟实际的路况非常复杂,汽车自身如何能够做出准确的判断呢.

谷奥: Google 自动驾驶汽车追尾了──不过是在手动驾驶模式下

- Kai - 谷奥聚合——谷奥主站+谷安 aggregator
Jalopnik的读者捕捉到了Google自动驾驶汽车的首次事故(上图),照亮拍摄自Google总部山寨城附近,似乎是后面那辆Google自驾车丰田普锐斯(车顶上装着探测设备的那辆)撞到了前面的另外一辆普通的丰田普锐斯上. 这似乎对Google推广自动驾驶汽车不是啥好兆头啊. 但是接下来的事情却让整个故事峰回路转了.

图解驾驶技巧,受用一辈子

- 牛事达 - FeedzShare
来自: 云卷云舒的博客 - FeedzShare  . 发布时间:2011年02月26日,  已有 3 人推荐. 关于离合器使用的细节要领(补充).   在单行道路上(或没有划分中心线的双行车道路)正常行驶时,最佳行车位置是道路中间略偏右,也就是驾驶员坐在路的中心朝前开.   1、便于控制方向:由于一般情况下道路是呈弧形中间高两侧低,中偏右行驶时车辆会向右偏行,这时只须左手将方向盘的自由行程轻轻向左带住就能控制车辆的直行方向.

谷歌自动驾驶技术,你需要么?

- hhx - Engadget 中国版
在本周举行的加利福尼亚州科技、娱乐和设计大会(TED Conference)上,谷歌宣布即将推出带有自动驾驶功能的汽车. 目前还不知道这个汽车是否会商业化量产销售,不过这种汽车可以让你尽享坐车的乐趣,实际测试的时候,如果路况很好,驾驶速度可以达到每小时40英里(约为64公里),并且已经经过长时间测试,每辆测试的自动驾驶汽车都已安全行驶了至少14万英里;这种无人驾驶汽车所用到的设备包括摄像机、雷达感应器和激光设备等,车载电脑能识别交通灯,识别人行道和障碍物等,并模拟人的智力对相应交通状况作出正确反应.

中国无人驾驶汽车行驶286公里

- ZhenZ - Solidot
bonnae1982 写道 "据解放军报报道,由国防科技大学自主研制的红旗HQ3无人车,14日首次完成了从长沙到武汉286公里的高速全程无人驾驶实验. 实验从京珠高速公路长沙杨梓冲收费站出发,历时3小时22分钟到达武汉,总距离286公里,全程由计算机系统控制车辆行驶速度和方向,系统设定最高时速110公里,实测全程自主驾驶平均时速为87公里,在特殊情况下进行干预,距离合计约为2.24公里,仅占自主驾驶总里程的0.78%.

Google 无人驾驶汽车出现第一次撞车事故

- lackar - 36氪
Google CEO Eric 说:「汽车先于电脑发明是一个 Bug. 」然后我们就知道2009年时,Google的无人驾驶汽车已经在路上跑了. 根据Jalopnik,本周早些时候,Google 的无人驾驶汽车在山景城追尾了另一辆汽车(上图),这似乎是 Google 无人驾驶汽车的第一次撞车事故. Google 发言人对Business Insider 说这次事故发生的时候,车里是有驾驶员在控制汽车的:.

【发现者】地铁无人驾驶安全吗?

- Shphi - 网易新闻·有态度专栏
导语:2011年9月27日14时许,上海地铁10号线豫园至老西门下行区间两列车发生追尾事故,事故造成271人受伤. 作为一条按照无人驾驶标准设计的地铁,此次事故难免让人对于地铁无人驾驶的安全问题产生疑惑. 事实上,无人驾驶地铁上世纪90年代在法国、新加坡等国就已开始兴建,鲜有发生安全事故. 中国地铁频发事故的原因未必是技术的落后,而是管理和细节的不到位.

Panasonic 三屏幕驾驶仪表板原型动手玩(影片)

- Woooon - Engadget 中国版
虽然我们在有生之年应该很难看到会飞行车的出现,不过透过先进仪表板设备,也还是可以让人那种感受充满未来感的行车感受(但是要想办法忽略地面坑洞所传来的震动). 全玻璃式的仪表版设计在业界一直以来都处于概念阶段,但今年 Panasonic 尝试打造一个多屏幕的仪表板系统. 这个在 CEATEC 所展示的原型驾驶座,拥有多功能的三屏幕仪表板设计,以 20 寸的主屏幕搭配双 10.4 寸屏幕,令整个仪表板的视野感觉极为广阔,尽管仪表版中播放的仍是预录的行车影片,但依然是吸引了许多路人的目光.