掌桥专利:专业的专利平台
掌桥专利
首页

用于自动驾驶的测试方法、装置、设备和存储介质

文献发布时间:2023-06-19 11:26:00


用于自动驾驶的测试方法、装置、设备和存储介质

技术领域

本公开的实施例主要涉及自动驾驶领域,并且更具体地,涉及用于自动驾驶的测试方法、装置、设备、计算机可读存储介质和程序产品。

背景技术

自动驾驶是通过使用计算机代替人类驾驶员或辅助人类驾驶员来感知车辆的周围环境、规划车辆的运动轨迹并控制车辆到达指定目标的技术。广义上的自动驾驶系统通常包括两部分,即,软件系统和硬件系统。硬件系统包括用于感知环境的各种传感器和用于致使车辆执行行驶动作的致动器。软件系统包括用于进行信息融合、路径规划、行为决策、运动控制的各种模块。软件系统的一个重要功能是为自动驾驶车辆生成轨迹。因此,在软件系统的开发过程中,需要进行测试以使软件系统能够生成高效且安全的轨迹。

发明内容

根据本公开的示例实施例,提供了一种用于自动驾驶的测试方案。

在本公开的第一方面中,提供了一种用于自动驾驶的测试方法。该方法包括基于自动驾驶车辆在真实环境中的行驶数据,设置针对虚拟车辆的至少一个测试场景。至少一个测试场景中的每个测试场景包括虚拟车辆的行驶状态和虚拟车辆所处的测试环境。该方法还包括获得用于轨迹规划的配置信息,配置信息指定与轨迹的行驶成本有关的多个因素。该方法进一步包括基于配置信息,为至少一个测试场景中的虚拟车辆生成规划轨迹。该方法进一步包括呈现规划轨迹的第一可视表示和规划轨迹的行驶成本的第二可视表示。

在本公开的第二方面中,提供了一种用于自动驾驶的测试装置。该装置包括场景设置模块,被配置为基于自动驾驶车辆在真实环境中的行驶数据,设置针对虚拟车辆的至少一个测试场景,至少一个测试场景中的每个测试场景包括虚拟车辆的行驶状态和虚拟车辆所处的测试环境。该装置还包括配置获得模块,被配置为获得用于轨迹规划的配置信息,配置信息指定与轨迹的行驶成本有关的多个因素。该装置进一步包括轨迹生成模块,被配置为基于配置信息,为至少一个测试场景中的虚拟车辆生成规划轨迹。该装置进一步包括信息呈现模块,被配置为呈现规划轨迹的第一可视表示和规划轨迹的行驶成本的第二可视表示。

在本公开的第三方面中,提供了一种电子设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第一方面的方法。

在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。

在本公开的第五方面中,提供了一种计算机程序产品,其包括计算机可执行指令,其中计算机可执行指令在被处理器执行时实现根据本公开的第一方面的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:

图1示出了本公开的多个实施例能够在其中实现的示例环境的示意图;

图2示出了根据本公开的一些实施例的用户界面的示例;

图3示出了根据本公开的一些实施例的用于自动驾驶的测试方法的流程图;

图4示出了根据本公开的一些实施例的用户界面的第二区域的示例;

图5示出了根据本公开的一些实施例的设置测试场景的方法的流程图;

图6示出了根据本公开的一些实施例的用户界面的第二区域的另一示例;

图7示出了根据本公开的一些实施例的用户界面的又一示例;

图8示出了根据本公开的一些实施例的用于自动驾驶的测试装置的示意性框图;以及

图9示出了能够实施本公开的多个实施例的计算设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

如上文所简述的,自动驾驶系统中的软件系统的一个重要功能是为自动驾驶车辆生成轨迹。在轨迹生成中,需要考虑轨迹的总成本。轨迹的总成本与自动驾驶车辆的不同行为有关,与这些行为对应的成本项构成了总成本。例如,与轨迹碰撞到行人对应的成本项是A,与轨迹压到车道边界对应的成本项是B,与超过限速区限速对应的成本项是C,等等。轨迹的总成本是这些成本项之和。在轨迹生成中,通过迭代,可以使所规划的轨迹的总成本不断下降。换言之,犯错比较少的轨迹,即总成本较低的轨迹,可以被确定为合理的轨迹。

