更全的杂志信息网

拓展搜索邻域的平滑A*算法机器人路径规划

更新时间:2016-07-05

路径规划已经成为当前机器人控制领域研究的热点之一,它是指在一个障碍物环境下按照一定评判准则搜寻一条从起始点到目标点的最优或次优安全无碰撞路径[1-3]。目前主要的路径规划方法有遗传算法[4]、蚁群算法[5]、人工势场法[6]、Dijkstra算法[7]。但是这些算法都存在一些缺陷。其中,遗传算法编码长度变化范围大,收敛性较差;蚁群算法搜索速度慢,且易陷入局部最优;人工势场法易陷入局部极小值,且在障碍物附近易发生振荡;Dijkstra算法直接搜索全局而不考虑目标点信息,搜寻时间长。

A*算法作为一种经典启发式搜索算法在20世纪60年代被提出,它具备最优性、完备性和高效性[8],在路径规划邻域备受关注,利用A*算法可以得到较好路径规划效果。但是由于A*算法的计算特点,规划出的路径点一般存在折线多、累计转折角度大、易舍弃部分点而生成次优解等问题[9]。文献[10]提出利用微分改进A*算法,有效降低转折次数,但是涉及大量计算。文献[11]提出建立平滑A*模型,路径点一定程度上得到平滑。文献[12]提出以每个栅格边线作为路径点,使路径点不局限于栅格中心点,提高了A*算法规划结果的平滑性。

本文在基于栅格法构建机器人路径规划环境模型基础上,在传统的A*算法上增加目标点方向扩展邻域并对规划结果进行二次平滑处理。利用改进后的A*算法规划的路径不仅简化了路径点数,路径长度也有效降低。

1 问题描述

1.1 环境搭建

移动机器人路径规划主要是解决环境建模和路径搜索策略[13]。移动机器人环境建模有栅格法、拓扑图、几何空间法等。其中,栅格法易创建和维护,本文采用栅格法建模[14-15]。假设机器人在固定区域内移动,栅格法将该区域纵横方向分别划分为大小相等的栅格。移动机器人可以看作是二维平面中点状移动物,将障碍物映射成二维平面中不可通行的区域。在范围内分布任意有限障碍物,障碍物的位置不确定,障碍物形状分布不确定,为了简化研究,当障碍物小于一个栅格时,将障碍物补全为一个栅格,其区域禁止通行。设机器人步长为1,构建栅格环境。

为了全面落实最严格水资源管理制度要求,张家港市修订了水资源ISO 9001质量管理体系文件,建立了水资源节约、保护、管理和监测的全方位、全过程标准化管理模式,实现了“定岗定责、程序规范、过程受控、考核评价、持续改进”的目标。此外,本市出台了《张家港市区(镇)水利站水资源管理考评细则》等文件,明确了9个镇级水利站水资源管理工作职能、工作流程、工作标准、计量台账和考核要求,统一市镇两级水资源管理工作标准。

1.2 A*算法

A*算法结合Dijkstra算法和BFS算法信息块,采用估价函数来估计任意点到目标点的代价,其估价函数定义为

f(X)=g(X)+h(X)

(1)

其中,f(x)是节点X的总启发式代价;g(x)是起始点S到当前点X的实际路径长度;h(x)是当前点X到目标点T的估计代价。g(x)的计算如下

(2)

其中,li是节点l-1到节点l之间的实际路径长度。

传统A*算法在栅格地图上进行路径规划,每个节点为栅格中心点,从当前点的8个方向上拓展,运动方向也是π/4的整数倍,如图1所示。

(3)

其中,xt表示目标点的横坐标;yt表示目标点的纵坐标;xx表示当前点的横坐标;yx表示当前点的纵坐标。

6.两种类型的星光宝石并存。有的蓝宝石经过适度加工琢磨成为六射星光蓝宝石。虽然昌乐不是星光蓝宝石的唯一产地,但在一座矿中同时产出铜皮星光和蓝星光两种星光宝石,这在世界上是绝无仅有的。

2 改进A*算法

