CN109443364A - 基于a*算法的路径规划方法 - Google Patents

基于a*算法的路径规划方法 Download PDF

Info

Publication number
CN109443364A
CN109443364A CN201811347348.2A CN201811347348A CN109443364A CN 109443364 A CN109443364 A CN 109443364A CN 201811347348 A CN201811347348 A CN 201811347348A CN 109443364 A CN109443364 A CN 109443364A
Authority
CN
China
Prior art keywords
node
barrier
cost
algorithm
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811347348.2A
Other languages
English (en)
Inventor
张霁明
周俊
吴明
孙斌
林超
张莺
卢恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Power Supply Co of State Grid Zhejiang Electric Power Co Ltd
Original Assignee
Ningbo Power Supply Co of State Grid Zhejiang Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo Power Supply Co of State Grid Zhejiang Electric Power Co Ltd filed Critical Ningbo Power Supply Co of State Grid Zhejiang Electric Power Co Ltd
Priority to CN201811347348.2A priority Critical patent/CN109443364A/zh
Publication of CN109443364A publication Critical patent/CN109443364A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明涉及智能机器人领域,尤其涉及基于A*算法的路径规划方法,该方法包括以下步骤:S1:根据节点与障碍物的距离,并结合移动单元的安全半径,建立安全代价函数;S2:根据安全代价函数,建立启发式函数;S3:根据启发式函数通过A*算法进行路径规划。通过使用本发明,可以实现以下效果:通过改进A*算法的启发式函数,在其中加入了安全代价估计,使得规划出的路径远离障碍物,保证了机器人在行驶过程中的安全性;利用直线替代法对路径进行平滑处理,使路径变得连续、平滑,减少了路径的折弯次数。

Description

