智行者科技建议:别用ADAS集成思路做自动驾驶算法开发

2018-05-10 16:14:16·  来源:智车科技  
 
本文为智行者科技公司受邀参加“如何改装一辆无人车”交流活动中所做的分享,智行者科技谈了汽车人眼中的自动驾驶算法开发过程。他们对一些司空见惯的专用名词有更深的理解,并确立了六个自动驾驶研究需要重点攻克的难题。”
本文为智行者科技公司受邀参加“如何改装一辆无人车”交流活动中所做的分享,智行者科技谈了汽车人眼中的自动驾驶算法开发过程。他们对一些司空见惯的专用名词有更深的理解,并确立了六个自动驾驶研究需要重点攻克的难题。”

前段时间受佐思邀请,参加主题为“如何改装一辆无人车”的交流活动并进行发言,嘉宾均是来自国内外主机厂及传感器研究机构的大牛,听众主要来自百度、腾讯、360等IT圈朋友。准备报告时很纠结:一是车辆底层改装及性能测试等方面,其它嘉宾已经分析得十分透彻,我们不必再赘述;二是对于当前火热的深度学习等新方法,我们虽然稍有尝试,但显然不宜在IT大牛们面前班门弄斧。

那么问题来了:什么技术不仅是自动驾驶/无人驾驶真正需要重点研究,且能够体现智行者的研究特色的技术呢?我们尝试从汽车工程师角度,并结合智行者整体发展战略,回答这个问题。

智行者是一个年轻的企业,公司刚刚起步,一切还都在摸索中前行,但我们有行者致远的决心:我们致力于提供专业的自动驾驶功能及算法研究的整体解决方案和产品。在2016-2020的第一个五年规划内,功能产品解决方案将从特定区域的低速自动驾驶产品做起,而后逐步发展到高速公路、环路等结构化道路并至直复杂城市工况下自动驾驶产品,这些产品形态应是融入到整车功能/外观等设计的前装产品,而非简单后装集成;作为一家专注于自动驾驶算法研究公司,我们力求在关键技术突破的基础上,将重点开发专用于自动驾驶的仿真/研发平台产品,来帮助客户提高研究效率和质量。此外,将尝试建立一套包含执行器及自动驾驶算法开发的生态平台来整合多方资源,且此平台应该是开源和互相促进的,从而提高自动驾驶算法整体开发质量。



在此背景下开始聊聊我们究竟想做哪些事情。

首先,先介绍智行者眼中的自动驾驶算法体系。借鉴驾驶员行为研究中常用的Strategic level(战略层)、Tactical level(战术层)及Operational level(执行层)三层架构来描述算法研究体系。通常来讲,战略是顶层,包括目标及路径方向;战术是支撑,包括具体行动、路径选择等;而执行是落地,即具体实现选择的路径。既然自动驾驶最高境界是能够模拟优秀驾驶员的驾驶行为,那么显然也可以用这三层结构作为自动驾驶算法的研究体系。

具体说来:在Strategic level上,我们关心的仍是自动驾驶亘古不变的三个问题:Where am I?(我在哪) Where will I go?(我去哪) How to go?(怎么去)。“我在哪”可以广义上引申为当前处于何种状态,这种状态不仅包括地理位置,还包括运动参数等状态;同样,“我去哪”可以引申为欲之达到的状态,而“怎么去”则是采用方法、使用工具等。

在此宏伟战略指导下,我们将自动驾驶研究中老生常谈的Percepiton(感知)、Decision(决策)及Control(控制)视为Tactical level的三个组成部分;但Strategic及Tactical两层中元素并非一一对应,而可能是一对多或多对一的关系;在Operational level中,就是各项关键技术,如基于视觉、雷达的目标识别问题、全局及局部路径搜索问题、汽车动力学控制等。