如何设置与不同行为对应的成本项对于轨迹规划是关键问题。在常规的解决方案中,通常根据经验来设置成本项。这种解决方案极大地受限于主观经验,从而不利于生成优化的轨迹。另外,在常规的解决方案中,通常在进行路测的自动驾驶车辆上直接测试,无法直观地向测试人员提供轨迹和成本之间的关系。

根据本公开的实施例,提出了一种用于自动驾驶的测试方案,旨在解决上述问题以及其他潜在问题中的一个或多个。在该方案中,基于自动驾驶车辆在真实环境中的行驶数据,设置针对虚拟车辆的至少一个测试场景。所设置的至少一个测试场景中的每个测试场景包括虚拟车辆的行驶状态和虚拟车辆所处的测试环境。获得用于轨迹规划的配置信息。该配置信息指定与轨迹的行驶成本有关的多个因素,例如多个成本项。基于配置信息,为至少一个测试场景中的虚拟车辆生成规划轨迹。呈现规划轨迹的可视表示和规划轨迹的行驶成本的可视表示。

根据在此提出的用于自动驾驶的测试方案,可以利用真实环境中的行驶数据来测试轨迹规划功能,并可视化地呈现规划轨迹和相关的成本信息。由此,可以支持在测试中调整与轨迹的成本有关的成本配置,从而使所计算的成本更可靠。以此方式,可以优化自动驾驶系统的轨迹规划功能。以下将参照附图来具体描述本公开的实施例。

图1示出了本公开的多个实施例能够在其中实现的示例环境100的示意图。总体而言,该示例环境100包括真实环境101和由计算设备102构建的测试环境(未示出)。真实环境101包括等待过马路的行人112、路侧的树木113以及部署有车载系统110的车辆111(其又称为“自动驾驶车辆”)。车辆111在真实环境101中行驶。行人112、树木113、道路等构成了车辆111行驶的外部环境。车辆111可以在真实环境101中进行行驶测试,也可以在真实环境101中实际行驶。应当理解,图1中所示的真实环境101仅是示意性的,而无意限制本公开的范围。

部署在车辆111(例如,车辆111的车载终端或其他车载设备)上的车载系统110可以包括用于自动驾驶的软件系统的至少一部分。例如,车载系统110可以包括用于信息融合、路径规划、行为决策、运动控制的各种模块(未示出)。在车辆111在真实环境101中行驶时,车载系统110可以生成和记录与真实环境101有关的环境信息。例如,安装在车辆111上的感测设备(例如,激光雷达、相机等)可以感测和收集环境数据,车载系统110可以基于环境数据生成环境信息。这样的环境信息可以包括与车辆111在行驶时的外部环境有关的各种信息,例如指示行人112的信息、指示道路的信息等。

除了环境信息之外,车载系统110还可以生成和记录与车辆111的行驶动作有关的行驶信息。在此描述的行驶信息可以是指为了再现车辆111在真实环境101中的行驶状态所需要的各种信息。行驶信息可以包括车辆111在行驶过程中随时间而做出的一个或多个行驶动作、一个或多个行驶动作的开始时间和/或结束时间、一个或多个行驶动作所遵循的轨迹、一个或多个行驶动作的触发因素等。

车载系统110可以采用各种合适的方式来生成和记录行驶信息131。在一些实施例中,可以针对车辆111的每个行驶动作,记录与该行驶动作有关的行驶信息,例如该行驶动作的开始时间、该行驶动作所遵循的轨迹等。在这种实施例中,根据行驶动作来记录行驶信息。

计算设备102可以获得或存储由车载系统110生成和记录的行驶信息和环境信息,作为自动驾驶车辆在真实环境中的行驶数据130的至少一部分。计算设备102还可以获得或存储用于轨迹规划的配置信息140。

配置信息140至少指定与轨迹的行驶成本有关的多个因素。这些因素例如视为构成轨迹的总成本的多个成本项,因此在本文中也可以称为“成本项”。配置信息140可以指示多个因素中的每个因素的权重以及对总成本的贡献方式。贡献方式可以是指在总成本的计算中相应的因素的数学形式,例如三次方、二次方、线性等。

与行驶成本有关的这些因素可以被划分成四种类型。第一类型的因素与自动驾驶车辆执行行驶动作的能力有关。换言之,第一类型的因素可以是自动驾驶车辆的运动学限制。作为示例,第一类型的因素可以包括但不限于最大速度、最大前向加速度、最大侧向加速度、姿态角的范围等。

