- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用于机器人路径规划的A―star算法研究.doc
应用于机器人路径规划的A―star算法研究
[摘 要]移动机器人自主寻路技术是当前科技发展的热点领域,本文针对传统的A-star算法搜索出的路径不易于机器人的运动控制、搜索速度慢提出了一种改进的路径规划方法。该方法在栅格化环境地图中进行路径搜索,对传统的算法的搜索策略和启发函数进行了优化。实验仿真结果表明了新方法的有效性。
[关键词]机器人;路径规划;A-star算法
中图分类号:TP242 文献标识码:A 文章编号:1009-914X(2016)20-0218-01
1 引言
科学技术日新月异,移动机器人的应用范围越来越广。路径规划是移动机器人实现自主导航的关键技术之一[1-5]。按照移动机器人对环境的认知程度,可以将路径规划分为基于先验信息的全局路径规划和基于传感器信息的局部路径规划。A-star算法是全局路径规划的经典算法之一;然而,传统A-star算法在搜索过程中也存在自身的缺陷,如搜索出的路径不易于机器人运动控制、搜索速度慢等。本文针对复杂环境下A-star算法的缺陷进行了启发函数和搜索策略的改进。
2 A-star算法概述
A-star算法作为一种启发式搜索算法的优势就在于从当前搜索节点搜索下一步节点时,由一个启发函数来引导选择代价最小的节点作为下一步搜索节点。这样减少了搜索空间,提高了效率。A-star算法中代价函数如下:
1.1
上式1.1中,表示从起始点经过节点n到达目标点的最低代价的估计值,它由两部分组成:一部分为,是从起始点到当前点的实际代价值;表示从当前点到目标点的估计代价值,称为启发函数。
A-star算法的应用关键在与启发函数和Open、Close列表的设置,好的启发函数可以加快搜索速度,合理的Open、Close列表设置能节省存储空间。Open列表用于存放未被检测过的位置点,Close列表用于存放已被检测完毕的位置点。
3 改进的搜索策略
首先, A-star算法的搜索核心是启发函数,启发函数使其避免了盲目性搜索的繁杂性。传统的A-star算法所使用的启发函数是经典的Manhattan距离或欧几里得距离。
分析A-star算法的搜索过程可知,当启发函数(是最终真实路径的距离)时,此时搜索范围较大,运行效率低下,搜索时间长;当启发函数时,算法的搜索过程将按照最理想的路径点一步步往下搜索,但是现在情况不能满足该种情况的要求;当时,搜索范围较小,运行效率较高,搜索时间较短,但是搜索出的路径不是最短的所以,为了得到较高的运行效率和最优的路径,我们应当选取启发函数的值接近于。因为A-star算法在进行下一步搜索时,只能搜索与其当前位置相临接的位置点,并不是任意、盲目地选取下一点。如图1所示,根据以上分析,本文结合Manhattan距离和欧式距离设置的启发函数如下式。
当时,代价函数改写为
当时,代价函数改写为
上式1.4中,和分别表示机器人当前节点与目标节点之间横坐标和纵坐标的差值,。
其次,在栅格环境中运用传统A-star算法进行路径搜索时,得出的结果会出现经过障碍物顶尖的情况,这在实际情况中是不允许的。分析算法在选取下一点的搜索原理可知,出现该情况的原因是在栅格环境中往左上、左下、右上、右下方向进行搜索时搜索的限制条件没有将与机器人当前位置相邻区域的环境情况考虑在内。本文对搜索过程做如下改进:
①机器人当前位置为,进行下一步的搜索,如果下一步位置为则执行②;如果下一步位置为则执行③;如果下一步位置为则执行④;如果下一步位置为则执行⑤;否则执行⑥;
②判断与机器人的相邻的、是否都为可行区域,若是则执行⑥,否则说明该路径是不安全的,需要重新搜索,执行⑦;
③判断与机器人的相邻的、是否都为可行区域,若是则执行⑥,否则说明该路径是不安全的,需要重新搜索,执行⑦;
④判断与机器人的相邻的、是否都为可行区域,若是则执行⑥,否则说明该路径是不安全的,需要重新搜索,执行⑦;
⑤判断与机器人的相邻的、是否都为可行区域,若是则执行⑥,否则说明该路径是不安全的,需要重新搜索,执行⑦;
⑥计算此点的、、值。
⑦更新搜索节点。
4 实验仿真与结论
基于以上优化方法,本文在MATLAB2014b中进行了仿真,假设移动机器人的运动环境已知,为栅格化环境模型。图2为改进后的A-star算法仿真得出的路径规划结果,黑色为障碍物,白色为可行区域,其他颜色表示比较危险的可行区域。
与的传统A-star算法相比较,改进后的A-star算法搜索时间减少了0.04s,搜索的节点数减少了4.9%,路径的关键节点数减少了50%,并且路径没有过障碍物顶尖的现象,改进后的A-star算法
文档评论(0)