一、“智能无人驾驶技术”现在发展到什么阶段了?
到目前为止,无人车发展可以分为三个阶段。
阶段一:UGV 军方背景时代:2001 - 2007
2001年,因为战争中的大量伤亡,美国国防部出台法案:到2015年,美军1/3的地面作战车辆必须为无人驾驶。 (Section 220 of the FY2001 defense authorization act)。 自此,DARPA (美国的国防科工委)成为无人车辆科研的先驱。当时无人车的英文名称为Unmanned-Ground Vehicle (UGV) 一听就充满了军事的味道。
2004年,为促进无人车发展,DARPA组织了第一届无人车拉力挑战赛Grand Challenge,赛程穿越加州到内华达沙漠,全程150英里。参赛队伍包括斯坦福,卡内基梅隆大学等顶尖高校,然而,没有一个参赛队完成比赛。就连表现最好的卡内基梅隆队,也只是行驶了约7.3英里。
2005年,仅仅1年之后,由我导师的导师Sebastian Thrun领军的斯坦福大学队Stanley就完成了拉力赛全部路程,并夺得第一名。卡内基梅隆大学屈居第二。
(我和无人车技术先驱Sebastian)
今天我想就无人车的核心技术谈一谈我的看法和认识。
二、无人车涉及的核心技术
无人车是一个非常完备的系统,从技术上,可以分为以下几个模块:
1、perception Perception指的是无人车如何能够识别周边的环境,例如街道范围,信号灯、路标等,知道应该停止还是 前进。如果交通标志非常清晰、易读,那么无人车相对比较好识别。
但难点在于,如何识别模糊的标志呢?
比如,芝加哥一到冬天,风就特别大,还飘着雪花,能把整个stop sign全都遮盖掉。驾驶员都难以分辨那 是个stop sign还是别的标志。那在这种极端情况下,无人车如何能够正确安全的驾驶? 这里主要用到的技术就是computer vision,machine learning等技术。随着深度学习的技术的普及和 深入,Perception 这几年有了很大的进展,整个路标、路况识别的准确率有了质的提高。这为无人车安全 行驶提供了非常坚实的基础。但Andrew Ng在一次硅谷的论坛上透露,目前无人车还无法精确识别小范围动作,例如手指头指挥车辆前进还是后退。
2、sensor fusion & localization不管是激光、声纳还是雷达传感器、传回来的信号都是带有大量的noise和不确定性的。如何过滤这些无用 信息,将客观世界进行3D甚至4D还原,就是sensor fusion和localization的这一步。
那么,如何在有大量noise的、不确定的情况下,去定位车的位置呢?
比较常用的方法有Particle Filter、 Kalman Filter等等。 从硬件的角度讲,前些年,无人车主要使用雷达或者声纳作为传感器,但最近比较流行的是LIDAR(light detection and ranging)系统,就是用激光束在不同的时间和空间进行照射,获取信息。 激光的好处非常多,比如穿透率高、速度快、准确率高。但激光系统普遍成本较高。如果无人车要量产的 话,激光系统昂贵的造价是一个阻碍。 那么LIDAR系统具体怎么运作呢? 激光束打到物体上,形成反射的信号,系统通过信号的距离和深度,形成一个个的数据点。
第一步,clustering。把点的外形和profile定义出来;
第二步,用机器学习做classification,识别该物体到底是灌木丛、砖块还是人;
第三步,modeling和prediction。理解和预测该物体的运动形态、速度和不确定性。 通过这些步骤,对外界环境进行3D或者4D的还原。
3、motion planning and decision making Motion planning和decision making就是无人车的大脑,也是我博士期间主要的一个研究方向。
这一步就是在sensor fusion做完之后,在不确定的、动态的环境下,如何让无人车做出正确的判断和计划。比如 从A和B点,全程100公里,如何确定远程、中程和近程计划?
Motion Planning & Decision Making的难点主要在两点: 第一,运算量非常大,search space指数型增长。
举一个简单的例子,一个10个关节的机器臂,每个关节都有180度的活动空间,如果每一度都是一个自由度的,那这个复杂度呈指数级增长的,高达180的10次方。从无人车实践的角度讲,这个复杂度会比机器 臂高很多, 尤其是在不确定未知环境下。
第二,不确定的因素很多,整个motion planning和搜索出来的结果,要不断随着你的信息的变化而变 化。 比如,在战场上,某个作战车辆要通过某个桥,按照GPS信号和地图,这个桥是完好无损的,但车辆开到 该地点的时候,发现桥被炸掉了,这时就需要快速的更新计划。
或者,在高速上,无人车沿着一个车道行驶,突然发现有一头鹿横穿马路。这时候,如何在毫秒级别的时 间里,把之前规划的路线和速度,进行最安全的调整。这是一个非常艰巨的也是非常关键的技术。
这里用到的主要技术有Incremental Search-Based algorithm,sampling based planning algorithm等等。
Incremental search based algorithm。在motion planning领域,主要指的就是如A*,D*,D* Lite, MT-D* Lite等算法。我和我导师之前在研究的moving target D* Lite,也属于这一部分。这一算法就是解决在未知、不确定、动态的环境下,如何从A点到达B点。从实现上,就是通过新的信息,更新search space,在更短的时间里,维持那些不需要更改的信息和计划,只是局部的把那些危害到生命健康的计划进 行修改。
Sampling based planning algorithm(RRT sacrifice of optimality)。简单来讲,这种算法就是通 过抽样,把比较复杂的search space进行简化,加快搜索和运算的速度。但是这个算法的问题是会牺牲最 优性。 这两种search都在不同的系统有应用。 这里举一个例子,讲一讲motion planning真正在现实中的应用。无人车过去10年的应用主要在军方和航天上,比如说火星探测器。
对于火星探测器来说,motion planning的算法面临着两个大问题: 第一个是power of computing,要节能。在当时,节能这么重要主要是因为火星探测器的太阳能板功能 比较弱。当时只有在阳光垂直照射,偏差不超过十几度的情况下,火星探测器有足够的功率前进。
所以, 不可能把所有功率放在CPU上去运算路径,这个算法必须非常节能。 另一个是efficiency,运算要快。火星地面不比城市路面,如果每次遇到什么情况的时候,比如有个坑、 大石头之类的,火星车都要停下来,运算完了再走,那这个火星车运行效率就太低了。 为了解决这两个问题,motion planning的算法也有了长足的进步。(NASA的火星探测器用的就是我导师写的D* Lite的优化变种,加拿大宇航局的系统里也在使用过我和我导师研发的D* Lite, GAA* 的优化版 本)
4、Control 和System Integration 如何在一个复杂的系统里,把各个元器件集成起来,能够和谐的工作,沿着规划的路线、速度等进行安全的行驶。
-
无人驾驶
+关注
关注
98文章
4029浏览量
120295
原文标题:谷歌资深工程师:自动驾驶汽车涉及哪些技术?
文章出处:【微信号:IV_Technology,微信公众号:智车科技】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论