首页 > 编程知识 正文

路径规划应用多吗,粒子群算法pso

时间:2023-05-04 00:26:53 阅读:61163 作者:1299

粒子群算法描述求解路径规划1.1路径规划问题给出的环境信息,该环境中有障碍物时,应求得起点到目标点的最短路径,且路径不得与障碍物交叉,如图1.1.1所示。

1.2粒子群算法求解1.2.1求解创意粒子群优化算法(PSO )。 粒子群中的每个粒子代表一个问题的可能解,通过粒子个体的简单行为,集团内部的信息交互实现解决问题的智能性。

在路径规划中,将各路径规划为一个粒子。 每个粒子群有n个粒子,即n条路径。 同时,每个粒子又有m个染色体,即中间转移点的个数,每个点(染色体)又有两个维度(x,y )。 代码中用posx和posy表示一个种群。 通过各代进化,对粒子群进行进化操作,选择合适的个体(最佳路径)。

(1)代码)浮点数代码,实际位置和速度值。

(2)适应度)为了能够保存适应度高的个体,将适应度定义如下。

ftvalue=1/dIstanecolIsIon(1.1 ) fit value=1/distance * collision (tag ) 1.1 ) fitvalue=1/distancecollision ) )

在此,距离是各个体(路径)的距离,collision是碰撞系数,路径与障碍物碰撞时取0,未碰撞时取0.1。

)3)碰撞检测)为了检测路径是否与障碍物碰撞,首先定义函数iscoll ) ),检测各路径是否与障碍物交叉。 原理如下。 传递到障碍物边界的匿名函数和线段两端在线段上等分取n个点,对各点判断是否落入障碍物内,至少有一点落入障碍物内表示路径与障碍物发生了碰撞。 定义另一个iscollison ()。 确定每个路径是否与障碍物冲突,并调用iscoll函数。

(4)速度更新:

v i d=w

v i d + c 1 r 1 ( p i d − x i d ) + c 2 r 2 ( p g d − x i d ) (1.2) v_{id}=wv_{id}+c_{1}r_1( p_{id} -x_{id} ) +c_2r_2 ( p_{gd}-x_{id} ) tag{1.2} vid​=wvid​+c1​r1​(pid​−xid​)+c2​r2​(pgd​−xid​)(1.2)

    其中 w 为权重系数, v i d v_{id} vid​ 为速度, c 1 c_1 c1​、 c 2 c_2 c2​为学习因子, p i d p_{id} pid​、 p g d p_{gd} pgd​为个体最优位置和全局最优位置, x i d x_{id} xid​ 为当前位置, r 1 r_1 r1​、 r 2 r_2 r2​为随机数。
(5)位置更新: x i d = x i d + v i d x_{id}=x_{id}+v_{id} xid​=xid​+vid​ ,其中 v i d v_{id} vid​为速度, x i d x_{id} xid​为位置。

1.2.2 流程图

1.3 实验结果


1.4 结果分析

从粒子群算法得出的规划路径可以看出,最优路径都在 11 点多(这里直接 用绘图单位长度),跟之前的遗传算法比较,最优路径都差不多。但是,比起运 行效率,粒子群算法优于遗传算法。

1.5 源码

    GitHub传送门!!!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。