基于A*算法的路径规划方法
技术领域
本发明涉及智能机器人领域,尤其涉及基于A*算法的路径规划方法。
背景技术
随着巡检面积的不断增大和巡检环境的日益复杂,传统的人工巡检方式面临着劳动强度大、管理成本高且工作效率低等问题。为了部分取代或完全取代人工日常巡检的任务,研发出来巡检机器人进行日常巡检。
在智能机器人领域,路径规划是一个重要的研究方向,其只要目的是在存在障碍物的环境中,找到一条起点到目标点的最优或次优的无碰撞路径。目前常用的路径规划算法有:基于图搜索的Dijkstra、A*、D*等;基于随机采样的PRM、RRT等;基于启发式的遗传算法、蚁群算法等。对于栅格地图,图搜索是最简便、快速的路径规划方法。Dijkstra是图搜索方法的鼻祖,保证能找到一条全局最优解,但其遍历了整个地图的所有栅格,特别在大地图下,计算量很大。A*在Dijkstra基础上引入了启发式搜索解决了上述问题,在保证了最优解的前提下大大提高了搜索的效率,因其简单且易于实现而盛行至今。
A*算法基于Dijkstra基础上加入了启发函数,是一种启发式算法,同时也是已知静态地图下求解最短路径的最有效的方法。但是传统的A*算法在遍历节点的过程中,无论节点距离障碍物多远,机器人通过它的代价估计是相等的。然而这会使得A*算法规划出的路径有可能会接近障碍物,存在着安全隐患。
发明内容
为解决上述问题,本发明提出基于A*算法的路径规划方法。
基于A*算法的路径规划方法,包括以下步骤:
S1:根据节点与障碍物的距离,并结合移动单元的安全半径,建立安全代价函数;
S2:根据安全代价函数,建立启发式函数;
S3:根据启发式函数通过A*算法进行路径规划。
优选的,所述根据节点与障碍物的距离,并结合移动单元的安全半径,建立安全代价函数包括:
建立安全代价函数:
其中,si表示第i个节点的安全代价,di表示第i个节点与障碍物的最小距离,r表示移动单元的安全半径,k表示节点安全代价的变化系数。
优选的,根据安全代价函数,建立启发式函数包括以下步骤:
S201:先根据安全代价函数计算起点到当前节点n的实际代价g(n):
其中:li表示移动单元在i个节点时实际的里程代价;si表示安全代价;w1和w2表示权值系数,w1+w2=1;
S202:计算从当前节点n到终点的估计代价:
其中,x表示当前节点n的横坐标;y表示当前节点n的纵坐标;
S203:根据实际代价g(n)和估计代价启发式函数h(n)建立启发式函数:
进一步的,该方法还包括以下步骤:
S4:利用直线替代法对路径进行平滑处理。
优选的,所述利用直线替代法对路径进行平滑处理包括以下步骤:
S401:检查当前节点n与下一节点n+1之间是否有障碍物;
S402:如果没有,则检查当前节点n与再下一个节点n+2之间是否有障碍物,直到检查到障碍物或历遍所有节点;
S403:若果检查到障碍物,则将当前节点n和最后节点的上一个节点n+k连接起来;如果历遍所有节点都没检查到障碍物,则将当前节点n和最后节点p之间连接起来;
S404:用线性插值取代上述已连接的两个节点之间的不规则的点;
S405:以节点n+k+1作为当前节点重复步骤S401-S404,直到路径中所有的节点遍历结束算法收敛。
优选的,所述线性插值的计算公式为:
其中:(x0,y0)和(x1,y1)分别为连接的两个节点的坐标,(x,y)为所得的插值点坐标。
通过使用本发明,可以实现以下效果:
通过改进A*算法的启发式函数,在其中加入了安全代价估计,使得规划出的路径远离障碍物,保证了机器人在行驶过程中的安全性;利用直线替代法对路径进行平滑处理,使路径变得连续、平滑,减少了路径的折弯次数。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明实施例的整体流程示意图;
图2是本发明实施例的障碍物判断的流程示意图;
图3是本发明实施例的建立启发式函数的流程示意图;
图4是本发明实施例的A*算法路径规划的流程示意图;
图5是本发明实施例的安全代价计算的流程示意图;
图6是本发明实施例的未平滑处理的路径图;
图7是本发明实施例的平滑处理后的路径图。
具体实施方式
以下结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
传统的A*算法在遍历节点的过程中,无论节点距离障碍物多远,移动单元通过它的代价估计是相等的。这使得A*算法规划出的路径有可能会接近障碍物,存在着安全隐患。本发明实施例提出一种基于A*算法的路径规划方法,改进A*算法的启发式函数,在其中加入了安全代价估计,使得规划出的路径远离障碍物,保证了机器人在行驶过程中的安全性;利用直线替代法对路径进行平滑处理,使路径变得连续、平滑,减少了路径的折弯次数。
如图1所示,该方法具体包括以下步骤:
S1:根据节点与障碍物的距离,并结合移动单元的安全半径,建立安全代价函数。
建立安全代价函数:
其中,si表示第i个节点的安全代价,di表示第i个节点与障碍物的最小距离,r表示移动单元的安全半径,k表示节点安全代价的变化系数。
其中,如图2所示,障碍物的判断算法为:
S101:连接当前节点与下一节点;
S102:将下一节点赋给当前节点;
S103:连接当前节点与下一节点;
S104:判断线段是否经过障碍物。
为了保证规划的路径与障碍物之间保持一定的安全距离,在节点遍历过程中根据节点与障碍物的距离来融入一个节点的安全代价,并结合移动单元的安全半径,当节点与障碍物的距离小于该安全半径时,应该增大代价值。根据安全代价函数可知,障碍物离移动单元越近,则安全代价越大。当障碍物离移动单元的距离超过设定的安全半径,则安全代价为零。这里安全半径一般为移动单元的半径。
S2:根据安全代价函数,建立启发式函数。如图3所示,具体包括以下步骤:
S201:先根据安全代价函数计算起点到当前节点n的实际代价g(n):
其中:li表示移动单元在i个节点时实际的里程代价;si表示安全代价;w1和w2表示权值系数,w1+w2=1;
S202:计算从当前节点n到终点的估计代价:
其中,x表示当前节点n的横坐标;y表示当前节点n的纵坐标;
S203:根据实际代价g(n)和估计代价启发式函数h(n)建立启发式函数:
S3:根据启发式函数通过A*算法进行路径规划。具体步骤如图4所示:
S301:首先创建Open List列表,Open List列表用于存储需要遍历的节点,一开始初始化时Open List为空,在指定初始节点n后,将n节点放入Open List列表;
S302:查看与n节点相邻的8个节点示,如果没有访问过且可达到(即没有障碍物),那么将其放入Open List列表中,同时设n为父节点;
S303:创建一个Close List列表,将n节点放入Close List列表,选取上一次搜索中启发式函数f(n)最小的节点m,将其更新为父节点;
S304:将节点m从Open List列表中取出,放入Close List列表。遍历相邻的所有节点,如该节点不在Open List列表,将其放入Open List列表;
S305:如果某个节点已经在Open List列表中,则检查这条路径的实际代价g(n)是否更小,如果是,则将该节点的父节点设为当前节点,然后重新计算节点的实际代价g(n)和启发式函数f(n)值;如果没有,则不更新;
结合附图5,实际代价g(n)中安全代价的计算过程为:
S3051:初始化安全代价矩阵D和移动单元的安全半径r;
S3052:确定待计算的n个节点,并判断该节点直线连接的路径中是否有障碍物,若无障碍物,则这n个节点的安全代价为0,并存入安全代价矩阵D;若有障碍物,则进行步骤S3053;
S3053:计算第i个节点与障碍物的最小距离di
S3054:通过步骤二中的安全代价函数计算安全代价,并将计算得到的安全代价入安全代价矩阵D。
S306:重复上述步骤S301-S305,直到目标点在Open List列表中,表明遍历结束,所有父节点反向回溯就是最优路径。
S4:利用直线替代法对路径进行平滑处理。具体包括以下步骤:
S401:检查当前节点n与下一节点n+1之间是否有障碍物;
S402:如果没有,则检查当前节点n与再下一个节点n+2之间是否有障碍物,直到检查到障碍物或历遍所有节点;
S403:若果检查到障碍物,则将当前节点n和最后节点的上一个节点n+k连接起来;如果历遍所有节点都没检查到障碍物,则将当前节点n和最后节点p之间连接起来;
S404:用线性插值取代上述已连接的两个节点之间的不规则的点;
S405:以节点n+k+1作为当前节点重复步骤S401-S404,直到路径中所有的节点遍历结束算法收敛。
其中,线性插值的计算公式为所述线性插值的计算公式为:
其中:(x0,y0)和(x1,y1)分别为连接的两个节点的坐标,(x,y)为所得的插值点坐标。
图6是本发明实施例的未平滑处理的路径图,图7是本发明实施例的平滑处理后的路径图。其中,A是未平滑处理的路径,B是平滑处理后的路径。由图6可知,在引入安全代价后,使得路径远离了障碍物,但是依然存在折弯多、不平滑、离散等问题,移动单元无法直接跟踪该路径。根据图7,可以看出该路径是连续光滑的,移动单元可以直接跟踪该路径。
本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (6)