传统的A*算法存在冗余点多、转折点多等问题,本文提出改进的A*算法,在传统的A*算法中引入目标点方向搜索邻域,并对得到的路径点进行二次平滑处理。

2.1 可搜索邻域

h(x)的取值对算法效率有关键作用。在实际环境中,可以选取两点之间的欧几里得距离作为估计代价,如下

图1 A*算法搜索邻域

这样求出的路径可能不是最优,且转折点较多,为解决这个问题,引入角度计算模块,每个节点邻域除了上述8个,再加入当前节点与目标点角度方向步长为1的拓展节点;如果当前节点与目标点距离<1时,将目标点方向拓展节点为目标点。计算当前节点X轴方向与目标点方向夹角

语义表达的是数据或者符号所表示的概念,包括相互之间关系的刻画,是数据或符号本质上的抽象表达。对于地图符号而言,容易理解,比如十字符号,大家很容易就想到了医院,但是对于地名这种很难符号化、数字化,只具有文本描述性的内容,其语义是很难提取,并用计算机语言表达的。地名语义的研究,当前这部分工作主要还是由语言研究学者完成,分词技术在其中应用较多,很多学者都是借助于本体构建工具进行本体的创建,而往往忽视了地名语义的研究。

angle_att=arcsin(del_Yi/ri)

(4)

其中,angle_att为当前节点与目标点连线与X轴方向的夹角;del_Yi为当前点与目标点Y轴的差值;ri为当前点与目标点之间的距离。加入目标点方向搜索邻域后,改进A*算法搜索邻域为图2所示。

图2 改进后A*算法搜索邻域

上述方法规划出的路径依然存在冗余转折点,为获得更好路径,避免不必要的转折,对求得的路径进行二次平滑处理。从当前点开始,依次连接之后节点,检测这些点连线的状态。判断是否与障碍物有交点,舍弃中间节点,进行两次平滑处理。具体平滑处理过程如下:

2.2 二次平滑处理

改进后的A*算法路径点不再局限于栅格中点,且角度不再限制为π/4的整数倍,在寻径过程中,连接当前节点与拓展节点,判断连线与障碍物边线是否有交点,如果不与障碍物相交,将拓展节点加入open list。

第1步 将上述改进A*算法处理后的路径点取出,从起点开始依次分析。将起点设为PCurrent;PCurrent下一节点设为PNext;PNext下一节点设为PDNext;

森图斯自2002年以来一直从能源部租借K-1600,开展先进铀浓缩离心机的试验和示范工作。与此同时,该公司在其同样位于橡树岭的技术和制造中心(TMC)开展离心机的制造、工程和设计工作。

第2步 执行Check(PCurrent,PDNext,barrier list)方法获得返回值,如果为0继续执行,否则跳转至第4步;

A*算法在寻径过程中总是搜寻具有最小总启发代价的点作为当前节点。再开始运行时首先要创建两张表:open list和close list。其中,open list用来保存已经生成但是未使用的节点,close list用来保存障碍物和已经使用的节点。搜寻过程中,先从open list找出总启发代价最小的点设为当前节点,将其放入close list,并对它进行扩展,将扩展后的节点更新到open list,再从open list选取总启发代价最小的点设为当前节点,重复过程,直到找到目标点。

第3步 PNext赋值给PCurrent,PDNext赋值给PNext,PDNext下一节点赋值给PDNext,跳转至第5步;

第1步 初始化参数,创建open list和close list,将障碍物加入close list;

第4步 路径点中删除PNext节点,将PDNext赋值给PNext,PDNext下一节点赋值给PDNext;

第5步 若PDNext为目标点继续执行,否则跳转至第2步;

王敬凯知道,在警察毫不放松、步步紧逼的情况下,犯罪分子多半会采取避重就轻的态度逃避自己的罪行。他相信,李桂明会顺着他给搭的梯子往下走的,因此他不再说话,只是装作有所期待的样子看着李桂明。

改进的A*算法首先通过拓展邻域A*算法进行路径规划,再对结果进行二次平滑处理,具体流程图如图4所示。

其中,函数Check(PCurrent,PDNext,barrier list)是检测PCurrent和PDNext连线与障碍物边线是否相交,如果不相交返回1,否则返回0。barrier list为障碍物列表。

