一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动驾驶算法的测试方法、装置、电子设备和存储介质与流程

2022-04-06 20:37:18 来源:中国专利 TAG:


1.本公开涉及自动驾驶技术领域,尤其涉及一种自动驾驶算法的测试方法、装置、电子设备和存储介质。


背景技术:

2.在将自动驾驶算法投入实际使用之前,需对自动驾驶算法进行测试,以验证自动驾驶算法的可靠性、安全性等综合性能。
3.目前常用的测试方法包括里程测试。里程测试具体是将自动驾驶算法部署在自动驾驶车辆,并使自动驾驶车辆在真实的交通环境中运行,同时会有安全员跟随自动驾驶车辆,以发现自动驾驶算法存在的测试问题。在测试过程中,自动驾驶车辆通过传感器实时记录车辆位置、车辆状态(例如车速、加速度、转向角等)以及车辆周围的交通环境(例如车辆周围障碍物的位置、速度等信息)等测试数据。
4.在自动驾驶车辆完成设定路线的行驶后,开发人员能够根据在测试过程中记录的测试数据以及安全员上报的测试问题分析自动驾驶算法存在的设计缺陷,并对自动驾驶算法进行相应修改。同样的,针对修改后的自动驾驶算法(该算法可以称为新算法)依然需要进行里程测试,具体是将新算法部署到自动驾驶车辆,开始新一轮的里程测试,且在新一轮的里程测试中需要遇到与历史里程测试时相同的问题场景才有机会验证新算法是否能够有效地解决测试问题。
5.因此,现有的里程测试方法存在测试周期不可控的问题,进而导致测试效率低、耗费成本高。


技术实现要素:

6.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种自动驾驶算法的测试方法、装置、电子设备和存储介质,提高了测试效率,降低了测试成本。
7.本公开实施例提供了一种自动驾驶算法的测试方法,该方法包括:
8.从数据文件获取目标数据;
9.将所述目标数据发送至目标自动驾驶算法,以使所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果;
10.根据所述运动结果确定所述目标自动驾驶算法的测试结果;
11.其中,所述目标自动驾驶算法是针对历史自动驾驶算法中存在的测试问题进行改进获得的;
12.所述测试问题是在对所述历史自动驾驶算法进行里程测试时确定的,所述数据文件中的数据是在对所述历史自动驾驶算法进行里程测试时实时获取的。
13.本公开实施例还提供了一种自动驾驶算法的测试装置,该装置包括:
14.获取模块,用于从数据文件获取目标数据;
15.模拟模块,用于将所述目标数据发送至目标自动驾驶算法,以使所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果;
16.确定模块,用于根据所述运动结果确定所述目标自动驾驶算法的测试结果;
17.其中,所述目标自动驾驶算法是针对历史自动驾驶算法中存在的测试问题进行改进获得的;
18.所述测试问题是在对所述历史自动驾驶算法进行里程测试时确定的,所述数据文件中的数据是在对所述历史自动驾驶算法进行里程测试时实时获取的。
19.本公开实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的自动驾驶算法的测试方法。
20.本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的自动驾驶算法的测试方法。
21.本公开实施例提供的自动驾驶算法的测试方法,通过复现出现测试问题时的路测场景,以及基于预设运动学模型模拟实车的真实运动,实现对目标自动驾驶算法的仿真测试,而无需将目标自动驾驶算法部署到实车,也无需控制实车在真实的物理环境中运行,从而达到降低测试成本的目的。由于出现测试问题的路测场景通过数据复现获得,因此测试周期可预先确定,相比于测试周期不可控的测试方法,本公开实施例提供的测试方法可达到提高测试效率的目的。具体的,本公开实施例提供的测试方法包括:从数据文件获取目标数据;将所述目标数据发送至目标自动驾驶算法,以使所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果;根据所述运动结果确定所述目标自动驾驶算法的测试结果;其中,所述目标自动驾驶算法是针对历史自动驾驶算法中存在的测试问题进行改进获得的;所述测试问题是在对所述历史自动驾驶算法进行里程测试时确定的,所述数据文件中的数据是在对所述历史自动驾驶算法进行里程测试时实时获取的。
附图说明
22.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
23.图1为本公开实施例中的一种自动驾驶算法的测试方法的流程图;
24.图2为本公开实施例中的一种自行车模型的示意图;
25.图3为本公开实施例中的一种融合回放数据框架的示意图;
26.图4为本公开实施例中的一种融合回放数据的自动驾驶算法测试方法的示意图;
27.图5为本公开实施例中的另一种自动驾驶算法的测试方法流程示意图;
28.图6为本公开实施例中的一种自动驾驶算法的测试装置的结构示意图;
29.图7为本公开实施例中的一种电子设备的结构示意图。
具体实施方式
30.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些
实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
31.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
32.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
33.通常情况下,在将自动驾驶算法投入实际使用之前,需对自动驾驶算法进行测试,以验证自动驾驶算法的可靠性、安全性等综合性能。
34.目前常用的测试方法包括里程测试。里程测试具体是将自动驾驶算法部署在自动驾驶车辆,并使自动驾驶车辆在真实的交通环境中运行,同时会有安全员跟随自动驾驶车辆,以发现自动驾驶算法存在的测试问题。在测试过程中,自动驾驶车辆通过传感器实时记录车辆位置、车辆状态(例如车速、加速度、转向角等)以及车辆周围的交通环境(例如车辆周围障碍物的位置、速度等信息)等测试数据。
35.开发人员能够根据在测试过程中记录的测试数据以及安全员上报的测试问题分析自动驾驶算法存在的设计缺陷,并对自动驾驶算法进行相应修改。同样的,针对修改后的自动驾驶算法(该算法可以称为目标自动驾驶算法)依然需要进行里程测试,具体是将目标自动驾驶算法部署到自动驾驶车辆,开始新一轮的里程测试,且在新一轮的里程测试中需要遇到与上一轮里程测试时相同的问题场景才有机会验证目标自动驾驶算法是否能够有效地解决测试问题。因此,现有的里程测试方法存在测试周期不可控的问题,进而导致测试效率低、耗费成本高。
36.针对上述问题,本公开实施例提供了一种自动驾驶算法的测试方法,以使测试周期可控,提高测试效率,降低测试成本。
37.下面结合具体的实施例对该方法进行介绍。图1为本公开实施例中的一种自动驾驶算法的测试方法的流程图。该方法可以由自动驾驶算法的测试装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如服务器。如图1所示,该方法具体可以包括如下步骤:
38.步骤110、从数据文件获取目标数据。
39.其中,所述数据文件中的数据是在对历史自动驾驶算法进行里程测试时实时获取的,例如通过传感器按照预设周期实时采集到的。
40.示例性的,数据文件中的数据可以包括在里程测试的过程中,每个采集时刻目标车辆的位置、速度以及加速度、目标车辆周围障碍物的位置、速度以及加速度等。
41.因此,通过数据文件中记录的数据可以实现里程测试时测试场景的重现。
42.进一步的,为了提高测试效率,缩短测试周期,可根据测试问题重现里程测试时的部分测试场景,而非完整的全部测试场景。示例性的,所述目标数据包括目标车辆在目标历史时刻的第一状态信息(该第一状态信息包括目标车辆的位置、速度以及加速度),以及在所述目标历史时刻所述目标车辆周围的第一环境信息(该第一环境信息包括障碍物的位置、速度以及加速度)。所述目标历史时刻与在对所述历史自动驾驶算法进行里程测试时出现测试问题的时刻相关联。例如,在对所述历史自动驾驶算法进行里程测试时的第10s出现
测试问题,则所述目标数据可以是在对所述历史自动驾驶算法进行里程测试时的第5s的各传感器数据,而无需获取第5s之前的数据,仅获取出现测试问题附近一段时刻的数据即可。概括性的,所述目标历史时刻是出现测试问题的时刻之前的预设时刻。
43.在一些可选实施方式中,可根据出现测试问题时自动驾驶算法的工作周期确定所述目标历史时刻。具体的,自动驾驶算法进一步可以划分为感知模块、预测模块、决策模块、规划模块和控制模块。自动驾驶算法的单个工作周期可以定义为:传感器采集的一帧数据依次通过感知模块-预测模块-决策模块-规划模块-控制模块的过程;或者,还可以定义为感知模块、预测模块、决策模块、规划模块和控制模块中的一个或多个输出一次结果的过程。
44.在本实施例中,将出现测试问题时自动驾驶算法的工作周期定义为目标算法周期,例如在测试过程中,在自动驾驶算法的第30个工作周期时出现测试问题,则所述目标算法周期为自动驾驶算法的第30个工作周期。所述目标历史时刻可以为目标算法周期之前的第预设数量个算法周期所对应的时刻,例如是自动驾驶算法的第25个工作周期所对应的时刻。
45.概括性的,所述目标历史时刻为目标算法周期之前的第预设数量个算法周期所对应的时刻;所述目标算法周期为出现所述测试问题的周期。
46.通过从数据文件中获取数据,可实现对里程测试时的测试场景进行复现的目的,从而可较有针对性地验证目标自动驾驶算法是否能够解决里程测试时确定的测试问题。
47.步骤120、将所述目标数据发送至目标自动驾驶算法,以使所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果。
48.其中,所述目标自动驾驶算法是针对历史自动驾驶算法中存在的测试问题进行改进获得的;所述测试问题是在对所述历史自动驾驶算法进行里程测试时确定的。
49.示例性的,所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果,包括:
50.通过所述目标自动驾驶算法中的功能模块基于所述目标数据确定目标车辆的第一方向盘转角和第一速度;通过所述预设运动学模型按照所述第一方向盘转角和第一速度模拟目标车辆的运动,获得第一结果,所述第一结果包括所述目标车辆在所述目标历史时刻之后第一时刻的第二状态信息;基于所述第一结果确定所述运动结果。
51.所述目标数据还包括在所述目标历史时刻之后所述目标车辆周围的第二环境信息。
52.所述基于所述第一结果确定所述运动结果,包括:通过所述目标自动驾驶算法中的功能模块基于所述第二状态信息以及与所述第一时刻对应的所述第二环境信息确定目标车辆的第二方向盘转角和第二速度;通过所述预设运动学模型按照所述第二方向盘转角和第二速度模拟目标车辆的运动,获得第二结果,直到获得用于确定测试结果的所述运动结果,所述运动结果至少包括所述第一结果和所述第二结果;所述第二结果包括所述目标车辆在所述第一时刻之后第二时刻的第三状态信息。
53.举例说明上述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果的过程:驾驶在里程测试开始后的第10s出现测试问题,则从数据文件获取里程测试开始后第5s的数据作为目标数据,该目标数据具体是目标车辆在所述第5s时
的位置、速度以及加速度,以及在所述第5s时目标车辆周围障碍物的位置、速度以及加速度。通过所述目标自动驾驶算法中的功能模块基于数据文件中记录的第5s的数据确定目标车辆的第一方向盘转角和第一速度;通过所述预设运动学模型按照所述第一方向盘转角和第一速度模拟目标车辆的运动,获得第一结果,所述第一结果包括所述目标车辆在里程测试开始后第6s的位置、速度以及加速度。接着,通过所述目标自动驾驶算法中的功能模块基于所述第一结果以及数据文件中记录的第6s时目标车辆周围障碍物的位置、速度以及加速度确定目标车辆的第二方向盘转角和第二速度;通过所述预设运动学模型按照所述第二方向盘转角和第二速度模拟目标车辆的运动,获得第二结果,同样的,所述第二结果包括所述目标车辆在里程测试开始后第7s的位置、速度以及加速度。接着,通过所述目标自动驾驶算法中的功能模块基于所述第二结果以及数据文件中记录的第7s时目标车辆周围障碍物的位置、速度以及加速度确定目标车辆的第三方向盘转角和第三速度;通过所述预设运动学模型按照所述第三方向盘转角和第三速度模拟目标车辆的运动,获得第三结果。以此类推,直到进行到第10s,以验证是否会出现相同的测试问题。概括性的,目标车辆的位置、速度以及加速度仅从数据文件中获取一次,即所述目标历史时刻对应的目标车辆的位置、速度以及加速度;在所述目标历史时刻之后目标车辆的位置、速度以及加速度基于所述预设运动学模型的运动结果确定,而不再从数据文件中获取。而目标车辆周围障碍物的位置、速度以及加速度则一直从数据文件中获取。
54.进一步的,所述目标自动驾驶算法的功能模块可以包括预测模块、决策模块、规划模块和控制模块;所述通过所述目标自动驾驶算法中的功能模块基于所述目标数据确定目标车辆的第一方向盘转角和第一速度,包括:通过所述预测模块基于所述第一环境信息预测目标车辆周围障碍物的运动轨迹,并将所述运动轨迹发送至所述决策模块;所述决策模块根据所述运动轨迹以及所述第一状态信息确定驾驶策略;通过所述规划模块根据所述驾驶策略确定规划路径;通过所述控制模块根据所述规划路径确定目标车辆的所述第一方向盘转角和第一速度。
55.在一些实施方式中,所述预设运动学模型基于在对所述历史自动驾驶算法进行里程测试时,出现所述测试问题时目标车辆的行驶速度确定。常用的预设运动学模型包括运动学自行车模型。
56.所述预设运动学模型用于代替实车(即所述目标车辆)控制输出结果到真实世界的自车位置和状态(例如速度、加速度)的偏差。预设运动学模型的输入为目标自动驾驶算法中的控制模块传递过来的方向盘转角和速度,预设运动学模型的输出为实际执行的方向盘转角以及速度。
57.以预设运动学模型是运动学自行车模型为例,可通过如下更新公式确定实际执行的方向盘转角以及速度:
[0058][0059]
updata_vel=(last_vel*w3 control_vel*w4)/(w3 w4)
[0060]
其中,updata_steer表示当前时刻实际执行的方向盘转角,last_steer表示上一时刻实际执行的方向盘转角,control_steer表示控制模块传递过来的方向盘转角,w1和w2
表示权重;updata_vel表示预设运动学模型输出的当前时刻的实际车速,last_vel表示上一时刻的实际车速,control_vel表示控制模块传递过来的车速,w3和w4表示权重。
[0061]
进一步的,参考图2所示的自行车模型的示意图,根据上述公式可以获得实际执行的方向盘转角和速度,进一步的可以基于下述公式确定目标车辆在当前时刻的位置:
[0062][0063][0064][0065][0066]
δr=0
[0067]
其中,x
t 1
表示目标车辆在当前时刻的x坐标,x
t
表示目标车辆在上一时刻的x坐标,y
t 1
表示目标车辆在当前时刻的y坐标,y
t
表示目标车辆在上一时刻的y坐标,表示目标车辆在当前时刻的航向角,表示目标车辆在上一时刻的航向角,lf和lr分别表示前后轮到车辆重心的距离,δf和δr分别表示车辆前后轮的转角(可通过上述方向盘转角确定),v
t
表示目标车辆在上一时刻的速度,β表示自行车质心速度和自身方向的夹角。
[0068]
通过上述公式可以确定每个时刻目标车辆的x、y坐标以及航向角。
[0069]
其中,自行车模型还可以采用考虑道路曲率和轮胎滑移的动力学模型代替运动学自行车模型。
[0070]
步骤130、根据所述运动结果确定所述目标自动驾驶算法的测试结果。
[0071]
具体的,根据所述运动结果与期望结果之间的误差确定所述测试结果。
[0072]
进一步的,若所述测试结果为不通过,则获取新自动驾驶算法,所述新自动驾驶算法是对所述目标自动驾驶算法进行改进获得的;将所述目标数据发送至所述新自动驾驶算法,以使所述新自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得新运动结果;根据所述新运动结果确定所述新自动驾驶算法的测试结果,直到获得测试结果为通过的自动驾驶算法。
[0073]
本实施例提供了一种能够融合自动驾驶算法的回放数据的方式,通过回放数据实现对里程测试时真实测试场景的复现,通过复现真实测试场景可以有针对性地验证新的自动驾驶算法是否能够解决测试问题,从而提高测试效率。
[0074]
具体的,在对历史自动驾驶算法进行里程测试时,实时获取相关数据,并将相关数据记录到数据文件。该相关数据例如包括部署有历史自动驾驶算法的目标车辆的位置、速度以及加速度,目标车辆周围障碍物的位置、速度以及加速度等数据。即数据文件中已经记录了里程测试时真实测试场景的相关数据。研发人员通过一定方式确定测试问题出现在第n个算法周期,则向前回溯m个周期,即从数据文件获取第n-m个周期时目标车辆的位置、速度以及加速度作为目标车辆的初始值,从第n-m个周期开始,目标车辆的位置、速度以及加
速度通过目标自动驾驶算法(基于历史自动驾驶算法进行改进获得的新算法)进行更新,而目标车辆周围障碍物的相关数据则继续从数据文件中获取,实现数据融合。
[0075]
示例性的,参考如图3所示的一种融合回放数据框架的示意图,其中,数据传输框架决定传递给目标自动驾驶算法的数据来源于数据文件还是通过目标自动驾驶算法进行更新获得的数据。其中,目标车辆的初始位置、初始速度和初始加速度从数据文件获取,而后的目标车辆的位置、速度以及加速度则通过目标自动驾驶算法获得。目标车辆周围环境信息则持续地从数据文件获取。
[0076]
示例性的,参考如图4所示的一种融合回放数据的自动驾驶算法测试方法的示意图,数据传输框架将目标车辆的位置、状态(速度及加速度等)以及周围环境信息传递至目标自动驾驶算法,具体是依次传递至目标自动驾驶算法的预测模块、决策模块、规划模块和控制模块,最后达到运动学模型,并通过运动学模型得到下一周期目标车辆的位置和状态。
[0077]
具体的,预测模块在接收到周围环境信息时,确定周围障碍物的预测轨迹,并将预测轨迹传递给决策模块,决策模块根据预测轨迹确定驾驶策略(驾驶策略包括但不限于跟车、超车、制动、靠边停车等行为),并将对应的驾驶策略传递给规划模块,规划模块根据驾驶策略确定一条无碰撞的可以行驶的规划路径,控制模块根据该规划路径确定目标车辆的方向盘转角和速度,并将该方向盘转角和速度传递给预设运动学模型,预设运动学模型代替目标车辆真实执行,最终实现目标车辆位置和状态的更新。
[0078]
概括性的,参考如图5所示的另一种自动驾驶算法的测试方法流程示意图,其包括:针对历史自动驾驶算法进行里程测试,若在里程测试过程中发现测试问题,则上报研发,研发人员基于测试问题对历史自动驾驶算法进行改进,获得目标自动驾驶算法,结合如图3所示的融合回放数据框架实现对目标自动驾驶算法的测试,若目标自动驾驶算法的测试结果为“不通过”,即目标自动驾驶算法没有解决测试问题,则继续对目标自动驾驶算法进行改进,获得新算法,继续通过如图3所示的融合回放数据框架实现对新算法的测试。
[0079]
本公开实施例提供的自动驾驶算法的测试方法可以简化测试流程,提升测试效率,便于自动驾驶算法的快速迭代。本实施例提供的数据融合方式,不限于对路测时获得的数据文件中的数据进行融合,还可以对其它场景的数据进行融合,以实现对目标自动驾驶算法在其它场景的测试。
[0080]
图6为本公开实施例中的一种自动驾驶算法的测试装置的结构示意图。如图6所示:该装置包括:获取模块610、模拟模块620和确定模块630。
[0081]
其中,获取模块610,用于从数据文件获取目标数据;模拟模块620,用于将所述目标数据发送至目标自动驾驶算法,以使所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果;确定模块630,用于根据所述运动结果确定所述目标自动驾驶算法的测试结果;其中,所述目标自动驾驶算法是针对历史自动驾驶算法中存在的测试问题进行改进获得的;所述测试问题是在对所述历史自动驾驶算法进行里程测试时确定的,所述数据文件中的数据是在对所述历史自动驾驶算法进行里程测试时实时获取的。
[0082]
可选的,所述目标数据包括目标车辆在目标历史时刻的第一状态信息,以及在所述目标历史时刻所述目标车辆周围的第一环境信息。
[0083]
可选的,所述目标历史时刻与在对所述历史自动驾驶算法进行里程测试时出现所
述测试问题的时刻相关联。
[0084]
可选的,所述目标历史时刻为目标算法周期之前的第预设数量个算法周期所对应的时刻;所述目标算法周期为出现所述测试问题的周期。
[0085]
可选的,所述自动驾驶算法包括感知模块、预测模块、决策模块、规划模块和控制模块;单个所述算法周期为所述感知模块、预测模块、决策模块、规划模块和控制模块中的一个或多个输出一次结果的过程。
[0086]
可选的,模拟模块620包括第一确定单元,用于通过所述目标自动驾驶算法中的功能模块基于所述目标数据确定目标车辆的第一方向盘转角和第一速度;第二确定单元,用于通过所述预设运动学模型按照所述第一方向盘转角和第一速度模拟目标车辆的运动,获得第一结果,所述第一结果包括所述目标车辆在所述目标历史时刻之后第一时刻的第二状态信息;第三确定单元,用于基于所述第一结果确定所述运动结果。
[0087]
可选的,所述目标数据还包括在所述目标历史时刻之后所述目标车辆周围的第二环境信息。
[0088]
可选的,所述第三确定单元具体用于:通过所述目标自动驾驶算法中的功能模块基于所述第二状态信息以及与所述第一时刻对应的所述第二环境信息确定目标车辆的第二方向盘转角和第二速度;通过所述预设运动学模型按照所述第二方向盘转角和第二速度模拟目标车辆的运动,获得第二结果,直到获得用于确定测试结果的所述运动结果,所述运动结果至少包括所述第一结果和所述第二结果;所述第二结果包括所述目标车辆在所述第一时刻之后第二时刻的第三状态信息。
[0089]
可选的,所述功能模块包括预测模块、决策模块、规划模块和控制模块;所述第一确定单元具体用于:通过所述预测模块基于所述第一环境信息预测目标车辆周围障碍物的运动轨迹,并将所述运动轨迹发送至所述决策模块;所述决策模块根据所述运动轨迹以及所述第一状态信息确定驾驶策略;通过所述规划模块根据所述驾驶策略确定规划路径;通过所述控制模块根据所述规划路径确定目标车辆的所述第一方向盘转角和第一速度。
[0090]
可选的,所述第一状态信息包括目标车辆的位置、速度以及加速度;所述第一环境信息包括障碍物的位置、速度以及加速度。
[0091]
可选的,确定模块630具体用于:根据所述运动结果与期望结果之间的误差确定所述测试结果。
[0092]
可选的,所述预设运动学模型基于在对所述历史自动驾驶算法进行里程测试时,出现所述测试问题时目标车辆的行驶速度确定。
[0093]
可选的,还包括:更新模块,用于若所述测试结果为不通过,则获取新自动驾驶算法,所述新自动驾驶算法是对所述目标自动驾驶算法进行改进获得的;将所述目标数据发送至所述新自动驾驶算法,以使所述新自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得新运动结果;根据所述新运动结果确定所述新自动驾驶算法的测试结果,直到获得测试结果为通过的自动驾驶算法。
[0094]
本公开实施例提供的自动驾驶算法的测试装置,可执行本公开方法实施例所提供的自动驾驶算法的测试方法中的步骤,具备执行步骤和有益效果此处不再赘述。
[0095]
图7为本公开实施例中的一种电子设备的结构示意图。下面具体参考图7,其示出了适于用来实现本公开实施例中的电子设备500的结构示意图。图7示出的电子设备仅仅是
一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0096]
如图7所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理以实现如本公开所述的实施例的方法。在ram 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0097]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码,从而实现如上所述的自动驾驶算法的测试方法。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
[0098]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0099]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:在确定向车辆推送升级包完成时,基于升级策略确定所述车辆是否符合升级安全条件;若确定所述车辆符合所述升级安全条件,则发送第一升级提示信息。
[0100]
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从数据文件获取目标数据;将所述目标数据发送至目标自动驾驶算法,以使所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果;根据所述运动结果确定所述目标自动驾驶算法的测试结果;其中,所述目标自动驾驶算法是针对历史自动驾驶算法中存在的测试问题进行改进获得的;所述测试问题是在对所述历史自动驾驶算法进行里程测试时确定的,所述数据文件中的数据是在对所述历史自动驾驶算法进行里程测试时实时获取的。
[0101]
可选的,当上述一个或者多个程序被该电子设备执行时,该电子设备还可以执行上述实施例所述的其他步骤。
[0102]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0103]
方案1、一种自动驾驶算法的测试方法,所述方法包括:
[0104]
从数据文件获取目标数据;
[0105]
将所述目标数据发送至目标自动驾驶算法,以使所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果;
[0106]
根据所述运动结果确定所述目标自动驾驶算法的测试结果;
[0107]
其中,所述目标自动驾驶算法是针对历史自动驾驶算法中存在的测试问题进行改进获得的;
[0108]
所述测试问题是在对所述历史自动驾驶算法进行里程测试时确定的,所述数据文件中的数据是在对所述历史自动驾驶算法进行里程测试时实时获取的。
[0109]
方案2、根据方案1所述的方法,所述目标数据包括目标车辆在目标历史时刻的第一状态信息,以及在所述目标历史时刻所述目标车辆周围的第一环境信息。
[0110]
方案3、根据方案2所述的方法,所述目标历史时刻与在对所述历史自动驾驶算法进行里程测试时出现所述测试问题的时刻相关联。
[0111]
方案4、根据方案2所述的方法,所述目标历史时刻为目标算法周期之前的第预设数量个算法周期所对应的时刻;
[0112]
所述目标算法周期为出现所述测试问题的周期。
[0113]
方案5、根据方案4所述的方法,所述自动驾驶算法包括感知模块、预测模块、决策模块、规划模块和控制模块;
[0114]
单个所述算法周期为所述感知模块、预测模块、决策模块、规划模块和控制模块中的一个或多个输出一次结果的过程。
[0115]
方案6、根据方案2所述的方法,所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果,包括:
[0116]
通过所述目标自动驾驶算法中的功能模块基于所述目标数据确定目标车辆的第一方向盘转角和第一速度;
[0117]
通过所述预设运动学模型按照所述第一方向盘转角和第一速度模拟目标车辆的运动,获得第一结果,所述第一结果包括所述目标车辆在所述目标历史时刻之后第一时刻的第二状态信息;
[0118]
基于所述第一结果确定所述运动结果。
[0119]
方案7、根据方案6所述的方法,所述目标数据还包括在所述目标历史时刻之后所
述目标车辆周围的第二环境信息。
[0120]
方案8、根据方案7所述的方法,所述基于所述第一结果确定所述运动结果,包括:
[0121]
通过所述目标自动驾驶算法中的功能模块基于所述第二状态信息以及与所述第一时刻对应的所述第二环境信息确定目标车辆的第二方向盘转角和第二速度;
[0122]
通过所述预设运动学模型按照所述第二方向盘转角和第二速度模拟目标车辆的运动,获得第二结果,直到获得用于确定测试结果的所述运动结果,所述运动结果至少包括所述第一结果和所述第二结果;
[0123]
所述第二结果包括所述目标车辆在所述第一时刻之后第二时刻的第三状态信息。
[0124]
方案9、根据方案6所述的方法,所述功能模块包括预测模块、决策模块、规划模块和控制模块;
[0125]
所述通过所述目标自动驾驶算法中的功能模块基于所述目标数据确定目标车辆的第一方向盘转角和第一速度,包括:
[0126]
通过所述预测模块基于所述第一环境信息预测目标车辆周围障碍物的运动轨迹,并将所述运动轨迹发送至所述决策模块;
[0127]
所述决策模块根据所述运动轨迹以及所述第一状态信息确定驾驶策略;
[0128]
通过所述规划模块根据所述驾驶策略确定规划路径;
[0129]
通过所述控制模块根据所述规划路径确定目标车辆的所述第一方向盘转角和第一速度。
[0130]
方案10、根据方案2-9任一项所述的方法,所述第一状态信息包括目标车辆的位置、速度以及加速度;
[0131]
所述第一环境信息包括障碍物的位置、速度以及加速度。
[0132]
方案11、根据方案1-9任一项所述的方法,所述根据所述运动结果确定所述目标自动驾驶算法的测试结果,包括:
[0133]
根据所述运动结果与期望结果之间的误差确定所述测试结果。
[0134]
方案12、根据方案1-9任一项所述的方法,所述预设运动学模型基于在对所述历史自动驾驶算法进行里程测试时,出现所述测试问题时目标车辆的行驶速度确定。
[0135]
方案13、根据方案1-9任一项所述的方法,还包括:
[0136]
若所述测试结果为不通过,则获取新自动驾驶算法,所述新自动驾驶算法是对所述目标自动驾驶算法进行改进获得的;
[0137]
将所述目标数据发送至所述新自动驾驶算法,以使所述新自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得新运动结果;
[0138]
根据所述新运动结果确定所述新自动驾驶算法的测试结果,直到获得测试结果为通过的自动驾驶算法。
[0139]
方案14、一种自动驾驶算法的测试装置,所述装置包括:
[0140]
获取模块,用于从数据文件获取目标数据;
[0141]
模拟模块,用于将所述目标数据发送至目标自动驾驶算法,以使所述目标自动驾驶算法基于所述目标数据对预设运动学模型进行运动控制,获得运动结果;
[0142]
确定模块,用于根据所述运动结果确定所述目标自动驾驶算法的测试结果;
[0143]
其中,所述目标自动驾驶算法是针对历史自动驾驶算法中存在的测试问题进行改
进获得的;
[0144]
所述测试问题是在对所述历史自动驾驶算法进行里程测试时确定的,所述数据文件中的数据是在对所述历史自动驾驶算法进行里程测试时实时获取的。
[0145]
方案15、一种电子设备,所述电子设备包括:
[0146]
一个或多个处理器;
[0147]
存储装置,用于存储一个或多个程序;
[0148]
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如方案1-13中任一项所述的方法。
[0149]
方案16、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如方案1-13中任一项所述的方法。
[0150]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献