1.基于A*算法的路径规划方法,其特征在于,包括以下步骤:
S1:根据节点与障碍物的距离,并结合移动单元的安全半径,建立安全代价函数;
S2:根据安全代价函数,建立启发式函数;
S3:根据启发式函数通过A*算法进行路径规划。
2.根据权利要求1所述的基于A*算法的路径规划方法,其特征在于,所述根据节点与障碍物的距离,并结合移动单元的安全半径,建立安全代价函数包括:
建立安全代价函数:
其中,si表示第i个节点的安全代价,di表示第i个节点与障碍物的最小距离,r表示移动单元的安全半径,k表示节点安全代价的变化系数。
3.根据权利要求2所述的基于A*算法的路径规划方法,其特征在于,根据安全代价函数,建立启发式函数包括以下步骤:
S201:先根据安全代价函数计算起点到当前节点n的实际代价g(n):
其中:li表示移动单元在i个节点时实际的里程代价;si表示安全代价;w1和w2表示权值系数,w1+w2=1;
S202:计算从当前节点n到终点的估计代价:
其中,x表示当前节点n的横坐标;y表示当前节点n的纵坐标;
S203:根据实际代价g(n)和估计代价启发式函数h(n)建立启发式函数:
4.根据权利要求1-3任一项所述的基于A*算法的路径规划方法,其特征在于,该方法还包括以下步骤:
S4:利用直线替代法对路径进行平滑处理。
5.根据权利要求4所述的基于A*算法的路径规划方法,其特征在于,所述利用直线替代法对路径进行平滑处理包括以下步骤:
S401:检查当前节点n与下一节点n+1之间是否有障碍物;
S402:如果没有,则检查当前节点n与再下一个节点n+2之间是否有障碍物,直到检查到障碍物或历遍所有节点;
S403:若果检查到障碍物,则将当前节点n和最后节点的上一个节点n+k连接起来;如果历遍所有节点都没检查到障碍物,则将当前节点n和最后节点p之间连接起来;
S404:用线性插值取代上述已连接的两个节点之间的不规则的点;
S405:以节点n+k+1作为当前节点重复步骤S401-S404,直到路径中所有的节点遍历结束算法收敛。
6.根据权利要求5所述的基于A*算法的路径规划方法,其特征在于,所述线性插值的计算公式为:
其中:(x0,y0)和(x1,y1)分别为连接的两个节点的坐标,(x,y)为所得的插值点坐标。
CN201811347348.2A 2018-11-13 2018-11-13 基于a*算法的路径规划方法 Pending CN109443364A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811347348.2A CN109443364A (zh) 2018-11-13 2018-11-13 基于a*算法的路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811347348.2A CN109443364A (zh) 2018-11-13 2018-11-13 基于a*算法的路径规划方法

