本技术实施例涉及自动驾驶,特别涉及一种泊车轨迹的生成方法、装置、设备及计算机可读存储介质。
背景技术:
1、随着自动驾驶技术的不断发展,自动泊车系统在车辆行业中的应用越来越广泛。自动泊车系统的技术主要包括车位识别技术和轨迹生成技术。其中,轨迹生成技术是指在确定出泊车车位后,生成一条泊车轨迹,以使车辆按照该泊车轨迹泊车入位。然而,如何生成泊车轨迹是目前亟需解决的技术问题。
技术实现思路
1、本技术实施例提供了一种泊车轨迹的生成方法、装置、设备及计算机可读存储介质。所述技术方案如下:
2、一方面,本技术实施例提供了一种泊车轨迹的生成方法,所述方法包括:
3、响应于检测到泊车车位,且所述泊车车位的参考方向存在障碍物,获取车辆在参考坐标系中的第一位置信息和所述障碍物在所述参考坐标系中的第二位置信息,所述参考坐标系的原点为沿着所述泊车车位的长度方向的中轴线上距离所述泊车车位的尾部第一距离的点;
4、根据所述第一位置信息,生成第一圆弧和第二圆弧,所述第一圆弧的一个端点为所述原点,所述第二圆弧的一个端点为所述第一位置信息指示的位置,且所述第一圆弧的另一个端点和所述第二圆弧的另一个端点为第一点,所述第一点为所述第一圆弧所在的第一圆和所述第二圆弧所在的第二圆的外切点;
5、根据所述第一位置信息和所述第二位置信息,生成第三圆弧和第四圆弧,所述第三圆弧的一个端点为所述第一位置信息指示的位置,所述第四圆弧的一个端点为所述原点,且所述第三圆弧的另一个端点和所述第四圆弧的另一个端点为第二点,所述第二点为所述第三圆弧所在的第三圆和所述第四圆弧所在的第四圆的外切点;
6、根据所述第一圆弧、所述第二圆弧、所述第三圆弧和所述第四圆弧,确定泊车轨迹,以使所述车辆按照所述泊车轨迹行驶进入所述泊车车位,所述泊车轨迹的一个端点为所述第一位置信息指示的位置,另一个端点为所述原点。
7、在一种可能的实现方式中,所述响应于检测到泊车车位,且所述泊车车位的参考方向存在障碍物,获取车辆在参考坐标系中的第一位置信息和所述障碍物在所述参考坐标系中的第二位置信息,包括:
8、响应于检测到泊车车位,且所述泊车车位的参考方向存在障碍物,获取所述车辆的初始位置信息、所述泊车车位的初始位置信息和所述障碍物的初始位置信息;
9、根据所述车辆的初始位置信息、所述泊车车位的初始位置信息和夹角,确定所述车辆在所述参考坐标系中的第一位置信息,所述夹角为沿着所述车辆的长度方向的中轴线和沿着所述泊车车位的长度方向的中轴线之间的夹角;
10、根据所述障碍物的初始位置信息、所述泊车车位的初始位置信息和所述夹角,确定所述障碍物在所述参考坐标系中的第二位置信息。
11、在一种可能的实现方式中,所述根据所述第一位置信息,生成第一圆弧和第二圆弧,包括:
12、确定所述车辆的最小转弯半径为所述第一圆的半径;
13、根据所述第一圆的半径,确定所述第一圆的圆心;
14、根据所述第一圆的半径、所述第一位置信息和夹角,确定所述第二圆的半径,所述夹角为沿着所述车辆的长度方向的中轴线和沿着所述泊车车位的长度方向的中轴线之间的夹角;
15、根据所述第二圆的半径、所述第一位置信息和所述夹角,确定所述第二圆的圆心;
16、根据所述第一圆的圆心和所述第一圆的半径,生成所述第一圆,根据所述第二圆的圆心和所述第二圆的半径,生成所述第二圆;
17、确定所述第一圆上的所述第一点与所述原点之间的圆弧为所述第一圆弧,确定所述第二圆上的所述第一点与所述第一位置信息指示的位置之间的圆弧为所述第二圆弧。
18、在一种可能的实现方式中,所述确定所述车辆的最小转弯半径为所述第一圆的半径之前,所述方法还包括:
19、根据所述车辆的轴距和所述车辆的前轮最大转向角度,确定所述车辆的最小转弯半径。
20、在一种可能的实现方式中,所述根据所述第一位置信息和所述第二位置信息,生成第三圆弧和第四圆弧,包括:
21、根据所述第一位置信息、所述第二位置信息、夹角和所述车辆的最小转弯半径,确定所述第三圆的半径,所述夹角为沿着所述车辆的长度方向的中轴线和沿着所述泊车车位的长度方向的中轴线之间的夹角;
22、根据所述第三圆的半径、所述第一位置信息和所述夹角,确定所述第三圆的圆心和所述第四圆的半径;
23、根据所述第四圆的半径,确定所述第四圆的圆心;
24、根据所述第三圆的半径和所述第三圆的圆心,生成所述第三圆,根据所述第四圆的圆心和所述第四圆的半径,生成所述第四圆;
25、确定所述第三圆上的所述第二点和所述第一位置信息指示的位置之间的圆弧为所述第三圆弧,确定所述第四圆上的所述第二点和所述原点之间的圆弧为所述第四圆弧。
26、在一种可能的实现方式中,所述根据所述第一位置信息、所述第二位置信息、夹角和所述车辆的最小转弯半径,确定所述第三圆的半径,包括:
27、根据所述第一位置信息、所述第二位置信息和所述夹角,确定第一数值和第二数值,所述第一数值为所述车辆倒车车尾不与所述障碍物碰撞的轨迹的半径,所述第二数值为与所述车辆回正进入所述泊车车位车头不与所述障碍物碰撞的轨迹相切的轨迹的半径;
28、确定所述第一数值、所述第二数值和所述车辆的最小转弯半径中的最大值为所述第三圆的半径。
29、在一种可能的实现方式中,根据所述第一位置信息、所述第二位置信息和所述夹角,确定第二数值,包括:
30、根据所述第二位置信息,确定参考数值,所述参考数值为所述车辆回正进入泊车车位车头不与所述障碍物碰撞的轨迹的半径;
31、根据所述参考数值、所述夹角和所述第一位置信息,确定所述第二数值。
32、在一种可能的实现方式中,所述泊车轨迹包括第五圆弧和第六圆弧;
33、所述根据所述第一圆弧、所述第二圆弧、所述第三圆弧和所述第四圆弧,确定泊车轨迹,包括:
34、根据所述第一位置信息、所述第一圆的半径、所述第四圆的半径和夹角,确定所述第五圆弧所在的第五圆的半径,所述夹角为沿着所述车辆的长度方向的中轴线和沿着所述泊车车位的长度方向的中轴线之间的夹角;
35、根据所述第五圆的半径,确定所述第五圆的圆心;
36、根据所述第五圆的半径、所述第一位置信息和所述夹角,确定所述第六圆弧所在的第六圆的半径;
37、基于所述第六圆的半径位于所述第二圆的半径和所述第三圆的半径之间,根据所述第六圆的半径、所述夹角和所述第一位置信息,确定所述第六圆的圆心;
38、根据所述第五圆的半径和圆心,生成所述第五圆;根据所述第六圆的半径和圆心,生成所述第六圆;
39、确定所述第五圆上的第三点和所述原点之间的圆弧为所述第五圆弧,确定所述第六圆上的所述第三点和所述第一位置信息指示的位置之间的圆弧为所述第六圆弧,所述第三点为所述第五圆和所述第六圆的外切点。
40、在一种可能的实现方式中,所述根据所述第一位置信息、所述第一圆的半径、所述第四圆的半径和夹角,确定所述第五圆弧所在的第五圆的半径,包括:
41、根据所述第一位置信息、所述第一圆的半径、所述第四圆的半径和夹角,确定第三数值;
42、根据所述第四圆的半径,确定第一角度,所述第一角度为所述车辆经过半径为所述第四圆的半径的轨迹时所述车辆的前轮的转角;
43、根据所述第一圆的半径,确定第二角度,所述第二角度为所述车辆经过半径为所述第一圆的半径的轨迹时所述车辆的前轮的转角;
44、根据所述第一角度和所述第二角度,确定第四数值;
45、根据所述第三数值和所述第四数值,确定第五圆弧所在的第五圆的半径。
46、在一种可能的实现方式中,所述根据所述第一位置信息、所述第一圆的半径、所述第四圆的半径和夹角,确定第三数值,包括:
47、根据所述第一位置信息和所述夹角,确定第五数值,所述第五数值为所述第五圆的半径和所述第六圆的半径相同时的数值;
48、在所述第五数值位于所述第一圆的半径和所述第四圆的半径之间的情况下,确定所述第五数值为所述第三数值;
49、在所述第五数值大于所述第四圆的半径的情况下,确定所述第四圆的半径为所述第三数值;
50、在所述第五数值小于所述第一圆的半径的情况下,确定所述第一圆的半径为所述第三数值。
51、另一方面,本技术实施例提供了一种泊车轨迹的生成装置,所述装置包括:
52、获取模块,用于响应于检测到泊车车位,且所述泊车车位的参考方向存在障碍物,获取车辆在参考坐标系中的第一位置信息和所述障碍物在所述参考坐标系中的第二位置信息,所述参考坐标系的原点为沿着所述泊车车位的长度方向的中轴线上距离所述泊车车位的尾部第一距离的点;
53、生成模块,用于根据所述第一位置信息,生成第一圆弧和第二圆弧,所述第一圆弧的一个端点为所述原点,所述第二圆弧的一个端点为所述第一位置信息指示的位置,且所述第一圆弧的另一个端点和所述第二圆弧的另一个端点为第一点,所述第一点为所述第一圆弧所在的第一圆和所述第二圆弧所在的第二圆的外切点;
54、所述生成模块,还用于根据所述第一位置信息和所述第二位置信息,生成第三圆弧和第四圆弧,所述第三圆弧的一个端点为所述第一位置信息指示的位置,所述第四圆弧的一个端点为所述原点,且所述第三圆弧的另一个端点和所述第四圆弧的另一个端点为第二点,所述第二点为所述第三圆弧所在的第三圆和所述第四圆弧所在的第四圆的外切点;
55、确定模块,用于根据所述第一圆弧、所述第二圆弧、所述第三圆弧和所述第四圆弧,确定泊车轨迹,以使所述车辆按照所述泊车轨迹行驶进入所述泊车车位,所述泊车轨迹的一个端点为所述第一位置信息指示的位置,另一个端点为所述原点。
56、在一种可能的实现方式中,所述获取模块,用于响应于检测到泊车车位,且所述泊车车位的参考方向存在障碍物,获取所述车辆的初始位置信息、所述泊车车位的初始位置信息和所述障碍物的初始位置信息;根据所述车辆的初始位置信息、所述泊车车位的初始位置信息和夹角,确定所述车辆在所述参考坐标系中的第一位置信息,所述夹角为沿着所述车辆的长度方向的中轴线和沿着所述泊车车位的长度方向的中轴线之间的夹角;根据所述障碍物的初始位置信息、所述泊车车位的初始位置信息和所述夹角,确定所述障碍物在所述参考坐标系中的第二位置信息。
57、在一种可能的实现方式中,所述生成模块,用于确定所述车辆的最小转弯半径为所述第一圆的半径;根据所述第一圆的半径,确定所述第一圆的圆心;根据所述第一圆的半径、所述第一位置信息和夹角,确定所述第二圆的半径,所述夹角为沿着所述车辆的长度方向的中轴线和沿着所述泊车车位的长度方向的中轴线之间的夹角;根据所述第二圆的半径、所述第一位置信息和所述夹角,确定所述第二圆的圆心;根据所述第一圆的圆心和所述第一圆的半径,生成所述第一圆,根据所述第二圆的圆心和所述第二圆的半径,生成所述第二圆;确定所述第一圆上的所述第一点与所述原点之间的圆弧为所述第一圆弧,确定所述第二圆上的所述第一点与所述第一位置信息指示的位置之间的圆弧为所述第二圆弧。
58、在一种可能的实现方式中,所述确定模块,还用于根据所述车辆的轴距和所述车辆的前轮最大转向角度,确定所述车辆的最小转弯半径。
59、在一种可能的实现方式中,所述生成模块,用于根据所述第一位置信息、所述第二位置信息、夹角和所述车辆的最小转弯半径,确定所述第三圆的半径,所述夹角为沿着所述车辆的长度方向的中轴线和沿着所述泊车车位的长度方向的中轴线之间的夹角;根据所述第三圆的半径、所述第一位置信息和所述夹角,确定所述第三圆的圆心和所述第四圆的半径;根据所述第四圆的半径,确定所述第四圆的圆心;根据所述第三圆的半径和所述第三圆的圆心,生成所述第三圆,根据所述第四圆的圆心和所述第四圆的半径,生成所述第四圆;确定所述第三圆上的所述第二点和所述第一位置信息指示的位置之间的圆弧为所述第三圆弧,确定所述第四圆上的所述第二点和所述原点之间的圆弧为所述第四圆弧。
60、在一种可能的实现方式中,所述生成模块,用于根据所述第一位置信息、所述第二位置信息和所述夹角,确定第一数值和第二数值,所述第一数值为所述车辆倒车车尾不与所述障碍物碰撞的轨迹的半径,所述第二数值为与所述车辆回正进入所述泊车车位车头不与所述障碍物碰撞的轨迹相切的轨迹的半径;确定所述第一数值、所述第二数值和所述车辆的最小转弯半径中的最大值为所述第三圆的半径。
61、在一种可能的实现方式中,所述生成模块,用于根据所述第二位置信息,确定参考数值,所述参考数值为所述车辆回正进入泊车车位车头不与所述障碍物碰撞的轨迹的半径;根据所述参考数值、所述夹角和所述第一位置信息,确定所述第二数值。
62、在一种可能的实现方式中,所述泊车轨迹包括第五圆弧和第六圆弧;
63、所述确定模块,用于根据所述第一位置信息、所述第一圆的半径、所述第四圆的半径和夹角,确定所述第五圆弧所在的第五圆的半径,所述夹角为沿着所述车辆的长度方向的中轴线和沿着所述泊车车位的长度方向的中轴线之间的夹角;根据所述第五圆的半径,确定所述第五圆的圆心;根据所述第五圆的半径、所述第一位置信息和所述夹角,确定所述第六圆弧所在的第六圆的半径;基于所述第六圆的半径位于所述第二圆的半径和所述第三圆的半径之间,根据所述第六圆的半径、所述夹角和所述第一位置信息,确定所述第六圆的圆心;根据所述第五圆的半径和圆心,生成所述第五圆;根据所述第六圆的半径和圆心,生成所述第六圆;确定所述第五圆上的第三点和所述原点之间的圆弧为所述第五圆弧,确定所述第六圆上的所述第三点和所述第一位置信息指示的位置之间的圆弧为所述第六圆弧,所述第三点为所述第五圆和所述第六圆的外切点。
64、在一种可能的实现方式中,所述确定模块,用于根据所述第一位置信息、所述第一圆的半径、所述第四圆的半径和夹角,确定第三数值;根据所述第四圆的半径,确定第一角度,所述第一角度为所述车辆经过半径为所述第四圆的半径的轨迹时所述车辆的前轮的转角;根据所述第一圆的半径,确定第二角度,所述第二角度为所述车辆经过半径为所述第一圆的半径的轨迹时所述车辆的前轮的转角;根据所述第一角度和所述第二角度,确定第四数值;根据所述第三数值和所述第四数值,确定第五圆弧所在的第五圆的半径。
65、在一种可能的实现方式中,所述确定模块,用于根据所述第一位置信息和所述夹角,确定第五数值,所述第五数值为所述第五圆的半径和所述第六圆的半径相同时的数值;在所述第五数值位于所述第一圆的半径和所述第四圆的半径之间的情况下,确定所述第五数值为所述第三数值;在所述第五数值大于所述第四圆的半径的情况下,确定所述第四圆的半径为所述第三数值;在所述第五数值小于所述第一圆的半径的情况下,确定所述第一圆的半径为所述第三数值。
66、另一方面,本技术实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使计算机设备实现上述任一所述的泊车轨迹的生成方法。
67、另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一所述的泊车轨迹的生成方法。
68、另一方面,还提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种泊车轨迹的生成方法。
69、本技术实施例提供的技术方案至少带来如下有益效果:
70、本技术实施例提供的技术方案在生成泊车轨迹时,不仅考虑到泊车车位的位置信息和车辆的位置信息,还考虑到障碍物的位置信息,使得生成的泊车轨迹能够避开障碍物,生成的泊车轨迹更为合理,车辆按照该泊车轨迹进入泊车车位时,能够提升车辆泊车入位的安全性。而且,相较于人为控制车辆将车辆行驶至泊车车位的方式,该方法泊车入位所需的时间较少,从而能够提升车辆泊车入位的效率,提升驾驶员的驾驶体验,进而推动自动驾驶技术的发展。