掉头车道生成方法及装置、计算机可读存储介质、终端与流程

文档序号:30451867发布日期:2022-06-18 02:08阅读:134来源:国知局
掉头车道生成方法及装置、计算机可读存储介质、终端与流程

1.本发明涉及自动驾驶技术领域,尤其涉及一种掉头车道生成方法及装置、计算机可读存储介质、终端。


背景技术:

2.在智能驾驶技术领域,车道线是无人驾驶车辆行驶过程中的重要基础。尤其是对于无人驾驶的环卫车辆(如智能清扫车)而言,现有的无人驾驶环卫应用场景大多为城市道路,受限于交通规则和来往车辆,智能清扫车大多基于固定车道进行路径和清扫规划,在清扫过程中,会经常需要进行掉头操作。基于此,如何为无人驾驶车辆掉头时生成掉头车道成为重要的研究课题。
3.在现有技术中,无人驾驶车辆在城市道路路口进行掉头时,通常采用两种方法:第一种是不依赖高精度语义地图,仅根据起始点位置和掉头后的终点位置,采用常规的路径搜索算法搜索出一条掉头路径,无人驾驶车辆按照这个路径生成的轨迹进行掉头,但这种方法很大程度上受到周围实时环境和障碍物的影响,可能出现无法搜索出路径,搜索出的路径不够稳定安全的问题。第二种是依赖高精度语义地图,然而,现有应用于城市道路的高精度语义地图中,对于掉头车道一般没有标识或者只根据一般乘用车的车型来生成,因此生成的掉头车道可能过长或过短,无法准确适配不同大小规格或类型的车辆,尤其是对于无人清扫车辆而言,存在大-中-小型规格,因此无论是转弯半径过小或者过大车型,都可能带来稳定性和安全性上的问题。
4.因此,亟需一种掉头车道生成方法,能够在车辆自动驾驶过程中,根据车辆的转弯半径和道路可行驶区域,自动、实时生成准确、安全、稳定的掉头车道。


技术实现要素:

5.本发明解决的技术问题是现有的仅根据起始点位置和终点位置,采用常规的路径搜索算法生成的掉头车道易受到周围实时环境和障碍物的影响,稳定性和安全性不足;或者依赖高精度语义地图而未考虑不同车型(车辆转弯半径)导致生成的掉头车道不够准确与安全。
6.为解决上述技术问题,本发明实施例提供一种掉头车道生成方法,包括以下步骤:确定车辆的起始点的位置和起始朝向角、终止点的位置和终止朝向角以及确定所述车辆的转弯半径;构建启发代价函数,所述启发代价函数为以下一项或多项启发函数的加权求和:运动学约束下的第一启发函数,所述第一启发函数是基于所述转弯半径构建的;避障约束下的第二启发函数,所述第二启发函数是至少基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角构建的;终点朝向约束下的第三启发函数,所述第三启发函数是基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角构建的;基于所构建的启发代价函数,确定掉头车道。
7.可选的,所述第一启发函数是采用杜宾斯dubins曲线求解函数和瑞兹希普reeds_
shepp曲线求解函数,基于所述转弯半径构建的。
8.可选的,采用下述公式,构建所述第一启发函数:
9.constrained_cost=max{dubins(κ,δ,sample_d),reeds_shepp(κ,δ,sample_d)};
10.其中,constrained_cost用于表示所述第一启发函数的函数值,κ用于表示最大曲率,即1/min_r,δ用于表示最大曲率变化值,即1/min_r,min_r用于表示所述转弯半径,sample_d用于表示采样距离,dubins()用于表示杜宾斯dubins曲线求解函数,reeds_shepp()用于表示瑞兹希普reeds_shepp曲线求解函数,max{}用于表示求解最大值函数。
11.可选的,所述第二启发函数是采用路径搜索算法,基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角以及掉头可行驶区域构建的。
12.可选的,所述路径搜索算法为a星算法;采用下述公式,构建所述第二启发函数:
13.astar_cost=astar(start(x
start
,y
start

start
),end(x
end
,y
end

end
),occupancy_map);
14.其中,astar_cost用于表示所述第二启发函数的函数值;astar()用于表示a星算法;start(x
start
,y
start

start
)用于表示车辆的起始点,其中包含起始点的横坐标、纵坐标和起始朝向角;end(x
end
,y
end

end
)用于表示终止点,其中包含终止点的横坐标、纵坐标和终止朝向角;occupancy_map是一个二维数组,用于表示掉头可行驶区域。
15.可选的,在构建所述第二启发函数之前,所述方法还包括:根据车道线地图确定所述掉头可行驶区域。
16.可选的,根据车道线地图确定所述掉头可行驶区域包括:根据车道线地图加载的默认掉头车道,获取静态可行驶区域和冲突车道信息;基于所述静态可行驶区域和冲突车道信息生成所述掉头可行驶区域。
17.可选的,采用下述公式,构建所述第三启发函数:
18.circle_cost=min{1
×
α
start
÷
sin(α
start
),1
×
α
end
÷
sin(α
end
)};
19.其中:
20.euclidean_distance(start(x
start
,y
start

start
),end(x
end
,y
end

end
))=1;
21.α
start
=arctan(

y/

x)-θ
start