Publications (1)

Publication Number Publication Date
CN109443364A true CN109443364A (zh) 2019-03-08

Family

ID=65551459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811347348.2A Pending CN109443364A (zh) 2018-11-13 2018-11-13 基于a*算法的路径规划方法

Country Status (1)

Country Link
CN (1) CN109443364A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110031007A (zh) * 2019-03-22 2019-07-19 深圳先进技术研究院 一种航迹规划方法、装置及计算机可读存储介质
CN110045732A (zh) * 2019-03-28 2019-07-23 暨南大学 一种启发式路径规划方法
CN110207706A (zh) * 2019-05-30 2019-09-06 浙江圣奥家具制造有限公司 一种基于栅格地图的自动归位椅路径规划算法
CN110231824A (zh) * 2019-06-19 2019-09-13 东北林业大学 基于直线偏离度方法的智能体路径规划方法
CN110361009A (zh) * 2019-07-12 2019-10-22 深圳市银星智能科技股份有限公司 一种路径规划方法、路径规划***以及移动机器人
CN112099498A (zh) * 2020-09-08 2020-12-18 合肥学院 基于参数化Thiele连分式插值的路径规划方法及***
CN112161631A (zh) * 2020-12-01 2021-01-01 湖北第二师范学院 一种基于大型卫星栅格地图的安全路径规划方法
CN112197778A (zh) * 2020-09-08 2021-01-08 南京理工大学 基于改进a*算法的轮式机场巡界机器人路径规划方法
CN112284393A (zh) * 2020-10-23 2021-01-29 苏州大学 一种智能移动机器人全局路径规划方法和***
CN112327856A (zh) * 2020-11-13 2021-02-05 云南电网有限责任公司保山供电局 一种基于改进A-star算法的机器人路径规划方法
CN113137972A (zh) * 2020-01-16 2021-07-20 北京京东乾石科技有限公司 路径规划的方法和装置
CN113405557A (zh) * 2021-08-18 2021-09-17 科大讯飞(苏州)科技有限公司 路径规划方法及相关装置、电子设备、存储介质
CN113792109A (zh) * 2021-11-18 2021-12-14 上海景吾智能科技有限公司 路径规划方法、路径规划***、机器人及存储介质
CN114234968A (zh) * 2021-12-17 2022-03-25 江西洪都航空工业集团有限责任公司 一种基于a星算法的移动机器人自主导航方法
CN114510045A (zh) * 2022-01-27 2022-05-17 北京信息科技大学 一种基于安全圈的机器人全局路径规划a*改进方法
CN116822774A (zh) * 2023-08-31 2023-09-29 中国电子科技集团公司第十五研究所 一种基于改进Dijkstra算法的路径规划方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
张红梅等: "基于改进A*算法的移动机器人安全路径规划", 《计算机仿真》 *
张豫南等: "基于平滑A*算法的6×6轮式车最优路径规划" *
王红卫等: "基于平滑A*算法的移动机器人路径规划" *
王红君等: "基于平滑蚁群算法的机器人路径规划" *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110031007A (zh) * 2019-03-22 2019-07-19 深圳先进技术研究院 一种航迹规划方法、装置及计算机可读存储介质
CN110045732A (zh) * 2019-03-28 2019-07-23 暨南大学 一种启发式路径规划方法
CN110045732B (zh) * 2019-03-28 2022-06-07 暨南大学 一种启发式路径规划方法
CN110207706A (zh) * 2019-05-30 2019-09-06 浙江圣奥家具制造有限公司 一种基于栅格地图的自动归位椅路径规划算法
CN110231824A (zh) * 2019-06-19 2019-09-13 东北林业大学 基于直线偏离度方法的智能体路径规划方法
CN110231824B (zh) * 2019-06-19 2021-09-17 东北林业大学 基于直线偏离度方法的智能体路径规划方法
CN110361009A (zh) * 2019-07-12 2019-10-22 深圳市银星智能科技股份有限公司 一种路径规划方法、路径规划***以及移动机器人
CN110361009B (zh) * 2019-07-12 2020-09-22 深圳市银星智能科技股份有限公司 一种路径规划方法、路径规划***以及移动机器人
CN113137972A (zh) * 2020-01-16 2021-07-20 北京京东乾石科技有限公司 路径规划的方法和装置
CN113137972B (zh) * 2020-01-16 2024-05-17 北京京东乾石科技有限公司 路径规划的方法和装置
CN112099498A (zh) * 2020-09-08 2020-12-18 合肥学院 基于参数化Thiele连分式插值的路径规划方法及***
CN112197778A (zh) * 2020-09-08 2021-01-08 南京理工大学 基于改进a*算法的轮式机场巡界机器人路径规划方法
CN112284393A (zh) * 2020-10-23 2021-01-29 苏州大学 一种智能移动机器人全局路径规划方法和***
WO2022083292A1 (zh) * 2020-10-23 2022-04-28 苏州大学 一种智能移动机器人全局路径规划方法和***
CN112327856A (zh) * 2020-11-13 2021-02-05 云南电网有限责任公司保山供电局 一种基于改进A-star算法的机器人路径规划方法
CN112327856B (zh) * 2020-11-13 2022-12-06 云南电网有限责任公司保山供电局 一种基于改进A-star算法的机器人路径规划方法
CN112161631A (zh) * 2020-12-01 2021-01-01 湖北第二师范学院 一种基于大型卫星栅格地图的安全路径规划方法
CN113405557A (zh) * 2021-08-18 2021-09-17 科大讯飞(苏州)科技有限公司 路径规划方法及相关装置、电子设备、存储介质
CN113792109A (zh) * 2021-11-18 2021-12-14 上海景吾智能科技有限公司 路径规划方法、路径规划***、机器人及存储介质
CN114234968B (zh) * 2021-12-17 2023-12-05 江西洪都航空工业集团有限责任公司 一种基于a星算法的移动机器人自主导航方法
CN114234968A (zh) * 2021-12-17 2022-03-25 江西洪都航空工业集团有限责任公司 一种基于a星算法的移动机器人自主导航方法
CN114510045A (zh) * 2022-01-27 2022-05-17 北京信息科技大学 一种基于安全圈的机器人全局路径规划a*改进方法
CN114510045B (zh) * 2022-01-27 2024-06-25 北京信息科技大学 一种基于安全圈的机器人全局路径规划a*改进方法
CN116822774A (zh) * 2023-08-31 2023-09-29 中国电子科技集团公司第十五研究所 一种基于改进Dijkstra算法的路径规划方法

