自动驾驶仿真方法、系统、设备以及介质与流程



1.本公开涉及自动驾驶技术领域,具体而言,涉及一种自动驾驶仿真方法、系统、设备以及介质。


背景技术:



2.随着自动驾驶技术的发展,自动驾驶技术的仿真测试也越来越受到人们的关注。其中,规划模块和控制模块是自动驾驶功能模块的重要组成部分,规划模块负责给出自动驾驶车辆从起点a到终点b的最优路径,而控制模块则结合车辆当前定位信息及规划模块输出的最优路径计算出车辆要沿该路径行驶需要的刹车/油门及方向盘转角指令等信息。但是自动驾驶车辆根据行驶工况以及场景的不同,可能需要不同的规划器及控制器来满足用户的特定需要,举例说明:
3.(1)在公开道路场景下,需要采用能够利用结构化道路信息及障碍物信息进行规划的规划器以及驱动车辆沿规划轨迹前向行驶的控制器;
4.(2)在泊车场景下,需要打破道路结构化约束,转而采用在类似栅格地图下搜索车辆当前位置到车位的最优路径的规划器以及具备倒车功能的控制器。
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.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
29.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
30.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
31.应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述关系时,但不应限于这些术语。这些术语仅用来将不同关系区分开。例如,在不脱离本发明实施
例范围的情况下,第一步骤也可以被称为第二步骤,类似地,第二步骤也可以被称为第一步骤。
32.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在某一时”或“当某一时刻”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
33.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
34.自动驾驶车辆是指可以被配置成处于自动驾驶模式下的车辆,在所述自动驾驶模式下车辆在极少或没有来自驾驶员的输入的情况下导航通过环境。这种自动驾驶车辆可以包括传感器系统,所述传感器系统具有被配置成检测与车辆运行环境有关的信息的一个或多个传感器,诸如摄像机、激光雷达等。所述车辆和其相关联的控制器使用所检测的信息来导航通过所述环境。自动驾驶车辆可以在手动模式下、在全自动驾驶模式下或者在部分自动驾驶模式下运行。
35.在一个实施方式中,自动驾驶车辆包括,但不限于,感知与规划系统、车辆控制系统、无线通信系统、用户接口系统和传感器系统。自动驾驶车辆还可以包括普通车辆中包括的某些常用部件,诸如:发动机、车轮、方向盘、变速器等,所述部件可以由车辆控制系统和/或感知与规划系统使用多种通信信号和/或命令进行控制,该多种通信信号和/或命令例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
36.发明人经研究发现:相关技术中,自动驾驶技术的一些仿真测试方法是对实际道路测试数据进行标注,建立仿真测试回归库,编辑回归测试场景进行仿真;当新的道路数据产生时,再对仿真测试回归库进行更新,但是这类方法实际上是在历史数据中回归测试相应自动驾驶功能模块,检测是否存在异常,并不能够满足规划模块和控制模块的联合仿真需求。还有一些方法是通过第三方软件虚拟生成交通流信息,构建一个虚拟感知世界,在其中进行自动驾驶各功能模块的联合仿真,但是这些方法主要针对的仿真需求是不同情况下自动驾驶车辆的驾驶行为,并非聚焦于规划模块和控制模块,因此对于规划模块与控制模块的联合仿真而言,功能相对受限。
37.本公开提供的自动驾驶仿真方法,聚焦于规划模块和控制模块的联合仿真,或控制模块的仿真,能够满足自动驾驶车辆开发和/或调优规划模块和控制模块时的仿真需求。
38.下面结合附图详细说明本公开的可选实施例。
39.实施例1
40.如图1所示,示出了本公开一实施例提供的一种自动驾驶仿真方法,图1中,本公开实施例提供的自动驾驶仿真方法至少包括s100-s150,具体描述见下文:
41.s100,提供一模块数据库,该模块数据库注册有不同类型的规划器、不同类型的参考轨迹生成器、不同类型的控制器、不同类型的车辆模型;
42.该步骤中,所述不同类型的规划器可以包括多个已知的现有类型的规划器和/或
开发的新规划器。所述不同类型的规划器可以包括规划器1,规划器2,
……
,规划器m。本实施例中,自动驾驶车辆针对不同的行驶场景,例如泊车场景、道路场景,会存在不同类型的规划器,将这些不同类型的规划器与初始参数配置文件进行关联并注册至模块数据库中,方便后续对所述不同类型规划器进行加载,得到参考路径。
43.所述控制器通过所述规划器给出的参考路径结合定位信息给出相应的控制指令,所述控制器类型与所述规划器的类型息息相关,一个类型的控制器对应一个类型的规划器,所述控制器可以包括控制器1,控制器2,
……
,控制器n,与所述规划器一一对应。
44.所述车辆模型包括不同保真度的数学模型,诸如,根据运动学得到的车辆的数学模型、根据动力学得到的车辆的数学模型;所述车辆模型可以包括车辆模型1,车辆模型2,
……
,车辆模型k。
45.所述不同类型的参考轨迹生成器用于生成不同的车辆行驶轨迹,使车辆沿该行驶轨迹行驶。所述参考轨迹生成器可以包括参考轨迹生成器1,参考轨迹生成器2,
……
,参考轨迹生成器p。所述控制器、车辆模型以及参考轨迹生成器的类型均与相应的初始参数配置文件进行关联并注册至模块数据库中,方便后续对模块进行加载。
46.作为一种可选的实施例,当用户/开发人员开发新的规划器或参考轨迹生成器或控制器时,此时可以预先将所述新规划器或新参考轨迹生成器或新控制器注册至所述模块数据库中,之后对该新的模块至少执行仿真步骤s110-s150,在仿真中实时观察模块效果。示例性说明,开发出新的参考轨迹生成器,其可用于生成圆形曲线,在仿真中车辆沿圆形曲线行驶,观察其行驶过程中的误差,确定是否有偏离圆形曲线,若发生了偏离,那可以先检查这个圆的半径是否太小了,车辆压根没办法转这么大的弯,然后更改圆形曲线的半径,再做仿真。或者也可以继续添加新的参考轨迹生成器,可用于生成8字轨迹,在仿真中观察车辆跟踪该轨迹的效果。
47.s110,获取客户端的模块配置信息,所述模块配置信息包括待仿真规划器/参考轨迹生成器、控制器、车辆模型的目标类型以及目标参数;
48.该步骤中,客户端用户或开发人员根据自身需求给出待仿真的规划器/参考轨迹生成器类型及参数、待仿真的控制器类型及参数、待仿真的车辆模型类型及参数,不同用户给出的模块配置信息会不同。在可选的实施例中,客户端用户或开发人员可以通过不同的配置接口给出所述模块配置信息。本公开中用户能够灵活配置不同模块,并基于各种配置信息快速对仿真需求进行仿真测试。
49.若仿真需求为对规划器和控制器进行联合仿真,验证规划器和控制器的契合性,则用户在模块配置过程中只需要配置规划器、控制器、车辆模型三个模块即可进行仿真测试,进一步也可以基于仿真数据辅助开发人员/用户进行规划器和控制器的联合调试,以使得自动驾驶车辆整体性能最优。
50.在另一可选的实施例中,申请人研究发现规划器和控制器一起调试存在的问题会进行耦合,而通过先调试控制器性能,再将控制器与规划器一起调试,调试过程能够简单、高效,此时仿真需求可以为只是对控制器的性能进行仿真调试,直接配置参考轨迹生成器,无需再配置规划器,也就是只需要配置参考轨迹生成器、控制器、车辆模型三个模块即可进行仿真测试。
51.s120,根据所述模块配置信息在所述模块数据库中查目标规划器/参考轨迹生
成器、目标控制器、目标车辆模型并赋予所述目标参数;
52.该步骤中,在获取用户的仿真需求后,系统查出与仿真需求中目标类型一致的目标规划器/参考轨迹生成器、目标控制器、目标车辆模型,并自动加载相应的初始参数配置文件作为默认参数;同时用所述目标参数覆盖掉所述初始参数配置文件加载的默认参数,从而得到符合用户需求的目标规划器/参考轨迹生成器、目标控制器、目标车辆模型。
53.需要说明的是,当用户仿真测试新开发的模块时,在配置模块信息中,只需配置并查其它模块信息即可。示例性说明,用户开发了新的规划器进行测试时,将该新的规划器注册到模块数据库后,此时只需配置和查待仿真控制器、车辆模型的目标类型及目标参数等信息即可运行仿真。
54.s130,获取所述目标车辆模型的运动配置信息以及客户端的目标仿真数据,所述运动配置信息包括所述目标车辆模型的仿真初始信息与仿真终止条件;
55.该步骤中,在配置完成不同模块的目标参数后,用户或开发人员进一步给出目标车辆模型的仿真初始信息以及仿真终止条件。所述仿真初始信息包括车辆初始的位置、姿态、刹车/油门、档位、方向盘角度等信息,基于该仿真初始信息目标车辆模型可以模拟真实车辆的运动;所述仿真终止条件可以由用户或开发人员通过预设的仿真终止条件进行选择,诸如,所述预设的仿真终止条件包括目标车辆模型到达终点结束仿真,行驶距离超过s结束仿真,行驶时间超过t结束仿真,或者用户输入某一特定按键结束仿真等。
56.当然,所述仿真终止条件也可以通过用户直接设置或者自定义设置。可选的,用户自行编写一个仿真结束条件判断器作为自定义参数,传入仿真结束条件设置接口,该判断器在应该结束仿真时返回true值,反之返回false值;当系统检测到所述判断器被传入时,会在每一仿真周期结束前自动运行所述判断器,判断是否应该结束仿真。
57.所述目标仿真数据包括用户关心的至少一个指标数据,在可选的实施例中,所述目标仿真数据由用户根据自身需求进行配置到仿真数据显示列表中,后续仿真过程中会根据所述仿真数据显示列表进行实时显示每一步仿真数据的时间曲线信息,方便用户进行调试。示例性说明,当用户期望车辆速度平稳达到10km/h,此时用户关心的指标为车辆速度曲线时,则需要将车辆速度配置到仿真数据显示列表,然后才能在仿真过程中查看实时显示的车速曲线是否达到预期;又例如,用户关心的指标为车辆轨迹,那么所述目标仿真数据则为车辆坐标(x,y),将该车辆坐标添加到仿真数据显示列表里,然后才能在仿真过程中查看实时显示的车辆轨迹是否达到预期。
58.通过上述步骤s110-s130能够获取用户的一些列仿真需求,针对不同用户,所述模块配置信息、仿真初始信息、运动配置信息及目标仿真数据均不同,该过程可根据需要自由配置仿真样例,简单、灵活、快速;本公开进一步便于开发人员针对一些极端工况快速进行功能验证,无需实际路测,降低路测风险。
59.s140,基于所述运动配置信息,运行所述目标车辆模型、目标规划器/参考轨迹生成器以及目标控制器,获得运行过程中的仿真数据,所述仿真数据包括所述目标车辆模型的实时状态信息以及所述目标仿真数据的时间曲线信息;
60.在可选的实施例中,所述仿真数据包括仿真过程中的所有相关数据,诸如,车辆实时状态信息,车辆控制量信息,控制误差信息,规划器内部信息等,这些数据全部存储至一仿真数据库中,完整收集规划器/控制联合调试需要的所有的状态信息及指标信息,更适用
于规划和/或控制的仿真。而在客户端只实时显示所述目标车辆模型的车辆状态信息以及所述目标仿真数据的时间曲线信息,方便用户查看并快速的调试规划器和/或控制器参数。也就是说,用户想要看到的仿真数据可以配置在目标仿真数据中,具体以仿真数据显示列表方式进行配置。
61.如图2所示,所述基于所述运动配置信息,运行所述目标车辆模型、目标规划器/参考轨迹生成器以及目标控制器,获得运行过程中的仿真数据,包括:
62.s141,所述目标车辆模型执行仿真运动,得到车辆实时状态信息并输入所述目标规划器/参考轨迹生成器,以输出参考轨迹;
63.其中,所述车辆实时状态信息包括目标车辆模型存在的状态。不同复杂度的车辆模型包含的状态不一样的。一些简单的车辆模型只包括位置坐标(x,y)以及朝向角;一些复杂的车辆模型包括车辆各个轮胎的受力、侧滑角等,这些都可以作为车辆实时状态信息。
64.所述目标规划器或者目标参考轨迹生成器通过内置的算法对所述车辆的实时状态信息进行计算,生成参考轨迹。
65.s142,同时发送所述车辆实时状态信息以及所述参考轨迹给所述目标控制器,并将所述目标控制器输出的车辆控制量信息发送给所述目标车辆模型;
66.该步骤中,所述目标控制器根据所述参考轨迹与车辆实时状态信息的差别,得到车辆控制量信息,基于所述车辆控制量信息车辆能够从当前行驶轨迹转换到参考轨迹。
67.s143,通过所述目标车辆模型解算所述车辆控制量信息,得到车辆的参考状态信息并将所述参考状态信息更新为当前车辆状态信息。
68.所述步骤s141~s143中,可以通过多个接口定义目标车辆模型、目标规划器/参考轨迹生成器、目标控制器的接口协议,打通不同模块之间的数据流,具体可以为车辆模型状态更新接口、控制量计算接口、规划轨迹生成接口。
69.s150,当触发所述仿真终止条件时,结束本次仿真。
70.在仿真测试后,用户可以对目标规划器/目标控制器的性能进行调试。在可选的实施例中,在所述结束本次仿真之后,所述方法还包括:
71.s160,发送所述车辆实时状态信息以及所述目标仿真数据的时间曲线信息给客户端,以使客户端评估是否重新进行仿真;
72.该步骤中,所述车辆实时状态信息以及所述目标仿真数据的时间曲线信息可以通过一仿真显示器进行显示,用户或开发人员通过所述仿真显示器观察车辆实时状态信息以及关心的指标数据是否达到预设条件,当达到所述预设条件时,不再重复执行仿真步骤s100-s150;若未达到所述预设条件,则再次执行仿真步骤s100-s150。其中,所述预设条件由用户自身设定。
73.s170,接收客户端重新发送的模块配置信息,基于所述模块配置信息更新所述目标规划器和/或目标控制器的目标参数并重新进行仿真。
74.该步骤中,当用户判断需要重新执行仿真时,根据前一次仿真结果进行判断,确定出需要调试的参数,并重新配置目标规划器和/或控制器的目标参数,即改变所述模块配置信息。示例性说明,若仿真需求为仿真车辆转弯时的控制性能,则所述目标仿真数据为转弯时的位置误差、朝向误差,预设条件为位置误差小于10cm,在当前仿真中关注本次仿真是否达到预设条件;若未达到所述预设条件,则分析仿真显示器中显示的位置误差曲线,当误差
始终很大或者不断振荡时,用户确定需要调节的控制器参数,调完之后,重复仿真进行验证。
75.上述步骤s160-s170,聚焦于仿真过程中用户关注的具体的指标信息,可以辅助用户/开发人员快速地定位问题及进行规划与控制参数的联合调试。
76.在执行多次仿真过程后,可以针对不同仿真结果进行对比,到具有较优的仿真效果的目标规划器/控制器。图3示出了针对不同仿真结果进行对比的方法流程图。如图3所示,所述方法还包括:
77.s180,存储每次仿真运行过程中所述仿真数据,生成仿真数据库;
78.s181,在所述仿真数据库中获取两次仿真对应的仿真数据,生成对比曲线;
79.该步骤中,由于每次仿真数据都被保存至仿真数据库中,因此,用户可以获取同一所述目标规划器和/或同一所述目标控制器在两次仿真时配置不同目标参数所获得的仿真数据,并生成对比曲线;亦可以获取不同类型所述目标规划器和/或不同类型所述目标控制器在两次仿真时所获得的仿真数据,并生成对比曲线。
80.s182,将所述对比曲线显示给客户端,以使客户端基于所述对比曲线,对不同目标规划器和/或不同目标控制器的仿真效果进行比对。
81.该步骤中,用于可以基于所述对比曲线所呈现的两次仿真效果的区别,对规划器和/或控制器进行调优。具体的,当用户自己开发出新的规划器并进行仿真测试时,在该仿真过程中,控制器根据新的规划器给出的轨迹,结合车辆模型反馈得到的车辆状态信息,计算出控制量,重新作用到车辆模型,更新车辆状态。可选的,在运行过程中引入控制误差,即车辆不会完全按照规划器规划的路径行驶,而是存在一定的偏差,这样就能更加真实的模拟自动驾驶车辆在实际道路行驶时的真实情况,便于调试鲁棒的规划器。
82.本公开提供的自动驾驶仿真方法,支持快速、灵活、可扩展地开展规划器和控制器的联合仿真,在需要针对新的规划器和/或控制器进行仿真时,用户只需要按照规划器适配器和/或控制器适配器提供的接口,完成规划器和/或控制器的开发,然后就可以直接进行仿真测试,根据仿真测试输出的仿真数据及指标曲线信息,快速的调试规划器和/或控制器参数。本公开能够满足自动驾驶车辆开发和/或调优规划器和控制器时的仿真需求,快速、灵活、可扩展地进行规划器与控制器的联合仿真,不依赖于道路数据收集及标注,适用于规划器和控制器的快速开发验证;聚焦于规划器与控制器中用户关注的具体指标信息,能够辅助开发人员快速地定位问题以及进行参数联合调试;本公开提供的仿真方法不局限于规划器与控制器的联合仿真,能够结合参考轨迹生成器单独针对控制器进行仿真,验证控制器对于不同类型参考轨迹的跟踪能力。
83.实施例2
84.本公开还提供了与上述实施例承接的系统实施例,基于相同的名称含义的解释与如上实施例相同,具有与如上实施例相同的技术效果,此处不再赘述。
85.如图4所示,本公开提供一种自动驾驶仿真系统400,包括:
86.数据注册单元410,用于提供一模块数据库,该模块数据库注册有不同类型的规划器/参考轨迹生成器、不同类型的控制器、不同类型的车辆模型以及相应的初始参数配置文件;
87.模块信息获取单元420,用于获取客户端的模块配置信息,所述模块配置信息包括
待仿真规划器/参考轨迹生成器、控制器、车辆模型的目标类型以及目标参数;
88.模块查单元430,用于根据所述模块配置信息在所述模块数据库中查目标规划器/参考轨迹生成器、目标控制器、目标车辆模型并配置所述目标参数;
89.运动信息获取单元440,用于获取所述目标车辆模型的运动配置信息,所述运动配置信息包括所述目标车辆模型的仿真初始信息与仿真终止条件;
90.目标数据获取单元450,用于获取客户端的目标仿真数据;
91.仿真运行单元460,用于基于所述运动配置信息,运行所述目标规划器/参考轨迹生成器、目标控制器以及目标车辆模型,获得运行过程中的仿真数据,所述仿真数据包括所述目标车辆模型的实时状态信息以及所述目标仿真数据的时间曲线信息;
92.仿真处理单元470,用于当触发所述仿真终止条件时,结束本次仿真。
93.进一步,所述仿真运行单元460,包括:
94.信息交互子单元461,用于所述目标车辆模型执行仿真运动,得到车辆实时状态信息并输入所述目标规划器/参考轨迹生成器,以输出参考轨迹;同时发送所述车辆实时状态信息以及所述参考轨迹给所述目标控制器,并将所述目标控制器输出的车辆控制量信息发送给所述目标车辆模型;
95.状态更新子单元462,用于通过所述目标车辆模型解算所述车辆控制量信息,得到车辆参考状态信息并将所述车辆参考状态信息更新为当前车辆状态信息。
96.进一步,所述仿真处理单元470,还包括:
97.仿真数据发送子单471,用于发送所述车辆实时状态信息以及所述目标仿真数据的时间曲线信息给客户端,以使客户端评估是否重新进行仿真;
98.目标参数更新子单元472,用于接收客户端重新发送的模块配置信息,并基于所述模块配置信息更新所述目标规划器、目标控制器的目标参数并重新开始仿真。
99.进一步,所述装置还包括数据存储单元480和数据显示单元490。所述数据存储单元480用于存储每次仿真运行过程中所述仿真数据,生成仿真数据库;所述数据显示单元490用于显示所述目标车辆模型的实时状态信息以及所述目标仿真数据的时间曲线信息。
100.在可选的实施例中,所述数据显示单元490还用于在所述仿真数据库中获取两次仿真对应的仿真数据,生成对比曲线并在客户端显示,以使客户端基于所述对比曲线,对不同目标规划器和/或不同目标控制器的仿真效果进行比对。具体的,所述数据显示单元490可以获取同一所述目标规划器和/或同一所述目标控制器在两次仿真时配置不同目标参数所获得的仿真数据,并生成对比曲线;或者,获取不同类型所述目标规划器和/或不同类型所述目标控制器在两次仿真时所获得的仿真数据,并生成对比曲线。
101.本公开实施例提供的自动驾驶仿真系统能够实现不同模块的即插即用的方式,快速、灵活、可扩展地进行规划器与控制器的联合仿真;聚焦于规划器与控制器中用户关注的具体指标信息,能够辅助开发人员快速地定位问题以及进行参数联合调试;不局限于规划器与控制器的联合仿真,能够结合参考轨迹生成器单独针对控制器进行仿真,验证控制器对于不同类型参考轨迹的跟踪能力。
102.实施例3
103.本公开实施例提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机程序指令,处理器执行计算机程序指令时,实现如实施例1所述的方法步
骤。
104.实施例4
105.本公开实施例提供一种非瞬时性计算机可读存储介质,存储有计算机程序指令,计算机程序指令在被处理器调用和执行时实现如实施例1所述的方法步骤。
106.如图5所示,控制器可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram 503中,还存储有电子控制器500操作所需的各种程序和数据。处理装置501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
107.通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子控制器与其他控制器进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子控制器,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
108.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为控制器软件程序。例如,本公开的实施例包括一种控制器软件程序产品,其包括承载在可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
109.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。