太极虎对身后六个灰衣人示意。天问大师道:“贫僧为贵会代劳,也正好了结本门与他昔年的一段恩怨。”只手拿云十余年前独闯少林,少林想挽回颜面曾多次派达摩堂弟子下山。但由于只手拿云不知何故息隐未能如愿。太极虎欣慰地道“:大师放手施为!”

根据上述步骤,对图3中的实线路径进行平滑处理。到C点时,由于CE连线与障碍物相交所以将D设为PCurrent;处理后删除EF节点,得到虚线路径。但是虚线路径中CG连线与障碍物不相交,存在冗余转折点D。对虚线路径再次进行平滑处理,二次平滑处理后得到点线路径,有效消除冗余节点。

图3 路径对比

2.3 算法流程

第6步 输出平滑后的路径。

在二层接入交换机Access端口上启用PortFast特性,一方面可以使其端口立即进入转发状态,最大限度的减少等待STP的收敛时间.另一方面可以使端口在发生UP或DOWN状态变化时,不会产生TCN BPDU消息.这一点对于大型网络来说,可以有效避免因大规模PC机开关机,造成大量TCN BPDU消息交换现象的发生.

第2步 起点设为当前节点;

该滑坡的地下水可分为第四系松散岩类孔隙水和基岩裂隙水。前者赋存于滑坡体的碎块石夹粉质粘土中,主要接受大气降水的补给,受季节变化影响明显;后者赋存于三叠系中统巴东组泥质粉砂岩裂隙中,主要接受侧向径流补给和上部孔隙水入渗及降水补给。总体而言,在三峡水库运行条件下,滑坡地下水渗流场受库水位波动影响明显,为研究该滑坡的稳定性演化特征,在滑坡体表面布置若干监测设备,其中GPS监测点2个,同时在滑坡体外布置GPS基准点2个,该滑坡的工程地质主剖面图见图1。

第3步 当前节点不是目标点,继续执行,否则跳转至第8步;

第4步 求出当前节点8个基础拓展节点和目标点方向拓展节点加入open list;

第5步 如果open list不为空,继续执行,否则标记没有路径,跳转至第8步;

优势互补、互利共赢为双方企业的发展带来了繁忙与机遇。在到场来宾共同见证下,奥特奇与来自中国各地的经销商签订战略合作协议,共同开启赛土丰全面营销的新时代。

第6步 取出open list中总启发代价最小值点设为当前节点,并将当前节点从open list移动到close list,记录其父节点;

设脉压雷达回波信号为s(t),信号分段后的各分段长度为等长τ,各分段上的相位调制值分别为φ1,φ2,φ3,…,φp,相位调制过程中,相位调制值为φ1的信号分段数为n1,所有信号分段起止时刻分别为t1si和t1ei,其余信号分段的起止时刻同理可得。

第7步 根据父节点递推得到路径点,并对其二次平滑处理;

第8步 输出结果:规划后的路径或没有路径。

图4 算法流程图

3 实验研究

为了验证加入目标点方向邻域再二次平滑处理的A*算法优越性,在Matlab 2014上对不同环境下移动机器人路径规划进行仿真,并给出相应结果。将改进后A*算法规划的路径分别与平滑A*算法、多步长蚁群算法规划的路径对比。图5和图6为在10×10相同环境下文献[11]中平滑A*算法与本文改进A*算法求得路径图;图7和图8是在文献[16]相同障碍物环境下多步长蚁群算法与本文改进后A*算法给出对应环境下的路径规划结果。

图5 平滑A*算法

图6 改进后A*算法

图7 多步长蚁群算法

图8 改进后A*算法

在表1和表2中分别给出平滑A*算法、多步长蚁群算法同改进后的A*算法在路径长度、转折次数以及转折角度方面的仿真结果。

1 平滑A*算法与改进后A*算法参数对比

算法路径长度累计转折次数累计转折角度/(°)平滑A∗12 67005213 6903改进后A∗12 16764171 8816

2 多步长蚁群算法与改进后A*算法参数对比