可以看出,实际上我们绝大部分时间和精力都在同各项Operational level的具体技术打交道,并自然认为如各项子技术的指标(如识别率)能够达到100%,则整体系统指标也就达到100%,这种研究思路行得通吗?借用威灵顿将军名言:“要打胜仗就得靠优秀的战略,但一位优秀的将军不会将军事战略建立在全靠优秀士兵基础上”。这句话我们理解有两层含义:一是客观上不是所有士兵都是优秀的,对应于自动驾驶,可翻译为传感器永远是不完美的、决策是会有失误的、控制是有误差的等等,这就需要从战略层进行融合、互补;二是一个优秀战略战术需要根据士兵、装备情况而灵活机动,如小米加步枪则应选择游击战,而飞机坦克则可进行正面交锋。对应于自动驾驶,可简单理解为在不同的道路场景下需要调整传感器或算法方案(如特定区域下低速行驶只需要差分GPS、单目及超声波组合,高速公路可采用单目及毫米波,而在复杂交通环境(如宇宙中心五道口)的话激光雷达则必不可少)。总结两点:一是任何传感器组合方案都应该视时、视情而变,需要综合考虑用户需求、成本及场景复杂程度;二是很期待既能包打天下性价比又很高的传感器组合出现,但相对于性价比,功能稳定实现显然更重要。



其次,想讨论下Perception、Decision及Control三者的地位和关系。

很多研究机构介绍其自动驾驶研究水平时,通常是展示其视觉或雷达识别效果,并由此得出结论:基于小数点后4个9的识别率,最远距离能达100米,于是自动驾驶系统完全能达到上路水平。对此,不免生疑:难道驾驶员水平高低可以用其视力水平来衡量么?

答案显然是否定的,否则交管局和驾校也不乐意啊。为什么会造成这种现象呢?有两种可能性:一是驾驶水平高低不好衡量,也就是没有公认客观的标准,但画框子显然就好解释多了,即标准很统一,无异议;第二就是我们觉得最郁闷的一点,许多研究者中眼里自动驾驶研究天然就等同于感知研究,正如同下图所示,即认为应该以感知为中心,决策控制用简单方法就可以搞定,无需大量研究。

暂且无论第二种认识的对错,我们先以人工驾驶为例说明。通常我们称驾驶技术好的为老司机,技术差的为新司机,显然老司机同新司机的最大差别并不是视力或其它感知方面差距,而在于老司机拥有更丰富驾驶经验、处理突发状况能力及手脚协调能力等,而视力只是成为驾驶员基本入门条件。相信理解了这一点,那么我们就绝不会使用简单识别率指标来衡量自动驾驶算法水平高低,感知、决策及控制研究都同等重要,只不多各家研究重点不同而已;那么到底该如何准确地评价自动驾驶水平高低,接下来我们将会专门分析。



在研究中,我们认为应将自动驾驶研究对象充分融入到整个“人-车-路”交通系统下进行分析,而非只考虑单车功能实现,这是一个非常重要的思想,也是我们研究的根本出发点。试想一下,如果一辆自动驾驶车辆只考虑自身功能实现,没有同其它交通参与者形成良性互动,即无法理解其它目标驾驶行为同时也时常做出旁车无法理解的非常规动作,那么它显然不能称之为一辆高水平的自动驾驶车辆。

对于如何将“人-车-路”系统融入至自动驾驶算法开发中,我们认为有必要首先回答以下六个问题。



同时,这六个问题也对应智行者确定的如图所示的六个关键研究方向。



一言以蔽之:自动驾驶车辆不同于室内机器人,要综合考虑人-车-路综合因素,在接下来几期中,将就以上关键技术进行详细阐述。

另外,我们深知当前研究之肤浅,文中见解也是一家之言,还求各位专家轻拍,也诚挚邀请大家来智行者当面拍。

谈到智行者科技战略定位及关于自动驾驶的一些理解,我们确定了如下六个重点攻关对象,本期将就其进行总体阐述。



1、驾驶场景大数据采集与应用

驾驶场景数据采集是基于车辆、传感器等硬件平台,通过对实际交通环境数据进行采集并后处理,来分析潜在的驾驶行为,并用于进行算法优化和评估。

举个栗子说明:某世界知名主机厂的ACC在欧洲和北美市场受到消费者的好评,但在中国却处境尴尬,问卷调查反映:该ACC设置跟车距离保守的话将造成邻车频繁切入,而激进的话则驾驶员会造成心理不适,这说明该ACC难以适应复杂中国道路环境和驾驶员行为习惯,因此需要在中国进行交通数据采集来优化其关键参数。

