泊车场景仿真方法和装置与流程



1.本公开涉及车辆领域,特别是涉及一种泊车场景仿真方法、泊车场景仿真装置、计算机设备、存储介质以及计算机程序产品。


背景技术:



2.泊车场景是自动驾驶算法需要面对的常见场景之一,停车场中环境车的行驶方式与高速行车场景下有很大不同。在停车场内,车辆行驶速度低,车辆彼此间的交互复杂,正向行驶和倒车行为都会对周围车辆的行为造成影响。
3.在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。


技术实现要素:



4.本公开实施例提供了一种泊车场景仿真方法、泊车场景仿真装置、计算机设备、存储介质以及计算机程序产品。
5.根据本公开的一方面,提供了一种泊车场景仿真方法,用于对泊车场景进行仿真,泊车场景包括主车和多辆环境车,主车的泊车算法在泊车场景中待进行验证,该方法包括:获取泊车场景的场景配置文件,场景配置文件包括泊车场景的场景范围信息、静态障碍物信息和泊车位信息;获取多辆环境车中的每一辆环境车的配置参数,配置参数至少包括环境车的泊车点坐标和运动控制参数;基于泊车场景的场景配置文件和多辆环境车的泊车点坐标,将多辆环境车分成一组或多组环境车;针对一组或多组环境车中的每组环境车,为该组环境车中的每辆环境车生成相应的规划行驶路径以供环境车行驶并泊入与泊车点坐标对应的泊车位;以及使多辆环境车根据运动控制参数沿相应的规划行驶路径行驶,使得多辆环境车在泊车场景下的行驶被仿真,从而为主车生成仿真的泊车场景。
6.根据本公开的另一方面,提供了一种泊车场景仿真装置,用于对泊车场景进行仿真,泊车场景包括主车和多辆环境车,主车的泊车算法在泊车场景中待进行验证,该装置包括:第一模块,用于获取泊车场景的场景配置文件,场景配置文件包括泊车场景的场景范围信息、静态障碍物信息和泊车位信息;第二模块,用于获取多辆环境车中的每一辆环境车的配置参数,配置参数至少包括环境车的泊车点坐标和运动控制参数;第三模块,用于基于泊车场景的场景配置文件和多辆环境车的泊车点坐标,将多辆环境车分成一组或多组环境车;第四模块,用于针对一组或多组环境车中的每组环境车,为该组环境车中的每辆环境车生成相应的规划行驶路径以供环境车行驶并泊入与泊车点坐标对应的泊车位;以及第五模块,用于使多辆环境车根据运动控制参数沿相应的规划行驶路径行驶,使得多辆环境车在泊车场景下的行驶被仿真,从而为主车生成仿真的泊车场景。
7.根据本公开的又一方面,提供了一种计算机设备,该计算机设备包括:至少一个处理器;以及至少一个存储器,其上存储有计算机程序,该计算机程序在被至少一个处理器执
行时致使至少一个处理器实现上述的方法。
8.根据本公开的再一方面,提供了一种存储计算机程序的非暂态计算机可读存储介质,该计算机程序包括指令,该指令在由处理器执行时致使处理器执行上述的方法。
9.根据本公开的再另一方面,提供了一种计算机程序产品,该计算机程序产品包括指令,该指令在由处理器执行时致使处理器执行上述的方法。
10.根据本公开的实施例,通过搭建多车交互的停车场仿真场景并对该场景中的多辆环境车从起点到泊车位的整个行驶和泊车过程进行规划,能够为主车提供复杂且接近现实情况的停车场仿真场景,从而提高主车的自动驾驶算法测试的可靠性。
11.根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
12.在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开。附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。在附图中:
13.图1是图示出根据示例性实施例的泊车场景仿真方法的流程图;
14.图2是图示出根据示例性实施例的用于为一组环境车中的每辆环境车生成相应的规划行驶路径的过程的流程图;
15.图3是图示出根据示例性实施例的用于确定一组环境车中的任意两辆环境车之间是否将发生碰撞的过程的流程图;
16.图4是图示出根据示例性实施例的泊车场景仿真装置的框图;并且
17.图5是图示出能够应用于示例性实施例的示例性计算机设备的框图。
具体实施方式
18.在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
19.在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。如本文使用的,术语“多个”意指两个或更多,并且术语“基于”应解释为“至少部分地基于”。此外,术语“和/或”以及
“……
中的至少一个”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
20.泊车场景是自动驾驶算法需要面对的常见场景之一,停车场中环境车的行驶方式与高速行车场景下有很大不同。在停车场内,车辆行驶速度低,车辆彼此间的交互复杂,正向行驶和倒车行为都会对周围车辆的行为造成影响。
21.发明人洞察到,当前的仿真平台聚焦于对涉及高速或城市道路行车环境的场景进行仿真,而并没有对涉及停车场行泊车环境的场景进行仿真。考虑到此类停车场交互场景
对于车辆而言是常见的,并且停车场环境下多车的交互对主车行为所产生的影响不容小觑,因而,对停车场多车交互的场景进行仿真对于主车的自动驾驶算法且尤其是泊车算法的测试而言具有显著价值。因此,搭建一个多车交互的停车场仿真场景是改善自动驾驶产品的重要工作之一。
22.鉴于此,根据本公开的一个或多个实施例,提出一种泊车场景仿真方法。该方法基于所获取的泊车场景的场景配置文件和环境车的配置参数来对环境车进行分组,并为每组环境车规划行驶路径,从而对环境车在泊车场景下的行驶进行仿真,使得要进行自动驾驶算法验证的主车所面对的仿真场景更加真实。借助于上述方法,通过搭建多车交互的停车场仿真场景并对该场景中的多辆环境车从起点到泊车位的整个行驶和泊车过程进行规划,能够为主车提供复杂且接近现实情况的停车场仿真场景,从而提高主车的自动驾驶算法测试的可靠性。下面结合附图详细描述本公开的示例性实施例。
23.图1是图示出根据示例性实施例的泊车场景仿真方法100的流程图。如图1所示,方法100包括:
24.步骤s110,获取泊车场景的场景配置文件,场景配置文件包括泊车场景的场景范围信息、静态障碍物信息和泊车位信息;
25.步骤s120,获取多辆环境车中的每一辆环境车的配置参数,配置参数至少包括环境车的泊车点坐标和运动控制参数;
26.步骤s130,基于泊车场景的场景配置文件和多辆环境车的泊车点坐标,将多辆环境车分成一组或多组环境车;
27.步骤s140,针对一组或多组环境车中的每组环境车,为该组环境车中的每辆环境车生成相应的规划行驶路径以供环境车行驶并泊入与泊车点坐标对应的泊车位;以及
28.步骤s150,使多辆环境车根据运动控制参数沿相应的规划行驶路径行驶,使得多辆环境车在泊车场景下的行驶被仿真,从而为主车生成仿真的泊车场景。
29.下面详细描述方法100的各个步骤。
30.在步骤s110中,可以首先获取泊车场景的场景配置文件。在本公开的实施例中,场景配置文件可包括泊车场景的场景范围信息、静态障碍物信息和泊车位信息。
31.在示例中,场景范围信息可用于确定待仿真场景(例如,待仿真的泊车场景)的范围,其可包括待仿真场景的角点信息(例如,角点坐标)、边界信息(例如,与相邻角点之间的连线有关的信息)等等。在示例中,静态障碍物信息可包括与待仿真场景内的静态障碍物(例如,墙壁、柱子、阻车器、防撞桶、垃圾箱、静止车辆等)有关的信息,例如,静态障碍物的尺寸、位置(例如,坐标)等等。在示例中,泊车位信息可包括与待仿真场景内的泊车位有关的信息,例如,泊车位的大小、形状、朝向、坐标(例如,对于对称形状的泊车位而言,泊车位的坐标点可以是其对称中心,而对于非对称形状的泊车位而言,泊车位的坐标点可根据需要而被指定为其所占区域内的特定点)等等。
32.在步骤s120中,可以接着获取多辆环境车中的每一辆环境车的配置参数。在本公开的实施例中,环境车的配置参数可至少包括环境车的泊车点坐标和运动控制参数。
33.在示例中,可以从待仿真场景内的泊车位的坐标点中选择环境车的泊车点坐标。本领域技术人员可以理解,在自动驾驶领域中,对车辆进行控制旨在借助于方向盘、刹车、油门等传动机构使车辆按期望路径往目的地行驶。一般而言,用于对车辆进行控制的算法
可被称为控制器。比例-积分-微分(proportional integral derivative,pid)控制器是最常见的此类控制器之一。pid控制器包含一组参数(即,pid参数),这组参数决定了pid控制器的性能,例如,摆动幅度、阻尼大小等。在示例中,环境车的运动控制参数可包括pid参数。在其他示例中,环境车的配置参数还可包括环境车的尺寸、最小转弯半径、可指定的环境车的行驶速度、可指定的环境车的行驶起点等等。
34.在步骤s130中,可以基于泊车场景的场景配置文件和多辆环境车的泊车点坐标,将多辆环境车分成一组或多组环境车。在本公开的实施例中,可根据环境车的泊车点坐标,结合上述场景配置文件,利用聚类算法对多辆环境车进行分组,以使得泊车点坐标邻近的车辆被分为一组。
35.值得注意的是,在对多辆环境车进行分组的过程中除了环境车的泊车点坐标以外还需要将泊车场景的场景配置文件纳入考虑的原因在于,实际的泊车场景中存在着环境车的泊车点坐标邻近但这些环境车的泊车点之间存在物理屏障(例如,这些相邻的泊车点之间存在墙壁或护栏等)以至于这些环境车驶向各自相应的泊车点坐标(例如,泊车位)的行驶轨迹明显不同(例如,行驶轨迹完全无重合等)的情况。对于为多辆环境车规划可行的行驶路径而言,此类情况是不合宜的。而在实际的泊车场景中,以彼此之间邻近且无屏障的泊车位为目的地的车辆的行泊车轨迹可至少部分地重叠,因而为这些车辆规划行驶路径所投入的算力(例如,计算资源)可相应地减少。由此,通过上述步骤对环境车进行分组能够使得环境车的体泊车行为更贴近实际的泊车场景,避免因规划时序问题(即,对未分组的每辆环境车逐一单独地规划可行的行驶路径)所导致的规划失败情况,从而能够减少在对环境车进行行驶路径规划的过程中所投入的不必要的算力。
36.在示例中,聚类算法可以是k均值算法,其中,k值可由用户设定。然而,本领域技术人员可以理解,可采用任何合适的聚类算法来对多辆环境车进行分组,诸如dbscan算法、gmm高斯混合模型、谱聚类算法等等。
37.在步骤s140中,可以为每组环境车中的每辆环境车生成相应的规划行驶路径以供环境车行驶并泊入与泊车点坐标对应的泊车位。
38.相较于对未分组的每辆环境车逐一单独地规划可行的行驶路径,对多辆环境车进行分组并以组的形式对每组环境车进行行驶路径的规划能够避免因规划时序问题所导致的失败情况的发生。具体而言,在已知多辆环境车中的每一者的泊车点坐标的情况下,对未分组的每辆环境车逐一单独地规划可行的行驶路径可能出现无法为在规划时序上靠后的车辆生成可行的行驶路径的情况。例如,经碰撞评估,为在规划时序上靠后的车辆所规划的全部行驶路径均与在规划时序上靠前的车辆所规划的行驶路径发生碰撞,因而无法为该规划时序靠后的(多个)车辆规划出可行的行驶路径,从而不得不尝试为所有车辆逐一、单独地规划新的可行的可行驶路径。这样,为环境车的行驶路径规划所投入的算力被不必要地提高。对此,以组的形式对每组环境车进行行驶路径的规划能够确保在先规划的各组环境车的已规划好的可行的可行驶路径不会因为在后规划的一组或多组环境车的所规划出的行驶路径与之发生碰撞而与这些在后规划的各组环境车的行驶路径一起被重新规划,从而能够显著减少在对环境车进行行驶路径规划的过程中所投入的不必要的算力,如上面所描述。
39.在步骤s150中,可以使多辆环境车根据运动控制参数沿相应的规划行驶路径行
驶,使得多辆环境车在泊车场景下的行驶被仿真,从而为主车生成仿真的泊车场景。
40.根据本公开的实施例,上述方法100弥补了相关技术中仅对涉及高速或城市道路行车环境的场景进行仿真以便为自动驾驶算法提供仿真场景的缺陷。方法100基于所获取的泊车场景的场景配置文件和环境车的配置参数来对环境车进行分组,并为每组环境车规划行驶路径,从而提供了泊车场景下多辆环境车自主行驶的停车场交互场景,使得要进行自动驾驶算法且尤其是泊车算法的验证的主车所面对的仿真场景更加真实。
41.通过上述方法100,可借助于搭建多车交互的停车场仿真场景并对该场景中的多辆环境车从起点到泊车位的整个行驶和泊车过程进行规划,来为主车提供复杂且接近现实情况的停车场仿真场景,从而提高主车的自动驾驶算法测试的可靠性。
42.图2是图示出根据示例性实施例的用于为一组环境车中的每辆环境车生成相应的规划行驶路径的过程200的流程图。过程200可作为对上面描述的方法100的步骤s140的进一步描述。如图2所示,过程200包括:
43.步骤s210,针对一组或多组环境车中的第n组环境车,以第1组至第n-1组环境车的初始行驶路径为约束条件,利用路径规划算法为该第n组环境车中的每辆环境车搜索相应的初始行驶路径,其中1≤n≤n,n为一组或多组环境车的组数,n为整数;
44.步骤s220,根据该第n组环境车中的各环境车的相应初始行驶路径,确定该第n组环境车中的任意两辆环境车之间是否将发生碰撞;
45.步骤s230,响应于确定该第n组环境车中的任意两辆环境车之间将不发生碰撞,将该第n组环境车中的每辆环境车的相应的初始行驶路径作为相应的规划行驶路径;以及
46.步骤s240,响应于确定该第n组环境车中至少在两辆环境车之间将发生碰撞,利用路径规划算法为该第n组环境车中的每辆环境车重新搜索初始行驶路径,直至该第n组环境车中的任意两辆环境车之间将不发生碰撞,并将为该第n组环境车中的每辆环境车重新搜索的初始行驶路径作为相应的规划行驶路径。
47.在示例中,约束条件可以指将规划时序靠前的各组环境车的规划好的初始行驶路径作为排他性行驶路径,从而,在为规划时序靠后的一组或多组环境车进行初始行驶路径规划时,这些排他性行驶路径需要被排除。然而,本领域技术人员可以领会,术语“以
……
为约束条件”还可以指代为规划时序靠后的一组或多组环境车所规划出的初始行驶路径只能与排他性行驶路径重叠不超过某一比例(例如,重合的路径段不超过某一距离、基于预设行驶速度所计算出的车辆在重合的路径段上所行驶的时间不超过某一时间段)、为规划时序靠后的一组或多组环境车所规划出的初始行驶路径需要与排他性行驶路径相距一定的安全间隔等等,本公开对此不进行任何限制。
48.在示例中,路径规划算法可以是本领域技术人员已知的任何合适的路径规划算法,包括搜索算法(例如,a*算法、混合a*算法)、随机采样算法、曲线插值算法、人工势场法等等,本公开对此不进行任何限制。
49.归因于以组的形式对每组环境车进行行驶路径的规划,确保了各组环境车之间不会发生碰撞。由此,过程200聚焦于在一组环境车内对任意两辆环境车的碰撞进行评估。如果一组环境车内的至少两辆环境车之间发生碰撞,则利用路径规划算法为该组环境车中的每一辆环境车重新搜索新的初始行驶路径,直至该组环境车中无碰撞发生。
50.图3是图示出根据示例性实施例的用于确定一组环境车中的任意两辆环境车之间
是否将发生碰撞的过程300的流程图。在本公开的实施例中,多辆环境车中的每一辆环境车的配置参数还包括该环境车的车辆信息、预设行驶起点和预设行驶速度,并且车辆信息包括车身尺寸和最小转弯半径。过程300可作为对上面描述的过程200的步骤s220的进一步描述。如图3所示,过程300包括:
51.步骤s310,根据该第n组环境车中的每辆环境车的预设行驶速度,获取该环境车从预设行驶起点沿相应初始行驶路径在每一仿真时刻处行驶至的位置;
52.步骤s320,针对任一仿真时刻,确定在该仿真时刻处该环境车的位置与该第n组环境车中的其他环境车的位置之间的距离是否小于安全距离,其中,安全距离由车辆信息确定;
53.步骤s330,响应于确定在任一仿真时刻处该环境车的位置与该第n组环境车中的其他环境车的位置之间的距离均不小于安全距离,确定该第n组环境车中的任意两辆环境车之间将不发生碰撞;以及
54.步骤s340,响应于确定在给定仿真时刻处该环境车的位置与该第n组环境车中的其他环境车的位置之间的距离小于安全距离,确定该第n组环境车中至少在两辆环境车之间将发生碰撞。
55.在示例中,仿真时刻可以指仿真平台刷新的最小时间单位,其可以采用绝对时间的概念,也可以采用相对时间的概念,本公开对此不进行任何限制。
56.在示例中,碰撞可被定义为在同一时刻(例如,仿真时刻)两辆车的车身部分重叠和/或两辆车彼此之间的最小安全距离没有将车辆的最小转弯半径纳入考虑。因而,无碰撞可被视为在同一时刻两辆车的车身部分完全没有重叠且两辆车之间的最小安全距离已将车辆的最小转弯半径纳入考虑。
57.根据本公开的实施例,利用路径规划算法为第n组环境车中的每辆环境车重新搜索初始行驶路径包括:以碰撞所涉及的环境车以及发生碰撞的给定仿真时刻作为约束条件,利用路径规划算法为第n组环境车中的每辆环境车搜索相应的初始行驶路径。
58.在上述实施例中,以碰撞所涉及的环境车以及发生碰撞的给定仿真时刻作为约束条件为发生碰撞的环境车重新搜索出的初始行驶路径可以与先前包含碰撞的相应初始行驶路径至少部分地重叠(例如,重新搜索出的初始行驶路径绕开了先前的初始行驶路径中的碰撞点)、完全重叠(例如,重新搜索出的初始行驶路径附加地规定在先前的碰撞评估中发生碰撞的车辆中的至少一者在碰撞点前的一定距离处停车或减速行驶,从而在不改变初始规划路径的情况下有效规避碰撞)、或不重叠,本公开对此不进行任何限制。
59.作为上述方法、过程或实施例的补充,在所生成的仿真的泊车场景下,可以使主车根据待进行验证的泊车算法执行自动泊车过程。由此,通过设置停车场仿真场景中的环境车与主车的交互方式,使主车面对的仿真场景更加真实,提高主车的自动驾驶算法且尤其是自动泊车算法的测试价值。
60.根据本公开的实施例,对于多辆环境车中的每一辆环境车,响应于确定在任一仿真时刻处该环境车的位置与主车的位置之间的距离不小于预设距离,使该环境车保持根据运动控制参数沿相应的规划行驶路径行驶;以及响应于确定在任一仿真时刻处该环境车的位置与主车的位置之间的距离小于预设距离,以该环境车在该仿真时刻处的位置为起点,为该环境车生成新的规划行驶路径以避免在任一仿真时刻处该环境车的位置与主车的位
置之间的距离小于预设距离,并且使该环境车根据运动控制参数沿该新的规划行驶路径行驶。由此,通过增设环境车与待验证算法的主车之间的交互,使得停车场仿真场景下的各环境车不再局限于充当背景车辆的功能,而是能够在与主车潜在地发生碰撞的情况下自主避让主车,从而增加仿真场景的真实性,保证且提高了自动驾驶算法测试的可靠性。
61.在示例中,预设距离可以由停车场仿真场景的设计人员或主车的自动驾驶算法测试人员来设定,或者也可以由仿真平台基于场景配置文件和/或环境车配置参数来自动设定,等等。
62.根据本公开的实施例,对于多辆环境车中的每一辆环境车,响应于确定在任一仿真时刻处主车在该环境车的泊车点坐标所对应的泊车位停车而该环境车仍未行驶至该泊车位,以该环境车在该仿真时刻处的位置为起点且以与该泊车位毗邻的泊车位的坐标为终点,为该环境车生成新的规划行驶路径并且使该环境车根据运动控制参数沿该新的规划行驶路径行驶。由此,解除对主车自主选择泊车位的约束,使主车在仿真场景下对泊车位的选择权优先于环境车对泊车位的选择权,从而使仿真场景更好地服务于主车自动驾驶算法(例如,自动泊车算法)的测试和验证。
63.图4是图示出根据示例性实施例的泊车场景仿真装置400的示意性框图。装置400包括:第一模块410,用于获取泊车场景的场景配置文件,场景配置文件包括泊车场景的场景范围信息、静态障碍物信息和泊车位信息;第二模块420,用于获取多辆环境车中的每一辆环境车的配置参数,配置参数至少包括环境车的泊车点坐标和运动控制参数;第三模块430,用于基于泊车场景的场景配置文件和多辆环境车的泊车点坐标,将多辆环境车分成一组或多组环境车;第四模块440,用于针对一组或多组环境车中的每组环境车,为该组环境车中的每辆环境车生成相应的规划行驶路径以供环境车行驶并泊入与泊车点坐标对应的泊车位;以及第五模块450,用于使多辆环境车根据运动控制参数沿相应的规划行驶路径行驶,使得多辆环境车在泊车场景下的行驶被仿真,从而为主车生成仿真的泊车场景。
64.应当理解,图4中所示装置400的各个模块可以与参考图1描述的方法100中的各个步骤相对应。由此,上面针对方法100描述的操作、特征和优点同样适用于装置400及其包括的模块。
65.根据本公开的实施例,上述装置400弥补了相关技术中仅对涉及高速或城市道路行车环境的场景进行仿真以便为自动驾驶算法提供仿真场景的缺陷。装置400基于所获取的泊车场景的场景配置文件和环境车的配置参数来对环境车进行分组,并为每组环境车规划行驶路径,从而提供了泊车场景下多辆环境车自主行驶的停车场交互场景,使得要进行自动驾驶算法且尤其是泊车算法的验证的主车所面对的仿真场景更加真实。
66.虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。例如,第一模块410和第二模块420可以组合成单个模块,用以获取泊车场景配置文件和环境车配置参数两者。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。
67.如本文使用的,短语“基于a、b和c,执行动作z”可以是指仅基于a、仅基于b、仅基于
c、基于a和b、基于a和c、基于b和c、或基于a和b和c来执行动作z。
68.还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图4描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,第一模块410至第五模块450中的一个或多个可以一起被实现在片上系统(system on chip,soc)中。soc可以包括集成电路芯片(其包括处理器(例如,中央处理单元(central processing unit,cpu)、微控制器、微处理器、数字信号处理器(digital signal processor,dsp)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
69.根据本公开的一方面,提供了一种计算机设备。该计算机设备包括至少一个存储器、至少一个处理器以及存储在至少一个存储器上的计算机程序。该至少一个处理器被配置为执行计算机程序以实现上文描述的任一方法、过程和/或实施例的步骤。
70.根据本公开的一方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法、过程和/或实施例的步骤。
71.根据本公开的一方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法、过程和/或实施例的步骤。
72.在下文中,结合图5描述这样的计算机设备、非暂态计算机可读存储介质和计算机程序产品的说明性示例。
73.图5示出了可以被用来实施本文所描述的方法的计算机设备500的示例配置。上述装置400也可以全部或至少部分地由计算机设备500或类似设备或系统实现。
74.计算机设备500可以包括能够诸如通过系统总线514或其他适当的连接彼此通信的至少一个处理器502、存储器504、(多个)通信接口506、显示设备508、其他输入/输出(i/o)设备510以及一个或更多大容量存储设备512。
75.处理器502可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器502可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器502可以被配置成获取并且执行存储在存储器504、大容量存储设备512或者其他计算机可读介质中的计算机可读指令,诸如操作系统516的程序代码、应用程序518的程序代码、其他程序520的程序代码等。
76.存储器504和大容量存储设备512是用于存储指令的计算机可读存储介质的示例,所述指令由处理器502执行来实施前面所描述的各种功能。举例来说,存储器504一般可以包括易失性存储器和非易失性存储器二者(例如ram、rom等等)。此外,大容量存储设备512一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如cd、dvd)、存储阵列、网络附属存储、存储区域网等等。存储器504和大容量存储设备512在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,所述计算
机程序代码可以由处理器502作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
77.多个程序可以存储在大容量存储设备512上。这些程序包括操作系统516、一个或多个应用程序518、其他程序520和程序数据522,并且它们可以被加载到存储器504以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下方法步骤/部件功能的计算机程序逻辑(例如,计算机程序代码或指令):方法100、过程200、过程300及可任选的附加实施例、装置400和/或本文描述的另外的实施例。
78.虽然在图5中被图示成存储在计算机设备500的存储器504中,但是模块516、518、520和522或者其部分可以使用可由计算机设备500访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机可读存储介质和通信介质。
79.计算机可读存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,所述信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机可读存储介质包括而不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字通用盘(dvd)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供计算机设备访问的任何其他非传送介质。与此相对,通信介质可以在诸如载波或其他传送机制之类的已调制数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机可读存储介质不包括通信介质。
80.一个或更多通信接口506用于诸如通过网络、直接连接等等与其他设备交换数据。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(nic))、有线或无线(诸如ieee 802.11无线lan(wlan))无线接口、全球微波接入互操作(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、bluetooth
tm
接口、近场通信(nfc)接口等。通信接口506可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如lan、电缆等等)和无线网络(例如wlan、蜂窝、卫星等等)、因特网等等。通信接口506还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
81.在一些示例中,可以包括诸如监视器之类的显示设备508,以用于向用户显示信息和图像。其他i/o设备510可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
82.本文描述的技术可以由计算机设备500的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。例如,该功能还可以通过使用分布式系统在“云”上全部或部分地实现。云包括和/或代表用于资源的平台。平台抽象云的硬件(例如,服务器)和软件资源的底层功能。资源可以包括在远离计算机设备500的服务器上执行计算处理时可以使用的应用和/或数据。资源还可以包括通过因特网和/或通过诸如蜂窝或wi-fi网络的订户网络提供的服务。平台可以抽象资源和功能以将计算机设备500与其他计算机设备连接。因此,本文描述的功能的实现可以分布在整个云内。例如,功能可以部分地在计算机设备500上以及部分地通过抽象云的功能的平台来实现。
83.虽然在附图和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,不定冠词“一”或“一个”不排除多个,术语“多个”是指两个或两个以上,并且术语“基于”应解释为“至少部分地基于”。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。