第二类型的因素与自动驾驶车辆执行行驶动作的消耗有关。例如,第二类型的因素可以是自动驾驶车辆按照轨迹行驶将要花费的能量。作为示例,第二类型的因素可以包括但不限于所规划的前向加速度、侧向加速度、角度改变等引起的消耗。

第三类型的因素与自动驾驶车辆被禁止执行的行驶动作有关。换言之,第三类型的因素可以是对自动驾驶车辆的行为的强约束。作为示例,第三类型的因素可以包括但不限于对交通规则的违背、所要求的道路速度限制、道路的边界限制等。

第四类型的因素与自动驾驶车辆被限制执行的行驶动作有关。换言之,第四类型的因素可以是对自动驾驶车辆的行为的弱约束。作为示例,第四类型的因素可以包括但不限于优选的速度范围、车道边界、舒适性要求等。

在一些实施例中,配置信息140可以是从车载系统110获取的。在这种实施例中,配置信息140所指定的因素(包括权重和贡献方式)是车载系统110在为车辆111生成轨迹时所使用的。在一些实施例中,配置信息140可以是通过任何合适的算法生成的,或者是由用户指定的。

在计算设备102处部署有轨迹优化器120。轨迹优化器120可以经由计算设备102的显示单元来提供或绘制用户界面150。诸如自动驾驶系统的开发人员之类的用户可以通过用户界面150与轨迹优化器120交互,例如以调整各个成本项。

图2示出了由轨迹优化器120提供的用户界面150的一个示例。总体上,用户界面150可以包括第一区域210、第二区域220、第三区域230和触发按钮“开始”。

第一区域210用于呈现由轨迹优化器120基于行驶数据130和配置信息140生成的规划轨迹的可视化表示。第一区域210还可以呈现与规划轨迹有关的其他信息(例如,约束条件)的可视化表示。第二区域220用于向用户呈现与测试场景和配置信息有关的选项。为此,第二区域220包括测试场景面板221和配置信息面板222。第三区域230用于呈现规划轨迹的行驶成本的可视化表示。例如,第三区域230可以单独地显示每个成本项对行驶成本的贡献。触发按钮“开始”用于响应于用户的点击而触发轨迹生成。下文将详细描述第一区域210、第二区域220和第三区域230所呈现的内容。

继续参考图1。图1中示出的环境100仅是示例性的。轨迹优化器120可以被实现或分布于多个计算设备。备选地,轨迹优化器120可以从其他设备接收行驶数据130和配置信息140。计算设备102可以是任何具有计算能力的设备。作为非限制性示例,计算设备102可以是任意类型的固定计算设备、移动计算设备或便携式计算设备,包括但不限于台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、多媒体计算机、移动电话等;计算设备102的全部组件或一部分组件可以分布在云端。

为了更清楚地理解本公开的实施例所提供的用于自动驾驶的测试方案,将参照图3来进一步描述本公开的实施例。图3示出了根据本公开的实施例的用于自动驾驶的示例测试方法300的流程图。方法300可以由图1的轨迹优化器120实现。为便于讨论,将结合图1来描述方法300。

在框310,轨迹优化器120基于自动驾驶车辆在真实环境101中的行驶数据130,设置针对虚拟车辆的至少一个测试场景。每个测试场景包括虚拟车辆的行驶状态和虚拟车辆所处的测试环境。行驶数据130可以包括多个真实场景的数据。每个真实场景的数据可以包括该真实场景下的行驶信息和环境信息,如参考图1所描述的。每个真实场景的数据可以被存储在文件中。这样的文件也称为场景文件。

在一些实施例中,所设置的至少一个测试场景可以是真实场景的再现。例如,轨迹优化器120可以读取场景文件中真实场景的数据,并利用读取的数据来设置测试场景。

参考图4。图4示出了根据本公开的一些实施例的用户界面150的第二区域220的示例。在测试场景面板221被呈现时,第二区域220包括与真实场景有关的子区域410,其又包括供用户选择加载真实场景的按钮“加载真实场景”。响应于用户点击按钮“加载真实场景”,轨迹优化器120可以呈现包括一个或多个场景文件的目录,以供用户选择。由此,可以支持批量导入场景文件。

如果识别到用户选择某个场景文件,则轨迹优化器120可以解析该场景文件以获得真实场景的数据,并且基于该数据来设置测试场景。相应地,可以在表格415的“名称”列中呈现所选择的场景文件的名称。此时,“状态”列可以显示诸如“未开始”等。