22.α
end
=arctan(

y/

x)-θ
end

23.其中,circle_cost用于表示所述第三启发函数的函数值,min{}用于表示求解最小值函数,α
start
用于表示起始朝向角到起终点向量角的偏角,α
end
用于表示起终点向量角到终止朝向角的偏角,

x用于表示终止点的横坐标与起始点的横坐标之差,即x
end-x
start
,x
end
用于表示终止点的横坐标,x
start
用于表示起始点的横坐标,

y用于表示终止点的纵坐标和起始点的纵坐标之差,即y
end-y
start
,y
end
用于表示终止点的纵坐标,y
start
用于表示起始点的纵坐标,θ
start
用于表示起始朝向角,θ
end
用于表示终止朝向角,euclidean_distance()用于表示欧式距离,arctan()用于表示反正切函数。
24.可选的,所述启发代价函数为所述运动学约束下的第一启发函数、所述避障约束下的第二启发函数以及所述终点朝向约束下的第三启发函数的加权求和;
25.采用下述公式,构建所述启发代价函数:
26.f=constrained_cost
×
k1+astar_cost
×
k2+circle_cost
×
k3;
27.其中,f用于表示启发代价函数的代价值,constrained_cost用于表示第一启发函数,k1用于表示第一启发函数的惩罚系数,astar_cost用于表示第二启发函数,k2用于表示第二启发函数的惩罚系数,circle_cost用于表示第三启发函数,k3用于表示第三启发函数的惩罚系数。
28.可选的,构建所述启发代价函数时满足以下一项或多项:所述运动学约束下的第一启发函数的权重的取值范围为大于等于1.0且小于等于1.2;所述避障约束下的第二启发函数的权重的取值范围为大于等于4.0且小于等于6.0;所述终点朝向约束下的第三启发函数的权重的取值范围为大于等于10.0且小于等于15.0。
29.可选的,基于所构建的启发代价函数,确定最优化的掉头车道包括:采用路径搜索算法,基于所构建的启发代价函数,确定最优化的掉头车道。
30.可选的,所述路径搜索算法选自:迪杰斯特拉算法、a星算法、混合a星算法。
31.可选的,所述路径搜索算法为混合a星算法;采用路径搜索算法,基于所构建的启发代价函数,确定掉头车道包括:将所述车辆的起始点作为搜索的初始节点,以及将所述车辆的终止点作为搜索的目标节点;每次搜索时,将使所述启发代价函数的代价值最小的点作为所述初始节点的最优相邻节点,并将所述最优相邻节点作为下一次搜索的初始节点,直至所述最优相邻节点与所述目标节点之间的距离小于预设阈值时结束搜索;基于所述起始点、所述终止点以及搜索结束时刻所得到的多个节点,生成所述掉头车道。
32.本发明实施例还提供一种掉头车道生成装置,包括:
33.车型参数确定模块,用于确定车辆的起始点的位置和起始朝向角、终止点的位置和终止朝向角以及确定所述车辆的转弯半径;启发代价函数构建模块,用于构建启发代价函数,所述启发代价函数为以下一项或多项启发函数的加权求和:运动学约束下的第一启发函数,避障约束下的第二启发函数,终点朝向约束下的第三启发函数;掉头车道生成模块,用于基于所构建的启发代价函数,确定掉头车道。
34.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述掉头车道生成方法的步骤。
35.本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述掉头车道生成方法的步骤。
36.与现有技术相比,本发明实施例的技术方案具有以下有益效果:
37.在本发明实施例中,首先确定车辆的起始点的位置和起始朝向角、终止点的位置和终止朝向角以及确定所述车辆的转弯半径;然后构建启发代价函数,所述启发代价函数为以下一项或多项启发函数的加权求和:运动学约束下的第一启发函数,避障约束下的第二启发函数,终点朝向约束下的第三启发函数;最后基于所构建的启发代价函数,确定掉头车道。相比于现有技术仅根据起始点位置和掉头后的终点位置,采用常规的搜索算法搜索掉头路径时受到周围实时环境和障碍物的影响,无法搜索出稳定、安全的掉头路径,或者依赖高精度语义地图根据一般乘用车型生成掉头车道,由于未考虑不同车辆的转弯半径,所确定的掉头车道准确性不足(可能过长或过短),导致无人驾驶的安全性无法得到保障,本发明的实施例除考虑车辆起始点位置和终点位置之外,还综合考虑了掉头可行驶区域(避开障碍物)、车辆的转弯半径以及结合掉头场景的特点(掉头过程中车辆的朝向角变化),基
于此构建多种类型的启发函数,再根据所构建的一项或多项启发函数的加权求和确定启发代价函数,进而根据路径搜索算法和所述启发代价函数,能够自动、实时生成准确、安全、稳定的掉头车道。
38.进一步,所述第一启发函数是采用杜宾斯dubins曲线求解函数和瑞兹希普reeds_shepp曲线求解函数,基于所述转弯半径构建的。其中,所述第一启发函数是满足运动学约束条件的,而运动学约束的估计是假设无碰撞环境下符合车辆运动学的最优路径作为代价估计,通过采用杜宾斯dubins曲线和瑞兹希普reeds_shepp曲线来生成这样的路径,并取二者中的较大值作为所述第一启发函数的函数值,从而可以实现最后生成的掉头车道符合车辆运动学且准确适配车辆转弯半径,提高掉头车道的准确性、安全性。
39.进一步,所述第二启发函数是采用路径搜索算法,基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角以及掉头可行驶区域构建的。其中,所述第二启发函数是满足避障约束条件的,在考虑障碍物碰撞约束但不考虑车辆运动学约束条件下,采用路径搜索算法搜索出的路径长度作为所述第二启发函数的函数值,从而可以实现最后生成的掉头车道能够避开障碍物,完全处于可行驶区域中,确保掉头车道的安全性、稳定性。
40.进一步,基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角构建的第三启发函数,是本发明实施例中为掉头场景引入的一种特殊的代价函数,即在不考虑转弯半径和障碍物约束条件,而是在结合掉头场景的特点、考虑终点朝向约束的基础上,使用起始点,终止点,起始点和终止点延长线的交点计算出的圆弧长度作为掉头的粗略路径,该粗略路径能在一定程度上表征对于掉头过程角度变化的评估,直观上看,沿着圆弧路径行驶,车辆的朝向角越来越接近终止朝向角,因此,这种启发函数比较符合掉头场景的特点,可以使路径的搜索速度更快并且提高搜索出的掉头路径的合理性和准确性。
41.进一步,采用混合a星算法,基于所构建的启发代价函数,确定最优化的掉头车道包括:将所述车辆的起始点作为搜索的初始节点,以及将所述车辆的终止点作为搜索的目标节点;每次搜索时,将使所述启发代价函数的代价值最小的点作为所述初始节点的最优相邻节点,并将所述最优相邻节点作为下一次搜索的初始节点,直至所述最优相邻节点与所述目标节点之间的距离小于预设阈值时结束搜索。如此,可以在每次搜索过程中确定当前节点的最优相邻节点,进而将起始点、终止点以及所确定的多个相邻节点相连,即可自动、实时确定出准确、稳定、完整的掉头车道。
42.进一步,构建所述启发代价函数时满足以下一项或多项:所述运动学约束下的第一启发函数的权重的取值范围为大于等于1.0且小于等于1.2;所述避障约束下的第二启发函数的权重的取值范围为大于等于4.0且小于等于6.0;所述终点朝向约束下的第三启发函数的权重的取值范围为大于等于10.0且小于等于15.0。在本发明实施例中,通过为三种不同的启发函数分配准确、恰当的权重值,可以提高生成的掉头车道的准确性、安全性、合理性,以及提高掉头效率。
附图说明
43.图1是本发明实施例中一种掉头车道生成方法的流程图;
44.图2是本发明实施例中一种采用dubins曲线生成的满足运动学约束的掉头路径示意图;
45.图3是本发明实施例中一种采用reeds_shepp曲线生成的满足运动学约束的掉头路径示意图;
46.图4是本发明实施例中一种采用a星算法生成的满足避障约束的掉头路径示意图;
47.图5是本发明实施例中一种不考虑转弯半径的满足终点朝向约束的掉头路径示意图;
48.图6是图1中步骤s13的一种具体实施方式流程图;
49.图7是本发明实施例中一种掉头车道生成装置的结构示意图。
具体实施方式
50.如前所述,在智能驾驶技术领域,如何为无人驾驶车辆掉头时生成掉头车道成为重要的研究课题。
51.在现有技术中,无人驾驶车辆在城市道路路口进行掉头时,通常采用两种方法:第一种是不依赖高精度语义地图,仅根据起始点位置和掉头后的终点位置,采用常规的路径搜索算法搜索出一条掉头路径,无人驾驶车辆按照这个路径生成的轨迹进行掉头;第二种是依赖高精度语义地图中加载的默认车道来进行掉头。
52.本发明的发明人经研究发现,仅根据起始点位置和终点位置,然后采用常规的路径搜索算法搜索出的掉头路径很大程度上受到周围实时环境和障碍物的影响,可能出现无法搜索出路径,搜索出的路径不够稳定安全的问题;此外,现有应用于城市道路的高精度语义地图对于掉头车道一般没有标识或者只根据一般乘用车的车型生成,因此生成的掉头车道可能无法准确适配不同大小规格或类型的车辆,因此同样可能带来稳定性和安全性问题。
53.在本发明实施例中,首先确定车辆的起始点的位置和起始朝向角、终止点的位置和终止朝向角以及确定所述车辆的转弯半径;然后构建启发代价函数,所述启发代价函数为以下一项或多项启发函数的加权求和:运动学约束下的第一启发函数,避障约束下的第二启发函数,终点朝向约束下的第三启发函数;最后基于所构建的启发代价函数,确定掉头车道。相比于现有技术仅根据起始点位置和掉头后的终点位置,采用常规的搜索算法搜索掉头路径时受到周围实时环境和障碍物的影响,无法搜索出稳定、安全的掉头路径,或者依赖高精度语义地图根据一般乘用车型生成掉头车道,由于未考虑不同车辆的转弯半径,所确定的掉头车道准确性不足(可能过长或过短),导致无人驾驶的安全性无法得到保障,本发明的实施例除考虑车辆起始点位置和终点位置之外,还综合考虑了掉头可行驶区域(避开障碍物)、车辆的转弯半径以及结合掉头场景的特点(掉头过程中车辆的朝向角变化),基于此构建多种类型的启发函数,再根据所构建的一项或多项启发函数的加权求和确定启发代价函数,进而根据路径搜索算法和所述启发代价函数,能够自动、实时生成准确、安全、稳定的掉头车道。
54.为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细说明。
55.参照图1,图1是本发明实施例中一种掉头车道生成方法的流程图。所述方法可以包括步骤s11至步骤s13:
56.步骤s11:确定车辆的起始点的位置和起始朝向角、终止点的位置和终止朝向角以
及确定所述车辆的转弯半径;
57.步骤s12:构建启发代价函数,所述启发代价函数为以下一项或多项启发函数的加权求和:运动学约束下的第一启发函数,避障约束下的第二启发函数,终点朝向约束下的第三启发函数;
58.步骤s13:基于所构建的启发代价函数,确定掉头车道。
59.在步骤s11的具体实施中,所述起始点的位置可以是车辆开始掉头前位于道路上的一个具体位置,所述终止点的位置可以是车辆掉头后且能在道路上继续安全行驶前的一个具体位置,两者都可以用二维空间坐标表示,其中,所述起始点的位置和终止点的位置可以从默认的车道线地图中获取到。所述朝向角可以用于指示车身与车道线(假设车道呈笔直状态)之间的夹角,具体地,可以通过激光传感器或图像传感器或者不同传感器联合(例如激光雷达与相机联合)的测量方式测得车辆朝向角信息,也可以采用其他方式确定车辆的朝向角信息,本发明实施例对于所述车辆的起始朝向角与终止朝向角确定方法不做限制。
60.其中,概括而言,所述起始点的位置和起始朝向角可以称为起始点信息,可以表示为start(x
start
,y
start

start
),其中x
start
用于表示起始点的横坐标,y
start
用于表示起始点的纵坐标,θ
start
用于表示起始朝向角;所述终止点的位置和终止朝向角可以称为终止点信息,可以表示为end(x
end
,y
end

end
),其中x
end
用于表示终止点的横坐标,y
end
用于表示终止点的纵坐标,θ
end
用于表示终止朝向角。
61.在具体实施中,所述车辆可以是运用无人驾驶技术的各种类型的车辆,如无人驾驶的普通乘用轿车,无人驾驶货车,无人驾驶清扫车、洒水车,无人驾驶公交车等大-中-小型车辆。可以理解的是,车型不同,车辆的转弯半径往往有所区别,例如:大型货车、公交车、清扫车等的转弯半径远大于普通的小型轿车的转弯半径,转弯半径不同意味着即使在同样的场景中,车辆所适配的掉头路径也应当不同。
62.需要指出的是,对于不同的车型而言,由于转弯半径存在区别,如果掉头车道准确性不足,将可能导致某些类型的车辆在掉头过程中发生滑倒、翻车等危险事故。因此出于安全性考虑,在生成掉头车道时有必要考虑车辆的转弯半径。
63.其中,车辆的转弯半径可以指汽车行驶过程中,由转向中心到前外转向轮与地面接触点的距离。
64.在一个非限制性的实施例中,可以采用车辆的最小转弯半径作为所述转弯半径,所述最小转弯半径可以指当转向盘转到极限位置,车辆以最低稳定车速转向行驶时,外侧转向轮的中心在支承平面上滚过的轨迹圆半径,其在很大程度上表征了汽车能够通过狭窄弯曲地带或绕过不可越过的障碍物的能力;在另一个非限制性的实施例中,可以采用车辆在若干不同情况下的转弯半径的平均值作为所述转弯半径。
65.具体而言,车辆的转弯半可以通过读取车辆的参数,获取车辆长度、宽度、轴距、最大方向盘转角等具体值,然后采用常规的计算方法得到转弯半径;也可以通过测量车辆传动比,将方向盘转角转换为车轮转角,然后根据阿克曼模型计算获得不同方向盘转角下车辆的转弯半径;还可以驾驶待测车辆在划线标记的空旷场地行驶,根据场地标记刻度通过读取车轮痕迹以测量不同方向盘转角下车辆的转弯半径;还可以采用其他方法确定车辆的转弯半径,本发明实施例对此不做限制。
66.在步骤s12的具体实施中,所述运动学约束下的第一启发函数是基于所述转弯半径构建的;所述避障约束下的第二启发函数是至少基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角构建的;所述终点朝向约束下的第三启发函数是基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角构建的。
67.进一步,所述第一启发函数是采用杜宾斯dubins曲线求解函数和瑞兹希普reeds_shepp曲线求解函数,基于所述转弯半径构建的。
68.更进一步地,采用下述公式,构建所述第一启发函数:
69.constrained_cost=max{dubins(κ,δ,sample_d),reeds_shepp(κ,δ,sample_d)};
70.其中,constrained_cost用于表示所述第一启发函数的函数值,κ用于表示,最大曲率,即1/min_r,δ用于表示最大曲率变化值,即1/min_r,min_r用于表示所述转弯半径,sample_d用于表示采样距离,dubins()用于表示杜宾斯dubins曲线求解函数,reeds_shepp()用于表示瑞兹希普reeds_shepp曲线求解函数,max{}用于表示求解最大值函数。
71.参照图2,图2是本发明实施例中一种采用dubins曲线生成的满足运动学约束的掉头路径示意图。
72.其中,最右侧小长方形阴影用于表示车辆,可以从所述车辆的车身上选取一点表示掉头的起始点a1,左侧小圆圈用于表示掉头的终止点b1,中间的长条形阴影用于表示障碍物,起始点a1与终止点b1之间的圆弧线用于表示所述采用dubins曲线生成的满足运动学约束的掉头路径。
73.其中,dubins曲线是在满足曲率约束和规定的始端和末端的切线方向的条件下,连接两个二维平面的最短路径,并假设车辆行驶的道路只能向前行进。采用dubins曲线生成满足运动学约束的掉头路径的方法需要使用的重要参数是车辆的转弯半径,具体计算方法可以是现有技术中所使用的常规方法,此处不再赘述。
74.参照图3,图3是本发明实施例中一种采用reeds_shepp曲线生成的满足运动学约束的掉头路径示意图。
75.其中,最右侧小长方形阴影用于表示车辆,从所述车辆的车身上选取一点表示掉头的起始点a2,左侧小圆圈用于表示掉头的终止点b2,中间的长条形阴影用于表示障碍物,起始点a2与终止点b2之间的几条首尾相接的弯曲线用于表示所述采用reeds_shepp曲线生成的满足运动学约束的掉头路径。
76.其中,reeds_shepp曲线也是一种考虑车辆运动学但不考虑障碍物情况下的最短路径,但reeds_shepp曲线与dubins曲线最大的区别在于,后者只允许车辆向前运动,前者则既允许车辆向前运动,也允许车辆向后运动。同样地,采用reeds_shepp曲线生成满足运动学约束的掉头路径的方法需要使用的重要参数也是车辆的转弯半径,具体计算方法可以是现有技术中所使用的常规方法,此处不再赘述。
77.在本发明实施例中,所述第一启发函数是满足运动学约束条件的,而运动学约束的估计是假设无碰撞环境下符合车辆运动学的最优路径(不考虑障碍物时的最短路径)作为代价估计,通过采用杜宾斯dubins曲线和瑞兹希普reeds_shepp曲线来生成这样的路径,并取二者中的较大值作为所述第一启发函数的函数值,从而可以实现最后生成的掉头车道符合车辆运动学且准确适配车辆转弯半径,防止车辆从错误的方向到达目标,提高掉头车
道的准确性、安全性。
78.进一步,所述第二启发函数是采用路径搜索算法,基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角以及掉头可行驶区域构建的。
79.更进一步地,所述路径搜索算法为a星算法;采用下述公式,构建所述第二启发函数:
80.astar_cost=astar(start(x
start
,y
start

start
),end(x
end
,y
end

end
),occupancy_map);
81.其中,astar_cost用于表示所述第二启发函数的函数值;astar()用于表示a星算法;start(x
start
,y
start

start
)用于表示车辆的起始点,其中包含起始点的横坐标、纵坐标和起始朝向角;end(x
end
,y
end

end
)用于表示终止点,其中包含终止点的横坐标、纵坐标和终止朝向角;occupancy_map是一个二维数组,用于表示掉头可行驶区域。
82.参照图4,图4是本发明实施例中一种采用a星算法生成的满足避障约束的掉头路径示意图。
83.其中,最右侧小长方形阴影用于表示车辆,从所述车辆的车身上选取一点表示掉头的起始点a3,左侧小圆圈用于表示掉头的终止点b3,中间的长条形阴影用于表示障碍物,起始点a3与终止点b3之间的折线用于表示所述采用a星算法生成的满足避障约束的掉头路径。
84.在本发明实施例中,所述第二启发函数是满足避障约束条件的,而避障约束的估计是考虑障碍物碰撞但不考虑车辆运动学约束下的最优路径作为代价估计,通过采用路径搜索算法(如a星算法)搜索出的路径长度作为所述第二启发函数的函数值,从而可以实现最后生成的掉头车道能够避开障碍物,完全处于可行驶区域中,从而避免障碍物碰撞产生的危险,以及防止车辆在障碍物周边或者u型障碍物中浪费时间,提高掉头的安全性和掉头效率。
85.进一步,在构建所述第二启发函数之前,所述方法还包括:根据车道线地图确定所述掉头可行驶区域。
86.更进一步地,根据车道线地图确定所述掉头可行驶区域包括:根据车道线地图加载的默认掉头车道,获取静态可行驶区域和冲突车道信息;基于所述静态可行驶区域和冲突车道信息生成所述掉头可行驶区域。
87.其中,所述车道线地图可以是应用于无人驾驶技术领域的常用智能电子地图,例如可以是高精度语义地图,所谓高精度语义地图可以精确到厘米级别,且包括了除道路信息之外的与交通相关的周围静态信息。此外,高精度语义地图中还包含有丰富的语义信息,比如交通信号灯的位置和类型、道路标示线的类型、以及哪些路面是可以行驶的。
88.进一步,所述第三启发函数是基于所述起始点的位置和起始朝向角、所述终止点的位置和终止朝向角构建的。
89.更进一步地,采用下述公式构建所述第三启发函数:
90.circle_cost=min{1
×
α
start
÷
sin(α
start
),1
×
α
end
÷
sin(α
end
)};
91.其中:
92.euclidean_distance(start(x
start
,y
start

start
),end(x
end
,y
end

end
))=1;
93.α
start
=arctan(

y/

x)-θ
start

