路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码
文章目录
- 路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码
- 1.算法原理
- 1.1 环境设定
- 1.2 约束条件
- 1.3 适应度函数
- 2.算法结果
- 代码
- 4.参考文献
摘要:本文主要介绍利用智能优化算法灰狼算法来进行路径规划。
1.算法原理
灰狼算法具体原理请参照:/u011835903/article/details/107716390
1.1 环境设定
实际应用中,每只狼都是问题的一个解。在移动机器人的路径优化中,每只狼代表机器人的一条运动路径。灰狼算法会通过优化计算在众多路径中找出一条最优路径。
狼的设定必须和机器人运动环境模型相对应。不失一般性,假设在用栅格法对机器人运动环境建模后得出的结果是 m×n 的矩形区域,坐标值从 1 开始,如图1 。其中坐标原点栅格代表机器人的初始位置,坐标 (m,n)对应的栅格代表机器人的移动目标位置。狼设定的一个重要内容是确定狼的数学表达形式,在这里这个问题转化为用一个向量表示机器人的移动路径。经过分析发现,尽管栅格法建立的模型对空间进行了离散化,但本质上机器人的移动路径依然是连续的。 为了便于分析并且不失合理性,本文在对机器人路径优化时,规定机器人的移动路径不能出现迂回情况,即机器人在从初始位置向目标位置移动时,其纵向和横向移动方向只能指向目标位置,不能与之相反。假设当前机器人的栅格坐标是(x1, y1) ,下一时刻机器人的栅格坐标是(x2, y2) ,那么必须满足x2 大于x1 或者y2 大于y1 。
考虑到机器人运动的连续性,每条机器人运动路径都必须通过每一栅格行的至少一个栅格位置,因此,本文采用每一纵坐标对应栅格行上的路径中的横坐标最小值作为狼的向量元素,用以表示机器人运动的路径特征,如图1中 (r1,r2,…,r16) 所示。每只狼为n 维向量,狼i表示为 X i = ( x 1 , x 2 , . . . , x n ) X_i = (x_1,x_2,...,x_n) Xi=(x1,x2,...,xn)。
1.2 约束条件
对于机器人的路径优化来说,其运动路径必须局限在栅格空间内,即狼的搜索不能越过栅格的矩形边界。此外,狼的运动还应受障碍物的限制,即机器人的运动轨迹不能穿过存在障碍物的栅格区域。
1.3 适应度函数
在本文的建模方法中,( y l i + 1 − y l i y_{l_{i+1}} - y_{l_{i}} yli+1−yli)是一个常数,它可以表示为 d = ( y l i + 1 − y l i ) d =(y_{l_{i+1}} - y_{l_{i}}) d=(yli+1−yli)本文中d = 1。然后由序列 ( x l 1 , . . . , x l n ) (xl_1,...,xl_n) (xl1,...,xln)确定路径。规划的路径要求节点 ph i 不在障碍物上,并且相邻节点之间的连线上没有障碍物。
本文路径规划目标是路径长度最短。根据上文建模方
法,路径的长度可以表示为:
L
(
P
a
t
h
)
=
∑
i
=
0
n
−
1
(
x
l
i
+
1
−
x
l
i
)
2
+
(
y
l
i
+
1
−
y
l
i
)
2
(1)
L(Path) = \sum_{i=0}^{n-1}\sqrt{(xl_{i+1} - xl_i)^2 + (yl_{i+1} - yl_{i})^2}\tag{1}
L(Path)=i=0∑n−1(xli+1−xli)2+(yli+1−yli)2(1)
利用灰狼算法对上式进行寻优,找到最短路径。灰狼算法参数设定如下:
[r,c] = size(MAP);
%% 灰狼算法参数设置
pop=15; % 种群数量
Max_iteration=500; % 最大迭代次数
dim = r; %搜索维度,定义为地图行数
lb = 1; %变量下边界
ub = c; %变量上边界
fobj = @(x)fun(MAP,x);
2.算法结果
代码
个人资料介绍
4.参考文献
[1]罗阳阳,彭晓燕.基于改进PSO的四轮移动机器人全局路径规划[J].计算机仿真,2020,37(07):373-379.
[2]鲁丹. 粒子群算法在移动机器人路径规划中的应用研究[D].武汉科技大学,2009.