说到这里,便出现一个很有意思的词—“复杂环境”,可以大胆地说,“复杂环境”绝对是环境感知类硕博士论文题目中出现的高频词,国内外均是如此。那么究竟什么交通环境才能称为“复杂”,我们认为有两点:一是目标数量、种类多,即人车混杂、分布稠密,这是通常目标识别中所谓的“复杂环境”;第二是目标行为复杂,及行为多变、难以预测,例如邻车突然加塞(merging),电动自行车等违规行驶等。显然,当前对第二个复杂点研究和关注较少,而其基本研究方法首先就需要真实交通场景的大数据作为支撑。



2、驾驶能量场及其应用

记得数年前某位国外知名主机厂高管曾说过,自动驾驶对他们来说就是分分钟的事情,因为在他看来纵向控制就是“ACC+CC+AEB”,集成现有成熟技术就可以了。对此,我们只能说:自动驾驶跟ADAS真的半毛钱关系都没有,如果有,最多也就半毛钱。

为什么不赞成用ADAS集成思路来进行自动驾驶算法开发,原因有二:

一是ADAS本身存在一定弊病:还是以ACC/CC/AEB为例,三者之间存在复杂、繁琐的IF-THEN切换规则,同时现实交通的复杂性又导致切换边界交叉区域重叠,极易造成混乱;另外三者控制指标还不相同,体系混乱。在这么混乱体系下自动驾驶算法还是最好别添乱了。

二是ADAS设计理念同人类驾驶理念大相径庭。任何一个驾驶教练都不会教授学员去如何稳定跟随前车,或如何保持恒定车速。驾驶员在Car Following时通常会与前车保持一定安全界限,但安全界限不是安全距离,它难以用距离、THW或TTC等具体指标来进行描述;在Free Driving驾驶员操控动机更加复杂,车速会受到驾驶员心理、道路质量、天气等多方面影响,没有一个驾驶员会奇怪地保持一个速度行驶。



归根结蒂以上讨论的本质为决策中驾驶态势形式化(或认知形式化)的问题。在这种情况下,借鉴拟人化驾驶思路,我们构建一种基于“能量场”的人、车、路驾驶态势分析方法来为后续决策、控制算法提供维度固定、准确可靠的认知形式化基础。

基于“能量场”进行决策控制基本原理可描述为:如下图,在驾驶过程中,任何干扰因素(车辆、行人、道路、交通标志甚至天气)都将直接或间接的影响驾驶动作,如这些因素以某种能量进行描述的话,那么理想驾驶状态应遵循这些能量的某种平衡。该方法关键问题在于能量场模型建立、平衡态模型就工程化问题,后续将进行详细讨论。

3、基于深度学习的自动驾驶决策控制研究

鉴于深度学习在图像识别领域取得的巨大成功,结合驾驶大数据,它或许能真正革新传统Rule-based决策方法,甚至于改变整套自动驾驶算法体系。

我们首先开展工作是验证端到端的模型的合理性和有效性,基本思路源于nvidia的这张图,即CNN训练输入端为相机图像,输出端则是执行器参数。



鉴于对此方案效果仍无十足把握,我们选择采用仿真方式进行验证,以提高效率和避免实车实验风险。仿真平台采用Vrep+Matlab,在Vrep中我们搭建了前后安装两个单目相机的蓝色小车,场景主要包括车道线、固定障碍物及动态随机干扰车辆,数据采集通过人工遥控方式进行。经过多人次、多圈的数据采集及在Matlab中进行网络训练,我们最终在同样环境下进行测试,但遗憾的是效果远低于预期,更是远比不上传统方法。原因可能是多方面的,如模型合理性、训练数据量、网络结构等,同时这也告诉我们一个道理:即使DL是真正解决之道,但也不要妄想能够很快的达到甚至超过传统方法水平,还需要很长路要走。

4、执行器性能评价体系

