高级辅助驾驶系统:驾驶员应知应会!
扫描二维码
随时随地手机看文章
接近黄昏的时候开始下雨了,驾驶员们纷纷打开大灯。很快,湿滑的路面反射了大灯灯光、街灯、商场霓虹灯,还有西沉的阳光,路面看起来像万花筒那样闪烁着各种光芒。自然光在减弱,而夜晚的灯光还不是那么明亮,路面看起来模模糊糊。
雨刮器很久没有工作了,您感觉前面就像涂了泥一样昏暗,路边的阴影也好像挡在了路中央。在朦胧中,您意识到车的盲点范围里有一辆没开大灯的车,您打着转向灯,摸索着向中间车道行驶。突然,您想起了自己的车里应该有先进的主动安全系统。
近期可能出现的三种结果
这个故事可能有三种不同的结果,技术取胜,人战胜机器,还有可能发生事故。可能是这样的:在您认识到将要发生什么之前,转向灯已经开始闪烁,自己的车稍稍向中间车道加速,然后,轻轻的刹车,避开了附近看不到的行人,也提醒了后面的车辆。
也可能是这样:当车轮转向时,您感觉到汽车的车道保持功能在起作用,把车拉回到原来的车道。但是,您仍然继续,打着转向灯,安全的并线,对其他车辆刺耳的喇叭声不闻不问。而此时,行人从路边冒出,前挡风玻璃前视显示系统没有让您及时看到这个人。好在您躲开了他。
或者,可能这样:您转向时,您听到了不熟悉但是非常刺耳的报警声。在您还没有搞明白怎么回事时,一辆车从盲点里鸣着喇叭冲出来—现在,您没有别的选择,只能慌乱的刹车停下来。防抱死刹车功能在湿滑的路面上起作用了,让您感到恐慌,车子终于紧挨着受惊吓的行人停下来了。在极度惊恐中,您瞥了一眼仪表盘,知道了疯狂报警的原因—高级辅助驾驶系统 (ADAS) 关闭了。
这就是同一个场景三种完全不同的结果。这源于三种完全不同的 ADAS 。为说明这些不同,理解其影响,我们将详细研究 ADAS 的实现。在今年的设计自动化大会上,举行了一次主题研讨和公开论坛,对此很好的进行了阐述。
从传感器开始
ADAS 系统是逻辑流水线,要理解它最好从宽输入范围入手。福特汽车电子和电气系统研究主任兼研究员 James Buczkowski 说:“随着向自动化方向的发展,难点在于仅采用一种传感器是远远不够的。”
在公开论坛上,主持人是 Cadence 总编辑 Brian Fuller ,他也要求专家们研讨一下 ADAS 传感器。传感器系统供应商 Nuvation 首席设计工程师 Edward Ayrapetian 认为,“目前我们使用了多种类型的传感器。一般而言,您会看到激光雷达、普通雷达和高分辨率视频摄像机的组合使用。但是随着图像处理算法的改进,所有一切都在不断变化。”
Ayrapetian 解释说,每一类传感器都有其优缺点,其他专家对此也表示同意。例如,激光雷达是谷歌 “无人驾驶” 汽车研究平台的主要传感器。这一技术的标志是激光器和旋转的镜子构成的半个圆球。激光雷达比较擅长勾勒出物体的外形,并提供距离数据—这些都是目标识别算法所必须的。而且,激光雷达对背景光线也不太敏感。
Ayrapetian 提醒说,“但是谷歌使用的激光雷达传感器价格高达 10 万美元。” 而且,在有雾或者下雪等低能见度的时候,从物体表面反射回来的光束所携带的信息量很少,激光雷达就不太好用了。Ayrapetian 提到了非常著名的加州沙漠聚会,“我们把自动驾驶卡车开向‘火人’。我们所知道的是,激光雷达无法识别一大片尘雾和砖墙。”
而雷达在一定程度上是非常好的互补技术。如果您仔细选好了频率、波形和接收信号处理功能,那么,雷达不会受到干扰的影响,实际上在低能见度和光照条件下都能正常工作。大陆汽车系统和技术公司 ADAS 业务部主任 Christian Schumacher 补充说:“雷达能够很好的获得距离数据。但是,雷达不擅长识别物体。” 不太理想的外形数据,而且没有纹理或者颜色信息,这让物体识别算法无法工作。
因此,我们使用了摄像机。随着低成本高分辨率摄像机的出现,视频成为 ADAS 的关键传感器技术,为物体识别提供了丰富的数据。多摄像机系统能够避开某些视觉障碍,提供虽然有限但是足够用的基于视差的距离信息。但是摄像机也有其问题,能见度差的时候无法工作。Schumacher 提醒说:“摄像机对光照要求很高。我们需要找到平衡点—一种在所有驾驶条件下都非常高效的系统,但是不能有太多的传感器。”
通过采用更好的算法来互相补充,以减少传感器。Ayrapetian 说:“我们要考虑传感器所面临的问题及其关键程度来定制传感器。如果把需求缩窄,就能够改进算法。我们基本能够采用更好的视频流图像处理算法来替代激光雷达。”
传感器融合
即使在图像处理技术上有所突破,大家一致认为仍然需要先进的传感器融合技术才能从几种不同类型的数据中,获得车辆周围环境正确的信息:物体,其速度和加速状态,以及可能的行为等。一个重要而且复杂的问题是,在系统中要进行多少次处理。有可能是将所有的原始数据送入融合引擎—例如,卡尔曼滤波器或者深度学习神经网络,看一看能够得出什么。这种想法有一定的可行性,例如实际上有一类特殊的网络,卷积网络,它用在物体识别时的性能非常好。
但是,设计人员更倾向于采用他们在操作层面上能够理解的系统。在5月份举行的嵌入式视觉大会的一次研讨中,谷歌自动驾驶汽车团队的技术主任 Nathaniel Fairfield 说:“我们的策略是开发简单的系统来处理传感器数据,然后,以更抽象的方式来融合经过预处理的数据。我们更愿意通过一个大滤波器来运行所有一切。”
一种简化的方法是对处理步骤进行逻辑排序 (图1)。每一个传感器都会进行本地信号调理,甚至可能根据下游的反馈来自动适应。然后,每一个传感器会在本地根据其掌握的信息进行物体估算,为推断出的这些物体附加一些属性。
图1. 您可以把ADAS看成是处理器流水线,越来越抽象的看待汽车周围的环境。
例如,激光雷达能够确定地面 030 方向有一个物体,从右向左移动,距离大概 20.24 米。雷达也会报告,在同一位置,地面噪声背景上可能有一个物体。一对高分辨率摄像机会看清楚这一物体—看起来非常像一头金色猎犬,方向在 025 至 035 之间,大概 15 米之外。
这些信息会被传送至融合引擎,接收有物体存在这一主视图,附加上最可靠的属性—例如,位置、速度、大小和颜色。这些信息随后会被送至一个分类引擎,将其标示为一条狗—例如,位置、速度、大小和颜色。这些信息随后会被送至一个分类引擎,将其标示为一条狗
这看起来很有逻辑性,但却不能解决问题。甚至在每一阶段采用哪类算法都没有达成一致。Schumacher 观察到:“目前,大部分步骤都是基于规则的。但是,基于规则的系统需要很多支持。我们会看到一些算法采用了人们不好解释的方法。”
本田北美研究所的首席科学家 Victor Ng-Thow Hing 同意这一观点,“深度神经网络在识别任务上会远远超过人,甚至超过基于规则的算法。有些方面会否定规则。我认为应该有一种混合方法。”
Ayrapetian 说,“不论哪种方法,重要的是认识到能不能解决问题。目前,自动驾驶汽车还不能 100% 的一直保持在车道上行驶。在新环境下,神经网络也不能很好的工作。甚至谷歌汽车也依靠非常详细的地图来识别物体,定位自己。我们还没有达到非常智能的程度来完全理解传感器数据。”
策略分类
对于所有的难题,分类引擎还远远不够。对物体分类如果能够成功的话,会产生物体列表,标识上距离和速度等实际属性,根据其可能的身份进行分类,例如,人、绿化灌木,或者建筑符号等。在分类过程中,也应该针对其在 ADAS 判决过程中的重要性而标上属性:非常危险、导航线索,或者无关的背景等。还应该对分类的不确定性等级进行评价。分类功能应使用各种不同的滤波器、神经网络以及基于规则的分类树,通过融合不同传感器的数据得出自己的结论。
现在,问题的本质发生了很大变化。至少在一些较好的条件下,ADAS 系统非常详细的知道其位置和环境。现在,它必须决定下一步做什么,特别是出现不确定性因素时。就目前而言,这意味着基于规则的系统。
Ayrapetian 解释说:“您可以使用神经网络来识别物体,甚至是把汽车放在周围环境中。但是,您需要规则来得出判断,并解释。”
使用基于规则的系统来决定 ADAS 响应的基本原因可能在于我们对神经网络工作方式的感情因素。可以训练深度学习网络,使其能够比人更正确的理解环境—也就是,99% 的时间都能够正确理解被测试的视频。但是,即使对金色猎犬有 1% 的误解人们也不会满意:我们要的是非常可靠的规则,决不能撞上一条小狗。
更深层次的问题在于系统验证和控制兼容问题。很多工程师都强烈的感受到,在相信一款设计之前,必须能够理解设计是怎样工作的—实际上,在规划验证策略之前。而且,符合某些规则要求设计中的每一组成都是可追溯的,回溯到最初的需求来源。所有这些需求对于神经网络而言都是切实的问题,人很难完全理解网络中某一阶段在干什么,也不能追溯回系统需求文档的某些章节。
相反,基于规则的系统一般非常直观:您可以读取一条规则,知道为什么在此处要采用它。但是,基于规则的系统实行起来也有局限。很难设计一个能够在不可预见的环境中正常工作的系统—务要求很好的进行抽象思维,找到胜任于某些环境的规则。随着规则的增多,计算要求和行为预测都会带来问题。例如,有可能加入看起来非常合理的规则,不经意间,在基于规则的判断树上设立了死循环,或者,建立了无法实时遍历的规则列表。
除了混合神经网络和规则之外,还有第三种因素。很多系统设计人员觉得根本不可能只从传感器数据中得出正确的环境模型,因此,他们要求来自基础设施的数据:来自道路和十字路口的固定传感器的数据,以及从其他车辆送来的数据。Ng-Thow Hing 观察到,“在日本,计划是使用智能基础设施来实现问题追溯。” 道路传感器可以定位车辆,非常精确的测量其速度,减少物体识别和分类的压力,从而减少判断单元的不确定性。来自其他车辆的数据是另一关键参数,车内传感器很难理解这些数据:其他车辆要往哪里开。
但是,基础设施数据需要非常好的社会组织,还要考虑政治因素,以及只有少数国家能够承担得起的投入等。因此,目前世界上大部分 ADAS 设计人员还不能依靠这些。Schumacher 提醒说:“最后,您还需要地图信息,需要基础设施信息。我们还有时间来‘靠边停车’。”
无论ADAS判断阶段采用哪种实施计划,它都必须产生两类输出 (图2)。第一类是必须的,输出至人机接口,告诉并提醒驾驶员。第二类输出—只是在某些设计中有,只用于某些环境中,直接作用在车辆主系统上:转向,刹车,传动等,如果所有这些都失效了,那么还有被动安全系统。
图2. 判断系统有两类不同的基本输出流。
可能让人吃惊的是,最热门的争议是人机接口:它什么时候应该起作用,怎样起作用?福特公司的 Buczkowski 在其 DAC 主题演讲中,建议应该让驾驶员感到 “这辆车很理解我—也是这么干的。”
这就说明了问题:对于驾驶员,ADAS是有个性的。Schumacher 提醒说:“如果错误的反应太多,或者系统太谨慎了,那么,驾驶员就会把它关掉。” Ng-Thow Hing 对此表示同意:“其复杂性在于有很多不同的驾驶习惯。” 谨慎的驾驶员喜欢报警甚至是直接干预。冲动的驾驶员不愿意受到干涉;甚至是那些符合安全驾驶要求的干涉。如果他们觉得 ADAS 系统让他们在乘客面前出丑了,他们会永久关掉系统。
Schumacher 解释说:“例如,道路保持功能在提醒驾驶员时,乘客也会很清楚的知道。如果设计成直接干预,可以通过控制转向系统或者采用不同的刹车扭矩来完成。一种方法要比其他方法作用更明显。”
让人分散注意力也是问题。人机接口必须引起驾驶员的注意,并给出正确反应的建议。不能给出不具指导性的警报,这只能进一步分散驾驶员的注意力—特别是在某些紧急时刻。
干预
如果我们越来越需要自动驾驶汽车,那么 ADAS 对汽车的控制会更多。这就带来了其他两种设计难题—什么时候以及怎样控制车辆。
第一个问题是两个问题中最难解决的。很明显,系统不应该尝试在当前环境下有可能出现危险或者无法进行的操作。例如,60 kph 时,ADAS 不能尝试右转。这种要求实际上意味着,判断单元必须有详细设定的规则来控制能否使用车辆控制系统接口。但是考虑到有各种各样的车辆速度、车辆方向以及道路状况组合,在实时控制系统中,基于规则的方法很难解决问题。ADAS 可能需要车辆的连续动态模型,这样,它能够从所需的轨迹中计算出可行的控制输入。这对于其本身并不意味着计算负载。
第二个问题是个性问题的另一种表现。ADAS 总是应该控制汽车吗?如果驾驶员的行动与计算策略相冲突,它应该干预吗?或者,它应该拖延驾驶员的操作,直到避免发生事故的最后一刻?如果驾驶员不听指挥,那么 ADAS 应该怎么响应?最后一个问题的答案是环境预知,例如驾驶员酒驾或者出现了危险行人的情况,还是应该可以调整,或者适应驾驶员的个性?
开弓没有回头箭
所有这些问题都代表了设计人员的价值判断,答案会在 ADAS 系统设计、成本以及性能上产生非常不同的结果。那么,您购买汽车时怎么判断系统的质量和个性化问题呢?
Ng-Thow Hing 提醒说:“市场上汽车的质量和性能良莠不齐。我们需要非常有经验的专家来帮助购车者理解他们能得到什么。”
Schumacher 更悲观一些,至少对于美国市场是这样的。他说:“在美国,简单的产品通常能够获得成功。在欧洲,情况则完全不同。购车者在做出决定之前会研究资料,反复比较。”
我们知道 ADAS 系统还有很多未解决的问题,也有很多不同的方法来解决这些问题。不同的方法在解决基本问题上各有所长,例如,道路保持、速度管理以及防碰撞等。但这也会多多少少给 ADAS 系统带来不同的个性化:驾驶员和乘客关心的个性化。
所以,我们从开放的角度看一切都有可能,只是在 ADAS 设计选择上稍有不同。实际上,大量的可能结果只有三种实例,每一种都对驾驶员及其周围人们的感受有影响,最终会影响安全。