如果识别到用户选择了包括多个场景文件的目录,则轨迹优化器120可以解析该目录下的每个场景文件以获得相应的真实场景的数据,并且基于所解析的数据来设置多个测试场景。相应地,可以在表格415中呈现所选择的目录中的各个场景文件的名称。此时,“状态”列可以显示诸如“未开始”。

在这种实施例中,通过再现真实环境中的真实场景,可以还原真实场景中的行驶。以此方式,可以针对真实场景中的具体问题进行调试。

备选地或附加地,在一些实施例中,所设置的至少一个测试场景可以是模拟场景。可以通过改变真实场景来确定模拟场景。在这种实施例中,测试场景面板221可以包括与模拟场景有关的子区域420。

下面参考图5来描述这种实施例。图5示出了根据本公开的一些实施例的设置测试场景的方法500的流程图。方法500可以视为框310的一个具体实现。

在框510,轨迹优化器120从行驶数据130中确定与自动驾驶车辆的行驶环境有关的约束条件。例如,轨迹优化器120可以从用户所选择的场景文件中来确定约束条件。在此描述的约束条件可以是指限制或影响自动驾驶车辆的行驶的任何条件或参数。

约束条件可以用于约束自动驾驶车辆所行驶的道路的几何形状。例如,这样的约束条件可以指定道路的宽度、是否具有转弯、转弯的角度(例如,直角弯、S形)等。备选地或附加地,约束条件可以用于约束道路上的车辆的速度。例如,这样的约束条件可以指定该道路所规定的速度限制,例如最高速度。备选地或附加地,约束条件可以用于约束自动驾驶车辆相对于道路上的另外的车辆的距离。这样的约束条件可以指定自动驾驶车辆相对于前方车辆的距离、相对于前方车辆的速度等。例如,这种约束条件可以是自适应巡航(ACC)参数。

在框520,轨迹优化器120基于用户输入,改变约束条件。例如,轨迹优化器120可以基于用户输入改变道路的几何形状、速度的上限、ACC的参数等。

在一些实施例中,用户输入可以指示加载预先生成的模拟配置,以改变约束条件。预先生成的模拟配置可以指定改变一个或多个约束条件的策略。参考图4。子区域420可以包括供用户选择加载模拟配置的按钮“加载模拟配置”。如果识别到按钮“加载模拟配置”被点击,则轨迹优化器120可以读取预先生成的模拟配置,并根据所指定的策略来改变一个或多个约束条件。例如,可以按照策略将增加道路的转弯的角度。

备选地或附加地,在一些实施例中,用户输入可以指示生成模拟配置,以改变约束条件。如图4所示,子区域420可以包括供用户选择生成模拟配置的按钮“生成模拟配置”。如果识别到按钮“生成模拟配置”被点击,则轨迹优化器120可以从用户接收期望改变的约束条件。作为示例,轨迹优化器120可以接收用户在表格425中的输入,该输入指定用户期望改变的约束条件。例如,该输入可以指定要被改变的ACC参数及其值。

在框530,轨迹优化器120基于经改变的约束条件,设置至少一个测试场景。未被改变的条件或参数可以维持场景文件中的数据。轨迹优化器120可以利用所记载生成的模拟配置和被维持的场景文件中的数据,来设置测试场景。

在这种实施例中,可以通过改变一个或多个约束条件,来设置真实环境中未包括的场景。这样,能够模拟处用户所期望的测试场景的组合。以此方式,可以尽可能地覆盖所有可能出现的场景。在更多的场景中进行测试有助于全面优化自动驾驶系统的轨迹规划功能。

继续参考图3。在框320,轨迹优化器120获得用于轨迹规划的配置信息140。配置信息140指定与轨迹的行驶成本有关的多个因素。这些因素可以是参考图1所描述的四种类型的因素。配置信息140可以指示多个因素中的每个因素的权重以及对总成本的贡献方式(例如,二次方、线性、S型函数等)。作为示例,第一类型的因素中的最大速度的权重可以是5000,并且贡献方式可以是二次方。第四类型的因素中的舒适性的权重可以是25,并且贡献方式可以是线性。

配置信息140可以是从一个或多个配置文件中读取的。备选地或附加地,配置信息140可以是用户输入的或修改的。参考图6。图6示出了根据本公开的一些实施例的用户界面的第二区域220的另一示例。例如,在设置了测试场景后,响应于用户点击配置信息面板222的标签,轨迹优化器120可以呈现如图6所示的配置信息面板222。

