Local EPUB Text
线控技术(Drive by Wire)
数码相机、激光雷达、普通雷达、超声波传感器和惯性测量单元等一众传感装置为无人驾驶提供稳定的数据流。数据流融合后,汽车的操作系统顺利进行数据处理,奇迹就这么发生了。正如我们在前几章提到的,汽车操作系统使用好几种人工智能技术来快速做出指令。最后一步就是把这些指令转换成实际操作,像是转动方向盘、踩下刹车或油门。
在以前,工程师把普通汽车改装成为无人驾驶汽车,是通过装配特制的机械“线控”装置,目的是取代人类司机的手和脚。这些新装置叫作线性致动器(Actuators),通过它们可以控制方向盘,踩下刹车。生产出准确、稳定的机械驱动器是工程学的难题,其过程的复杂不亚于创造出人工智能来指引汽车。
汽车的子系统在过去二十年中自动化程度越来越高,研发无人驾驶的人造“肌肉”工作难度相应降低,液压机械系统逐渐被计算机系统所取代。大部分现代汽车配备好几台计算机指引功能的子系统(底层控制系统),系统内置了微处理器,处理上百万行代码不在话下。今天的机器人专家不再使用特制的机械“脚”去踩油门,只需在汽车的电子系统上稍做改动即可。
软件好比掌控机器的精灵。无人驾驶汽车使用多个电子通信系统,包括操作系统、高/中/低水平控制等来解读指令。今天平均每辆汽车都安装好几个子系统,例如引擎控制单元(ECU)、ABS制动防抱死系统、自动变速箱控制单元(TCU)。这几个系统通过“总线(Bus)”互联互通。
在计算机术语里,总线是指一个交流频道,把数据从计算机内部的一个部件传输给下一个。 街道上的巴士和计算机数据“总线”有着相似的语源学渊源,它们都来自于拉丁文Ominibus,意思是“公共所有的”。就是城市里的巴士把乘客运载到各处,无人驾驶汽车里的数据也是这样被总线传输到各个子系统,也像通用串行总线(universal serial bus,USB)连接计算机键盘、鼠标和打印机。
许多汽车今天使用的是控制器局域网总线协议(controller area network bus protocol,简称CAN总线协议),以1Mbps的速度往返传输数据。CAN总线协议是一种“点对点”的协议,由ISO11898和ISO11519两个国际标准来管理。作为公开的国际标准,意味着任何设备都能接入CAN总线,也能“理解”协议,该协议适用于各个车型。
一般情况下,汽车公司不会公开宣传控制协议的内容。然而,他们会与其他制造商共享那些接入车内控制系统的新设备所需要的信息。或者,他们会给某些制造商分享网络协议的详细内容,比如说,那些把底盘售卖给房车生产公司的汽车零件制造商。
汽车控制器局域网也和其他的网络一样,最关键的要数带宽(bandwidth)和网络稳定性。带宽是指数据在网络中传输的最大速率,通常以每秒多少bits为单位来计算(即bps)。当被应用在无线网络中时,有形的网线被无线电波或是不同的波段所取代。网络带宽是由微处理器对电脉冲编码、解码的速度决定的,还有就是总线中能同时容纳多少平行波段。
带宽在任何网络传输中都非常重要,但对行驶中的汽车而言,很多时候,数据的传输速度则更为关键。大多数无人驾驶的数据传输系统使用一系列通用的代码来呈现特定的动作,这样能节省时间。例如,无人驾驶汽车下指令“刹车”,该车的软件系统早已准备好对应的两位数字表示“刹车”,这样就能马上抵达子系统。因为两位数是小而高效的意义单位,系统只需要16微秒进行转换和接收信息。16微秒的响应时间对于无人驾驶汽车来说非常合理。它甚至比一次眨眼的瞬间快上1000倍(一次眨眼的时长是100~400毫秒)。虽然CAN总线能快速传输微小的数据单位,但如果汽车CAN总线需要处理从各个传感器中涌流而出的数据流时,“带宽”就会迎来挑战。
当汽车传感器实时输出大量的数据流,系统速度会下降。如果某网络的传输速度是1Mbps,把1MB的图片从相机传输到中层控制系统,实际上会需要漫长的8秒时间(1Mbps是1兆比特/每秒,1MB是1兆字节,1字节是8比特)。假设现在加重网络负担,数据从汽车的其他传感器中流入,1Mbps的带宽就显然无法满足无人驾驶的需求。承受着实时视觉数据的重负,汽车CAN总线的响应时间会变得慢吞吞的,这在实际驾驶中是不能接受的。
展望将来,汽车制造商需要建立一套无人驾驶汽车专用的稳定、透明的通信标准,这样才能处理传感器传输过来的数据流,同时防止数据外泄。换言之,无人驾驶汽车需要一套高带宽的总线。有两种基本方式适用于解决任何网络中的通信瓶颈:第一,增加可用的电子线路或波段数目,平行发送数据流;第二,使用压缩算法,大量整合数据,形成更高效的单元。而且,数据压缩的方法还可以直接在传感器上进行。例如,一些车载相机包含实时图片分析软件,经分析和压缩后,把图片相关信息一并发送。
除了带宽,稳定性是车载网络另一个重要特性。无人驾驶需要像下载的音乐一样顺畅,还要比金融交易的过程更为安全,所以数据传输的稳定性体现在以下几个方面:
其一是防御的能力。当出现不请自来的恶意制造出破坏网络稳定性的第三方设备时,CAN总线顿时变成一个战场,这让人联想起晚餐约会时擅自闯入了一位宾客,他打断了餐桌上的对话。这种恶意的装置不仅仅是妨碍,一旦入侵车载网络,甚至能劫持整辆无人驾驶汽车。
其二是网络容错性(tolerance to errors)和消除网络噪音的能力。无人驾驶汽车需要一套足以媲美航空电子设备的弹性高效的纠错协议。
假设无人驾驶汽车的软件发出指令“油门增加1%”,却被燃油注入系统误解为“油门增加100%”,那么公路将会上演一场血腥的屠杀灾难。为了防止系统间数据交流出现致命的错误,纠错协议提供监督功能,就像聘请了一位冷静笃定的校对,二次检查信息传输的内容。无人驾驶汽车CAN总线上的各个子系统需要互相信任。良好的通信协议为子系统核实所收到的信息与传感器发出的内容一致。
鉴于人类司机在车内驾驶时应对恶意攻击能力的严重不足——无论是自动驾驶汽车还是普通汽车——我们都希望汽车制造商对车内通信协议进行加密保护。遗憾的是,这种安全防范思维还没有稳固地植根在汽车行业里。也许是因为部分车主热衷于摆弄汽车的引擎,所以如今入侵一辆汽车并不太困难。