功能测试更加侧重无人驾驶的单项或多项功能实现。依据人类智能的功能归类方式,可将驾驶智能划分成信息感知、分析决策、动作执行等较为概括的三大类能力。例如路径规划就属于分析决策类的单项智能。该定义方式强调的是实现这些单项智能的方法和技术上的共性。但由于不能与具体的交通场景以及无人驾驶测试任务联系起来,在衡量无人驾驶的智能水平方面有所不足。功能测试的隐含假设是,如果无人驾驶通过某种功能的一次或几次测试,那么,以后需要使用该功能时也可以顺利执行。这一假设看似合乎逻辑,但事实证明,也过于乐观。此外,目前的功能测试还存在其它问题:
单一功能测试较多,综合测试涉及较少,无法检验多项功能之间的协同配合能力
缺少完备、公平、公开的Benchmark集。
我们认为,无人驾驶车辆的智能可以用广义的语义网络来定义。
语义网络是一种采用网络形式表示人类知识的方法,如今已在人工智能领域中得到了比较广泛的应用。语义网络用有向图来表达复杂的概念及其之间的相互关系。图中的顶点表示概念,而边则表示这些概念间的语义关系。
针对无人驾驶智能的广义语义网络分为场景、任务、单项能力和综合能力四类节点。其中任务将场景和能力打通并连接起来,应该是无人驾驶智能研究的核心,参见下图。
图1. 无人驾驶智能定义的语义关系图释
场景一词源于戏剧,是指在一定的时间、空间(主要是空间)内发生的一定的任务行动或因人物关系所构成的具体人事片段。在系统学研究中,场景多被定义为处于特定时空中的特定系统。交通场景一般指的是由众多交通参与者和特定道路环境共同构成的特定交通系统。
任务原指交派的工作。驾驶任务既可以指跟驰、换道、停车等某类一般性的驾驶工作,亦可指特定环境中的某项特定驾驶工作。
如果受试车辆能够自主行驶完成某项特定任务,则称为通过该特定任务的驾驶测试。相对于驾驶场景而言,驾驶任务更为具体,时空范围更为明确。一个特定的驾驶场景通常包含多个驾驶任务。近两年,中国智能车未来挑战赛注意到了任务测试的重要性,精心设计了任务库,测试无人驾驶车辆的特定能力。
不过,这里还存在一个问题:通过测试任务,仍然不能说明被测系统具备了无人驾驶智能和驾驶能力。驾驶能力一般指的是完成某种特定驾驶行为的能力。完成一个特定的驾驶任务通常需要受试车辆具有多种驾驶能力。不同于场景和任务,每项驾驶能力可以被量化评估。进一步将各个能力进行汇总,即可定量评估整个无人驾驶车辆的驾驶能力。
在图1所示的语义网络中,沿着场景、任务直到能力之间的正向连接,我们可以从驾驶场景中梳理出具体驾驶能力,将能够量化的驾驶能力指标进行细分和标准化,以便建立完备的测试体系。
而沿着从能力、任务直到场景之间的反向连接,我们可以根据功能测试需求,自动产生合理的驾驶任务乃至驾驶场景,解决测试配套的驾驶环境自动设计问题。待驾驶场景确定之后,便可以自动化虚拟生成配套驾驶环境,用于无人驾驶智能的仿真测试和实路测试。
3.3.2. 智能性测试中测试场景的生成
基于图1,场景测试位于该语义网络的左端,而功能测试位于该语义网络的右端。我们提出的无人驾驶智能体系,实际上是将已有的两种无人驾驶智能定义方式融为一体,相辅相成。基于上述定义,我们可以进一步生成特定的测试场景。
生成测试场景,第一个要考虑的因素是,如何确定场景中所含有的任务,并确定这一系列任务的出现和需要完成的时间—空间位置。下图2描述了一个非常简单场景中,受试车辆A的若干不同任务在任务时空图中是如何排布的。受试车辆需要在每个任务需要完成的截止时间和截止空间前完成该任务。同时下图3描述了从抽象的测试场景到具体测试实例的转换过程。
每个场景中的任务数目和时空排列决定了该测试场景的难易程度。任务数据越多越难,需要同时处理的任务数量越多越难。