配置信息面板222可以包括用于供用户选择添加配置信息的按钮“添加配置”。例如,响应于该按钮被点击,轨迹优化器120可以接收用户在子区域610中输入的配置信息,诸如各个成本项的权重。又如,响应于该按钮被点击,轨迹优化器120可以从外部导入包含配置信息的文件。

备选地或附加地,配置信息面板222可以包括用于供用户选择加载配置信息的按钮“加载配置”。例如,响应于该按钮被点击,轨迹优化器120可以向用户呈现一个或多个配置文件,以供用户选择。然后。轨迹优化器120可以加载用户所选择的配置文件,并且解析其中的配置信息。

备选地或附加地,配置信息面板222可以包括用于供用户选择修改配置信息的按钮“修改配置”。例如,响应于该按钮被点击,轨迹优化器120可以接收用户在子区域610中输入的对一个或多个成本项的修改。例如,用户输入可以指示将最大速度的权重从5000修改为3000。又如,用户输入可以指示将舒适性贡献方式从线性修改为二次方。

继续参考图3。在框330,轨迹优化器120基于配置信息140,为至少一个测试场景中的虚拟车辆生成规划轨迹。例如,响应于确定图2所示的按钮“开始”被点击,轨迹优化器120开始为一个或多个测试场景中的虚拟车辆生成规划轨迹。

轨迹优化器120可以包括与车载系统110中用于生成轨迹的模块相同或相似的轨迹生成模块。在框330,该轨迹生成模块可以基于配置信息140为虚拟车辆生成规划轨迹。为了利用轨迹生成模块,轨迹优化器120可以加载与轨迹生成模型有关的配置,该配置可以例如从车载系统110获取。

在框340,轨迹优化器120呈现规划轨迹的可视表示(也称为“第一可视表示”)和规划轨迹的行驶成本的可视表示(也称为“第二可视表示”)。轨迹优化器120可以在用户界面150中以任何合适的方式来呈现第一和第二可视表示。

参考图7。图7示出了根据本公开的一些实施例的用户界面150的又一示例。在生成规划轨迹后,轨迹优化器120可以在第一区域210中呈现规划轨迹的可视表示710。总体上,在该示例中,可视表示710是描绘规划路径的取向的线条。此外,可视表示710还可以附加地包括规划轨迹中的每个点处的速度、加速度、姿态角等信息。例如,响应于用户点击可视表示710上的某个点,轨迹优化器120可以显示该点处的速度、加速度、姿态角等。

附加地,在一些实施例中,轨迹优化器120还可以在第一区域210中呈现与规划轨迹有关的其他信息的可视化表示。这种其他信息可以包括构成测试场景的随时间变化的条件、不随时间变化的条件、针对测试场景生成的随时间变化的指令、不随时间变化的指令等。在图7的示例中,示出了道路的边界的可视表示711和路上的障碍的可视表示712。

在生成规划轨迹后,轨迹优化器120可以在第三区域230中呈现规划轨迹的行驶成本的可视表示。轨迹优化器120可以呈现总行驶成本的可视表示,以及与行驶成本有关的多个因素(即,多个成本项)的可视表示。

在图7的示例中,轨迹优化器120在第三区域230中显示行驶成本的曲线图730。曲线图730可以包括表示总行驶成本的曲线和表示各个成本项的曲线。

轨迹优化器120可以呈现与多个成本项对应的多个界面元素,并且与多个界面元素中的每个界面元素相关联地呈现对应的成本项对总轨迹成本的贡献。在此描述的贡献可以是指对规划轨迹而言,相应的成本项的值,或相应的成本项在总行驶成本中所占的比例。

在图7的示例中,轨迹优化器120在子区域720中呈现与成本项对应的界面元素。图7以放大的比例示出了子区域720。界面元素701至709分别对应于因素A、因素B、因素C、因素D、因素E、因素F、因素G、因素H、因素I。在一些实施例中,界面元素701至709可以具有不同的颜色,以更直观地区分不同的因素。紧跟在界面元素之后,显示了对应的因素在规划轨迹中的值。在该示例中,因素C和因素G的值,即因素C和因素G产生的成本,分别为10和5,而其他因素的值为零。应当理解,图7所示出的因素的值仅是示例性的,而无意限制本公开的范围。