技术特征:


1.一种自动驾驶仿真方法,其特征在于,包括:提供一模块数据库,该模块数据库注册有不同类型规划器、不同类型参考轨迹生成器、不同类型控制器、不同类型车辆模型;获取客户端的模块配置信息,所述模块配置信息包括待仿真规划器/参考轨迹生成器、控制器、车辆模型的目标类型以及目标参数;根据所述模块配置信息在所述模块数据库中查相同类型的目标规划器/参考轨迹生成器、目标控制器、目标车辆模型并配置所述目标参数;获取所述目标车辆模型的运动配置信息以及客户端的目标仿真数据,所述运动配置信息包括所述目标车辆模型的仿真初始信息与仿真终止条件;基于所述运动配置信息,运行所述目标车辆模型、目标规划器/参考轨迹生成器以及目标控制器,获得运行过程中的仿真数据,所述仿真数据包括所述目标车辆模型的车辆实时状态信息以及所述目标仿真数据的时间曲线信息;当触发所述仿真终止条件时,结束本次仿真。2.根据权利要求1所述的方法,其特征在于,基于所述运动配置信息,运行所述目标规划器/参考轨迹生成器、目标控制器以及目标车辆模型,获得运行过程中的仿真数据,包括:所述目标车辆模型执行仿真运动,得到车辆实时状态信息并输入至所述目标规划器/参考轨迹生成器,以输出参考轨迹;同时发送所述车辆实时状态信息以及所述参考轨迹给所述目标控制器,并将所述目标控制器输出的车辆控制量信息发送给所述目标车辆模型;通过所述目标车辆模型解算所述车辆控制量信息,得到车辆参考状态信息并将所述参考状态信息更新为当前车辆状态信息。3.根据权利要求1所述的方法,其特征在于,在所述结束本次仿真之后,所述方法还包括:发送所述实时状态信息以及所述目标仿真数据的时间曲线信息给客户端,以使客户端评估是否重新进行仿真;以及接收客户端重新发送的模块配置信息,基于所述模块配置信息更新所述目标规划器和/或目标控制器的目标参数并重新开始仿真。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:存储每次仿真运行过程中所述仿真数据,生成仿真数据库;在所述仿真数据库中获取两次仿真对应的仿真数据,生成对比曲线并在客户端显示,以使客户端基于所述对比曲线,对不同目标规划器和/或不同目标控制器的仿真效果进行比对。5.根据权利要求4所述的方法,其特征在于,所述在所述仿真数据库中获取两次仿真对应的仿真数据,生成对比曲线,包括:获取同一所述目标规划器和/或同一所述目标控制器在两次仿真时配置不同目标参数所获得的仿真数据,并生成对比曲线;或者,获取不同类型所述目标规划器和/或不同类型所述目标控制器在两次仿真时所获得的仿真数据,并生成对比曲线。6.一种自动驾驶仿真系统,其特征在于,包括:
数据注册单元,用于提供一模块数据库,该模块数据库注册有不同类型的规划器/参考轨迹生成器、不同类型的控制器、不同类型的车辆模型以及相应的初始参数配置文件;模块信息获取单元,用于获取客户端的模块配置信息,所述模块配置信息包括待仿真规划器/参考轨迹生成器、控制器、车辆模型的目标类型以及目标参数;模块查单元,用于根据所述模块配置信息在所述模块数据库中查目标规划器/参考轨迹生成器、目标控制器、目标车辆模型并配置所述目标参数;运动信息获取单元,用于获取所述目标车辆模型的运动配置信息,所述运动配置信息包括所述目标车辆模型的仿真初始信息与仿真终止条件;目标数据获取单元,用于获取客户端的目标仿真数据;仿真运行单元,用于基于所述运动配置信息,运行所述目标规划器/参考轨迹生成器、目标控制器以及目标车辆模型,获得运行过程中的仿真数据,所述仿真数据包括所述目标车辆模型的实时状态信息以及所述目标仿真数据的时间曲线信息;仿真处理单元,用于当触发所述仿真终止条件时,结束本次仿真。7.根据权利要求6所述的系统,其特征在于,所述仿真运行单元,包括:信息交互子单元,用于所述目标车辆模型执行仿真运动,得到车辆实时状态信息并输入所述目标规划器/参考轨迹生成器,以输出参考轨迹;同时发送所述车辆实时状态信息以及所述参考轨迹给所述目标控制器,并将所述目标控制器输出的车辆控制量信息发送给所述目标车辆模型;状态更新子单元,用于通过所述目标车辆模型解算所述车辆控制量信息,得到车辆参考状态信息并将所述车辆参考状态信息更新为当前车辆状态信息。8.根据权利要求6所述的系统,其特征在于,所述仿真处理单元还包括:仿真数据发送子单元,用于发送所述车辆实时状态信息以及所述目标仿真数据的时间曲线信息给客户端,以使客户端评估是否重新进行仿真;目标参数更新子单元,用于接收客户端重新发送的模块配置信息,并基于所述模块配置信息更新所述目标规划器、目标控制器的目标参数并重新开始仿真。9.一种电子设备,包括处理器和存储器,其特征在于,所述存储器存储有能够被所述处理器执行的计算机程序指令,所述处理器执行所述计算机程序指令时,实现如权利要求1-5任一所述的方法步骤。10.一种非瞬时性计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令在被处理器调用和执行时实现如权利要求1-5任一所述的方法步骤。

技术总结


本公开提供一种自动驾驶仿真方法、系统、设备及介质。所述方法包括:提供一模块数据库,该模块数据库注册有不同类型的规划器参考轨迹生成器、控制器、车辆模型;获取客户端的模块配置信息;根据模块配置信息在模块数据库中查相同类型的目标规划器/参考轨迹生成器、目标控制器、目标车辆模型并配置目标参数;获取目标车辆模型的运动配置信息以及客户端的目标仿真数据,运动配置信息包括仿真初始信息与仿真终止条件;基于运动配置信息,运行目标车辆模型、目标规划器/参考轨迹生成器以及目标控制器,获得运行过程中的仿真数据;当触发所述仿真终止条件时,结束本次仿真。本公开能够系统、快速、灵活可扩展的进行规划器和控制器的联合仿真。的联合仿真。的联合仿真。


技术研发人员:

巩兴 杨晓鹏 肖昕塽

受保护的技术使用者:

白犀牛智达(北京)科技有限公司

技术研发日:

2022.09.28

技术公布日:

2022/12/9

本文发布于:2024-09-22 09:51:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/32360.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   目标   车辆   控制器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议