Similar Documents

Publication Publication Date Title
CN109443364A (zh) 基于a*算法的路径规划方法
CN110207706A (zh) 一种基于栅格地图的自动归位椅路径规划算法
CN112327856B (zh) 一种基于改进A-star算法的机器人路径规划方法
CN109764886A (zh) 一种路径规划方法
JP4481235B2 (ja) ゾーン別発生・集中交通量とod交通量の高精度推定方法
CN109540136A (zh) 一种多无人艇协同路径规划方法
Lei et al. Algorithm for mobile crane walking path planning in congested industrial plants
CN107943053A (zh) 一种移动机器人的路径规划方法
Deng et al. Multi-obstacle path planning and optimization for mobile robot
CN105527964A (zh) 一种机器人路径规划方法
CN107357295B (zh) 一种基于栅格地图的路径搜索方法和芯片及机器人
CN109460564B (zh) 一种电网潮流图布线方法
CN107272673A (zh) 基于位姿链模型的slam后端轨迹优化方法
CN110319836A (zh) 一种以能量损失最低为目标的路径规划控制方法及装置
CN108827311A (zh) 一种制造车间无人搬运***路径规划方法
CN110260865A (zh) 一种特高压变电站运检路线规划方法
Yang An efficient Spline-based RRT path planner for non-holonomic robots in cluttered environments
CN106060896A (zh) 基于最小树形图的无人机编队通信拓扑的获取方法及***
CN109211242A (zh) 一种融合rrt与蚁群算法的三维空间多目标路径规划方法
CN115167398A (zh) 一种基于改进a星算法的无人船路径规划方法
CN106958643A (zh) 齿轮轮齿接触性能分析方法
CN114859909A (zh) 一种针对叉车式agv的路径规划方法及装置
CN113721622A (zh) 一种机器人路径规划方法
Huang et al. Optimal nonblocking directed control of discrete event systems
CN103714262B (zh) 一种基于缓冲块时序设计的热工软测量模型更新方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308