以此方式,可以使用户(例如,自动驾驶系统的开发人员)直观感受到不同因素在所规划的轨迹中的作用。在用户点击与某个因素对应的界面元素后,还可以高亮显示该因素。

此外,在一些实施例中,在生成某个测试场景的规划轨迹后,可以相应地标识用于设置该测试场景的场景文件。例如,图4中所示的表415的“状态”列与该场景文件对应的元素可以显示诸如“已测试”。

在一些实施例中,轨迹优化器120可以支持对配置信息140的实时修改。例如,用户可以通过用户界面150来修改一个或多个因素,例如修改一个或多个因素的权重、贡献方式或其他可能的参数。

响应于呈现行驶成本的可视表示,轨迹优化器120可以接收用户输入。该用户输入可以指示用户期望修改的因素。轨迹优化器120可以基于该用户输入,调整多个因素中的至少一个因素。即,轨迹优化器120可以按照用户输入修改用户期望修改的因素。接下来,轨迹优化器120可以基于经调整的因素,更新为虚拟车辆生成的规划轨迹,并且呈现更新前的规划轨迹与经更新的规划轨迹之间的差异的可视化表示。在这种实施例中,可以实时改变成本配置,并实时生成轨迹。以此方式,可以高效地进行成本配置的调整。

作为示例,在查看所呈现的各个因素对总行驶成本的贡献后,用户可能期望修改某个因素,例如其权重、贡献方式或附加的参数等。用户可以点击图6中所示的第二区域220中的按钮“修改配置”,与输入或指定期望修改的因素。在接收到用户输入后,轨迹优化器120可以保存经修改的因素以生成经修改的配置信息,并基于经修改的配置信息来生成新的规划轨迹。轨迹优化器120可以在第一区域210中呈现新的规划轨迹的可视表示。该可视表示可以与图7所示的可视表示710叠加地显示。以此方式,可以向用户直观地呈现两个规划轨迹的区别。

继续参考图3。如果在框310设置了多个测试场景,则可以针对所设置的多个测试场景依次执行框320至340。例如,可以按照这些测试场景在表415中的排列顺序来依次执行框320至340。

在一些实施例中,方法300还可以包括附加的步骤或框。针对多个测试场景中的每个测试场景,确定在框330生成的规划轨迹的参考属性是否优于与该测试场景对应的真实轨迹的参考属性。在此使用的参考属性可以是用于评估轨迹优劣的任何合适的度量,例如横向间隙(clearance)、速度的变化、加速度的变化等。本公开的范围在此方面不受限制。

如果针对多个测试场景中超过阈值数目的测试场景确定规划轨迹的参考属性优于真实轨迹的参考属性,则可以认为规划轨迹优于真实轨迹。在这种情况下,轨迹优化器120可以输出生成该规划轨迹所使用的配置信息以用于为自动驾驶车辆生成轨迹。也就是说,这样的配置信息对于大多数的测试场景是性能较好的成本配置。

可以针对行驶成本的多个配置方案,即成本项的多种组合,来执行上述过程。这有助于找到泛化性能较好的成本配置。这样的成本配置可适用于大多数的自动驾驶场景。

从以上描述可以看出,根据本公开的实施例可以利用真实环境中的行驶数据来测试轨迹规划功能,并可视化地呈现规划轨迹和相关的成本信息。由此,可以支持在测试中调整成本配置,以便找到更可靠的成本配置方案。这样可以促进优化自动驾驶系统的轨迹规划功能。此外,应当理解,图1、图2、图4、图6和图7所示的用户界面中的界面元素的数目和形状、相对位置、值等均是示例性的,而无意限制本公开的范围。

图8示出了根据本公开的一些实施例的用于自动驾驶的测试装置800的示意性框图。装置800可以被包括在图1的计算设备102上。例如,装置800可以用于实现图1所示的轨迹优化器120。

如图8所示,装置800包括环场景设置模块810,被配置为基于自动驾驶车辆在真实环境中的行驶数据,设置针对虚拟车辆的至少一个测试场景.至少一个测试场景中的每个测试场景包括虚拟车辆的行驶状态和虚拟车辆所处的测试环境。装置800还包括配置获得模块820,被配置为获得用于轨迹规划的配置信息,配置信息指定与轨迹的行驶成本有关的多个因素。装置800进一步包括轨迹生成模块830,被配置为基于配置信息,为至少一个测试场景中的虚拟车辆生成规划轨迹。装置800进一步包括信息呈现模块840,被配置为呈现规划轨迹的第一可视表示和规划轨迹的行驶成本的第二可视表示。