算法路径长度累计转折次数累计转折角度/(°)多步长蚁群30 77938396 8649改进后A∗28 35188326 8724

与平滑A*算法相比,改进后的A*算法路径长度减少3.965%,累计转折次数减少20%,累计转折角度减少19.565%。与多步长蚁群算法相比,改进后的A*算法路径长度降低7.887%,累计转折次数相同,累计转折角度降低17.636%。其中,多步长蚁群算法在栅格中(10.5,6.5)点之后路径规划选择了向下规划的次优路径,增加了路径长度,从而减小了转折次数,累计转折次数与本文改进后A*算法相同。由实验结果可见,改进后的A*算法规划出的路径性能参数优于平滑A*算法、多步长蚁群算法。

4 结束语

传统A*算法规划出的路径不能很好满足实际需求,为获得较优路径,拓展目标点方向搜索邻域,将对障碍物的判断改为连接当前点与拓展节点,判断连线与障碍物边线是否有交点,最后对求得的路径点进行二次平滑处理。通过仿真实验,结果表明,在不同的栅格环境下,本文改进后的A*算法有效降低移动机器人路径规划的路径长度、转折次数、转折角度,能够较好地满足复杂环境下移动机器人路径规划要求。

参考文献

[1] 王殿君. 基于改进A~*算法的室内移动机器人路径规划[J]. 清华大学学报:自然科学版, 2012(8):1085-1089.

[2] Zhu Q, Hu J, Cai W, et al. A new robot navigation algorithm for dynamic unknown environments based on dynamic path re-computation and an improved scout ant algorithm [J]. Applied Soft Computing, 2011, 11(8):4667-4676.

[3] 张晨,游晓明. 基于栅格模型机器人路径规划的量子蚁群算法[J]. 电子科技,2016, 29(7):1-3.

[4] Quan-Min B U, Wang Z J, Tong X. An improved genetic algorithm for searching for pollution sources[J]. Water Science and Engineering,2013, 6(4):392-401.

[5] Mohamad M M, Dunnigan M W, Taylor N K. Ant colony robot motion planning[C]. Belgrade:The International Conference on Computer as A Tool,IEEE, 2006.

[6] Sheng J, He G, Guo W, et al. An improved artificial potential field algorithm for virtual human path planning[C].Changchun:Digital Techniques and Systems, International Conference on E-Learning and Games, Edutainment,2010.

[7] 张福浩,刘纪平,李青元.基于Dijkstra算法的一种最短路径优化算法[J].遥感信息, 2004(2):38-41.

[8] 李冲,张安,毕文豪.单边矩形扩展A*算法[J]. 机器人, 2017, 39(1):46-56.

[9] 秦玉鑫,王红旗,杜翠杰. 基于双层A*算法的移动机器人路径规划[J].制造业自动化, 2014(24):21-25.

[10] Trovato, Karen I Dorst. Differential A* [J]. IEEE Transactions on Knowledge & Data Engineering,2002,14(6):1218-1229.

[11] 王红卫,马勇,谢勇,等.基于平滑A~*算法的移动机器人路径规划[J]. 同济大学学报:自然科学版,2010,38(11):1647-1650.

[12] 辛煜,梁华为,杜明博,等.一种可搜索无限个邻域的改进A*算法[J].机器人,2014, 36(5):627-633.

[13] 张浩,孙新柱.增强D* Lite在自主移动机器人安全路径规划中应用[J].河北建筑科技学院学报:自然科学版, 2014, 31(2):89-92.

[14] 杨杰,贺利乐,李荣丽,等.基于改进势场栅格法的移动机器人路径规划[J].煤矿机械, 2012,33(8):80-82.

[15] 秦玉鑫,张高峰,王裕清.针对复杂环境的模块化栅格地图构建算法[J].控制工程,2016, 23(10):1627-1633.

[16] 曾明如,徐小勇,罗浩,等.多步长蚁群算法的机器人路径规划研究[J].小型微型计算机系统,2016, 37(2):366-369.

任玉洁,付丽霞,张勇,毛剑琳
《电子科技》 2018年第05期
《电子科技》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号