94.α
end
=arctan(

y/

x)-θ
end

95.其中,circle_cost用于表示所述第三启发函数的函数值,min{}用于表示求解最小值函数,α
start
用于表示起始朝向角到起终点向量角的偏角,α
end
用于表示起终点向量角到终止朝向角的偏角,

x用于表示终止点的横坐标与起始点的横坐标之差,即x
end-x
start
,x
end
用于表示终止点的横坐标,x
start
用于表示起始点的横坐标,

y用于表示终止点的纵坐标和起始点的纵坐标之差,即y
end-y
start
,y
end
用于表示终止点的纵坐标,y
start
用于表示起始点的纵坐标,θ
start
用于表示起始朝向角,θ
end
用于表示终止朝向角,euclidean_distance()用于表示欧式距离,arctan()用于表示反正切函数。
96.参照图5,图5是本发明实施例中一种不考虑转弯半径的满足终点朝向约束的掉头路径示意图。
97.其中,最右侧小长方形阴影用于表示车辆,从所述车辆的车身上选取一点表示掉头的起始点a4,左侧小圆圈用于表示掉头的终止点b4,中间的长条形阴影用于表示障碍物,起始点a4与终止点b4之间的短弧线用于表示所述不考虑转弯半径的满足终点朝向约束的掉头路径。
98.在本发明实施例中,所述第三启发函数是为掉头场景引入的一种特殊的代价函数,即在不考虑转弯半径和障碍物约束条件,而是在结合掉头场景的特点、考虑终点朝向约束的基础上,使用起始点、终止点、起始点和终止点延长线的交点计算出的圆弧长度作为掉头的粗略路径。该粗略路径能在一定程度上表征对于掉头过程角度变化的评估,直观上看,沿着圆弧路径行驶,车辆的朝向角越来越接近终止朝向角,因此,这种启发函数比较符合掉头场景的特点,可以使路径的搜索速度更快并且提高搜索出的掉头路径的合理性和准确性。
99.作为一个非限制性的例子,所述启发代价函数为所述运动学约束下的第一启发函数、所述避障约束下的第二启发函数以及所述终点朝向约束下的第三启发函数的加权求和。
100.进一步,采用下述公式,构建所述启发代价函数:
101.f=constrained_cost
×
k1+astar_cost
×
k2+circle_cost
×
k3;
102.其中,f用于表示启发代价函数的代价值,constrained_cost用于表示第一启发函数,k1用于表示第一启发函数的惩罚系数,astar_cost用于表示第二启发函数,k2用于表示第二启发函数的惩罚系数,circle_cost用于表示第三启发函数,k3用于表示第三启发函数的惩罚系数。
103.进一步,构建所述启发代价函数时满足以下一项或多项:所述运动学约束下的第一启发函数的权重的取值范围为大于等于1.0且小于等于1.2;所述避障约束下的第二启发函数的权重的取值范围为大于等于4.0且小于等于6.0;所述终点朝向约束下的第三启发函数的权重的取值范围为大于等于10.0且小于等于15.0。
104.需要指出的是,在构建启发代价函数时,上述各个启发函数的权重的取值范围仅作为非限制性的实施例加以列举,不作为对各个启发函数的权重值取值范围的限制。在本发明实施例中,可以根据不同掉头场景的需要为各个启发函数设置不同的权重值,通过为各个启发函数分配准确、恰当的权重值,可以提高生成的掉头车道的准确性、安全性以及提高掉头效率。
105.继续参照图1,在步骤s13的具体实施中,基于所构建的启发代价函数,确定掉头车道。
106.参照图6,图6是图1中步骤s13的一种具体实施方式流程图。所述基于所构建的启发代价函数,确定掉头车道可以包括步骤s61至步骤s63。
107.在步骤s61中,将所述车辆的起始点作为搜索的初始节点,以及将所述车辆的终止点作为搜索的目标节点。
108.在步骤s62中,每次搜索时,将使所述启发代价函数的代价值最小的点作为所述初始节点的最优相邻节点,并将所述最优相邻节点作为下一次搜索的初始节点,直至所述最优相邻节点与所述目标节点之间的距离小于预设阈值时结束搜索。
109.其中,上述步骤s61和s62中进行节点搜索时所采用的搜索算法为混合a星算法。
110.具体地,混合a星(hybrid a-star)算法是a星算法的改进版,是一种求解最短路最有效的直接搜索方法。混合a星算法可以使用两种启发信息的组合,一种是考虑运动学约束而不考虑环境障碍物约束的启发信息(例如传统a星算法搜索到目标的路径长度),另一种是不考虑运动学约束但考虑障碍物约束的启发信息(例如dubins曲线的长度和reeds-shepp曲线的长度),混合a星算法选择两种启发信息中的最大值作为最终的启发信息。
111.可以理解的是,通过使用第一种启发信息“考虑运动学约束而不考虑环境障碍物约束”是为了保证车辆行驶方向正确,防止车辆从错误的方向到达目标;而使用第二种启发信息“不考虑运动学约束但考虑障碍物约束”是为了防止在障碍物周边例如断头路或者u型障碍物中浪费时间。
112.其中,所述启发信息可以是一种给搜索算法提供指引的信息,从而让算法优先搜索有可能产生解的区域,因为搜索的范围越多,则计算量越大效率也越低,所以启发信息提供的指导越准确,最终算法的效率就越高。需要指出的是,启发信息在搜索算法中是可以被替换的模块,在具体实施中,可以根据不同需要删减启发信息或者设置其他适合的启发信息。
113.作为非限制性的实施例,还可以根据具体场景的需要采用其他常用的能够实现路径搜索功能的算法,例如,迪杰斯特拉算法、a星算法。
114.其中,迪杰斯特拉(dijkstra)算法是一种经典的最短路径搜索算法,迪杰斯特拉最朴素的思想就是按长度递增的次序产生最短路径,即每次对所有可见点的路径长度进行排序后,选择一条最短的路径,这条路径就是对应顶点到源点的最短路径,所谓可见点就是从源点开始按广度优先算法遍历顶点的过程中所搜索到的点。a星(a-star)算法与迪杰斯特拉(dijkstra)算法的运算过程十分相似,它也类似于生长一颗树,从起点开始不断向外探索,直到找到目标点停止生长,但迪杰斯特拉算法仅能生长最外面的所有节点,a星算法能判断哪些节点离目标更近,并优先生长更近的节点,所以a星算法比迪杰斯特拉算法运算速度快,效率较高。
115.在步骤s63中,基于所述起始点、所述终止点以及搜索结束时刻所得到的多个节点,生成所述掉头车道。
116.在本发明实施例中,通过采用上述方案可以在每次搜索过程中确定当前节点的最优相邻节点,进而将起始点、终止点以及所确定的多个相邻节点相连,即可自动、实时确定出准确、稳定、完整的掉头车道。
117.在具体实施中,有关步骤s61至步骤s63的更多详细内容请参照前文以及图1中的步骤描述进行执行,此处不再赘述。
118.参照图7,图7是本发明实施例中一种掉头车道生成装置的结构示意图。所述装置可以包括:
119.车型参数确定模块71,用于确定车辆的起始点的位置和起始朝向角、终止点的位置和终止朝向角以及确定所述车辆的转弯半径;
120.启发代价函数构建模块72,用于构建启发代价函数,所述启发代价函数为以下一项或多项启发函数的加权求和:运动学约束下的第一启发函数,避障约束下的第二启发函数,终点朝向约束下的第三启发函数;
121.掉头车道生成模块73,用于基于所构建的启发代价函数,确定掉头车道。
122.关于该掉头车道生成装置的原理、具体实现和有益效果请参照前文及图1至图6示出的关于掉头车道生成方法的相关描述,此处不再赘述。
123.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机程序被处理器运行时执行上述掉头车道生成方法的步骤。所述计算机可读存储介质可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
124.具体地,在本发明实施例中,所述处理器可以为中央处理单元(central processing unit,简称cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
125.还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称ram)可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称dr ram)。
126.本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述掉头车道生成方法的步骤。所述终端可以包括但不限于手机、计算机、平板电脑等终端设备,还可以为服务器、云平台等。
127.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存
在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
128.本技术实施例中出现的“多个”是指两个或两个以上。
129.本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。
130.需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
131.虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1