在一些实施例中,装置800还包括:轨迹评估模块,被配置为针对至少一个测试场景中的每个测试场景,确定规划轨迹的参考属性是否优于与每个测试场景对应的真实轨迹的参考属性;以及配置输出模块,被配置为如果针对至少一个测试场景中超过阈值数目的测试场景确定规划轨迹的参考属性优于真实轨迹的参考属性,输出配置信息以用于为自动驾驶车辆生成轨迹。

在一些实施例中,场景设置模块820包括:条件确定模块,被配置为从行驶数据中确定与自动驾驶车辆的行驶环境有关的约束条件;条件改变模块,被配置为基于第一用户输入,改变约束条件;以及条件利用模块,被配置为基于经改变的约束条件,设置至少一个测试场景。

在一些实施例中,约束条件用于约束以下至少一项:自动驾驶车辆所行驶的道路的几何形状,道路上的车辆的速度,或自动驾驶车辆相对于道路上的另外的车辆的距离。

在一些实施例中,装置800还包括:输入接收模块,被配置为响应于呈现第二可视表示,接收第二用户输入;因素调整模块,被配置为基于第二用户输入,调整多个因素中的至少一个因素;轨迹更新模块,被配置为基于经调整的至少一个因素,更新为虚拟车辆生成的规划轨迹;以及差异呈现模块,被配置为呈现规划轨迹与经更新的规划轨迹之间的差异的第三可视化表示。

在一些实施例中,信息呈现模块840包括:界面元素呈现模块,被配置为呈现与多个因素对应的多个界面元素;以及数值呈现模块,被配置为与多个界面元素中的每个界面元素相关联地呈现对应的因素对规划轨迹的行驶成本的贡献。

在一些实施例中,多个因素与以下至少一项有关:自动驾驶车辆执行行驶动作的能力,自动驾驶车辆执行行驶动作的消耗,自动驾驶车辆被禁止执行的行驶动作,或自动驾驶车辆被限制执行的行驶动作。

图9示出了可以用来实施本公开的实施例的示例设备900的示意性框图。设备900可以用于实现图1的计算设备102。如图所示,设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元901执行上文所描述的各个方法和处理,例如过程300和500中的任一项。例如,在一些实施例中,过程300和500中的任一项可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由CPU 901执行时,可以执行上文描述的过程300和500中的任一项的一个或多个步骤。备选地,在其他实施例中,CPU 901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程300和500中的任一项。

本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实施例。

本公开的实施例公开了:

TS1.一种用于自动驾驶的测试方法,包括:

基于自动驾驶车辆在真实环境中的行驶数据,设置针对虚拟车辆的至少一个测试场景,所述至少一个测试场景中的每个测试场景包括所述虚拟车辆的行驶状态和所述虚拟车辆所处的测试环境;

获得用于轨迹规划的配置信息,所述配置信息指定与轨迹的行驶成本有关的多个因素;

基于所述配置信息,为所述至少一个测试场景中的所述虚拟车辆生成规划轨迹;以及

呈现所述规划轨迹的第一可视表示和所述规划轨迹的行驶成本的第二可视表示。

TS2.根据TS1所述的方法,还包括:

针对所述至少一个测试场景中的每个测试场景,确定所述规划轨迹的参考属性是否优于与所述每个测试场景对应的真实轨迹的所述参考属性;以及

如果针对所述至少一个测试场景中超过阈值数目的测试场景确定所述规划轨迹的所述参考属性优于所述真实轨迹的所述参考属性,输出所述配置信息以用于为自动驾驶车辆生成轨迹。

TS3.根据TS1所述的方法,其中设置针对所述虚拟车辆的所述至少一个测试场景包括:

从所述行驶数据中确定与所述自动驾驶车辆的行驶环境有关的约束条件;

基于第一用户输入,改变所述约束条件;以及

基于经改变的所述约束条件,设置所述至少一个测试场景。

TS4.根据TS3所述的方法,其中所述约束条件用于约束以下至少一项:

所述自动驾驶车辆所行驶的道路的几何形状,

所述道路上的车辆的速度,或

所述自动驾驶车辆相对于所述道路上的另外的车辆的距离。

TS5.根据TS1所述的方法,还包括:

响应于呈现所述第二可视表示,接收第二用户输入;

基于所述第二用户输入,调整所述多个因素中的至少一个因素;

