车辆掉头方法、装置、电子设备和存储介质与流程

文档序号:33196575发布日期:2023-02-04 12:33阅读:169来源:国知局
车辆掉头方法、装置、电子设备和存储介质与流程

1.本公开涉及人工智能技术领域,具体涉及自动驾驶、智能交通等技术领域,尤其涉及车辆掉头方法、装置、电子设备和存储介质。


背景技术:

2.在自动驾驶车辆的行驶过程中,由于在某些大曲率道路进行车辆掉头超过了车辆的物理限制,车辆很难完成掉头,因此在进行全局路径规划时,不会考虑将该大曲率道路作为规划路径的一部分,从而会导致出现车辆绕路的现象,车辆的通行效率低。


技术实现要素:

3.本公开提供了一种车辆掉头方法、装置、电子设备和存储介质。
4.根据本公开的一方面,提供了一种车辆掉头方法,所述方法包括:获取车辆的定位位置,以及所述车辆掉头后所需行驶至的目标位置;在可行驶区域的边界约束条件下,对所述车辆进行路径规划,以得到从所述定位位置行驶至所述目标位置的第一路径;在所述第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除所述边界约束条件,重新规划所述参考轨迹点之后的路径,以得到第二路径;将所述第二路径中与所述可行驶区域的边界之间的交点作为碰撞点,控制所述车辆沿所述第二路径行驶至所述碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。
5.根据本公开的另一方面,提供了一种车辆掉头装置,所述装置包括:获取模块,用于获取车辆的定位位置,以及所述车辆掉头后所需行驶至的目标位置;第一路径规划模块,用于在可行驶区域的边界约束条件下,对所述车辆进行路径规划,以得到从所述定位位置行驶至所述目标位置的第一路径;第二路径规划模块,用于在所述第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除所述边界约束条件,重新规划所述参考轨迹点之后的路径,以得到第二路径;控制模块,用于将所述第二路径中与所述可行驶区域的边界之间的交点作为碰撞点,控制所述车辆沿所述第二路径行驶至所述碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。
6.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开的车辆掉头方法。
7.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开实施例公开的车辆掉头方法。
8.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开的车辆掉头方法的步骤。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:
11.图1是在大曲率道路进行车辆掉头的场景示例图;
12.图2是根据本公开第一实施例的车辆掉头方法的流程示意图;
13.图3是根据本公开第二实施例的车辆掉头方法的流程示意图;
14.图4是根据本公开第三实施例的车辆掉头方法的流程示意图;
15.图5是根据本公开第三实施例的在大曲率道路进行车辆掉头的场景示例图;
16.图6是根据本公开第三实施例的在大曲率道路进行车辆掉头的另一场景示例图;
17.图7是根据本公开第四实施例的车辆掉头方法的流程示意图;
18.图8是根据本公开第五实施例的车辆掉头装置的结构示意图;
19.图9是根据本公开第六实施例的车辆掉头装置的结构示意图;
20.图10是用来实现本公开实施例的车辆掉头方法的电子设备的框图。
具体实施方式
21.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
22.在自动驾驶车辆的行驶过程中,在某些大曲率道路进行车辆掉头超过了车辆的物理限制,车辆很难完成掉头。
23.比如,参考图1,在车辆从a点沿箭头所示方向行驶,需要行驶到b点的情况下,车辆需要从a点沿箭头所示方向行驶一段距离后掉头行驶,而在车辆从a点行驶至c点时,即使车辆向左转动方向盘达到最大转动角度,仍然会撞到右侧的路肩d。因此,在该大曲率道路进行车辆掉头超过了车辆的物理限制,车辆很难完成掉头。
24.由于在某些大曲率道路进行车辆掉头超过了车辆的物理限制,车辆很难完成掉头,因此在进行全局路径规划时,不会考虑将大曲率道路作为规划路径的一部分,从而会导致出现车辆绕路的现象,车辆的通行效率低。
25.针对上述问题,本公开实施例提供一种车辆掉头方法、装置、电子设备、非瞬时计算机可读存储介质以及计算机程序产品。其中车辆掉头方法包括:获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置;在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径;在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除边界约束条件,重新规划参考轨迹点之后的路径,以得到第二路径;将第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。由此,实现了在大曲率道路进行车辆掉头,从而避免了出现车辆绕路的现象,提高了车辆的通行效率。
26.其中,需要说明的是,由于本公开实施例提供的车辆掉头方法,基于车辆的定位位置、车辆掉头后所需行驶至的目标位置以及第二路径中与可行驶区域的边界之间的交点,这三个位置点,实现在大曲率道路进行车辆掉头,因此该方法可以称为“三点掉头”方法。
27.其中,本公开提供的车辆掉头方法、装置、电子设备、非瞬时计算机可读存储介质以及计算机程序产品,涉及人工智能技术领域,具体为自动驾驶、智能交通等技术领域。
28.其中,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
29.下面参考附图描述本公开实施例的车辆掉头方法、装置、电子设备、非瞬时计算机可读存储介质以及计算机程序产品。
30.首先对本公开实施例提供的车辆掉头方法进行说明。
31.图2是根据本公开第一实施例的车辆掉头方法的流程示意图。其中,需要说明的是,本实施的车辆掉头方法,执行主体为车辆掉头装置,该车辆掉头装置可以由软件和/或硬件实现,该车辆掉头装置可以配置在电子设备中,该电子设备可以包括但不限于终端设备、服务器等,该实施例对电子设备不作具体限定。比如电子设备可以为车载电脑。
32.如图2所示,该车辆掉头方法可以包括:
33.步骤201,获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置。
34.其中,需要说明的是,本公开实施例中的电子设备可以与车辆进行数据通信。
35.其中,本实施例中的车辆可以为具有自动驾驶功能的车辆。
36.其中,车辆的定位位置,为车辆掉头前所在的位置。
37.其中,可以将车辆中心点所在的位置或车辆的其它点所在的位置,作为车辆的位置。比如,车辆的定位位置,可以为车辆掉头前车辆的中心点所在的位置;目标位置,可以为车辆掉头后车辆中心点所需行驶至的位置。
38.步骤202,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径。
39.其中,可行驶区域,即车辆可以行驶的区域。
40.其中,边界约束条件,指为了实现车辆的安全行驶所必须遵守的限制条件,即硬约束。比如,车辆不能与路肩、栅栏等发生碰撞,车辆不能压到车道线等。
41.在本技术的实施例中,可以采用“散点优化”的方式对车辆进行路径规划,得到从定位位置行驶至目标位置的第一路径。即对从定位位置到目标位置的道路进行采样,得到很多原始点,这些原始点可以在可行驶区域的边界约束条件下移动,从而通过数值优化器在可行驶区域可计算出一条满足可行驶区域的边界约束条件的路径,该路径即为从定位位置行驶至目标位置的第一路径。
42.其中,第一路径由多个轨迹点组成。
43.步骤203,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除边界约束条件,重新规划参考轨迹点之后的路径,以得到第二路径。
44.其中,转弯曲率,指多个轨迹点形成的路径的曲率,表示该路径偏离直线的程度。
45.其中,曲率阈值,可以根据应用场景的需要预先设置,本公开对此不作限制。比如,可以根据车辆的方向盘的最大转动角度确定曲率阈值。
46.作为一种示例,对于第一路径中任意连续的至少两个轨迹点,可以获取该至少两
个轨迹点形成的子路径的转弯曲率,并判断该转弯曲率是否大于曲率阈值,在任意的至少两个轨迹点形成的子路径的转弯曲率大于曲率阈值的情况下,可以确定第一路径中包括转弯曲率大于曲率阈值的轨迹点,并将该转弯曲率大于曲率阈值的子路径中的轨迹点称为参考轨迹点。
47.作为一种示例,对于第一路径中任意的一个轨迹点,可以获取该轨迹点及之后的连续至少一个轨迹点形成的子路径的转弯曲率,并判断该转弯曲率是否大于曲率阈值,在任意的轨迹点及之后的连续至少一个轨迹点形成的子路径的转弯曲率大于曲率阈值的情况下,可以确定第一路径中包括转弯曲率大于曲率阈值的轨迹点,并将该任意的轨迹点称为参考轨迹点。其中,某个轨迹点a之后的轨迹点,指车辆经过轨迹点a后经过的轨迹点。
48.其中,参考轨迹点的个数可以为一个或多个,本公开对此不作限制。
49.其中,参考轨迹点之后的路径,即车辆沿第一路径行驶至参考轨迹点位置后,从参考轨迹点位置行驶至目标位置的路径。其中,在参考轨迹点的个数为多个的情况下,参考轨迹点之后的路径,可以指从某个参考轨迹点位置行驶至目标位置的路径。
50.在本公开的实施例中,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,可以确定车辆需要在大曲率道路进行车辆掉头,从而可以解除边界约束条件,重新规划参考轨迹点之后的路径,即该路径中的轨迹点可以不遵守边界约束条件,从而得到第二路径。
51.其中,第二路径,可以由第一路径中从定位位置至参考轨迹点位置的子路径中的各轨迹点,以及重新规划得到的参考轨迹点之后的路径中的各轨迹点组成。
52.其中,对车辆进行路径规划得到第一路径和第二路径的过程,可以参考相关技术,此处不再赘述。
53.步骤204,将第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。
54.其中,可行驶区域的边界,可以是路肩、栅栏、车道线等,本公开对此不作限制。
55.其中,碰撞点,即发生碰撞的点。
56.其中,目标行驶方向,即车辆从掉头后的位置驶向目标位置的方向。
57.可以理解的是,由于在进行路径规划得到第二路径时,解除了边界约束条件,那么第二路径与可行驶区域的边界之间会存在交点。本公开实施例中,可以将该第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至该碰撞点后倒车,并在倒车的过程中根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。完成车辆掉头后,车辆即可沿目标行驶方向驶向目标位置。
58.需要说明的是,在车辆靠右行驶的场景下,第二路径与可行驶区域的边界之间的交点,位于车辆掉头后的车辆右侧,则在进行路径规划得到第二路径时,仅解除车辆掉头后的车辆右侧对应的边界约束条件即可。
59.综上,本公开实施例提供的车辆掉头方法,获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除边界约束条件,重新规划参考轨迹点之后的路径,以得到第二路径,将
第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。由此,实现了在大曲率道路进行车辆掉头,从而避免了出现车辆绕路的现象,提高了车辆的通行效率。
60.下面结合图3,对第一路径和第二路径的路径规划过程进行进一步说明。
61.图3是根据本公开第二实施例的车辆掉头方法的流程示意图。如图3所示,车辆掉头方法,可以包括以下步骤:
62.步骤301,获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置。
63.其中,步骤301的具体实现过程及原理,可以参考其它实施例的描述,此处不再赘述。
64.步骤302,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径。
65.在本公开的实施例中,步骤302可以通过以下方式实现:在可行驶区域的边界约束条件下,对车辆以定位位置为起点,以目标位置为终点进行路径规划,以得到使得设定损失函数取值最小的第一路径。
66.其中,设定损失函数,用于指示第一路径中各轨迹点的指标与设定期望值之间的差异。
67.其中,设定损失函数,可以是平方损失函数、指数损失函数等,本公开对此不作限制。
68.其中,指标为用于衡量第一路径优劣的指标,指标的数量可以为一个或多个,本公开对此不作限制。
69.设定期望值,为预先设定的指标对应的期望值。其中,在指标的数量为多个的情况下,不同的指标具有对应的不同期望值。
70.在本公开的实施例中,可以通过数值优化器,在可行驶区域的边界约束条件下,对车辆以定位位置为起点,以目标位置为终点进行路径规划,以得到使得设定损失函数取值最小的第一路径。由此,可以准确得到满足可行驶区域的边界约束条件,且路径中各轨迹点的指标与设定期望值之间的差异最小的最优路径。
71.作为一种示例,指标可以包括转弯曲率和平滑度中的至少一个。
72.以指标包括转弯曲率和平滑度为例,通过在可行驶区域的边界约束条件下,对车辆以定位位置为起点,以目标位置为终点进行路径规划,得到使得设定损失函数取值最小的第一路径,可以准确得到满足可行驶区域的边界约束条件,且路径中各轨迹点的转弯曲率及平滑度分别与对应的设定期望值之间的差异最小的最优路径。
73.步骤303,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,确定参考轨迹点的个数和/或参考轨迹点在第一路径中的占比。
74.步骤304,在个数大于个数阈值和/或占比大于比例阈值的情况下,通过解除边界约束条件,重新规划首个参考轨迹点之后的路径,以得到第二路径。
75.其中,个数阈值和比例阈值,可以根据应用场景的需要设置,本公开对此不作限制。
76.首个参考轨迹点,指车辆沿第一路径行驶时首先经过的参考轨迹点。首个参考轨迹点之后的路径,指从首个参考轨迹点的位置行驶至目标位置的路径。
77.作为一种示例,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,可以确定参考轨迹点的个数,并判断参考轨迹点的个数是否大于个数阈值。在个数大于个数阈值的情况下,可以确定车辆需要在大曲率道路进行车辆掉头,从而可以通过解除边界约束条件,重新规划首个参考轨迹点之后的路径,以得到第二路径。
78.作为一种示例,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,可以确定参考轨迹点在第一路径中的占比,并判断参考轨迹点在第一路径中的占比是否大于比例阈值。在占比大于比例阈值的情况下,可以确定车辆需要在大曲率道路进行车辆掉头,从而可以通过解除边界约束条件,重新规划首个参考轨迹点之后的路径,以得到第二路径。
79.其中,参考轨迹点在第一路径中的占比,即参考轨迹点的个数与第一路径中所有轨迹点的个数的比值。
80.作为一种示例,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,可以确定参考轨迹点的个数和参考轨迹点在第一路径中的占比,并判断参考轨迹点的个数是否大于个数阈值,以及参考轨迹点在第一路径中的占比是否大于比例阈值。在个数大于个数阈值,并且占比大于比例阈值的情况下,可以确定车辆需要在大曲率道路进行车辆掉头,从而可以通过解除边界约束条件,重新规划首个参考轨迹点之后的路径,以得到第二路径。
81.作为一种示例,通过解除边界约束条件,重新规划首个参考轨迹点之后的路径,以得到第二路径,可以包括:对车辆以首个参考轨迹点的位置为起点,以目标位置为终点进行路径规划,以得到使得设定损失函数取值最小的第三路径,将第一路径中从定位位置至首个参考轨迹点位置的子路径,与第三路径连接,得到第二路径。
82.由此,通过在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,确定参考轨迹点的个数和/或参考轨迹点在第一路径中的占比,并判断个数是否大于个数阈值和/或占比是否大于比例阈值,可以更准确的确定车辆是否需要在大曲率道路通过本公开实施例提供的“三点掉头”方法进行车辆掉头,进而在准确确定车辆需要在大曲率道路通过本公开实施例提供的“三点掉头”方法进行车辆掉头的情况下,再通过解除边界约束条件,重新规划首个参考轨迹点之后的路径,以得到第二路径。
83.作为一种示例,在车辆掉头前的行驶过程中,可以以预设的时间间隔执行步骤302,其中,在每次执行步骤302时,车辆的定位位置指执行步骤302时车辆所在的位置。其中,预设的时间间隔可以根据应用场景的需要设置,比如可以设置为10ms(毫秒)、15ms等。由此,在车辆掉头前的行驶过程中,可以得到多个时刻各自对应的第一路径。
84.本公开实施例中,每得到一个时刻对应的第一路径,可以判断该第一路径中是否包括转弯曲率大于曲率阈值的参考轨迹点,并在该第一路径中是否包括转弯曲率大于曲率阈值的参考轨迹点的情况下,确定参考轨迹点的个数和/或参考轨迹点在该第一路径中的占比。在确定连续n个时刻对应的第一路径中,参考轨迹点的个数大于个数阈值和/或占比大于比例阈值的情况下,可以通过解除边界约束条件,重新规划n个第一路径中最后一个时刻对应的第一路径中首个参考轨迹点之后的路径,以得到第二路径。其中,n为大于或等于1的整数。
85.由此,通过确定连续n个时刻对应的第一路径中,参考轨迹点的个数是否大于个数
阈值和/或占比是否大于比例阈值,可以更准确的确定车辆是否需要在大曲率道路通过本公开实施例提供的“三点掉头”方法进行车辆掉头。
86.步骤305,将第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。
87.其中,步骤305的具体实现过程及原理,可以参考其它实施例的描述,此处不再赘述。
88.综上,本公开实施例提供的车辆掉头方法,获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,确定参考轨迹点的个数和/或参考轨迹点在第一路径中的占比,在个数大于个数阈值和/或占比大于比例阈值的情况下,通过解除边界约束条件,重新规划首个参考轨迹点之后的路径,以得到第二路径,将第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。由此,实现了在大曲率道路进行车辆掉头,从而避免了出现车辆绕路的现象,提高了车辆的通行效率。
89.下面结合图4,对本公开提供的车辆掉头方法中,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头的过程进行进一步说明。
90.图4是根据本公开第三实施例的车辆掉头方法的流程示意图。如图4所示,车辆掉头方法,可以包括以下步骤:
91.步骤401,获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置。
92.步骤402,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径。
93.步骤403,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除边界约束条件,重新规划参考轨迹点之后的路径,以得到第二路径。
94.其中,步骤401-403的具体实现过程及原理,可以参考上述实施例的描述,此处不再赘述。
95.步骤404,将第二路径中与可行驶区域的边界之间的交点作为碰撞点,以得到定位位置行驶至碰撞点位置所需的目标行驶距离。
96.其中,目标行驶距离,即车辆沿第二路径从定位位置行驶至碰撞点位置所需的行驶距离。
97.作为一种示例,可以确定车辆沿第二路径从定位位置行驶至碰撞点时,车辆在碰撞点处时所处的位置,并确定车辆在碰撞点处时所处的位置与定位位置之间的累积位移之差,从而得到定位位置行驶至碰撞点位置所需的目标行驶距离。
98.参考图5,假设以车辆的中心点的位置作为车辆的位置,车辆的定位位置为h点所在位置,碰撞点即车辆沿第二路径行驶时与路肩相撞的位置点,即图5中的e点。由于车辆沿第二路径行驶并与路肩相撞时,车辆所处的位置为f点所在位置,则可以确定f点所在位置与h点所在位置之间的累积位移之差,即f点与h点之间的弧线的长度,该累积位移之差也即
弧线的长度,即为定位位置行驶至碰撞点位置所需的目标行驶距离。
99.步骤405,控制车辆沿第二路径行驶目标行驶距离,以到达碰撞点。
100.具体的,可以控制车辆沿第二路径,从定位位置行驶目标行驶距离,以到达碰撞点。
101.需要说明的是,通常车辆在自动驾驶时,会实时测量车辆与障碍物之间的距离,并在行驶过程中保持车辆与障碍物之间的距离大于预设的最小距离限值,从而避免与障碍物之间发生碰撞,实现安全行驶。
102.那么,本公开实施例中,为了避免由于车辆的安全行驶策略的限制,导致车辆无法行驶至碰撞点,在控制车辆沿第二路径行驶目标行驶距离,以到达碰撞点之前,还需要停止测量车辆与障碍物之间的距离,或者调小车辆与障碍物之间的最小距离限值,以实现控制车辆沿第二路径成功行驶至碰撞点。即在步骤405之前,还可以包括:
103.调小车辆与障碍物之间的最小距离限值;或者,
104.停止测量车辆与障碍物之间的距离。
105.步骤406,控制车辆在碰撞点处倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。
106.作为一种示例,步骤406可以通过以下方式实现:在车辆到达碰撞点的情况下,生成携带目标标记的倒车任务;调用倒车控制程序执行倒车任务,以使倒车控制程序根据目标标记,控制车辆向右转动方向盘并倒车;在车身方向与目标行驶方向一致的情况下停止倒车,以完成车辆掉头。
107.可以理解的是,对于车辆来说,不同的倒车任务下的倒车方式可能不同。比如在某些场景下,可以在倒车时无需转动方向盘,比如遇到交通堵塞时,可以直接向后直线倒车;在某些场景下,可以在倒车时向某个方向转动方向盘。在本公开的实施例中,可以通过不同的标记,来指示不同的倒车任务。
108.其中,目标标记,用于指示车辆需要在碰撞点处执行“三点掉头”方式的倒车任务。其中,携带目标标记的该倒车任务的倒车方式可以为:车辆向右转动方向盘并倒车,在车身方向与目标行驶方向一致的情况下停止倒车。
109.在本公开的实施例中,在车辆到达碰撞点的情况下,生成携带目标标记的倒车任务后,即可调用倒车控制程序执行倒车任务,以使倒车控制程序根据目标标记指示的倒车任务的倒车方式,控制车辆向右转动方向盘并倒车,在车身方向与目标行驶方向一致的情况下停止倒车,以完成车辆掉头。
110.参考图6,假设以车辆的中心点的位置作为车辆的位置,在车辆到达碰撞点的情况下,车辆的位置为f点所在位置,则可以控制车辆向右转动方向盘,并按照图6所示的轨迹进行倒车,在车身方向与目标行驶方向一致的情况下停止倒车,此时车辆的位置为g点所在位置,以完成车辆掉头。完成车辆掉头后,车辆即可从g点所在位置沿目标行驶方向驶向目标位置。
111.由此,实现了在车辆到达碰撞点的情况下,根据目标标记对车辆进行相应控制,以使车身方向与目标行驶方向一致,从而完成车辆掉头,避免了出现车辆绕路的现象,提高了车辆的通行效率。
112.作为一种示例,控制车辆向右转动方向盘并倒车时,可以控制车辆向右转动方向
盘达到最大转动角度,并倒车。
113.通过在倒车时控制车辆向右转动方向盘达到最大转动角度,可以使得车辆以最大的转动角度进行倒车,从而减小车辆倒车时所行驶的距离。
114.需要说明的是,本公开实施例是以车辆靠右行驶的场景来示例的,在该场景下,携带目标标记的倒车任务,需要控制车辆向右转动方向盘并倒车。而在车辆靠左行驶的场景下,携带目标标记的倒车任务,需要控制车辆向左转动方向盘并倒车。即,携带目标标记的倒车任务中,车辆的方向盘的转动方向,可以根据实际应用场景设置。
115.综上,本公开实施例提供的车辆掉头方法,获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除边界约束条件,重新规划参考轨迹点之后的路径,以得到第二路径,将第二路径中与可行驶区域的边界之间的交点作为碰撞点,以得到定位位置行驶至碰撞点位置所需的目标行驶距离,控制车辆沿第二路径行驶目标行驶距离,以到达碰撞点,控制车辆在碰撞点处倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。由此,实现了基于车辆的定位位置、掉头后所需行驶至的目标位置以及第二路径中与可行驶区域的边界之间的交点,这三个位置点,在大曲率道路控制进行车辆掉头,从而避免了出现车辆绕路的现象,提高了车辆的通行效率。
116.下面以车辆靠右行驶的场景为例,结合图7,对本公开提供的车辆掉头方法进行进一步说明。图7是根据本公开第四实施例的车辆掉头方法的流程示意图。如图7所示,车辆掉头方法,可以包括任务决策71部分、倒车逻辑72部分和路径优化部分73。其中,车辆掉头方法可以包括以下步骤:
117.步骤701,在第n时刻,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径,并判断第n时刻对应的第一路径中各轨迹点的转弯曲率检测是否通过,若是,则执行步骤707,否则,执行步骤702。
118.可以理解的是,在车辆掉头前的行驶过程中,车辆掉头装置可以以预设的时间间隔,获取车辆的定位位置以及车辆掉头后所需行驶至的目标位置,并在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径。由此,在车辆掉头前的行驶过程中,可以得到多个时刻各自对应的第一路径。其中,预设的时间间隔可以根据应用场景的需要设置,比如可以设置为10ms(毫秒)、15ms等。其中,在每次进行路径规划时,车辆的定位位置为进行路径规划时车辆所在的位置。
119.其中,第n时刻,指最近一个时刻,n为大于1的整数。
120.本公开实施例中,可以判断第n时刻对应的第一路径中,是否包括转弯曲率大于曲率阈值的参考轨迹点,若包括,则确定第n时刻对应的第一路径中各轨迹点的转弯曲率检测未通过,若不包括,则确定第n时刻对应的第一路径中各轨迹点的转弯曲率检测通过。
121.步骤702,判断第n-1时刻对应的第一路径的转弯曲率检测是否通过,若是,则执行步骤707,否则,执行步骤703。
122.在本公开的实施例中,在确定第n时刻对应的第一路径中各轨迹点的转弯曲率检测未通过的情况下,可以判断第n-1时刻对应的第一路径中,是否包括转弯曲率大于曲率阈值的参考轨迹点,若包括,则确定第n-1对应的第一路径中各轨迹点的转弯曲率检测未通
过,若不包括,则确定第n-1对应的第一路径中各轨迹点的转弯曲率检测通过。
123.步骤703,通过解除边界约束条件,重新规划第n时刻对应的第一路径中参考轨迹点之后的路径,以得到第二路径,并判断第二路径与可行驶区域的边界之间是否存在碰撞点,若是,则执行步骤704,否则,执行步骤707。
124.在本公开的实施例中,在确定第n时刻对应的第一路径中各轨迹点的转弯曲率检测未通过,且第n-1时刻对应的第一路径中各轨迹点的转弯曲率检测未通过的情况下,可以通过解除边界约束条件,重新规划第n时刻对应的第一路径中参考轨迹点之后的路径,以得到第二路径。进而可以判断第二路径与可行驶区域的边界之间是否存在交点,在存在交点的情况下,可以将该交点作为碰撞点,在不存在交点的情况下,可以确定第二路径与可行驶区域的边界之间不存在碰撞点。
125.步骤704,将碰撞点作为换挡点。
126.在本公开的实施例中,在第二路径与可行驶区域的边界之间存在碰撞点的情况下,可以将该碰撞点作为换挡点。
127.步骤705,获取定位位置行驶至碰撞点位置所需的目标行驶距离,并判断目标行驶距离是否小于距离阈值,若是,则执行步骤706,否则,执行步骤707。
128.其中,距离阈值可以根据应用场景的需要进行设置,本公开对此不作限制。
129.步骤706,生成目标标记。
130.在本公开的实施例中,在目标行驶距离小于距离阈值的情况下,可以生成目标标记,该目标标记指示车辆需要在碰撞点处执行“三点掉头”方式的倒车任务。
131.步骤707,判断是否需要倒车,若是,则执行步骤709,否则,执行步骤708。
132.在本公开的实施例中,在确定第n时刻对应的第一路径中各轨迹点的转弯曲率检测通过的情况下,可以保存该时刻对应的第一路径中各轨迹点的转弯曲率检测是否通过的结果,并执行步骤707。
133.或者,在确定第n时刻对应的第一路径中各轨迹点的转弯曲率检测未通过,且第n-1时刻对应的第一路径中各轨迹点的转弯曲率检测通过的情况下,可以保存该两个时刻对应的第一路径中各轨迹点的转弯曲率检测是否通过的结果,并执行步骤707。
134.或者,在确定目标行驶距离不小于距离阈值的情况下,可以执行步骤707。
135.或者,在生成目标标记之后,可以执行步骤707。
136.步骤708,进行交通阻塞检查,在交通阻塞时,生成携带阻塞倒车标记的倒车任务。
137.在本公开的实施例中,在未生成任何需要车辆执行倒车任务的标记的情况下,可以确定车辆不需要进行倒车,进而可以判断是否存在交通阻塞,在存在交通阻塞时,可以生成阻塞倒车标记。其中,阻塞倒车标记,指示车辆需要执行阻塞倒车方式的倒车任务。其中,阻塞倒车方式可以为:车辆的方向盘不转动并倒车。
138.步骤709,判断倒车方式为阻塞倒车或三点掉头,若倒车方式为阻塞倒车,则执行步骤710,若倒车方式为三点掉头,则执行步骤711。
139.在本公开的实施例中,在生成目标标记或阻塞倒车标记的情况下,可以确定车辆需要进行倒车。其中,在生成目标标记的情况下,可以确定倒车方式为“三点掉头”方式;在生成阻塞倒车标记的情况下,可以确定倒车方式为“阻塞倒车”方式。
140.步骤710,控制方向盘不转动并倒车。
141.步骤711,在车辆到达碰撞点后,控制车辆向右转动方向盘并倒车,在车身方向与目标行驶方向一致时停止倒车。
142.在本公开的实施例中,在倒车方式为“三点掉头”方式的情况下,可以控制车辆沿第二路径行驶目标行驶距离,以到达碰撞点,并在车辆到达碰撞点后,控制车辆向右转动方向盘并倒车,在车身方向与目标行驶方向一致的情况下停止倒车,以完成车辆掉头。
143.步骤712,碰撞检测和维护倒车结束状态。
144.在本公开的实施例中,可以在倒车过程中和倒车结束后检测车辆与障碍物是否会发生碰撞,并维护倒车结束状态。
145.由此,实现了在交通阻塞时控制车辆进行车辆倒车,以及在大曲率道路控制车辆进行车辆掉头,从而实现了对车辆的准确控制,且避免了出现车辆绕路的现象,提高了车辆的通行效率。
146.下面结合图8,对本公开提供的车辆掉头装置进行说明。
147.图8是根据本公开第五实施例的车辆掉头装置的结构示意图。
148.如图8所示,本公开提供的车辆掉头装置800,包括:获取模块801、第一路径规划模块802、第二路径规划模块803以及控制模块804。
149.其中,获取模块801,用于获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置;
150.第一路径规划模块802,用于在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径;
151.第二路径规划模块803,用于在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除边界约束条件,重新规划参考轨迹点之后的路径,以得到第二路径;
152.控制模块804,用于将第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。
153.需要说明的是,本实施例提供的车辆掉头装置800,可以执行前述实施例的车辆掉头方法。其中,车辆掉头装置800可以由软件和/或硬件实现,该车辆掉头装置800可以配置在电子设备中,该电子设备可以包括但不限于终端设备、服务器等,该实施例对电子设备不作具体限定。
154.需要说明的是,前述对于车辆掉头方法的实施例的说明,也适用于本公开提供的车辆掉头装置,此处不再赘述。
155.本公开实施例提供的车辆掉头装置,获取车辆的定位位置,以及车辆掉头后所需行驶至的目标位置,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除边界约束条件,重新规划参考轨迹点之后的路径,以得到第二路径,将第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。由此,实现了在大曲率道路进行车辆掉头,从而避免了出现车辆绕路的现象,提高了车辆的通行效率。
156.下面结合图9,对本公开提供的车辆掉头装置进行进一步说明。
157.图9是根据本公开第六实施例的车辆掉头装置的结构示意图。
158.如图9所示,本公开提供的车辆掉头装置900,包括:获取模块901、第一路径规划模块902、第二路径规划模块903以及控制模块904。其中,图9中获取模块901、第一路径规划模块902、第二路径规划模块903以及控制模块904与图8中获取模块801、第一路径规划模块802、第二路径规划模块803以及控制模块804具有相同功能和结构。
159.其中,需要说明的是,关于获取模块901、第一路径规划模块902、第二路径规划模块903以及控制模块904的详细描述可参见上述图8中的获取模块801、第一路径规划模块802、第二路径规划模块803以及控制模块804的说明,此处不再进行描述。
160.在本公开的实施中,第二路径规划模块903,包括:
161.确定子模块9031,用于在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,确定参考轨迹点的个数和/或参考轨迹点在第一路径中的占比;
162.第一路径规划子模块9032,用于在个数大于个数阈值和/或占比大于比例阈值的情况下,通过解除边界约束条件,重新规划首个参考轨迹点之后的路径,以得到第二路径。
163.在本公开的实施中,控制模块904,包括:
164.获取子模块9041,用于将第二路径中与可行驶区域的边界之间的交点作为碰撞点,以得到定位位置行驶至碰撞点位置所需的目标行驶距离;
165.第一控制子模块9042,用于控制车辆沿第二路径行驶目标行驶距离,以到达碰撞点;
166.第二控制子模块9043,用于控制车辆在碰撞点处倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。
167.在本公开的实施中,控制模块904,还包括:
168.第三控制子模块,用于调小车辆与障碍物之间的最小距离限值;或者,用于控制车辆停止测量车辆与障碍物之间的距离。
169.在本公开的实施中,第二控制子模块9043,包括:
170.生成单元,用于在车辆到达碰撞点的情况下,生成携带目标标记的倒车任务;
171.第一控制单元,用于调用倒车控制程序执行倒车任务,以使倒车控制程序根据目标标记,控制车辆向右转动方向盘并倒车;
172.第二控制单元,用于控制车辆在车身方向与目标行驶方向一致的情况下停止倒车,以完成车辆掉头。
173.在本公开的实施中,第一控制单元,包括:
174.控制子单元,用于控制车辆向右转动方向盘达到最大转动角度,并倒车。
175.在本公开的实施中,第一路径规划模块902,包括:
176.第二路径规划子模块,用于在可行驶区域的边界约束条件下,对车辆以定位位置为起点,以目标位置为终点进行路径规划,以得到使得设定损失函数取值最小的第一路径;
177.其中,设定损失函数,用于指示第一路径中各轨迹点的指标与设定期望值之间的差异。
178.在本公开的实施中,指标包括转弯曲率和平滑度中的至少一个。
179.需要说明的是,前述对于车辆掉头方法的实施例的说明,也适用于本公开提供的车辆掉头装置,此处不再赘述。
180.本公开实施例提供的车辆掉头装置,获取车辆的定位位置,以及车辆掉头后所需
行驶至的目标位置,在可行驶区域的边界约束条件下,对车辆进行路径规划,以得到从定位位置行驶至目标位置的第一路径,在第一路径中包括转弯曲率大于曲率阈值的参考轨迹点的情况下,解除边界约束条件,重新规划参考轨迹点之后的路径,以得到第二路径,将第二路径中与可行驶区域的边界之间的交点作为碰撞点,控制车辆沿第二路径行驶至碰撞点后倒车,并根据掉头后的目标行驶方向调整车身方向,以完成车辆掉头。由此,实现了在大曲率道路进行车辆掉头,从而避免了出现车辆绕路的现象,提高了车辆的通行效率。
181.基于上述实施例,本公开还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开的车辆掉头方法。
182.基于上述实施例,本公开还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开实施例公开的车辆掉头方法。
183.基于上述实施例,本公开还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开的车辆掉头方法的步骤。
184.根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质和一种计算机程序产品。
185.图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
186.如图10所示,该电子设备1000可以包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
187.设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
188.计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如车辆掉头方法。例如,在一些实施例中,车辆掉头方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram 1003并由计算单元1001执行时,可以执行上文描述的车辆掉头方法
的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行车辆掉头方法。
189.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
190.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
191.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
192.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
193.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
194.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或
云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
195.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
196.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1