欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021109652091
申请人: 哈尔滨理工大学
专利类型:发明专利
专利状态:已下证
专利领域: 控制;调节
更新日期:2024-11-22
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于边界查找的双向跳点搜索无人车路径规划方法,其特征在于,包括以下步骤:

S1、使用膨胀法对障碍物进行处理,采用栅格法划分搜索区域;

S2、将正向搜索和反向搜索的起始节点分别放入OpenList1和OpenList2中;

S3、正向搜索;

S4、反向搜索;

S5、从正向和反向进行跳点交替迭代搜索;

S6、搜索成功并保存正反方向搜索的路径节点即跳点坐标数据;

S7、采用微分平坦方法对生成的路径节点作曲线拟合;

所述的S3中,正向搜索,具体包括以下子步骤:S31、正向扩展子节点,判断当前节点是否为反向搜索的当前节点,若是则跳转到S6,否则继续执行以下步骤;

S32、依据剪枝规则去掉冗余的对称节点,确定强制邻节点和跳点:无人车在栅格地图上扩展子节点分为直线方向和对角线方向,对于直线方向,裁剪掉所有符合以下条件的节点n:

len(<p(a),…,n>\a)≤len(<p(a),a,n>)其中:len(<p(a),…,n>\a)表示从p(a)节点不经过a节点到达n节点的最短路径,len(<p(a),a,n>)表示从p(a)节点经过a节点到达n节点的最短路径,a表示a节点,n表示n节点,p(a)表示节点a的父节点;

对于对角线方向,裁剪掉所有符合以下条件的节点n:len(<p(a),…,n>\a)<len(<p(a),a,n>)对于强制邻节点,根据以下规则进行筛选:len(<p(a),a,n>)<len(<p(a),…,n>\a)S33、利用边界查找优化水平和垂直方向节点搜索和跳点识别,且将跳点添加到OpenList1中;

边界查找:

从正向搜索和反向搜索两个方面记录障碍边界的位置,障碍物由其边界的位置来定义,通过对网格进行预处理并记录这些边界的位置,边界查找不会在垂直或水平方向上迭代每个相邻单元格,相反,它会查找这些方向上是否存在边界或障碍物,并立即评估当前节点是否为跳点,并通过直接查找来减少在算法中搜索跳点所涉及的大量迭代,当在水平方向上的边界比其上方和下方所在行的重新打开位置更远时,会识别左、右两边的跳点,垂直方向的工作原理相同,只是检查相邻列而不是行,东西方向使用水平边界查找表,南北方向使用垂直边界查找表;

跳点识别规则可表示为:b=a+kd,从a节点出发,通过在d方向移动k步到达b节点,其中拥有最小k的节点b称为a的跳点,且满足如下条件之一:(1)节点b为目标节点;

(2)节点b含有至少一个强制邻节点;

(3)若d为对角线移动,存在c=b+kidi,其中ki∈N,c是b的跳点,则b也是a的跳点;

S34、采用改进的正向启发式估价函数计算OpenList1中代价最小的跳点;

正向启发式估价函数为:

f(n)=gi(n)+hi(n)+cross×0.001其中:f(n)表示正向搜索从起始节点到当前节点到目标节点的代价函数,gi(n)表示起始节点到当前节点的累计实际代价,hi(n)表示当前节点到目标节点的估计代价,cross表示原起始节点指向原目标节点的向量与当前节点指向原目标节点向量的内积,向量下标s表示起始节点,c表示当前节点,e表示目标节点,且采用欧式距离作距离表达;

S35、将代价最小的跳点添加到CloseList1中;

所述的S4中,反向搜索,具体包括以下子步骤:S41、反向扩展子节点,判断当前节点是否为正向搜索的当前节点,若是则跳转到S6,否则继续执行以下步骤;

S42、依据剪枝规则去掉冗余的对称节点,规则与正向搜索相同,确定强制邻节点和跳点;

S43、利用边界查找优化节点搜索和跳点识别,边界查找优化原理和跳点识别规则与正向搜索相同,且将跳点添加到OpenList2中;

S44、采用改进的反向启发式估价函数计算OpenList2中代价最小的跳点;

反向启发式估价函数为:

f′(n)=gj(n)+hj(n)+cross×0.001其中:f′(n)表示反向搜索从起始节点到当前节点到目标节点的代价函数,gj(n)表示起始节点到当前节点的累计实际代价,hj(n)表示当前节点到目标节点的估计代价,且采用欧式距离作距离表达;

S45、将代价最小的跳点添加到CloseList2中;

所述的S5中,从正向和反向进行跳点交替迭代搜索的具体过程如下:Bs表示正向搜索的起始节点,Bg表示反向搜索的起始节点,首先进行正向搜索,以Bs为正向搜索的起始节点,Bg为正向搜索的目标节点进行子节点扩展搜索,直到搜索到代价最小的跳点B1;切换为反向搜索,以Bg为反向搜索的起始节点,B1为反向搜索的目标节点进行搜索,直到搜索到代价最小跳点Bn;切换为正向搜索,以Bs为正向搜索的起始节点,Bn为正向搜索的目标节点进行搜索,以此进行交替迭代搜索,直到正向和反向搜索的当前节点重合,则说明已经发现了一条完整路径;

算法交替迭代方法如下所示:

其中:Bs(xs,ys)表示原起始节点Bs的横纵坐标,Bg(xg,yg)表示原目标节点Bg的横纵坐标,B1(x1,y1)表示正向搜索代价最小的跳点B1的横纵坐标,Bn(xn,yn)表示反向搜索代价最小的跳点Bn的横纵坐标。