基于经调整的所述至少一个因素,更新为所述虚拟车辆生成的所述规划轨迹;以及

呈现所述规划轨迹与经更新的所述规划轨迹之间的差异的第三可视化表示。

TS6.根据TS1所述的方法,其中呈现所述第二可视表示包括:

呈现与所述多个因素对应的多个界面元素;以及

与所述多个界面元素中的每个界面元素相关联地呈现对应的因素对所述规划轨迹的所述行驶成本的贡献。

TS7.根据TS1所述的方法,其中所述多个因素与以下至少一项有关:

所述自动驾驶车辆执行行驶动作的能力,

所述自动驾驶车辆执行行驶动作的消耗,

所述自动驾驶车辆被禁止执行的行驶动作,或

所述自动驾驶车辆被限制执行的行驶动作。

TS8.一种用于自动驾驶的测试装置,包括:

场景设置模块,被配置为基于自动驾驶车辆在真实环境中的行驶数据,设置针对虚拟车辆的至少一个测试场景,所述至少一个测试场景中的每个测试场景包括所述虚拟车辆的行驶状态和所述虚拟车辆所处的测试环境;

配置获得模块,被配置为获得用于轨迹规划的配置信息,所述配置信息指定与轨迹的行驶成本有关的多个因素;

轨迹生成模块,被配置为基于所述配置信息,为所述至少一个测试场景中的所述虚拟车辆生成规划轨迹;以及

信息呈现模块,被配置为呈现所述规划轨迹的第一可视表示和所述规划轨迹的行驶成本的第二可视表示。

TS9.根据TS8所述的装置,还包括:

轨迹评估模块,被配置为针对所述至少一个测试场景中的每个测试场景,确定所述规划轨迹的参考属性是否优于与所述每个测试场景对应的真实轨迹的所述参考属性;以及

配置输出模块,被配置为如果针对所述至少一个测试场景中超过阈值数目的测试场景确定所述规划轨迹的所述参考属性优于所述真实轨迹的所述参考属性,输出所述配置信息以用于为自动驾驶车辆生成轨迹。

TS10.根据TS8所述的装置,其中所述场景设置模块包括:

条件确定模块,被配置为从所述行驶数据中确定与所述自动驾驶车辆的行驶环境有关的约束条件;

条件改变模块,被配置为基于第一用户输入,改变所述约束条件;以及

条件利用模块,被配置为基于经改变的所述约束条件,设置所述至少一个测试场景。

TS11.根据TS10所述的装置,其中所述约束条件用于约束以下至少一项:

所述自动驾驶车辆所行驶的道路的几何形状,

所述道路上的车辆的速度,或

所述自动驾驶车辆相对于所述道路上的另外的车辆的距离。

TS12.根据TS8所述的装置,还包括:

输入接收模块,被配置为响应于呈现所述第二可视表示,接收第二用户输入;

因素调整模块,被配置为基于所述第二用户输入,调整所述多个因素中的至少一个因素;

轨迹更新模块,被配置为基于经调整的所述至少一个因素,更新为所述虚拟车辆生成的所述规划轨迹;以及

差异呈现模块,被配置为呈现所述规划轨迹与经更新的所述规划轨迹之间的差异的第三可视化表示。

TS13.根据TS8所述的装置,其中所述信息呈现模块包括:

界面元素呈现模块,被配置为呈现与所述多个因素对应的多个界面元素;以及

数值呈现模块,被配置为与所述多个界面元素中的每个界面元素相关联地呈现对应的因素对所述规划轨迹的所述行驶成本的贡献。

TS14.根据TS8所述的装置,其中所述多个因素与以下至少一项有关:

所述自动驾驶车辆执行行驶动作的能力,

所述自动驾驶车辆执行行驶动作的消耗,

所述自动驾驶车辆被禁止执行的行驶动作,或

所述自动驾驶车辆被限制执行的行驶动作。

TS15.一种电子设备,所述设备包括:

一个或多个处理器;以及

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如TS1-7中任一项所述的方法。

TS16.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如TS1-TS7中任一项所述的方法。

TS17.一种计算机程序产品,包括计算机可执行指令,其中所述计算机可执行指令在被处理器执行时实现如TS1-TS7中任一项所述的方法。

相关技术
  • 用于自动驾驶的测试方法、装置、设备和存储介质
  • 自动驾驶的测试方法、装置、电子设备及存储介质
技术分类

06120112923323