一种自动驾驶测试方法、装置及电子设备
技术领域
本公开涉及计算机技术中的自动驾驶等人工智能
技术领域
,尤其涉及一种自动驾驶测试方法、装置及电子设备。背景技术
随着自动驾驶技术的不断发展,自动驾驶车辆越来越多,也越来越智能。自动驾驶算法在实际运行过程中会遇到非常复杂多样的场景,需要对自动驾驶算法进行场景下的测试。
目前,常采用的方法是仿真测试,在仿真测试过程中,主要是通过在人工设计的场景下进行自动驾驶算法测试。
发明内容
本公开提供一种自动驾驶测试方法、装置及电子设备。
第一方面,本公开一个实施例提供一种自动驾驶测试方法,所述方法包括:
获取自动驾驶车辆的真实道路测试数据;
基于所述真实道路测试数据中目标语义场景下的N个数据片段,生成N个仿真场景,N为正整数;
在所述N个仿真场景下运行自动驾驶算法进行测试,得到在所述N个仿真场景下第一测试指标的结果;
根据在所述N个仿真场景下所述第一测试指标的结果,确定在所述目标语义场景下的目标测试结果。
在本实施例的自动驾驶测试方法中,无需人工设计场景以及在人工设计的场景下测试,而是根据真实道路测试数据中目标语义场景下的N个数据片段,生成N个仿真场景,用于自动驾驶仿真测试,而且是通过在所述N个仿真场景下运行自动驾驶算法进行测试,得到在所述N个仿真场景下第一测试指标的结果,根据在所述N个仿真场景下所述第一测试指标的结果,确定在所述目标语义场景下的目标测试结果,也即是可实现在特定语义场景(即目标语义场景)下的自动驾驶测试,如此,可提高在特定语义场景下自动驾驶测试效果。
第二方面,本公开一个实施例提供一种自动驾驶测试装置,所述装置包括:
测试数据获取模块,用于获取自动驾驶车辆的真实道路测试数据;
生成模块,用于基于所述真实道路测试数据中目标语义场景下的N个数据片段,生成N个仿真场景,N为正整数;
测试模块,用于在所述N个仿真场景下运行自动驾驶算法进行测试,得到在所述N个仿真场景下第一测试指标的结果;
确定模块,用于根据在所述N个仿真场景下所述第一测试指标的结果,确定在所述目标语义场景下的目标测试结果。
第三方面,本公开一个实施例还提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开如第一方面提供的自动驾驶测试方法。
第四方面,本公开一个实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开如第一方面提供的自动驾驶测试方法。
第五方面,本公开一个实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开如第一方面提供的自动驾驶测试方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开提供的一个实施例的自动驾驶测试方法的流程示意图之一;
图2是本公开提供的一个实施例的自动驾驶测试方法的流程示意图之二;
图3是本公开提供的一个实施例的自动驾驶测试方法的测试原理图
图4是通过本公开提供的一个实施例的自动驾驶测试方法得到的急刹比率的测试结果分布图;
图5是本公开提供的一个实施例的自动驾驶测试装置的结构图;
图6是用来实现本公开实施例的自动驾驶测试方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,根据本公开的实施例,本公开提供一种自动驾驶测试方法,方法包括:
步骤S101:获取自动驾驶车辆的真实道路测试数据。
真实道路测试数据为自动驾驶车辆在真实道路行驶过程中记录的数据,例如,可以包括但不限于自动驾驶车辆自身的行驶数据(例如、位置、速度以及运行状态等)、对环境检测得到的环境信息(即自动驾驶车辆采集到的环境信息)以及地图信息(例如,可以是高精地图信息)等,例如,环境信息可包括自动驾驶车辆周围交通环境数据(比如,静态或动态的其他交通参与者(例如其他车辆、行人等)、信号灯以及交通标示等数据)。
步骤S102:基于真实道路测试数据中目标语义场景下的N个数据片段,生成N个仿真场景,N为正整数。
在自动驾驶车辆在真实道路中行驶过程中,可记录各种语义场景下的数据,可以理解,真实道路测试数据中可包括多个语义场景下的数据片段,例如,真实道路测试数据中的语义场景可以包括但不限于路口直行、路口左转、路口右转、非路口直行、非路口变道以及非路口直行被切车等语义场景,真实道路测试数据中每个语义场景下的数据片段可以一个或多个。其中,上述目标语义场景为真实道路测试数据中多个语义场景中的一个语义场景,可以理解为期望自动驾驶算法进行测试的场景,即待测试的特定语义场景。
在本实施例中,可利用目标语义场景下的N个数据片段,生成N个仿真场景,也即是利用真实的N个数据片段,模拟出N个仿真场景,每个数据片段对应模以生成一个仿真场景,从而得到N个不同的仿真场景,即N个数据片段与N个仿真场景一一对应。由于仿真场景均是通过在真实道路中行驶过程中记录的数据片段生成,从而可提高得到的仿真场景的真实度,有利于提高自动驾驶测试效果。
步骤S103:在N个仿真场景下运行自动驾驶算法进行测试,得到在N个仿真场景下第一测试指标的结果。
本实施例中的测试为仿真测试,即是通过模拟车辆在仿真场景下,通过自动驾驶算法进行仿真行驶,从而实现仿真测试。通过自动驾驶算法分别在N个仿真场景下运行,实现自动驾驶的仿真测试,从而可得到自动驾驶算法在每个仿真场景下第一测试指标的结果,即在每个仿真场景下,均对应会得到第一测试指标的结果。作为一个示例,第一测试指标可以包括但不限于体感指标、安全指标、行驶效率指标和智能性指标中的至少一项。例如,对于体感指标,可以包括急刹次数等,急刹可以根据在仿真测试中模拟车辆的加速度以及加速度变化率来检测,例如,可将刹车过程中加速度小于预设加速度且加速变化率小于预设变化率的行为定义为急刹等。对于安全指标,可以包括碰撞次数等。对于行驶效率指标,可以包括行驶车速等,行驶车速可通过运行里程除以运行时间表示。对于智能性指标,可以包括停滞次数和冗余变道次数中的至少一项等,其中,停滞也可以理解为卡死,可定义为在模拟车辆在具备可通行条件下,出现了停滞不前的现象,停滞不前可以理解为车速小于预设阈值的时长大于预设时长。上述冗余变道可以理解为模拟车辆发生了无效的变道动作,也可称为无效变道次数,例如,从原车道变道到目标车道,又从目标车道变回原车道,而这中间没有超越任何障碍物。
步骤S104:根据在N个仿真场景下第一测试指标的结果,确定在目标语义场景下的目标测试结果。
在得到在N个仿真场景下第一测试指标的结果后,即可利用在N个仿真场景下第一测试指标的结果,确定在目标语义场景下的目标测试结果,实现在目标语义场景下的测试。
在本实施例的自动驾驶测试方法中,无需人工设计场景以及在人工设计的场景下测试,而是根据真实道路测试数据中目标语义场景下的N个数据片段,生成N个仿真场景,用于自动驾驶仿真测试,而且是通过在N个仿真场景下运行自动驾驶算法进行测试,得到在N个仿真场景下第一测试指标的结果,根据在N个仿真场景下第一测试指标的结果,确定在目标语义场景下的目标测试结果,也即是可实现在特定语义场景(即目标语义场景)下的自动驾驶测试,如此,可提高在特定语义场景下自动驾驶测试效果。
在一个实施例中,在N个仿真场景下运行自动驾驶算法进行测试,得到在N个仿真场景下第一测试指标的结果,包括:在N个仿真场景下运行自动驾驶算法进行测试,获得在N个仿真场景下自动驾驶算法的输出数据;通过在N个仿真场景下自动驾驶算法的输出数据,计算在N个仿真场景下第一测试指标的结果。即在本实施例中,如图2所示,提供了一种自动驾驶测试方法,包括:
步骤S201:获取自动驾驶车辆的真实道路测试数据;
步骤S202:基于真实道路测试数据中目标语义场景下的N个数据片段,生成N个仿真场景,N为正整数;
步骤S203:在N个仿真场景下运行自动驾驶算法进行测试,获得在N个仿真场景下自动驾驶算法的输出数据;
步骤S204:通过在N个仿真场景下自动驾驶算法的输出数据,计算在N个仿真场景下第一测试指标的结果;
步骤S205:根据在N个仿真场景下第一测试指标的结果,确定在目标语义场景下的目标测试结果。
其中,步骤S201-S202与步骤S101-S102一一对应,步骤S205与步骤S104对应,在此不再赘述。自动驾驶算法在每个仿真场景下进行测试,均有对应的输出数据,从而,在测试运行过程中,可持续记录在N个仿真场景下自动驾驶算法的输出数据,可根据在N个仿真场景下自动驾驶算法的输出数据,计算在N个仿真场景下第一测试指标的结果,利用得到的在N个仿真场景下第一测试指标的结果确定目标测试结果,完成在目标语义场景下的自动驾驶测试,提高自动驾驶效果。
需要说明的是,自动驾驶算法中包括多个子算法,每个子算法(可以理解,每个子算法是一个算法模块)在测试过程中有对应的输出数据,即自动驾驶算法的输出数据包括多个子算法的输出数据。例如,自动驾驶算法的输出数据可以包括感知输出、预测输出、规划输出、控制输出以及动力学模型的输出等,这些输出数据可以以record形式记录下来。在计算第一测试指标的结果过程中,可对记录的record形式的数据进行解析,根据其中的自动驾驶算法的输出数据,计算出在N个仿真场景下第一测试指标的结果。其中,感知输出可以包括障碍物信息以及信号灯信息等,预测输出可以理解为在测试过程中,模拟车辆遇到障碍物后,预测的障碍物在未来预设时长内的位置和速度等,上述未来是相对当前时间而言的。规划输出可以是一个序列,可以理解是为模拟车辆行驶规划的内容,其中可以包括规划的位置、规划的速度以及到达规划的位置的时长等信息。上述控制输出可以包括对油门的控制信息以及对方向盘的控制信息等。上述动力学模型的输出可以包括模拟车辆的位置以及运动状态信息等。
在一个实施例中,根据在N个仿真场景下第一测试指标的结果,确定在目标语义场景下的目标测试结果,包括:
对N个仿真场景下第一测试指标的结果进行汇总,确定在目标语义场景下第二测试指标的结果,第二测试指标与第一测试指标对应且数量相同,目标测试结果包括第二测试指标的结果。
例如,第一测试指标的数量为P,P为正整数,则第二测试指标的数量为P,每个仿真场景下对应P个测试指标,由于生成了N个仿真场景,从而N个仿真场景下第一测试指标的结果可以包括N*P个结果,*表示乘号。P个第一测试指标与P个第二测试指标一一对应,任一第二测试指标的结果是根据N个仿真场景下该第二测试指标对应的第一测试指标的结果计算得到,即任一第二测试指标的结果是根据与其对应的第一测试指标的N个结果确定的。也即是在本实施例中,通过对N个仿真场景下第一测试指标的结果进行汇总统计,确定在目标语义场景下第二测试指标的结果,实现自动驾驶测试,如此,可提高自动驾驶测试的效果。
作为一个示例,第二测试指标的结果与对应的第一测试指标的结果正相关,或者,第二测试指标的结果与M正相关,M为目标仿真场景的数量,目标仿真场景为N个仿真场景中与第二测试指标对应的第一测试指标的结果超过预设值的场景。
例如,P个第一测试指标包括急刹次数、碰撞次数、行驶车速、停滞次数和冗余变道次数,对应地,P个第二测试指标包括急刹比率、碰撞比率、平均行驶车速、停滞比率以及冗余变道比率。其中,对于平均行驶车速的测试指标,可以是N个仿真场景下的行驶车速的平均值,可以通过N个仿真场景下的行驶车速之和除以仿真场景总数量N得到,也即是,平均行驶车速与N个仿真场景下的行驶车速正相关。对于急刹比率的测试指标,可以是出现了急刹的仿真场景的数量与仿真场景总数量N之间的比值,即急刹比率是与出现了急刹的仿真场景的数量正相关,出现了急刹的仿真场景的数量可以理解为N个仿真场景中急刹次数超过预设值(例如,可以为0,超过0,则表示出现了急刹)的场景的数量。例如,目标语义场景为路口直行场景,N为100000,生成路口直行场景的100000个仿真场景,其中,有1000个仿真场景中发生了急刹,则路口直行场景的急刹比率为0.01,即1000除以100000的结果。
对于碰撞比率的测试指标,可以是出现了碰撞的仿真场景的数量与仿真场景总数量N之间的比值,即碰撞比率是与出现了碰撞的仿真场景的数量正相关,出现了碰撞的仿真场景的数量可以理解为N个仿真场景中碰撞次数超过预设值(例如,可以为0,超过0,则表示出现了碰撞)的场景的数量。对于停滞比率的测试指标,可以是出现了停滞的仿真场景的数量与仿真场景总数量N之间的比值,即停滞比率是与出现了停滞的仿真场景的数量正相关,出现了停滞的仿真场景的数量可以理解为N个仿真场景中停滞次数超过预设值(例如,可以为0,超过0,则表示出现了停滞)的场景的数量。对于冗余变道比率的测试指标,可以是出现了冗余变道的仿真场景的数量与仿真场景总数量N之间的比值,即冗余变道比率是与出现了冗余变道的仿真场景的数量正相关,出现了冗余变道的仿真场景的数量可以理解为N个仿真场景中冗余变道次数超过预设值(例如,可以为0,超过0,则表示出现了冗余变道)的场景的数量。
在一个实施例中,获取自动驾驶车辆的真实道路测试数据之后,还包括:
对真实道路测试数据进行语义切分,得到目标语义场景的N个数据片段;
其中,任意两个数据片段之间在时间上不重叠。
也即是,可对真实道路测试数据按照不同的语义场景进行切分,可以得到多个语义场景下的数据片段,可以从其中获取目标语义场景下的数据片段,即目标语义场景的N个数据片段,任意两个数据片段之间在时间上不重叠,可减少多个数据片段之间的干扰,利用目标语义场景的N个数据片段进行仿真场景的生成,以实现自动驾驶算法在目标语义场景下的运行测试,如此,可提高自动驾驶测试的效果。
在一个实施例中,目标数据片段包括自动驾驶车辆感知的片段环境信息以及以下至少一项信息:
片段起始时间和片段终止时间;
自动驾驶车辆的片段起始位置以及在片段起始位置的运动状态信息;
片段高精地图信息;
其中,目标数据片段为N个数据片段中的任一片段。
真实道路测试数据是关于时间上的测试数据,由于数据片段是真实道路测试数据中的片段,可包括片段环境信息,即检测的环境信息中的片段,且每个数据片段可有其对应的起始时间和终止时间,即片段起始时间和片段终止时间。数据片段是真实道路测试数据中的片段,则目标数据片段中可包括在片段中的起始位置以及在片段中的起始位置的运动状态信息,即片段起始位置以及在片段起始位置的运动状态信息。高精地图信息可以理解为整个高精地图,数据片段是真实道路测试数据中的片段,由于自动驾驶车辆的位置不同,其对应的周围地图信息不同,对应地,片段高精地图信息是高精地图中的片段,可以与自动驾驶车辆的片段起始位置对应。
即在本实施例中,用于生成仿真场景的数据片段中可包括自动驾驶车辆感知的片段环境信息,以及还可包括片段起始时间和片段终止时间、自动驾驶车辆的片段起始位置以及在片段起始位置的运动状态信息、片段高精地图信息中的至少一项,如此,可提高生成的仿真场景的真实性,从而提高在仿真场景中进行测试的效果。
下面以一个具体实施例对上述自动驾驶测试方法的过程加以具体说明。
如图3所示,本实施例的自动驾驶测试方法主要包括三部分流程,即仿真场景集合生成、场景批量运行和结果汇总以及目标测试结果产出。
对于仿真场景集合生成,本公开实施例提出的仿真场景来源于真实道路测试数据,自动驾驶车辆在真实道路测试过程中产生的数据可在数据中心进行存储,可通过场景挖掘的手段从真实道路测试数据中找出目标语义场景(即特定语义场景)的N个数据片段,例如路口直行、非路口直行被切车等语义场景。然后将目标语义场景下的N个数据片段分别转换为仿真场景,即得到N个仿真场景,这样就得到了特定语义场景下(即目标语义场景下)的仿真场景集合,其中包括N个仿真场景。
对于场景批量运行,仿真场景集合准备就绪后,便可在大规模集群中进行场景的批量运行计算,可在N个仿真场景下,并行运行自动驾驶算法进行测试,每个仿真场景在一个单独的docker容器中运行,整个运行的过程分位两个主要步骤:场景运行过程(可以理解为在仿真场景下运行自动驾驶算法)和度量检测过程(可以理解为确定第一测试指标的结果的过程)。
场景运行过程中,首先部署自动驾驶算法运行环境和场景数据,然后启动自动驾驶算法开始运行,运行过程中持续记录自动驾驶算法各个子算法模块在不同仿真场景下的输出数据,这些输出数据可以以record形式记录下来。
度量检测过程中,对所记录的record行驶的输出数据进行解析,利用其中的自动驾驶算法的输出数据,计算出每个仿真场景下在体感、安全、行驶效率及智能性方面的指标。
对于结果汇总及目标测试结果产出,在运行环节得到N个仿真场景中每个仿真场景下的第一测试指标的结果后,可对N个仿真场景的第一测试指标的结果进行汇总,得到在该目标语义场景下的第二测试指标的表现。如运行一个路口直行语义场景的包含100000仿真场景的仿真场景集合,其中出现1000仿真场景中发生了急刹,则路口直行场景的急刹比率为0.01,即可得到急刹比率的第二测试指标的结果。
本公开提出的自动驾驶测试方法可以得到更加贴近真实道路测试的结果,在该自动驾驶测试方法中选择何等量级的场景数量来进行评估是影响评估结果的关键因素。真实道路测试数据中,同一语义下不存在完全相同的两个场景,例如自动驾驶车辆在同一个路口左转经过两次,这两次一定存在差异点,如旁边其它交通参与者的类型、速度等存在差异,这本身是由交通环境的复杂性决定的。但从概率角度可以假设,当同一个语义场景测试数量足够多时,自动驾驶车辆的表现指标将趋于收敛,如图4所示,其中,横坐标表示用于测试的仿真场景的总数量,即N,纵坐标为急刹比率,当仿真场景的数量逐渐增多时,急刹比率逐渐趋于收敛。因此,为了得到可靠的测试结果,需要先选择足够数量级的仿真场景,根据收敛情况便可确定要选择多少场景进行测试。
通过仿真对自动驾驶算法进行测试评估,最终目的是为了提升道路测试表现,本公开的自动驾驶测试方法,从宏观上能够更加客观全面地评价自动驾驶算法在某个特定语义场景下的表现。由于仿真场景是通过场景语义来对道路测试数据进行挖掘,并未区分场景难易程度,因此整个仿真场景集合的分布保持与道路真实场景分布基本一致,不会出现修复了道路测试bad case(坏案)后引入了新问题而无法发现的情况。从单个场景上看更加真实,与人工设计的场景相比,最大程度上保留了道路真实数据的细节信息,通过测试发现的自动驾驶算法的问题会更有质量。
如图5所示,根据本公开的实施例,本公开还提供一种自动驾驶测试装置500,装置包括:
测试数据获取模块501,用于获取自动驾驶车辆的真实道路测试数据;
生成模块502,用于基于真实道路测试数据中目标语义场景下的N个数据片段,生成N个仿真场景,N为正整数;
测试模块503,用于在N个仿真场景下运行自动驾驶算法进行测试,得到在N个仿真场景下第一测试指标的结果;
确定模块504,用于根据在N个仿真场景下第一测试指标的结果,确定在目标语义场景下的目标测试结果。
在一个实施例中,测试模块503,包括:
输出数据获取模块,用于在N个仿真场景下运行自动驾驶算法进行测试,获得在N个仿真场景下自动驾驶算法的输出数据;
结果确定模块,用于通过在N个仿真场景下自动驾驶算法的输出数据,计算在N个仿真场景下第一测试指标的结果。
在一个实施例中,根据在N个仿真场景下第一测试指标的结果,确定在目标语义场景下的目标测试结果,包括:
对N个仿真场景下第一测试指标的结果进行汇总,确定在目标语义场景下第二测试指标的结果,第二测试指标与第一测试指标对应且数量相同,目标测试结果包括第二测试指标的结果。
在一个实施例中,装置500还包括:
切分模块,用于测试数据获取模块执行获取自动驾驶车辆的真实道路测试数据之后,对真实道路测试数据进行语义切分,得到目标语义场景的N个数据片段;
其中,任意两个数据片段之间在时间上不重叠。
在一个实施例中,目标数据片段包括自动驾驶车辆感知的片段环境信息以及以下至少一项信息:
片段起始时间和片段终止时间;
自动驾驶车辆的片段起始位置以及在片段起始位置的运动状态信息;
片段高精地图信息;
其中,目标数据片段为N个数据片段中的任一片段。
上述各实施例的自动驾驶测试装置为实现上述应用于第一车辆中的各实施例的自动驾驶测试方法的装置,技术特征对应,技术效果对应,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质以及一种计算机程序产品。
本公开实施例的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的自动驾驶测试方法。
本公开实施例的计算机程序产品,包括计算机程序,计算机程序用于使计算机执行本公开各实施例提供的自动驾驶测试方法。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(I)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如自动驾驶测试方法。例如,在一些实施例中,自动驾驶测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM603并由计算单元601执行时,可以执行上文描述的自动驾驶测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行自动驾驶测试方法。本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种智慧化工地数据管理方法及系统