前言
粒子群算法是一种群智能优化算法,该算法具有原理简单、易实现、 控制参数较少等优点,下面根据Yarpiz公司的matlab代码就其在路径规划中的应用进行简单的介绍,以供读者更好的理解粒子群优化算法的实际应用。
代码结构
01 pso函数
02 CreateModel函数
03 MyCost函数
04 ParseSolution函数
05 CreateRandomSolution函数
06 PlotSolution函数
CreateModel函数
该函数的功能是创建路径规划所需要的地图模型,模型中包含了起点,终点以及障碍物的位置,在该工程中,障碍物统一用圆形表示。
该函数的返回值为一个关于model的结构体,其中包含了地图模型的全部信息,具体的代码如下:
%
% Copyright (c) 2015, Yarpiz (www.yarpiz.com)
% All rights reserved. Please read the "license.txt" for license terms.
%
% Project Code: YPAP115
% Project Title: Path Planning using PSO in MATLAB
function model=CreateModel()
% 设置起点坐标
xs=0;
ys=0;
% 设置终点坐标
xt=4;
yt=6;
% 圆形障碍物
xobs=[1.5 3.5 1.2]; % 设置障碍物的x坐标
yobs=[4.0 3.0 1.5];% 设置障碍物的y坐标
robs=[1.0 0.6 0.8];% 设置障碍物的半径
n=3; % 设置种群中粒子个数
% 设置地图范围
xmin=-10;
xmax= 10;
ymin=-10;
ymax= 10;
% 将参数存入结构体
model.xs=xs;
model.ys=ys;
model.xt=xt;
model.yt=yt;
model.xobs=xobs;
model.yobs=yobs;
model.robs=robs;
model.n=n;
model.xmin=xmin;
model.xmax=xmax;
model.ymin=ymin;
model.ymax=ymax;
end
CreateRandomSolution函数
该函数的功能主要是在地图空间内随机生成粒子种群的位置,用于粒子群的随机初始化