一种泊车路径规划方法、装置

文档序号:31859189发布日期:2022-10-19 04:08阅读:128来源:国知局
一种泊车路径规划方法、装置

1.本技术涉及路径规划技术领域,特别是涉及一种泊车路径规划方法、装置。


背景技术:

2.随着自动驾驶技术的发展,出现了路径规划技术,使用最广泛路径规划技术的是基于a*算法的路径规划策略,基于混合a*算法的路径规划策略在基于a*算法的路径规划策略上进行了进一步的改进,规划处的路径更符合车辆运动学。其中,基于混合a*算法的路径规划策略规划路径过程中,一般由当前位姿点逐渐向前拓展搜索位姿点,形成行进路径。
3.然而实际应用中,在泊车这一场景下,由于泊车点附近的障碍物往往会更多,上述的基于混合a*算法的路径规划策略到达泊车点附近拓展搜索位姿点时,搜索难度大大提高,使得在泊车点附近搜索效率低。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高泊车路径规划效率的泊车路径规划方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种泊车路径规划方法。所述方法包括:
6.获取目标泊车位姿点所属的预设区域内的无碰撞位姿点;所述无碰撞位姿点是与所述目标泊车位姿点存在无碰撞路径的位姿点;
7.确定中间位姿点至所述无碰撞位姿点是否存在无碰撞路径;所述中间位姿点是根据预设的路径搜索策略确定出的当前位姿点与所述目标泊车位姿点之间的位姿点;
8.若存在,则根据所述当前位姿点至所述中间位姿点的无碰撞路径、所述中间位姿点至所述无碰撞位姿点的无碰撞路径以及所述无碰撞位姿点至所述目标泊车位姿点的无碰撞路径,生成泊车路径。
9.在其中一个实施例中,所述方法还包括:
10.若所述中间位姿点至所述无碰撞位姿点不存在无碰撞路径,则根据所述路径搜索策略重新确定所述中间位姿点,并执行所述确定中间位姿点至所述无碰撞位姿点是否存在无碰撞路径步骤。
11.在其中一个实施例中,所述获取目标泊车位姿点所属的预设区域内的无碰撞位姿点,包括:
12.在目标泊车位姿点所属的预设区域内,以预设的位姿点选取策略确定多个第一候选位姿点;
13.针对每个第一候选位姿点,在所述第一候选位姿点至所述目标泊车位姿点存在无碰撞路径的情况下,将所述第一候选位姿点作为无碰撞姿点。
14.在其中一个实施例中,所述在目标泊车位姿点所属的预设区域内,以预设的位姿点选取策略确定多个第一候选位姿点,包括:
15.基于预设的位置选取策略,在所述预设区域内确定多个位置点;
16.基于预设的位姿角度,确定每个所述位置点对应的位姿点,作为第一候选位姿点。
17.在其中一个实施例中,所述获取目标泊车位姿点所属的预设区域内的无碰撞位姿点,包括:
18.在目标泊车位姿点所属的预设区域内,以预设的位姿点选取策略确定多个第一候选位姿点;
19.针对每个第一候选位姿点,在所述第一候选位姿点至所述目标泊车位姿点存在无碰撞路径的情况下,将所述第一候选位姿点作为第二候选位姿点;
20.针对每个第二候选位姿点,确定所述第二候选位姿点行驶至所述目标泊车位姿点的行驶代价值;
21.将行驶代价值最小的第二候选位姿点作为无碰撞位姿点。
22.在其中一个实施例中,所述针对每个第二候选位姿点,确定所述候选位姿点行驶至所述目标泊车位姿点的行驶代价值,包括:
23.针对每个第二候选位姿点,获取所述第二候选位姿点的行驶代价参数:其中,所述行驶代价参数包括所述第二候选位姿点的voronoi势能值、voronoi势能沿所述第二候选位姿点的位姿方向的梯度值、所述第二候选位姿点至所述目标泊车位姿点路径上的voronoi势能积分值、所述中间位姿点与所述第二候选位姿点之间的位姿方向差值中的一种或多种;
24.根据获取的所述第二候选位姿点的行驶代价参数,确定所述第二候选位姿点的行驶代价值。
25.第二方面,本技术还提供了一种泊车路径规划装置。所述装置包括:
26.获取模块,用于获取目标泊车位姿点所属的预设区域内的无碰撞位姿点;所述无碰撞位姿点是与所述目标泊车位姿点存在无碰撞路径的位姿点;
27.确定模块,用于确定中间位姿点至所述无碰撞位姿点是否存在无碰撞路径;所述中间位姿点是根据预设的路径搜索策略确定出的当前位姿点与所述目标泊车位姿点之间的位姿点;
28.生成模块,用于若存在,则根据所述当前位姿点至所述中间位姿点的无碰撞路径、所述中间位姿点至所述无碰撞位姿点的无碰撞路径以及所述无碰撞位姿点至所述目标泊车位姿点的无碰撞路径,生成泊车路径。
29.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
30.获取目标泊车位姿点所属的预设区域内的无碰撞位姿点;所述无碰撞位姿点是与所述目标泊车位姿点存在无碰撞路径的位姿点;
31.确定中间位姿点至所述无碰撞位姿点是否存在无碰撞路径;所述中间位姿点是根据预设的路径搜索策略确定出的当前位姿点与所述目标泊车位姿点之间的位姿点;
32.若存在,则根据所述当前位姿点至所述中间位姿点的无碰撞路径、所述中间位姿点至所述无碰撞位姿点的无碰撞路径以及所述无碰撞位姿点至所述目标泊车位姿点的无碰撞路径,生成泊车路径。
33.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
34.获取目标泊车位姿点所属的预设区域内的无碰撞位姿点;所述无碰撞位姿点是与所述目标泊车位姿点存在无碰撞路径的位姿点;
35.确定中间位姿点至所述无碰撞位姿点是否存在无碰撞路径;所述中间位姿点是根据预设的路径搜索策略确定出的当前位姿点与所述目标泊车位姿点之间的位姿点;
36.若存在,则根据所述当前位姿点至所述中间位姿点的无碰撞路径、所述中间位姿点至所述无碰撞位姿点的无碰撞路径以及所述无碰撞位姿点至所述目标泊车位姿点的无碰撞路径,生成泊车路径。
37.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
38.获取目标泊车位姿点所属的预设区域内的无碰撞位姿点;所述无碰撞位姿点是与所述目标泊车位姿点存在无碰撞路径的位姿点;
39.确定中间位姿点至所述无碰撞位姿点是否存在无碰撞路径;所述中间位姿点是根据预设的路径搜索策略确定出的当前位姿点与所述目标泊车位姿点之间的位姿点;
40.若存在,则根据所述当前位姿点至所述中间位姿点的无碰撞路径、所述中间位姿点至所述无碰撞位姿点的无碰撞路径以及所述无碰撞位姿点至所述目标泊车位姿点的无碰撞路径,生成泊车路径。
41.上述泊车路径方法、装置、计算机设备、存储介质和计算机程序产品,在泊车路径规划这一场景下,由于预先对最后一段泊车路径进行了规划,有效的加快了泊车位姿点附近的路径规划效率。
附图说明
42.图1为本技术根据一个实施例示出的基于混合a*路径规划策略的基本流程图;
43.图2为本技术根据一个实施例示出的一种泊车路径规划方法的流程示意图;
44.图3为本技术根据一个实施例示出的目标泊车位姿点所属的预设区域中,各个位姿点的示意图;
45.图4为本说明根据另一个实施例示出的一种泊车路径规划方法的流程示意图;
46.图5为本技术根据一个实施例示出的泊车路径规划装置的结构框图示意图;
47.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
48.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
49.相关技术中,基于混合a*算法的路径规划策略在基于a*的算法路径规划策略的基础上,考虑了物体实际运动约束。混合a*算法路径规划策略的基本流程如图1所示。
50.1、首先确定路径规划的车辆行驶至的当前位姿点和目标位姿点,并初始化开集为当前位姿点,闭集为空。
51.2、判断开集是否为空。如果为空,说明路径搜索失败;如果不为空继续执行步骤3。
52.3、确定开集中各个位姿点的总代价f,并在开集中选取代价最小的位姿点作为中
间位姿点,并将中间位姿点加入至闭集。其中,各个位姿点的总代价f包括两部分,运动代价项g和启发代价项h,运动代价项g用于表征当前位姿点至该位姿点的行驶代价值,启发代价h项用于表征该位姿点至目标位姿点的启发代价值。
53.4、检测中间位姿点与目标位姿点是否存在无碰撞路径。如果存在,则将规划的当前位姿点至中间位姿点的路径、以及中间位姿点至目标位姿点的无碰撞路径作为最终规划的路径;如果不存在,则继续执行步骤5。
54.5、根据运动学公式确定并选取中间位姿点的一个临近位姿点。
55.6、判断该临近位姿点至中间位姿点是否存在无碰撞路径。如果存在,则继续执行步骤7;如果不存在,则返回步骤5。
56.7、判断该临近位姿点是否在闭集中。如果是,则返回步骤5;如果否,则继续执行步骤8。
57.8、根据当前位姿点至中间位姿点的运动代价,以及中间位姿点行驶至该临近位姿点的运动代价,计算当前位姿点至该临近位姿点的运动代价g。
58.9、判断该临近位姿点是否在开集中。如果是,则执行步骤10;如果否,则执行步骤12。
59.10、判断该临近位姿点的运动代价g与开集中保存的该临近位姿点的运动代价g的大小。如果该临近位姿点的运动代价g不小于开集中保存的该临近位姿点的运动代价g,则直接返回步骤2。如果该临近位姿点的运动代价g小于开集中保存的该临近位姿点的运动代价g,则执行步骤11。
60.11、更新开集中该临近位姿点的运动代价g,该临近位姿点的父节点以及该临近位姿点的总代价f,并返回步骤2。
61.12、计算该临近位姿点的启发代价h,并根据该临近位姿点的运动代价g和启发代价h,计算该临近位姿点的总代价f,记其父节点为中间位姿点,并将该临近位姿点加入至开集中。返回至步骤2。
62.根据上述混合a*算法路径规划策略的基本流程可知,混合a*算法在接近目标位姿点时,为了尽可能低连接到目标位姿、以及提高搜索的速度,会尝试使用不考虑障碍物的方式寻找路径,因此,若目标位姿点附近的障碍物很多时,尤其像泊车场景下的u形这样障碍物,在目标位姿点附近搜寻临近位姿点的难度大大提升,效率也很大程度的有所降低。
63.基于此,本技术示出一种在基于混合a*算法的路径规划策略的基础上,针对目标位姿点附近障碍物复杂的路径规划方法,即一种泊车路径规划方法。首先获取目标泊车位姿点所属的预设区域内的无碰撞位姿点;其中,无碰撞位姿点是与目标泊车位姿点存在无碰撞路径的位姿点。然后确定中间位姿点至无碰撞位姿点是否存在无碰撞路径。若存在,则根据当前位姿点至中间位姿点的无碰撞路径、中间位姿点至无碰撞位姿点的无碰撞路径以及无碰撞位姿点至目标泊车位姿点的无碰撞路径,生成最终的泊车路径。
64.通过本技术实施例的方法,根据目标泊车位姿点附近的无碰撞位姿点,完成了最后一段障碍物最多的泊车路径规划,因此在进行泊车路径规划时,只需要规划当前位姿点至最后一段的泊车路径的开始位姿点(无碰撞位姿点)的路径,而无碰撞位姿点附近的障碍物远少于目标泊车位姿点附近的障碍物,所以提升了泊车路径规划的整体效率。
65.首先对本技术示出的泊车路径规划方法进行详细的说明。本技术实施例提供的泊
车路径规划方法,可以应用于包括但不限于个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备、独立的服务器或者是多个服务器组成的服务器集。
66.如图2所示,为本技术根据一个实施例提供了一种泊车路径规划方法的流程示意图,包括以下步骤:
67.步骤201、获取目标泊车位姿点所属的预设区域内的无碰撞位姿点。
68.其中,无碰撞位姿点位于目标泊车位姿点所属的预设区域内,且无碰撞位姿点与目标泊车位姿点存在无碰撞路径。目标泊车位姿点所属的预设区域可以是以目标泊车位姿点为中心划定的定长、定宽的区域,如长11米,宽5米的区域,目标泊车位姿点在区域中心,也可以是设备根据目标泊车位姿点附近的障碍物划分的,划定的定长、定宽的区域,使目标泊车位姿点靠近区域其中的一边,该边的障碍物最多。
69.在一个实施例中,每个位姿点包括三个信息,在地图中横坐标、在地图中的纵坐标、车的朝向,也就是说,同一个的横坐标、纵坐标所在的位置可以有多个位姿点。例如,位姿点可以包含三个维度(x,y,θ),分别代表平面xoy坐标系下的位置(x,y),以及车辆朝向角θ。
70.在一个实施例中,设备存储有包含障碍物信息的地图数据,并明确泊车路径规划的当前位姿点以及目标泊车位姿点,以及明确路径规划实际行驶车辆的基本参数,例如实际行驶车辆的车长、车宽等,车辆运动学相关参数,例如轴距、后轴与前端的距离、最小转向半径等。因此,设备在确定两个位姿点之间是否存在无碰撞路径时,可以根据预设的路径生成策略,以及车辆的运动学参数(如最小转向半径),生成符合车辆运动学的行驶路径,然后根据车辆的基本参数,如车长、车宽等,确定车辆沿着生成的路径是否会发生碰撞。如果会发生碰撞,设备确定这两个位姿点之间不存在无碰撞路径;如果没有发生碰撞,设备确定这两个位姿点之间存在无碰撞路径。
71.其中,预设的路径生成策略可以是rs曲线路径生成策略或者dubins曲线路径生成策略,rs曲线与dubins曲线类似,都是圆+直线的路径,区别在于rs曲线允许车辆倒车,dubins曲线只允许车辆前进。
72.如图3所述,为本技术示出的目标泊车位姿点所属的预设区域内的各个位姿点的示意图,实心六角星所在位置,表示目标泊车位姿点所在的位置,实心六角星所属的箭头表示目标泊车位姿点的朝向,目标泊车位姿点附近的虚线为目标位泊车位姿点的障碍物,其它实心原点所在的位置,表示某位姿点所在的位置,所属的箭头代表该位姿点的朝向。用圆圈圈出来的位姿点,为无碰撞位姿点,无碰撞位姿点至目标泊车位姿点之间的线表示无碰撞位姿点至目标泊车位姿点的无碰撞路径,其它未用圆圈圈出来的位姿点至目标泊车位姿点不存在无碰撞路径。
73.步骤203、确定中间位姿点至无碰撞位姿点是否存在无碰撞路径。
74.其中,中间位姿点是根据预设的路径搜索策略确定出的当前位姿点与目标泊车位姿点之间的位姿点,在根据预设的路径搜索策略进行位姿点拓展时,会根据路径搜索情况,不断更新中间位姿点。以预设的路径搜索策略为上述的基于混合a*算法的路径规划为例,每次循环执行至步骤3是都会从开集中选取一个总代价f最小的位姿点作为中间位姿点,直至中间位姿点至目标位姿点存在无碰撞路径,不同点在于,本技术的方法是直至中间位姿点至无碰撞位姿点存在无碰撞路径。
75.在一个实施例中,设备在确定中间位姿点至无碰撞位姿点是否存在无碰撞路径时,首先在不考虑地图中的障碍物信息的情况下,确定中间位姿点至无碰撞位姿点是否符合车辆运动学的路径,如果确定中间位姿点至无碰撞位姿点存在符合车辆运动学的路径,设备进一步根据地图数据中的障碍物信息,确定该路径是否存在障碍物,并根据实际行驶的车辆的基本信息,确定实际行驶中是否会发生碰撞。设备在确定路径不会发生碰撞的情况下,确定中间位姿点至无碰撞位姿点存在无碰撞路径。
76.其中,在不考虑地图中的障碍物信息的情况下,确定中间位姿点至无碰撞位姿点是否存在符合车辆运动学的路径,可以是预设的路径生成策略,如可以是rs曲线路径生成算法或者dubins曲线路径生成算法,rs曲线与dubins曲线类似,都是圆+直线的路径,区别在于rs曲线允许车辆倒车,dubins曲线只允许车辆前进。如果按照预设的路径生成策略能够为中间位姿点至无碰撞位姿点生成符合车辆运动学的路径,那么中间位姿点至无碰撞位姿点存在符合车辆运动学的路径;如果按照预设的路径生成策略不能够为中间位姿点至无碰撞位姿点生成符合车辆运动学的路径,那么中间位姿点至无碰撞位姿点不存在符合车辆运动学的路径。
77.步骤205、若存在,则根据当前位姿点至中间位姿点的无碰撞路径、中间位姿点至无碰撞位姿点的无碰撞路径以及无碰撞位姿点至目标泊车位姿点的无碰撞路径,生成泊车路径。
78.在一个实施例中,设备为当前位姿点至目标泊车位姿点规划的泊车路径包括三个部分,第一部分为根据预设的路径搜索策略,规划的当前位姿点至中间位姿点的路径,第二部分为根据预设的路径生成策略,生成的中间位姿点至无碰撞位姿点的无碰撞路径,第三部分为根据预设的路径生成策略,生成的无碰撞位姿点至目标泊车位姿点的无碰撞路径,将这三个部分的路径进行合并,设备即可生成当前位姿点至目标泊车位姿点规划的泊车路径。
79.例如,当前位姿点为a,中间位姿点为d,无碰撞位姿点为x,目标泊车位姿点为y,设备根据预设的路径搜索策略,规划当前位姿点a至中间位姿点d的路径为a-b-c-d,并确定中间位姿点为d与无碰撞位姿点为x存在无碰撞路径d~x,无碰撞位姿点为x与目标泊车位姿点为y存在无碰撞路径x~y,那么设备生成的路径为a-b-c-d~x~y。
80.其中,设备根据预设的路径搜索策略,规划当前位姿点至中间位姿点的路径时,可以使用上述的基于混合a*算法的路径规划策略,也可以是基于a*算法的路径规划策略,本技术不加以限定。
81.通过本实施例,由于是单独规划了泊车路径的最后一部分路径,即上述的泊车路径的第三部分,并且降低了第二部分路径的规划难度,因此加快了泊车路径规划的整体效率,尤其是泊车路径的第二部分、第三部分的规划效率。
82.在一个实施例中,中间位姿点至无碰撞位姿点可能不会存在无碰撞路径,此时,上述的方法还可以包:
83.步骤207、若中间位姿点至所述无碰撞位姿点不存在无碰撞路径,则根据路径搜索策略重新确定中间位姿点,并执行步骤203。
84.在一个实施例中,若中间位姿点至无碰撞位姿点不存在无碰撞路径,设备可以确定还需要根据预设的路径搜索策略继续向前搜索路径,向前拓展新的位姿点,即更新中间
点位姿。然后根据更新后的中间点位姿,确定中间位姿点与无碰撞位姿点是否存在无碰撞路径。
85.在一个实施例中,以预设的路径搜索策略是上述的基于混合a*算法的路径规划策略为例,设备在确定中间位姿点至无碰撞位姿点不存在无碰撞路径后,说明需要根据预设的路径搜索策略继续拓展更多的位姿点,然后根据各个位姿点的总代价f,选取出总代价f最小的作为中间位姿点。
86.相关技术中,基于混合a*算法的路径规划策略,由于目标泊车位姿点附近障碍物很多,因此可能只有到达目标泊车位姿点附近才能拓展到与目标泊车位姿点存在无碰撞路径的位姿点,所以设备需要重复更新很多次中间位姿点,才能将中间位姿点更新拓展至目标泊车位姿点附近才能拓展到与目标泊车位姿点存在无碰撞路径的位姿点。
87.在该实施例中,由于无碰撞位姿点附近的障碍物会相对更少,因此可以在很远的位姿点,就可以拓展到与无障碍位姿点存在无碰撞路径的位姿点,所以设备并不需要重复执行很多次步骤207,就可以将中间位姿点更新拓展至与无碰撞位姿点存在无碰撞路径的位姿点。这大大提高了在目标泊车位姿点附近障碍物复杂的场景下,路径规划的效率。
88.在一个实施例中,在确定目标泊车位姿点附近的无碰撞位姿点时,可以先用候选位姿点选取策略,在目标泊车位姿点所属的预设区域内确定出多个第一候选位姿点,然后进一步筛选出符合“与目标泊车位姿点存在无碰撞路径”的位姿点,作为无碰撞位姿点。
89.因此,在一个实施例中,上述的步骤201可以具体包括:
90.步骤201a、在目标泊车位姿点所属的预设区域内,以预设的位姿点选取策略确定多个第一候选位姿点。
91.其中,预设的候选位姿点选取策略本技术不加以限定,能够选取出多个符合“位于目标泊车位姿点周围的预设区域内”的第一候选位姿点即可。
92.在一个实施例中,预设的候选位姿点选取策略可以是随机选取位于目标泊车位姿点所属的预设区域内的多个第一候选位姿点。候选位姿点选取策略也可以是根据长度方向步长、宽度方向步长,在位于目标泊车位姿点所属的预设区域内得到分布均匀的多个第一候选位姿点。
93.步骤201b、针对每个第一候选位姿点,在该第一候选位姿点至目标泊车位姿点存在无碰撞路径的情况下,将该第一候选位姿点作为无碰撞位姿点。
94.在一个实施例中,设备确定出多个第一候选位姿点后,针对每个第一候选位姿点,可以直接确定该第一候选位姿点与目标泊车位姿点存在无碰撞路径,若确定该第一候选位姿点与目标泊车位姿点存在无碰撞路径,设备可以将该第一候选位姿点作为无碰撞位姿点;若确定该第一候选位姿点与目标泊车位姿点不存在无碰撞路径,设备直接舍弃该第一候选位姿点。
95.在一个实施例中,设备确定出多个第一候选位姿点后,针对每个第一候选位姿点,设备还可以根据存储的包含有障碍物信息的地图数据,先确定该第一候选位姿点所在的位置是否存在障碍物以及车辆在该第一候选位姿点是否会发生碰撞,以筛选出不必要确定是否存在无碰撞路径的第一候选位姿点。若确定该第一候选位姿点所在的位置存在障碍物或车辆在该第一候选位姿点会发生碰撞,说明该第一候选位姿点必然是车辆不可以停留的位姿点,设备直接舍弃该第一候选位姿点,以减少对该第一候选位姿点确定是否存在无碰撞
路径的计算资源消耗。若确定该第一候选位姿点所在的位置不存在障碍物且车辆在该第一候选位姿点不会发生碰撞,设备进一步确定该第一候选位姿点与目标泊车位姿点是否存在无碰撞路径。若确定该第一候选位姿点与目标泊车位姿点存在无碰撞路径,设备可以将该第一候选位姿点作为无碰撞位姿点;若确定该第一候选位姿点与目标泊车位姿点不存在无碰撞路径,设备直接舍弃该第一候选位姿点。
96.在此实施例中,通过预设的候选位姿点选取策略选取出目标泊车位姿点附近的各个第一候选位姿点,然后在各个第一候选位姿点中进一步筛选得到无碰撞位姿点。
97.在一个实施例中,预设的候选位姿点选取策略是根据长度方向步长、宽度方向步长,在位于目标泊车位姿点所属的预设区域内得到分布均匀的多个第一候选位姿点,此时上述的步骤201a具体包括:
98.步骤a1、基于预设的位置选取策略,在目标泊车位姿点所属的预设区域内确定多个位置点。
99.在一个实施例中,可以划定长度方向步长、宽度方向步长,在目标泊车位姿点所属的预设区域内确定出(预设区域的长度/长度方向的步长+1)*(预设区域的宽度/宽度方向的步长+1)个位置点。例如,目标泊车位姿点所属的预设区域的长与宽分别为10m、8m,长度方向的步长与宽度方向的步长都为1m,那么就可以确定出11*9=99个位姿点。
100.步骤a2、基于预设的位姿角度,确定每个位置点对应的位姿点,作为第一候选位姿点。
101.在一个实施例中,每个位置点有若干个方向,划定角度方向的步长,可以得到(2π/角度方向的步长)个朝向角,设备根据确定出的0度朝向角,在该位置点得到(2π/角度方向的步长)个位姿点。
102.在一个实施例中,假设目标泊车位姿点附近确定的预设区域一个长为w,宽为h的区域,以θ∈(-π,π]代表朝向角的定义域,在w
×h×
θ的三维状态空间内,长度方向步长、宽度方向的步长、角度方向的步长分别为(res
x
,resy,res
θ
),然后设备根据参数(res
x
,resy,res
θ
)在目标泊车位姿点所属的预设区域内产生离散的三维位姿点,由这些点构成第一候选位姿状态集s。例如,若w为10米,h为5米,并设(res
x
,resy,res
θ
)=(1m,1m,π/6),则长度上产生11个离散点,宽度上产生6个离散点,朝向角上产生6个离散点,设备总共会确定出11*6*6=396个三维位姿点,即396个离散的第一候选位姿点。
103.通过此实施例,可以根据实际需要设置不同的长度方向步长、宽度方向的步长、角度方向的步长,在目标泊车位姿点所属的预设区域内选取出不同数量、分布均匀的第一候选位姿点。
104.实际应用中,目标泊车位姿点附近可能会有多个与目标泊车位姿点存在无碰撞路径的位姿点,因此,在一个实施例中,可选取与目标泊车位姿点的最优无碰撞路径对应的位姿点作为无碰撞位姿点。即,无碰撞位姿点至目标泊车位姿点的无碰撞路径,为预设区域内各位姿点至目标泊车位姿点的无碰撞路径中,行驶代价值最低的无碰撞路径。
105.因此,在一个实施例中,上述的步骤201具体可以包括:
106.步骤2011、在目标泊车位姿点所属的预设区域内,以预设的位姿点选取策略确定多个第一候选位姿点。
107.该步骤的说明可参照步骤201a的说明。
108.步骤2013、针对每个第一候选位姿点,在所述第一候选位姿点至所述目标泊车位姿点存在无碰撞路径的情况下,将所述第一候选位姿点作为第二候选位姿点。
109.该步骤的说明可以参照步骤201b的说明。
110.步骤2015、针对每个第二候选位姿点,确定所述第二候选位姿点行驶至所述目标泊车位姿点的行驶代价值。
111.在一个实施例中,针对每个第二候选位姿点,设备确定该第二候选位姿点行驶至目标泊车位姿点的行驶代价时,可以直接将该第二候选位姿点与目标泊车位姿点之间的无碰撞路径的长度作为行驶代价值,无碰撞路径的长度越长,行驶代价值越大。
112.在一个实施例中,针对每个第二候选位姿点,设备获取该第二候选位姿点行驶至目标泊车位姿点的一个或多个行驶代价参数时,然后根据获取的一个或多个行驶代价参数,确定该第二候选位姿点行驶至目标泊车位姿点的行驶代价值。
113.步骤2017、将行驶代价最小的第二候选位姿点作为无碰撞位姿点。
114.在一个实施例中,设备确定了每个第二候选位姿点行驶至目标泊车位姿点的行驶代价后,通过比较,将行驶代价最小的第二候选位姿点作为无碰撞位姿点。
115.在一个实施例中,各个第二候选位姿点的行驶代价可能相同,因此,设备可能会确定出多个行驶代价最小的第二候选位姿点,选取其中一个第二候选位姿点作为无碰撞位姿点即可。
116.通过该实施例,在泊车路径的多种最后一段无碰撞路径中,选取最优的一种,使得设备规划得到的泊车路径的最后一段无碰撞路径在行驶中更快速且更安全。
117.在一个实施例中,针对每个第二候选位姿点,可以计算该第二候选位姿点的voronoi势能值作为该第二候选位姿点的行驶代价值。
118.其中,栅格点的voronoi势能高低能够反映该栅格点距离周边障碍物的远近,势能越高,则离周边障碍物越近,从避撞安全的角度考虑也就越危险。相比一般人工势场,voronoi势场在相近障碍物形成的狭窄通道区域的势能计算上具备优势。当两个障碍物距离较近的时候,两个障碍物之间会形成一个狭窄的通道,若使用一般势场计算,狭窄通道内的势能会普遍较高(因为狭窄通道内的点离障碍物很近),也就导致倾向于低势能的搜索过程不易“跨过”该狭窄通道,若使用voronoi势能计算狭窄通道区域的势能,则在狭窄通道区域内一定存在近0的低势能区域(一般是与两个障碍物距离相等的位置),也就便于路径搜索“跨过”狭窄通道。
119.voronoi势能ρv(x,y)在点(x,y)处的计算公式为:
[0120][0121]
其中,do为点(x,y)与障碍物的最近距离,dv为点(x,y)与广义voronoi多边形边的最近距离(广义voronoi多边形边可通过matlab函数voronoi(x,y)直接求出),α为正的常数,为势场最大有效距离,当时,势能值ρv(x,y)=0。从计算公式中也能看出,当点(x,y)位于广义voronoi多边形边上时(即dv(x,y)=0),势能值ρv(x,y)=0。voronoi势能ρv(x,y)的范围为[0,1],障碍物点处的voronoi势能值最大,即ρv(x,y)=1。确定具体的势场参数α、后,便可计算出voronoi势能值。
[0122]
记某第二候选位姿点r的voronoi势能值为f1,那么
[0123]
f1=voronoi(r
x
,ry)
[0124]
其中,r
x
,ry是位姿点r的位置坐标。
[0125]
在一个实施例中,针对每个第二候选位姿点,可以计算该第二候选位姿点处的voronoi势能沿着该第二候选位姿点的朝向方向的梯度值作为第二候选位姿点的行驶代价值。
[0126]
voronoi势能沿着第二候选位姿点的朝向方向的梯度值,可由先计算出voronoi势能之后再进行离散的微分数值计算获得。减小voronoi势能沿着第二候选位姿点的朝向方向的梯度值的作用是使选取出的第二候选位姿点的朝向角指向的路径尽量远离周边障碍物。例如,在一个走廊中,一个点位于走廊正中间,沿着走廊方向,voronoi势能梯度值为0,说明沿着该方向走,是没有障碍物的,会越来越远离障碍物;沿着垂直与走廊的方向,voronoi势能梯度值会越来越大,说明沿着该方向走,是有障碍物的,会越来越靠近障碍物。
[0127]
记某第二候选位姿点r的voronoi势能沿着该第二候选位姿点r的朝向方向的梯度值为f2,那么
[0128][0129]
其中,rθ是该第二候选位姿点r的朝向角。
[0130]
在一个实施例中,针对每个第二候选位姿点,可以计算由该第二候选位姿点至目标泊车位姿点的无碰撞路径上的voronoi势能积分值作为该第二候选位姿点的行驶代价值。
[0131]
该第二候选位姿点至目标泊车位姿点的无碰撞路径上的voronoi势能积分值,是该第二候选位姿点至目标泊车位姿点的无碰撞路径上离散点的voronoi势能总和,减小该第二候选位姿点至目标泊车位姿点的无碰撞路径上的voronoi势能积分值能够增加选取的无碰撞位姿点从无碰撞位姿点到目标泊车位姿点的无碰撞路径的安全性。
[0132]
记某第二候选位姿点r至目标泊车位姿点的无碰撞路径上的voronoi势能积分值为f3,那么
[0133]
f3=∑
p
rsrvoronoi(p
x
,py)
[0134]
其中,rsr是由该第二候选位姿点r到目标泊车位姿点的无碰撞路径,p是无碰撞路径上的离散点,p
x
,py是p点的x、y位置坐标值。
[0135]
在一个实施例中,针对每个第二候选位姿点,可以计算中间位姿点与该第二候选位姿点的朝向角的差值作为该第二候选位姿点的行驶代价值。
[0136]
减小中间位姿点与该第二候选位姿点的朝向角的差值,能够使选取的无碰撞位姿点,降低从中间位姿点点搜索到一条直接到达无碰撞位姿点的无碰撞路径的搜索难度。中间位姿点与无碰撞位姿点的朝向差值越小,中间位姿点与无碰撞位姿点越可能规划处一条趋紧于直线的无碰撞路径。
[0137]
记某第二候选位姿点r与中间位姿点的朝向角的差值为f4,那么
[0138][0139]
其中,rθ是该第二候选位姿点的朝向角,qθ是中间位姿点q的朝向角。
[0140]
在一个实施例中,针对每个第二候选位姿点,设备可以获取该第二候选位姿点的以下至少两种行驶代价参数:
[0141]
该第二候选位姿点的voronoi势能值、voronoi势能沿该第二候选位姿点的位姿方向的梯度值、该第二候选位姿点至目标泊车位姿点路径上的voronoi势能积分值、中间位姿点与该第二候选位姿点之间的位姿方向差值。
[0142]
然后,设备通过获取的各行驶代价值参数按照预设加权策略得到该候选位姿点的行驶代价值。
[0143]
在一个实施例中,记某第二候选位姿点r的行驶代价为f,那么该第二候选位姿点r的行驶代价f可以使用以下公式进行计算:
[0144]
f=w1f1+w2f2+w3f3+w4f4[0145]
其中,w1~w4是四个非负的权重常数,f1~f4分别为该第二候选位姿点的voronoi势能值、voronoi势能沿该第二候选位姿点的位姿方向的梯度值、该第二候选位姿点至目标泊车位姿点路径上的voronoi势能积分值、中间位姿点与该第二候选位姿点之间的位姿方向差值,w1~w4的取值可以根据具体需求选取合适的值,不小于0即可。
[0146]
其中,f越大,该第二候选位姿点在实际规划中的行驶代价值越大。
[0147]
在一个实施例中,步骤2015可以具体包括:
[0148]
步骤2015a、针对每个第二候选位姿点,获取该第二候选位姿点的行驶代价参数。
[0149]
其中,行驶代价参数包括该第二候选位姿点的voronoi势能值、voronoi势能沿该第二候选位姿点的位姿方向的梯度值、该第二候选位姿点至目标泊车位姿点路径上的voronoi势能积分值、中间位姿点与该第二候选位姿点之间的位姿方向差值中的一种或多种。
[0150]
步骤2015b、根据获取的该第二候选位姿点的行驶代价参数,确定该第二候选位姿点的行驶代价值。
[0151]
在一个实施例中,设备可以将该第二候选位姿点的voronoi势能值、voronoi势能沿该第二候选位姿点的位姿方向的梯度值、该第二候选位姿点至目标泊车位姿点路径上的voronoi势能积分值、中间位姿点与该第二候选位姿点之间的位姿方向差值中的其中一个参数直接作为该第二候选位姿点的行驶代价值。
[0152]
在一个实施例中,设备可以在该第二候选位姿点的voronoi势能值、voronoi势能沿该第二候选位姿点的位姿方向的梯度值、该第二候选位姿点至目标泊车位姿点路径上的voronoi势能积分值、中间位姿点与该第二候选位姿点之间的位姿方向差值这几个参数中,选取两个或两个以上,根据实际需要进行加权计算,得到该第二候选位姿点的行驶代价值。
[0153]
如图4所示,为本技术根据一个具体的实施例示出的泊车路径规划方法的流程示意图。
[0154]
1、首先确定路径规划的车辆行驶至的当前位姿点和目标位姿点,并初始化开集为当前位姿点,闭集为空。
[0155]
2、在第二候选位姿点集合中,选取出当前行驶代价值最小的第二候选位姿点作为无碰撞位姿点。
[0156]
3、判断开集是否为空,如果为空,说明当前地图的各个位姿点都已搜寻完成,没有搜索到无碰撞的泊车路径,搜索路径失败。如果不为空,继续执行步骤4。
[0157]
4、在开集中,将总代价f最小的位姿点作为中间位姿点。
[0158]
5、确定中间位姿点与无碰撞位姿点是否存在无碰撞路径。如果存在,则路径规划成功,根据当前位姿点至中间位姿点的无碰撞路径、中间位姿点至无碰撞位姿点的无碰撞路径以及无碰撞位姿点至目标泊车位姿点的无碰撞路径,生产最终的泊车路径。如果不存在,则继续执行步骤6。
[0159]
6、根据运动学公式确定并选取中间位姿点的一个临近位姿点。
[0160]
7、判断中间位姿点至该临近位姿点的路径是否存在无碰撞路径,若不存在无碰撞路径,则返回至步骤6,重新选取一个临近选位姿点。若存在无碰撞路径,则继续执行步骤8。
[0161]
8、判断该临近位姿点是否在闭集之中。若该临时位姿点在闭集中,说明该临近位姿点已经遍历过,无需重新对其进行相关计算,返回值步骤6重新选取一个临近位姿点;若该临近位姿点不在闭集中,则继续执行步骤9。
[0162]
9、根据当前位姿点至中间位姿点的运动代价,以及中间位姿点行驶至该临近位姿点的运动代价,计算当前位姿点至该临近位姿点的运动代价g。
[0163]
10、判断该临近位姿点是否在开集中。如果是,则执行步骤11;如果否,则执行步骤13。
[0164]
11、判断该临近位姿点的运动代价g与开集中保存的该临近位姿点的运动代价g的大小。如果该临近位姿点的运动代价g不小于开集中保存的该临近位姿点的运动代价g,则直接返回步骤2。如果该临近位姿点的运动代价g小于开集中保存的该临近位姿点的运动代价g,则执行步骤12。
[0165]
12、更新开集中该临近位姿点的运动代价g,该临近位姿点的父节点以及该临近位姿点的总代价f,并返回步骤2。
[0166]
13、计算该临近位姿点的启发代价h,并根据该临近位姿点的运动代价g和启发代价h,计算该临近位姿点的总代价f,记其父节点为中间位姿点,并将该临近位姿点加入至开集中。返回至步骤2。
[0167]
以上是本技术对泊车路径规划方法的详细说明,应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0168]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的一种泊车路径规划方法的一种泊车路径规划装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个一种泊车路径规划装置实施例中的具体限定可以参见上文中对于一种泊车路径规划方法的限定,在此不再赘述。
[0169]
在一个实施例中,如图5所示,提供了一种泊车路径规划装置,包括:获取模块501、确定模块503和生成模块505,其中:
[0170]
获取模块501,用于获取目标泊车位姿点所属的预设区域内的无碰撞位姿点;所述
无碰撞位姿点是与所述目标泊车位姿点存在无碰撞路径的位姿点;
[0171]
确定模块503,用于确定中间位姿点至所述无碰撞位姿点是否存在无碰撞路径;所述中间位姿点是根据预设的路径搜索策略确定出的当前位姿点与所述目标泊车位姿点之间的位姿点;
[0172]
生成模块505,用于若存在,则根据所述当前位姿点至所述中间位姿点的无碰撞路径、所述中间位姿点至所述无碰撞位姿点的无碰撞路径以及所述无碰撞位姿点至所述目标泊车位姿点的无碰撞路径,生成泊车路径。
[0173]
在一个实施例中,上述一种泊车路径规划装置还包括:
[0174]
更新模块507(图中未示出),用于若所述中间位姿点至所述无碰撞位姿点不存在无碰撞路径,则根据所述路径搜索策略重新确定所述中间位姿点,并调用确定模块503。
[0175]
在一个实施例中,上述的获取模块501具体包括选取子模块5011(图中未示出)和筛选子模块5013(图中未示出),其中,
[0176]
选取子模块5011,用于在目标泊车位姿点所属的预设区域内,以预设的位姿点选取策略确定多个第一候选位姿点;
[0177]
筛选子模块5013,用于针对每个第一候选位姿点,在所述第一候选位姿点至所述目标泊车位姿点存在无碰撞路径的情况下,将所述第一候选位姿点作为无碰撞姿点。
[0178]
在一个实施例中,上述的选取子模块5011具体包括位置点确定子单元5011a(图中未示出)和位姿点确定子单元5011b(图中未示出),其中,
[0179]
位置点确定子单元5011a,用于基于预设的位置选取策略,在所述预设区域内确定多个位置点;
[0180]
位姿点确定子单元5011b,用于基于预设的位姿角度,确定每个所述位置点对应的位姿点,作为第一候选位姿点。
[0181]
在一个实施例中,上述的获取模块501具体包括第一候选位姿点确定子模块501a(图中未示出),第二候选位姿点确定子模块501b(图中未示出),行驶代价值确定子模块501c(图中未示出),无碰撞位姿点确定子模块501d(图中未示出),其中,
[0182]
第一候选位姿点确定子模块501a,用于在目标泊车位姿点所属的预设区域内,以预设的位姿点选取策略确定多个第一候选位姿点;
[0183]
第二候选位姿点确定子模块501b,用于针对每个第一候选位姿点,在所述第一候选位姿点至所述目标泊车位姿点存在无碰撞路径的情况下,将所述第一候选位姿点作为第二候选位姿点;
[0184]
行驶代价值确定子模块501c,用于针对每个第二候选位姿点,确定所述第二候选位姿点行驶至所述目标泊车位姿点的行驶代价值;
[0185]
无碰撞位姿点确定子模块501d,用于将行驶代价值最小的第二候选位姿点作为无碰撞位姿点。
[0186]
在一个实施例中,上述的行驶代价值确定子模块501c具体用于:
[0187]
针对每个第二候选位姿点,获取所述第二候选位姿点的行驶代价参数:其中,所述行驶代价参数包括所述第二候选位姿点的voronoi势能值、voronoi势能沿所述第二候选位姿点的位姿方向的梯度值、所述第二候选位姿点至所述目标泊车位姿点路径上的voronoi势能积分值、所述中间位姿点与所述第二候选位姿点之间的位姿方向差值中的一种或多
种;
[0188]
根据获取的所述第二候选位姿点的行驶代价参数,确定所述第二候选位姿点的行驶代价值。
[0189]
上述一种泊车路径规划装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0190]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种泊车路径规划方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0191]
本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0192]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0193]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0194]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0195]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,
不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0196]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本技术记载的范围。
[0197]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1