相信IT界同行们搞自动驾驶一开始都有一个疑惑:为什么主机厂搞自动驾驶还要改车,难道没有底层执行器协议么?存在这个疑问同志需要先脑补下EPS/EVB/ESP等执行器基本原理和国内发展现状,同时还需要知道汽车界有一个比主机厂还牛的叫博世的供应商,他就是不给开放你又怎么的。在这种凄惨背景下好学的中国自动驾驶研究者们被活活逼成执行器改装大师,稍不注意还形成了所谓底层核心技术。

这种条件下开发自动驾驶弊病是明显的:由于执行器改装可靠性和一致性较差,即使上层算法再好,那也难以将其进行大规模复制,而单车单调显然将造成巨大的人力和效率的损失。许多算法研究都提出执行器自适应的方法,但目前终归还是处于学术研究阶段。不妨换一种思路:如果上层算法开发者能够提出与其算法相关的执行器关键指标及其范围,同时该指标能采用简单方式进行可靠测量,那么就可以将这部分工作转嫁到执行器供应商中,从而在理论上应可实现算法规模化复制。实际上这就是执行器性能评价体系建立的问题,也是智行者当前面临实际项目正在攻关的一个方向。



5、车辆“智商”评价指标及体系

车辆“智商”是自动驾驶水平高低的表述,它的重要意义在于:

一是其为算法开发的重要导向。例如,对于无人车比赛来说同等情况下跑得快的肯定比跑得慢分数高,这就使得各支车队将把速度提升作为重要研究内容;

二是它是自动驾驶车辆颁发“运营合格证”基本评测依据。这一点是算法开发引导的重要抓手和支撑,这里面蕴含着巨大的商业机会,原因你懂的。

回到现实中自动驾驶开发,我们认为当前仍缺乏一套合理且易于操作的评测体系。跑的快就一定代表自动驾驶水平高吗?当然未必,回想一下我们如果想由衷赞美领导驾驶水平高的话,我们通常会说:真是又快、又稳、还省油,这不经意间我们道出汽车行驶三大终极评价指标—安全、舒适、节能。如此说来,跑得快既不利于安全,又不感到舒适,更谈不上节能,为何却成为大家公认评价指标呢?作为一个老参赛队员我认为原因有二:一是比赛终归是比赛,总得有个简单、粗暴、好打分的指标,太复杂反而有异议;二是跑得快一定程度上证明算法稳定可靠,是一种极限能力的体现,就如同最高车速、最大爬坡度是汽车性能评价指标一样。

因此,虽然当前各家算法“智商”高低都是依据其核心人员的自我标准来估计,但相信未来车辆“智商”评价方法应集合多家研究机构共同智慧,形成有益的标准体系,并应有三方或权威机构来进行组织、实施和认证。



6、基于ROS/VREP开发及仿真平台建设

作为一个长期参与调车和比赛工程师来说,虽然以前不知道仿真究竟有多么强大,但着实觉得基于实车进行算法调试实在太Low、太低效了,当然绝不是说实车调试不对,而是如何有效的提高效率和算法质量。

我们做梦都希望能够拥有这样一个自动驾驶集成开发平台:虚拟仿真同实车调试应是无缝的,应是召之即来、来之能用、用之能战,不存在移植这一说;同时仿真平台的传感器、道路及车辆模型等应最大程度接近于真实。

基于以上考虑,我们选择ROS/VREP组合来实现。ROS最近在自动驾驶圈里很火,很多大牛写文章推荐,连BMW都开始凑热闹。我们采用ROS初衷很朴实:开源免费、同VREP有现成接口,同时该平台能够模块化组织,能够为下一步开源打下基础;选择VREP原因也很朴实:开源免费、同ROS有现成接口,当然其强大功能也值得一试(例如包括Velodyne等多种激光雷达传感器)。

总得来说,我们深知要搭建一套实用、多场景的仿真系统见效慢、难度大,但在饱受实车调试之苦后,我们也将继续坚持。

以上就是这六项技术的总体阐述,在下一期将就其中第1项:驾驶场景大数据采集与应用进行专题介绍,并利用同Daimler及上汽实际合作项目进行举例,欢迎继续大家关注和多提宝贵意见。

推荐阅读





▎本文转自北京智行者,作者:王肖,张德兆,如需转载请注明来源。




请猛戳右边二维码




公众号ID
IV_Technology

5 阅读 856投诉
留言 
分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号