什么样的车会自己跑?当然是无人驾驶汽车!
但是在实现真正的无人驾驶之前,有一个更宽泛的概念是自动驾驶。大家应该也都听过,自动驾驶是分等级的,应用最广泛的是SAE国际汽车工程师协会制定的,将自动驾驶分为L0-L5六个等级。
L0当然是没有自动驾驶功能,L1到L5自动驾驶水平依次提升。大家可以看一下这张图,对自动驾驶分级有一个大概的了解。
那是不是只有L5,才能叫无人驾驶?也不是,一些更低等级的自动驾驶应用在一些特殊场景内,其实也可以完全无需人的介入。比如现在已经少量上路的外卖、快递配送车;港口、矿场内的无人运输车;场地内的载人观光无人驾驶汽车或微循环巴士等等。
不过我们聊的最多的,其实是可以在开放道路行驶的自动驾驶汽车。
需要注意的是,目前国内上路的所有自动驾驶汽车,包括特斯拉,都仍然属于L2级,驾驶主体是人。如果发生交通事故需要负责的也是驾驶员本人。
奥迪A8等号称实现L3级自动驾驶的量产车,目前并没有在国内开放相应功能,并且在绝大多数市场都没有开放。
主要原因是法律法规的限制,因为一旦实现L3级,在特定场景下驾驶主体就变成了车,发生事故的责任界定需要更复杂的法律法规去完善。所以目前使用自动驾驶功能时,一定要保持注意力。
搞清楚这些,我们来看一下自动驾驶汽车是怎么运转的。
现在想想我们人是怎么开车的,首先看清楚周围的路况,判断要不要拐弯,或者加速、或者停车,然后控制方向盘、刹车、油门。
对应到自动驾驶汽车上,就是:感知-决策规划-控制。
自动驾驶如何感知环境
感知可以分为环境感知和车辆运动,一个是了解周围环境,一个是了解自身的状态。
如果是低阶的自动驾驶,比如现在的L2级,还需要一项驾驶员监测。
驾驶员监测
驾驶员监测比较好理解,车内的摄像头可以监测驾驶员有没有犯困睡着,有没有长时间分神处理别的事情。
而方向盘上的生物电传感器,可以监测驾驶员有没有保持手握方向盘,甚至可以感知到驾驶员状态、情绪。不过有些车用的是方向盘转矩来监测的。
车辆运动
车辆运动感知是要知道你在哪。最基础的当然是GPS全球定位系统,当然也包括我们的北斗系统。
不过卫星信号在隧道、楼宇间甚至树荫下都有可能断掉,这就需要惯性导航来短时间继续判断你的位置。
惯导通过车辆的加速度判断车辆的速度、偏航角等信息,对应到导航坐标系中实现定位,不需要依赖外界信号,但持续时间和精度有限。尤其是大规模量产的车上,成本受限的惯导系统。
另外,自动驾驶车上还需要有速度传感器和角传感器等,感知车辆当前的运动状态。
摄像头
在感知系统里,对环境的感知相对复杂一些。对环境的感知需要用到传感器,最容易想到的当然是最类似人眼的摄像头。
不过不像人眼可以快速的变焦和转动,目前的技术还无法支持车载摄像头频繁的变焦,也无法支持由此产生的海量数据。所以车载摄像头都是定焦的,这就限制了可以观察的视距。
如果再加一个摄像头,让他的视距更远,这就是双目摄像头。一个负责看得广,一个负责看得远。并且还能像人眼一样通过两个有间距的摄像头的图形差值,更好的判断距离。
但双目摄像头需要让两组图像可以重合,以便让系统可以识别,这就需要专门的标定。但热胀冷缩等会影响标定好的精度,这就给后期的融合带来了麻烦。
同理还有三目摄像头可以覆盖三个不同的视距,但标定也会更加麻烦。
除了朝前看,高阶自动驾驶汽车还需要能看到侧面和后面,这就需要车身周围的更多摄像头。
摄像头的优势在可以看到更多的细节,包括车道线、红绿灯、刹车灯等等。但判断距离的精度较差,大雾、雨雪、逆光、夜晚等会影响他的识别。这就需要雷达做辅助。
毫米波雷达
我们平时用的倒车雷达是超声波雷达,发出的是声波,只能达到声速。超声波雷达体积小、价格低,但探测精度差、范围小,并且在高速运动时影响很大,在自动驾驶中的应用并不多。
应用多的是毫米波雷达,发出的是电磁波,以光速传播。主要的毫米波雷达有24GHz和77GHz两种。
24GHz频率低、带宽窄,精度相对较低,主要用于盲点监测、自动泊车等。
而77GHz精度高很多,可以更准确的探测距离,并且天气等对他的影响很小。和摄像头融合就能够很好的完成对环境的感知。
但毫米波雷达可以感知距离,可无精准法感知物体的具体形状,或者前方两个人的间距等,探测的噪点也很多。比如空无一物的道路上,因为一些起伏或者路面的颗粒等,也会形成反射干扰毫米波雷达的判断。
激光雷达
激光雷达可以很好的解决这些问题,他的精度可以达到厘米级。
激光雷达上每一个激光发生器代表一线,常用机械旋转式激光雷达有10线、64线、线等。
激光雷达每射出一束光就收集到周围环境一个点的具体位置,每旋转一圈就能收获周边环境°的一个点云,由此可以生成一幅更多细节的立体空间。与摄像头拍摄的图形融合,就能生成有颜色、有细节、又有具体位置的周边环境。不仅可以用于自动驾驶汽车,也可以用于绘制高精度地图。
我们知道光也是一种波,最常用的激光雷达有波长为nm和nm两种。
因为硅可以吸收nm波长的光子,而nm的接收器需要用到铟镓砷,所以nm的激光雷达成本更低。
但nm波长更接近可见光,为了防止出现意外伤害人眼,需要限制功率,探测距离也因此受限。而nm可以用更高的功率探测更远的距离。
但激光雷达也有很多限制:
首先是成本,因为此前激光雷达仅用于测绘、*事等少数领域,精度要求高、产量需求低,所以价格十分高昂。很多自动驾驶测试团队采购的激光雷达,动辄数十万乃至上百万。
并且传统的激光雷达十分笨重,因为需要选装感知周遭环境。所以需要架设在车顶,但这么沉重的设备对车辆重心、风阻等影响很大。而一旦发生碰撞,如此沉重的设备带来的风险也十分巨大。
不过如果自动驾驶形成产业,相信激光雷达的成本和重量都能得到很好的控制。
由于传统的旋转式激光雷达需要不断的转动,难免会存在机械损耗甚至故障。目前已经出现了棱镜激光雷达、固态激光雷达、相控阵激光雷达等诸多方案,且已经有部分达到车规级要求实现量产,奥迪全新A8部分车型就就配备有量产车规级的激光雷达。
棱镜激光雷达通过电磁波控制很多块棱镜的角度反射激光实现点云覆盖,但电磁波控制在棱镜在大的颠簸中容易发生位移影响精度;单纯朝向一侧的固态激光雷达不需要机械运动,更像是通过激光拍照,但目前探测的距离偏短;而相控阵激光雷达是通过光栅原理让激光发生偏转实现扫描,不过技术成熟度和成本仍然受限。
我们在物理课本中学过,长波可以绕过障碍物,而短波更容易被反射。波长很短的激光遇到在大雾、雾霾、雨雪天气等天气时,雨雾、雾霾颗粒会反射激光,让激光雷达失效。相反波长较长的毫米波不会受到影响。
而对比摄像头,激光雷达无法识别颜色,也就无法识别红绿灯、车道线等。
数据融合
所以将三者的数据通过一个模块融合,就能生成一个比较完整的周遭环境的具体状态。
因为车在动,环境中的物体也在动,所以还需要对每一组数据都打上精准的时间戳,以便确定环境的实时状态,这就需要一个比较复杂的算法来完成。
不过三种传感器的方案也并不绝对,例如特斯拉就坚持仅适用摄像头+毫米波雷达来实现更高阶的自动驾驶。马斯克宣称仅升级算法就可以实现完全自动驾驶。理论上这种方案确实可行,不过目前的人工智能水平还远未达到。
在感知层面,还有另一种路线是传感器配合高精度地图、高精度定位加上V2X,这个我们后面会聊到。
视觉算法
以上仅仅完成了“看见”的要求,想要让车辆能“认识”又是一道难关。
车是机器、车上的AI也是机器。AI人工智能智能进行数学运算,如何让AI分清路上的各种东西?
简单来说就是识别物体的特征,将这些特征转化成AI可以理解的数字信号后再进行比对。
比如你要让AI认识金毛,可以告诉AI金毛是棕*色的,但AI会把秋田、狐狸、皮包、沙滩,或者别的奇奇怪怪的东西都当做金毛。
那输入更多的特征呢?AI还是可能把泰迪熊,甚至曲奇饼干当做金毛......
有没有更好的办法?有!你可以给AI看一百张、一千张甚至更多的金毛的照片,让他自己识别特征,这就机器学习的基本原理。
由此还诞生了一个新的职业——数据标注员。就是给图片打各种标签,用于AI学习。
理论上海量的数据就能让视觉算法认识路上的所有东西,实现完全的自动驾驶,但现在的技术还远没达到。并且受芯片算力的限制,AI还需要对识别出来的物体简化方便运算。
比如我们看到的细节丰富的路口,特斯拉目前最新的算法,也需要简化成下图这样进行理解。
这也是越高阶的自动驾驶,对算力的要求也越高的重要原因。
决策与路径规划
看懂了周遭环境,也了解了自身的状态,下一步就需要决定怎么走。
比如最简单的车道保持,AI会把车道线简化成一个一个的点进行决策。如果进入弯道时,车辆识别到右边的点太近,就转向左边,左边太近了有转向右边,这么生硬的晃来晃去,相信没有人愿意坐这样的车。
这就需要优化算法,比如把连接两点的直线换算成平滑的曲线,这样转向带来的加速度就会变小,经过更复杂的优化才能让车沿着车道线,走出一条平滑的弧线。
同理还要优化对刹车油门的控制,不至于新手司机那样猛加速猛刹车,动作更加拟人。而这还是最基础的部分。
遇到前方慢车需要减速还是变道超车,判断旁边车道是否有足够安全的间距,后方车辆是否在快速接近来决策变道是否安全。
还有在混乱的障碍物中间,如何找到一条最短又平顺的路径通过。当然,还有必须要遵守的交规等。
这些才是决策规划的难点。
这些动作的背后,是一行行的代码
自动驾驶芯片
运算代码需要用到芯片。
目前很多测试的自动驾驶车辆,用的其实是通用的GPU等芯片。测试中的自动驾驶车辆,往往计算单元就能塞满整个后备箱。
但算法确定之后,可以开发专用的芯片,占用的空间对于汽车可以忽略不计。
自动驾驶对于性能和算力的要求很高,更先进的制成工艺可以实现更好的性能,但同时车用的芯片有需要满足车规级的要求。
车规级要求简单来说,就是需要满足远高于手机等消费级电子产品的防水、防尘、防震、防高低温等等性能。比如最低-40℃,最高80℃,并且要最低温直接切换到最高温不出问题。
要同时满足性能和车规级要求,成本就难以控制了!
所以通常会降低制成精度优先考虑安全,同时做一个双系统的冗余设计。例如一块芯片出现问题,另一块芯片立刻无缝接替工作,同时出问题的芯片已经在自检重启,而乘员并不会感知到。
我们看到当下手机已经大量使用7nm制成,甚至开始使用5nm制成。但车用芯片可能还是24nm甚至48nm制成,这并不奇怪。
同理还有很多手机等消费电子产品早已使用,甚至略显过时的技术,才刚刚在汽车上使用,其实已经是很巨大的进步了。
完成控制车才真的动起来了
完成了感知、决策规划,就好像我们开车时看清了路况并决定了下一步怎么操作。接下来转动方向盘,踩下油门、刹车才是关键。
自动驾驶汽车的AI不是一个实体的机器人,想要完成对车辆的控制不能通过物理的操作。
这就需要车辆有线控系统,简单来说就是我们传统的方向盘、油门、刹车就是物理按键,而线控是虚拟的触摸按键,对车辆的操控是通过电信号,而不是物理传导。
目前绝大多数车辆并不具备线控系统,即便如英菲尼迪Q50的线控转向,处于安全考虑也是有物理传导备份的。目前车上大量取消了物理传导的,主要是换挡机构(电子档杆等)和手刹(电子手刹、AutoHold等)。所以传说巡航无法取消,踩刹车没有反应的事件并不会真实存在。
有了线控装置,还需要有对应的控制算法。控制是自动驾驶中很重要、很困难但相对成熟的一项技术,目前主流有PID(积分微分控制)、LQR(线性二次调节器)、MPC(模型预测控制)几种成熟的方案,这里就不对算法做过多的阐述了。
智慧的车、智慧的路
具备感知-决策规划-控制能力后,一辆车才具备了自动驾驶能力。但究竟能实现何种程度的自动驾驶水平,还取决于各项技术的先进程度。
感知传感器可以叠加,可以做大量冗余,但物理限制仍然存在;AI算法可以通过大量的测试和海量的数据进行深度学习,不过目前AI人工智能还有巨大的进步空间;芯片的性能和算力还要寄托于技术水平的进一步升级。
单车自动驾驶水平的提升还有很多的限制需要突破,不过也可以通过外界的赋能让他进步的更快。
高精度地图
我们开车在日常上下班熟悉的路线上会开的更好,在陌生的地段就需要小心翼翼。
怎么让自动驾驶汽车也能对道路想老司机一样熟悉?答案是高精度地图。
我们现在用的导航已经非常方便了,有明确的路线指引,还有实时的拥堵状况等。不过不知道你有没有遇到过因为走错车道错过路口的状况?高精度地图的不同就在这里,可以精确到车道,以及路面的虚线实线等等。
通过计算刹车距离,系统反应时间等的计算,目前自动驾驶汽车(乘用车)的感知距离到达m就可以保证安全。
当然这是对障碍物的感知,对道路的感知其实还要更短。通过高精度地图,自动驾驶车辆可以提前了解感知范围之外的道路情况,提前规划好路线。
目前还有技术路线是通过路上行驶的自动驾驶汽车的感知传感器实时上传道路数据。通过这种“众包”的方式获得更多路段的高精度地图,效率更高,同时也能获得各条道路实时的高精度路况。
不过目前这种方案在我国还不可行。因为精确的地图数据往往也会牵涉到国家安全,包括中国在内的许多国家对地图采集绘制有比较严格的限制。
进行地图数据采集、测绘需要有相应国家测绘资质。目前国内采集的地图数据不可以通过网络传输,需要用硬盘保存数据在相关机构进行不可逆的偏离加密才可以上传到网络。
目前我们使用的导航地图,部分路段实际可能有数米的位置偏离,但这对于高精度地图显然不合适。
好在我国对于自动驾驶及高精度地图等都十分支持,百度、高德等图商的高精度地图已经陆续落地。蔚来与小鹏的高速领航功能就是分别运用百度和高德的高精度地图实现的。
V2X
在前文讲感知时,我们提到人开车不仅需要眼看,还需要耳听。但是自动驾驶汽车感知传感器并没有收音的相关设备,为什么?
开车时我们主要听什么?周边车辆的喇叭声和救护车、消防车、警车等的鸣笛等等。也就是别的车和你之间的一种交流。
针对特种车辆,当然也可以用视觉感知来分辨进行避让,但自动驾驶汽车与其他车辆的交流似乎并没有提及。
其实,有比鸣笛更高效的交流方式,并不仅是和别的车,这就是V2X。
在靠单车智能实现L4级、L5级自动驾驶软硬条件遇到瓶颈的情况下,中国提出了车路协同的发展路径,即车与车(V2V)、车与路(V2I)、车与人(V2P)、车与云(V2N)等信息交互和共享。
早前也有很多团队尝试发展V2X技术,例如通过WiFi信号等进行沟通,但通讯的延时和带宽都存在瓶颈,且高速移动的汽车也很难保持稳定。
5G的落地给V2X打开了一扇门,低延时高带宽且能很好的适应高速移动,5G的应用岁远不止自动驾驶,但仿佛天生就是为自动驾驶车路协同准备的大招。
在一条普通的道路(含红绿灯,信号机,交通标识……),装备上一套智能路侧设备(RSU、激光雷达、毫米波雷达、摄像头、MEC、5GCPE以及智慧锥桶……),在5G的加持下车联网V2X平台便能大展身手。
车把自身的行驶轨迹、位置、速度等信息“告诉”路;而路端通过多维感知和协同计算,再把相关的碰撞信息、预警信息等内容“告诉”车。
目前,在杭州萧山区连接绍兴、宁波两地已经建成了中国首条“超级高速”,也是国内首次开辟自动驾驶专用道设计的高速——杭绍甬智慧高速。融合了车路协同、云控平台、5G通信网络等新兴技术,能实现车道级主动管控、自动派单救援、恶劣环境智能诱导预警、交通服务信息定制推送等。
结语
自动驾驶目前还处在发展的初期阶段,很多技术已经初步成型,但技术细节和未来方向还有很多的不确定性,因此不论是相关的专业论文还是行业内的人员和企业都仍然可能有判断失误的地方。至于本文,当然更是会有诸多的浅薄与疏漏,还请多多包涵。但自动驾驶已经成为极具潜力的发展趋势,只希望用简单的文字让大家对自动驾驶有一个基本的认知。
当下,关于自动驾驶有单车智能和车路协同的路线之争,包括特斯拉、谷歌等海外品牌以单车智能为主要的发力点,而中国则坚定的走上了车路协同的路线。
车路协同需要巨大的基础建设投入,这正是被称为“基建狂魔”的中国最擅长的领域。有人说发展车路协同会影响到企业提升单车智能的动力和精力,在相关基建尚未能覆盖的地区,尤其是海外市场会削弱竞争力。
作为企业,无法推动如此大规模的基础设施建设,特斯拉、谷歌等自然而然的选择了单车智能的路线。但车路协同发展的不仅仅是智慧道路,更有智慧城市,也是未来万物互联的基础。
好比百年前无法想象如今轿车糟糕的通过性有何价值,如今驰骋的高速公路网也是百年前不敢想象的奇迹。车路协同有着巨大的市场,也牵涉众多的技术标准,率先实现领先并能够输出标准,将会是中国崛起的重要的一大步。(文:太平洋汽车网郭睿)