Professional Documents
Culture Documents
发明公布 202211510638.0 一种AGV路径规划方法
发明公布 202211510638.0 一种AGV路径规划方法
(12)发明专利申请
(10)申请公布号 CN 115793648 A
(43)申请公布日 2023.03.14
(21)申请号 202211510638 .0
(71)申请人 无锡学院
地址 214105 江苏省无锡市锡山区锡山大
道333号
(74)专利代理机构 广州粤高专利商标代理有限
公司 44102
专利代理师 彭晓勤
(51)Int .Cl .
G05D 1/02 (2020 .01)
(54)发明名称
一种AGV路径规划方法
(57)摘要
本发明公开了一种AGV路径规划方法, 包括:
设置AGV的起点和目标点; 在人工势场法原有斥
力势场函数中添加关于目标点到当前点的影响
函数, 得到改进斥力势场函数; 根据障碍物对AGV
的斥力和目标点对AGV的引力计算AGV所受到的
合力, AGV跟随合力方向进行路径搜索; 路径搜索
后到达下一位置点, 判断AGV是否到达目标点;若
没有到达目标点, 则判断AGV是否陷入局部最小
值; 若AGV陷入局部最小值则引入模拟退火法到
达下一位置点, 迭代直到AGV走出局部最小值处;
若AGV到达目标点, 则保留路径。 改善人工势场法
所规划路径存在目标不可达、局部最小值的缺
陷, 提高AGV路径规划效率。
CN 115793648 A
CN 115793648 A 权 利 要 求 书 1/3 页
xg、yg为目标点的位置坐标,
xc、yc为当前点的位置坐标。
3 .根据权利要求2所述一种AGV路径规划方法, 其特征在于,
步骤2中所述改进斥力势场
函数表示为:
式中,
Frep (X)为斥力函数, 表示梯度,
其中,
Frep1方向是AGV指向目标点的方向,
Frep2方向是障碍物指向AGV的方向。
5 .根据权利要求4所述一种AGV路径规划方法, 其特征在于,步骤3中配置人工势场法的
2
CN 115793648 A 权 利 要 求 书 2/3 页
ρ(Xc ,Xg)为当前点到目标点的欧式距离。
6 .根据权利要求5所述一种AGV路径规划方法, 其特征在于, 步骤4根据障碍物对AGV的
斥力和目标点对AGV的引力计算AGV所受到的合力具体为, AGV在未知环境中的合势场为障
碍物的斥力势场与目标点的引力势场之和; AGV在导航过程中同时受多个障碍物作用, AGV
所受的合势场U表示为:
式中, n为二维运动空间中的障碍物总数,
Uatt (X)为目标点的引力势场,
Urep (X)为障碍
物的斥力势场, 作为斥力势场函数;
AGV受到的合力F表示为:
3
CN 115793648 A 权 利 要 求 书 3/3 页
E(Xn+1)为AGV在n+1时刻的内能、
E(Xn)为AGV在n时刻的内能,
T为当前时刻温度。
4
CN 115793648 A 说 明 书 1/8 页
一种AGV路径规划方法
技术领域
[0001] 本发明涉及AGV技术领域,
特别是涉及一种AGV路径规划方法。
背景技术
[0002] AGV作为智慧工厂中的重要货物运输工具, 目前已被广泛应用。AGV的使用大大提
升了工厂的自动化水平, 提高了工厂的生产效率。在AGV领域蓬勃发展的今天, AGV在地图信
息已知的静态环境下的路径规划的发展已经日趋成熟, 同时在复杂环境下AGV的路径规划
和自主避障也在迅速发展, AGV处在一个环境信息和障碍物信息未知的情况下, 如何设计路
径规划和避障等算法是AGV领域中的关键研究问题。对于路径规划, 众多学者提出Floyd算
法、Dijkstra算法、A*算法、
蚁群算法、D*算法、D*Lite算法、 RRT算法等人工势场法。但是这
些人工势场法存在不足, 比如: 人工势场法中AGV容易陷入局部最小值, 局部最小值即AGV在
路径规划过中, 目标点对AGV的引力与障碍物对AGV的斥力大小相等, 方向相反,即车辆受力
平衡, 无法继续向目标点移动。 同时人工势场法中还存在着AGV目标不可达的问题, 即当障
碍物出现在目标位置附近时, 因障碍物产生的斥力较大, AGV不能顺利到达目标点。
[0003] 因此, 如何设计AGV的路径规划和避障算法改善人工势场法在路径规划中出现的
局部最小值和目标不可达问题是本领域人员需要解决的技术问题。
发明内容
[0004] 本发明提供一种AGV路径规划方法, 改善人工势场法所规划路径存在目标不可达、
局部最小值的缺陷, 提高AGV路径规划效率。
[0005] 为实现上述效果, 本发明的技术方案如下:
[0006] 一种AGV路径规划方法, 包括以下步骤:
[0007] 步骤1: 对AGV所在环境建立栅格地图和障碍物, 设置AGV的起点和目标点;
[0008] 步骤2: 针对目标不可达问题, 在人工势场法原有斥力势场函数中添加关于目标点
到当前点的影响函数, 得到改进斥力势场函数;
[0009] 步骤3: 根据改进斥力势场函数设置斥力函数; 配置人工势场法的引力势场函数,
根据引力势场函数设置引力函数;
[0010] 根据斥力函数和引力函数分别计算障碍物对AGV的斥力和目标点对AGV的引力;
[0011] 步骤4: 根据障碍物对AGV的斥力和目标点对AGV的引力计算AGV所受到的合力, AGV
跟随合力方向进行路径搜索;
[0012] 步骤5: 路径搜索后到达下一位置点,判断AGV是否到达目标点; 若没有到达目标
点, 则判断AGV是否陷入局部最小值, 若AGV没有陷入局部最小值则回到步骤S4;
[0013] 若AGV陷入局部最小值则引入模拟退火法到达下一位置点, 迭代直到AGV走出局部
最小值处;
[0014] 若AGV到达目标点, 则保留路径, AGV路径规划结束。
[0015] 上述方案中, AGV使用激光扫描仪传感器对障碍物进行距离测量。
5
CN 115793648 A 说 明 书 2/8 页
[0016]
进一步的, 1‑e‑(R/0 .4) ,
步骤2中影响函数为, 影响函数中0 .4表示AGV的半径,
R表示
目标点到当前点的欧式距离;欧式距离表达式为:
[0017]
[0018] xg、
yg为目标点的位置坐标,xc、
yc为当前点的位置坐标。
[0019] 进一步的, 步骤2中所述改进斥力势场函数表示为:
[0020]
[0023]
[0025]
[0026]
6
CN 115793648 A 说 明 书 3/8 页
[0038]
[0039] 式中, Fatt (X)为目标点对AGV的引力, Frep (X)为障碍物对AGV的斥力, n为二维运动
空间中的障碍物总数。
[0040] 进一步的, 步骤4中AGV跟随合力方向进行路径搜索具体为, 将AGV看作一个点, 该
点在由目标点对AGV的引力场与障碍物对AGV造成的斥力场叠加而成的虚拟场中移动, AGV
移动的方向为合力的方向。
[0041] 进一步的, 步骤5中若AGV陷入局部最小值则引入模拟退火法到达下一位置点具体
为,
[0042] 步骤5 .1, 初始化AGV及所处环境信息, AGV利用人工势场法算路;
[0043] 步骤5 .2, 判断AGV是否处于局部最小值, 若AGV陷入局部最小值, 则给予AGV子目标
点;
[0044] 步骤5 .3, 判断给予的子目标点是否为障碍物点, 如果是障碍物点则会重新生成子
目标点, 计算当前点与子目标点的合势场;
[0045] 步骤5 .4, 判断当前点合势场是否大于下一点合势场, 若当前点合势场大于下一点
合势场, 则AGV运动到这一子目标点(下一位置点) , 若当前点合势场不大于下一点合势场,
则利用Mertopolis准则重新生成子目标点, 返回步骤5 .3;
[0046] 步骤5 .5, 当AGV运动到下一位置点时, 计算AGV当前点到局部最小值处的欧式距离
并计算局部最小值处到子目标点的欧式距离;
[0047] 步骤5 .6, 判断AGV是否走出局部最小值处, 若当前点到局部最小值处的欧式距离
不小于局部最小值处到子目标点的欧式距离, 则返回步骤5 .2中给予AGV子目标点; 若当前
点到局部最小值处的欧式距离小于局部最小值处到子目标点的欧式距离, 则返回步骤5 .1。
[0048] 步骤5 .7, 若AGV没有陷入局部最小值, 则将下一位置点纳入可通行点, 并判断下一
位置点是否是目标点, 若不是目标点, 则返回步骤5 .1; 若是目标点, 则AGV到达目标点, 保留
路径, AGV路径规划结束。
[0049] 进一步的, 所述子目标点的计算公式为:
[0050] Nextpoint(1)=currentPoint(1)+3*stepSize*cos(angleNextstep),
[0051] Nextpoint(2)=currentPoint(2)+3*stepSize*sin(angleNextstep),
[0052] 式中 , Nextpoint(1)为子目标点的X坐标 , Nextpoint(2)为子目标点的y坐标 ,
currentPoint(1)为当前点的x坐标, currentPoint(2)为当前点的y坐标, stepSize为步长,
angleNextstep为合力与x轴的夹角。
[0053] stepSize步长为0 .1m,
[0054] 进一步的, Metropolis抽样准则表示为:
[0055]
[0056] E(Xn+1)为AGV在n+1时刻的内能、
E(Xn)为AGV在n时刻的内能,T为当前时刻温度。
[0057] 针对AGV在行驶过程中出现的局部最优问题, 本发明采用模拟退火法结合人工势
场法来解决, 利用模拟退火法中随机生成子目标点的方法, 去打破AGV的平衡状态,
从而摆
7
CN 115793648 A 说 明 书 4/8 页
脱局部最小值问题;
[0058] 当利用人工势场法进行寻路过程中, AGV在某个点出现局部最小值情况时, 即当前
点合势场等于下一位置点的合势场并且当前点到下一位置点的欧式距离小于AGV的移动步
长0 .1m。
[0059] 与现有技术相比, 本发明技术方案的有益效果是:
[0060] 针对目标不可达问题, 本发明对人工势场法改进, 通过在现有人工势场法中的斥
力势场函数增加影响函数, 从而解决目标不可达的问题; 其次针对局部最小值,提出人工势
场法与模拟退火法相结合的算法, 利用模拟退火法中的增设子目标点, 打破平衡状态, 从而
走出障碍物。
[0061] 解决了AGV利用人工势场法进行路径规划时运算复杂的问题; 解决了AGV利用人工
势场法进行路径规划时容易陷入环境局部极小值以及目标不可达的问题; 可驱动AGV有效
避开障碍物位置, 且快速到达目标位置。
附图说明
[0062] 附图仅用于示例性说明,不能理解为对本发明的限制; 为了更好说明本实施例,
附
图某些部件会有省略、放大或缩小, 并不代表实际产品的尺寸; 对于本领域技术人员来说,
附图中某些公知结构及其说明可能省略是可以理解的。
[0063] 图1为本发明实施例提供的目标不可达示意图;
[0064] 图2是本发明实施例提供的局部最小值示意图;
[0065] 图3是本发明实施例提供的影响函数仿真示意图;
[0066] 图4是本发明实施例提供的改进斥力势场函数受力分析示意图;
[0067] 图5是本发明实施例提供的解决局部最小值流程图;
[0068] 图6是本发明实施例提供的本发明改进人工势场法流程图示意图;
[0069] 图7是本发明实施例提供的10个障碍物地图时现有其他人工势场法路径示意图;
[0070] 图8是本发明实施例提供的10个障碍物地图时本发明改进人工势场法路径示意
图;
[0071] 图9是本发明实施例提供的20个障碍物地图时现有其他人工势场法路径示意图;
[0072] 图10是本发明实施例提供的20个障碍物地图时本发明改进人工势场法路径示意
图。
具体实施方式
[0073] 为使本发明实施例的目的、 技术方案和优点更加清楚,下面将结合本发明实施例
中的附图, 对本发明实施例中的技术方案进行清楚、完整的描述, 显然,所描述的实施例是
本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例, 本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例, 都是本发明保护的范围。
[0074] 如图1, 目标不可达问题为:当目标点周围存在障碍物时, 由于斥力势场函数像“高
峰”一样, 导致AGV在靠近目标点时,它所受的引力变小,没有足够大的力去牵引着它到达目
标点, 就会出现AGV在目标点附近停止。
[0075] 如图2, 局部最小值问题:AGV在行驶过程中,
在它的路线上可能会存在某几个位
8
CN 115793648 A 说 明 书 5/8 页
置, 导致AGV处于停滞状态, 是AGV所受到的斥力合力与引力达到平衡所导致。
[0076] 实施例1
[0077] 为了便于理解, 请参阅图6, 本发明提供的一种AGV路径规划方法的一个实施例, 包
括以下步骤:
[0078] 步骤1: 对AGV所在环境建立栅格地图和障碍物, 设置AGV的起点和目标点;
[0079] 步骤2: 在人工势场法原有斥力势场函数中添加关于目标点到当前点的影响函数,
得到改进斥力势场函数;
[0080] 步骤3: 根据改进斥力势场函数设置斥力函数; 配置人工势场法的引力势场函数,
根据引力势场函数设置引力函数;
[0081] 根据斥力函数和引力函数分别计算障碍物对AGV的斥力和目标点对AGV的引力;
[0082] 步骤4: 根据障碍物对AGV的斥力和目标点对AGV的引力计算AGV所受到的合力, AGV
跟随合力方向进行路径搜索;
[0083] 步骤5: 路径搜索后到达下一位置点,判断AGV是否到达目标点; 若没有到达目标
点, 则判断AGV是否陷入局部最小值, 若AGV没有陷入局部最小值则回到步骤S4;
[0084] 若AGV陷入局部最小值则引入模拟退火法到达下一位置点, 迭代直到AGV走出局部
最小值处;
[0085] 若AGV到达目标点, 则保留路径, AGV路径规划结束。
[0086] 需要说明的是, 引入模拟退火法后, 配置模拟退火法相关参数, 模拟退火法相关参
数为: 随机概率: 0 .99;
最大迭代次数: 1000; 模拟退火法初始值: 100;
模拟退火法终止值:
0 .1。
[0087] 图3是影响函数的matlab图, 障碍物影响范围2米。
[0088] 需要说明的是, 栅格地图每一格的边长为1m, 在栅格地图中黑色圆处为障碍物, 障
碍物半径为0 .3米, 斥力影响范围是2米, AGV步长0 .1m;
[0089] 具体的, 步骤2中影响函数为, 1‑e‑(R/0 .4) ,
影响函数中0 .4表示AGV的半径, R表示目
标点到当前点的欧式距离; 欧式距离表达式为:
[0090]
[0091] xg、
yg为目标点的位置坐标,xc、
yc为当前点的位置坐标。
[0092] 具体的, 步骤2中所述改进斥力势场函数Urep (X)表示为:
[0093]
[0096]
[0097] 式中,
Frep (X)为斥力函数, 表示梯度,
其中,
9
CN 115793648 A 说 明 书 6/8 页
[0098]
[0099]
[0100] Frep1方向是AGV指向目标点的方向,Frep2方向是障碍物指向AGV的方向。
[0101] 具体的, 步骤3中配置人工势场法的引力势场函数具体为, 在二维运动空间中, AGV
不仅会受到空间中障碍物所给的斥力, 还会受到AGV所要到达的目标点发出的引力; 在势场
中AGV受到目标点的引力是随着AGV与目标点的距离变化而产生变化, 当AGV与目标点越近,
其所受到的引力越小, 当AGV与目标点越远,
其所受到的引力则越大; 人工势场法的引力势
场函数表达式为:
[0102]
[0110]
[0111] 式中, Fatt (X)为目标点对AGV的引力,Frep (X)为障碍物对AGV的斥力,n为二维运动
空间中的障碍物总数。
[0112] 具体的, 步骤4中AGV跟随合力方向进行路径搜索具体为, 将AGV看作一个点, 该点
在由目标点对AGV的引力场与障碍物对AGV造成的斥力场叠加而成的虚拟场中移动, AGV移
动的方向为合力的方向。
[0113] 具体的, 如图5所示, 步骤5中若AGV陷入局部最小值则引入模拟退火法到达下一位
置点具体为,
[0114] 步骤5 .1, 初始化AGV及所处环境信息, AGV利用人工势场法算路;
[0115] 步骤5 .2, 判断AGV是否处于局部最小值, 若AGV陷入局部最小值, 则给予AGV子目标
点;
[0116] 步骤5 .3, 判断给予的子目标点是否为障碍物点, 如果是障碍物点则会重新生成子
目标点, 计算当前点与子目标点的合势场;
[0117] 步骤5 .4, 判断当前点合势场是否大于下一点合势场, 若当前点合势场大于下一点
合势场, 则AGV运动到这一子目标点(下一位置点) , 若当前点合势场不大于下一点合势场,
10
CN 115793648 A 说 明 书 7/8 页
[0125]
[0126] E(Xn+1)为AGV在n+1时刻的内能、
E(Xn)为AGV在n时刻的内能,
T为当前时刻温度。
[0127] 人工势场法中斥力势场函数的系数Krep=22, 引力势场函数的系数为Katt=30;
[0128] 在人工势场法中的斥力势场函数表达式为:
[0129]
[0130] 实施例3
[0131] 具体地, 在实施例1的基础上, 结合具体的实施例子对方案进行说明, 进一步体现
本方案的技术效果。 具体为:
[0132] 本发明改进人工势场法与其他现有其他人工势场法效果对比:
[0133] 选取现有其他人工势场法与本发明改进人工势场法进行在10个、 20个障碍物的地
图中进行仿真, 以(1 ,1)点作为出发点,
以(9 ,10)点作为终点; 在图7、
图9现有其他人工势场
法中, 可以看出AGV在行驶过程中在障碍物附近出现震荡, 还触碰到该障碍物; AGV在行驶过
程中从两个障碍物之间穿插过去, 并且在障碍物附近出现震荡, 触碰到障碍物, 增加了危险
系数。
[0134] 在图8、图10本发明改进人工势场法中, AGV在行驶过程中较好地避开了障碍物, 在
11
CN 115793648 A 说 明 书 8/8 页
障碍物前方没有发生震荡, AGV行驶路径相对平滑,
并且行驶轨迹与障碍物还有一定安全距
离。
[0135] 表1 10个障碍物地图算法对比
[0136]
[0137] 表2 20个障碍物地图算法对比
[0138]
[0139]
12
CN 115793648 A 说 明 书 附 图 1/5 页
图1
图2
13
CN 115793648 A 说 明 书 附 图 2/5 页
图3
图4
14
CN 115793648 A 说 明 书 附 图 3/5 页
图5
图6
15
CN 115793648 A 说 明 书 附 图 4/5 页
图7
图8
16
CN 115793648 A 说 明 书 附 图 5/5 页
图9
图10
17