技术特征:


1.一种泊车场景仿真方法,用于对泊车场景进行仿真,所述泊车场景包括主车和多辆环境车,所述主车的泊车算法在所述泊车场景中待进行验证,所述方法包括:获取所述泊车场景的场景配置文件,所述场景配置文件包括所述泊车场景的场景范围信息、静态障碍物信息和泊车位信息;获取所述多辆环境车中的每一辆环境车的配置参数,所述配置参数至少包括该环境车的泊车点坐标和运动控制参数;基于所述泊车场景的所述场景配置文件和所述多辆环境车的所述泊车点坐标,将所述多辆环境车分成一组或多组环境车;针对所述一组或多组环境车中的每组环境车,为该组环境车中的每辆环境车生成相应的规划行驶路径以供该环境车行驶并泊入与所述泊车点坐标对应的泊车位;以及使所述多辆环境车根据所述运动控制参数沿所述相应的规划行驶路径行驶,使得所述多辆环境车在所述泊车场景下的行驶被仿真,从而为所述主车生成仿真的所述泊车场景。2.根据权利要求1所述的泊车场景仿真方法,其中,针对所述一组或多组环境车中的每组环境车,为该组环境车中的每辆环境车生成相应的规划行驶路径包括:针对所述一组或多组环境车中的第n组环境车,以第1组至第n-1组环境车的初始行驶路径为约束条件,利用路径规划算法为该第n组环境车中的每辆环境车搜索相应的初始行驶路径,其中1≤n≤n,n为所述一组或多组环境车的组数,n为整数;根据该第n组环境车中的各环境车的相应初始行驶路径,确定该第n组环境车中的任意两辆环境车之间是否将发生碰撞;响应于确定该第n组环境车中的任意两辆环境车之间将不发生碰撞,将该第n组环境车中的每辆环境车的相应的初始行驶路径作为所述相应的规划行驶路径;以及响应于确定该第n组环境车中至少在两辆环境车之间将发生碰撞,利用所述路径规划算法为该第n组环境车中的每辆环境车重新搜索初始行驶路径,直至该第n组环境车中的任意两辆环境车之间将不发生碰撞,并将为该第n组环境车中的每辆环境车重新搜索的初始行驶路径作为所述相应的规划行驶路径。3.根据权利要求2所述的泊车场景仿真方法,其中,所述多辆环境车中的每一辆环境车的配置参数还包括该环境车的车辆信息、预设行驶起点和预设行驶速度,并且所述车辆信息包括车身尺寸和最小转弯半径,其中,根据该第n组环境车中的各环境车的相应初始行驶路径,确定该第n组环境车中的任意两辆环境车之间是否将发生碰撞包括:根据该第n组环境车中的每辆环境车的预设行驶速度,获取该环境车从所述预设行驶起点沿所述相应初始行驶路径在每一仿真时刻处行驶至的位置;针对任一仿真时刻,确定在该仿真时刻处该环境车的位置与该第n组环境车中的其他环境车的位置之间的距离是否小于安全距离,其中,所述安全距离由所述车辆信息确定;响应于确定在任一仿真时刻处该环境车的位置与该第n组环境车中的其他环境车的位置之间的距离均不小于所述安全距离,确定该第n组环境车中的任意两辆环境车之间将不发生碰撞;以及响应于确定在给定仿真时刻处该环境车的位置与该第n组环境车中的其他环境车的位置之间的距离小于所述安全距离,确定该第n组环境车中至少在两辆环境车之间将发生碰
撞。4.根据权利要求3所述的泊车场景仿真方法,其中,利用所述路径规划算法为该第n组环境车中的每辆环境车重新搜索初始行驶路径包括:以所述碰撞所涉及的环境车以及发生所述碰撞的所述给定仿真时刻作为约束条件,利用所述路径规划算法为该第n组环境车中的每辆环境车搜索相应的初始行驶路径。5.根据前述权利要求中任一项所述的泊车场景仿真方法,还包括:在所生成的仿真的所述泊车场景下,使所述主车根据待进行验证的所述泊车算法执行自动泊车过程。6.根据权利要求5所述的泊车场景仿真方法,还包括:对于所述多辆环境车中的每一辆环境车,响应于确定在任一仿真时刻处该环境车的位置与所述主车的位置之间的距离不小于预设距离,使该环境车保持根据所述运动控制参数沿所述相应的规划行驶路径行驶;以及响应于确定在任一仿真时刻处该环境车的位置与所述主车的位置之间的距离小于所述预设距离,以该环境车在所述仿真时刻处的所述位置为起点,为该环境车生成新的规划行驶路径以避免在任一仿真时刻处该环境车的位置与所述主车的位置之间的距离小于所述预设距离,并且使该环境车根据所述运动控制参数沿该新的规划行驶路径行驶。7.根据权利要求5所述的泊车场景仿真方法,还包括:对于所述多辆环境车中的每一辆环境车,响应于确定在任一仿真时刻处所述主车在该环境车的泊车点坐标所对应的泊车位停车而该环境车仍未行驶至所述泊车位,以该环境车在所述仿真时刻处的位置为起点且以与所述泊车位毗邻的泊车位的坐标为终点,为该环境车生成新的规划行驶路径并且使该环境车根据所述运动控制参数沿该新的规划行驶路径行驶。8.一种泊车场景仿真装置,用于对其中多车交互的泊车场景进行仿真,所述泊车场景包括多辆环境车以及其算法在所述泊车场景中待进行验证的主车,所述装置包括:第一模块,用于获取所述泊车场景的场景配置文件,所述场景配置文件包括所述泊车场景的场景范围信息、静态障碍物信息和泊车位信息;第二模块,用于获取所述多辆环境车中的每一辆环境车的配置参数,所述配置参数至少包括该环境车的泊车点坐标和运动控制参数;第三模块,用于基于所述泊车场景的所述场景配置文件和所述多辆环境车的所述泊车点坐标,将所述多辆环境车分成一组或多组环境车;第四模块,用于针对所述一组或多组环境车中的每组环境车,为该组环境车中的每辆环境车生成相应的规划行驶路径以供该环境车行驶并泊入与所述泊车点坐标对应的泊车位;以及第五模块,用于使所述多辆环境车根据所述运动控制参数沿所述相应的规划行驶路径行驶,使得所述多辆环境车在所述泊车场景下的行驶被仿真,从而为所述主车生成仿真的所述泊车场景。9.一种计算机设备,所述计算机设备包括:至少一个处理器;以及至少一个存储器,其上存储有计算机程序,
其中,所述计算机程序在被所述至少一个处理器执行时,使所述至少一个处理器执行权利要求1-7中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使所述处理器执行权利要求1-7中任一项所述的方法。

技术总结


提供了一种泊车场景仿真方法,泊车场景包括主车和多辆环境车,主车的泊车算法在泊车场景中待进行验证,该方法包括:获取泊车场景的场景配置文件,场景配置文件包括泊车场景的场景范围信息、静态障碍物信息和泊车位信息;获取多辆环境车中的每一辆环境车的配置参数,配置参数至少包括环境车的泊车点坐标和运动控制参数;基于泊车场景的场景配置文件和多辆环境车的泊车点坐标,将多辆环境车分成一组或多组环境车;针对一组或多组环境车中的每组环境车,为该组环境车中的每辆环境车生成相应的规划行驶路径以供环境车行驶并泊入与泊车点坐标对应的泊车位;以及使多辆环境车根据运动控制参数沿相应的规划行驶路径行驶。制参数沿相应的规划行驶路径行驶。制参数沿相应的规划行驶路径行驶。


技术研发人员:

张新红 陈翀宇 居阳 俞波

受保护的技术使用者:

北京宾理信息科技有限公司

技术研发日:

2022.10.12

技术公布日:

2022/11/29

本文发布于:2024-09-23 15:27:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/38917.html

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

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