CN102855387B - 一种基于小生境粒子群的二维空间多路径规划方法 - Google Patents

一种基于小生境粒子群的二维空间多路径规划方法 Download PDF

Info

Publication number
CN102855387B
CN102855387B CN201210276926.4A CN201210276926A CN102855387B CN 102855387 B CN102855387 B CN 102855387B CN 201210276926 A CN201210276926 A CN 201210276926A CN 102855387 B CN102855387 B CN 102855387B
Authority
CN
China
Prior art keywords
particle
subgroup
main group
path
group
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.)
Expired - Fee Related
Application number
CN201210276926.4A
Other languages
English (en)
Other versions
CN102855387A (zh
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.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
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 Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN201210276926.4A priority Critical patent/CN102855387B/zh
Publication of CN102855387A publication Critical patent/CN102855387A/zh
Application granted granted Critical
Publication of CN102855387B publication Critical patent/CN102855387B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于小生境粒子群的二维空间多路径规划方法,应用于船舶路径规划系统。本发明首先在直角坐标系下对环境进行建模,采用将规划区域等距分割的方法对粒子进行编码,对粒子的评价考虑安全性和经济性两方面的因素;然后是子群粒子的区域内局部寻优,采用小生境识别技术创建新的子群,并对子群粒子采用基于隔离机制的小生境粒子群算法进行局部寻优;最后是主群的区域划分,主群粒子采用认知模式的粒子群算法进行区域搜索,并对子群的中心进行交叉操作,产生的个体加入主群。本发明的方法具有较强的区域划分和局部寻优能力,能够正确、有效地规划出多条路径。

Description

一种基于小生境粒子群的二维空间多路径规划方法
技术领域
本发明属于计算智能技术领域,具体涉及的是一种基于小生境粒子群的二维空间多路径规划方法。
背景技术
路径规划是实现船舶智能化航行的关键技术之一,其主要任务是在环境已知、环境部分已知或环境未知的情况下,规划出安全的航行路线,同时高效地到达预定的位置。传统路径规划方法中,如人工势场法、可视图法和遗传算法等,对路径优劣的评价完全依靠给定的适应值函数,生成一条具有最优适应度的路径,算法求得的最优路径的性能与评价函数密切相关。然而,在实际运用中单一的最优路径往往并不完全适用。
在实际路径规划过程中,由于路径规划问题本身的复杂性、船舶运动的复杂性以及外部环境的复杂性,采用任何单一的评价函数都是不完善的,很难用一个统一的适应值函数将所有的因素都考虑进去;对于给定的适应值函数,在某些情况下可能有些路径的适应度一样,利用传统的路径规划算法需要对两条路径做出取舍,而预先设定的取舍策略很难反映实际的任务需求。
发明内容
针对现有技术中存在的问题,本发明提出一种基于小生境粒子群的二维空间多路径规划方法,规划出多条最优或次优路径供决策者选择。该方法借鉴遗传算法求解多峰函数的思想,在基本粒子群优化算法的基础上,引入小生境生成、隔离进化等策略实现船舶多路径规划,分别采用主群粒子进行区域划分,采用子群粒子进行区域内寻优。其中,主群粒子采用仅含认知模式的粒子群算法进行更新,使用交叉算子增强主群粒子的区域划分能力;子群粒子采用基于隔离机制的小生境粒子群算法进行局部寻优,规划出区域内的最优路径。
本发明提出的一种基于小生境粒子群的二维空间多路径规划方法,具体包括以下步骤:
步骤一、环境建模及粒子编码。
在直角坐标系O-XY下对环境进行建模,障碍物用不规则的多边形表示,以船舶最大尺寸对障碍物进行膨胀,将船舶抽象为一大小可忽略的质点。设S为船舶航行的起点,G为终点,对规划区域进行坐标变换,以SG作为X'轴,垂直于X'轴且经过S点的直线为Y′轴,坐标变换公式为:
x ′ y ′ = cos α sin α - sin α cos α · x - x s y - y s
其中,(x,y),(x',y')分别表示全局地图中某一点在坐标系O-XY和S-X′Y′下的坐标,α为坐标轴X'轴与X轴的夹角,由X轴转向X'轴,逆时针方向为正,(xs,ys)为S点在坐标系O-XY下的坐标。
采用将规划区域等距分割的方法对粒子进行编码,节点间用直线连接。
步骤二、采用小生境识别技术创建新的子群。
子群创建之前,对主群的粒子按照适应度由小到大进行排序,适应度越小,表示粒子越优秀。若粒子所代表的路径不与障碍物碰撞,且没有类似的子群存在,则以该粒子为中心,创建一个新的子群,在主群中将其删除。是否为类似的子群通过两个粒子所代表的路径之间是否有障碍物进行判别。若两路径间不存在障碍物,则这两条路径相似;否则,这两条路径不相似。新的子群创建成功后,以子群的中心粒子与该子群所在主群中最近粒子的欧氏距离为子群半径,为了吸收尽可能多的粒子到子群,新创建子群的半径扩大M1倍,表达式为:
l S k = M 1 × min { | | x i - x S k | | }
其中,1≤i≤nM,nM为主群的大小,即主群中粒子的个数,为新创建子群的中心粒子,xi为主群中的第i个粒子,为新创建子群的半径。
粒子进入子群后,就将其在主群中删除。随着主群粒子的迭代寻优,若主群粒子进入子群半径的范围内且该子群粒子的个数小于子群最大规模限制,则将其吸收到相应的子群,即若主群中粒子xi满足:
||xi-Sk·xg||≤Sk·R
则吸收粒子xi到子群Sk中:
Sk←Sk∪{xi}
其中,Sk·R表示子群Sk的半径,Sk·xg表示子群Sk的全局最优粒子,{xi}表示粒子xi的集合。
步骤三、子群粒子采用基于隔离机制的小生境粒子群算法进行局部寻优。
子群的中心处于不同的区域,每个子群在一个局部最优路径周围形成一个小生境,子群粒子的更新采用标准粒子群算法,其更新公式为:
v ij t + 1 = ωv ij t + c 1 r 1 ( p ij t - x ij t ) + c 2 r 2 ( p gj t - x ij t ) x ij t + 1 = x ij t + v ij t + 1
其中,vij t,xij t分别表示粒子的速度和位置;pij t表示个体最优位置,pgj t表示全局最优位置;r1,r2为均匀分布在(0,1)区间的随机数;c1,c2为学习因子;ω为惯性权重,其中,i表示粒子的序号,j表示粒子的维度序号,t表示迭代次数,取值为正整数。
子群间采用隔离进化的机制,群体间没有信息的交流。子群粒子更新后,以子群中心粒子与该子群内距离中心粒子最远的粒子之间的欧氏距离为子群半径,子群半径扩大M2倍,即:
Sk·R=M2×max{||Sk·xg-Sk·xi||},
Sk·R表示子群Sk的半径,Sk·xg表示子群Sk的全局最优粒子,Sk·xi表示子群Sk中距离子群中心粒子最远的粒子,表示子群Sk中粒子的个数。
子群中心的更新不仅要考虑适应度的提高,而且还要考虑粒子所代表的路径不穿越障碍物,且与当前子群中心所代表的路径之间没有障碍物,同时满足这三个条件时,子群中心才进行更新。
步骤四、主群粒子采用认知模式的粒子群算法进行区域划分。
主群粒子分布在整个规划区域,主群粒子的更新采用认知模式的粒子群算法,其更新公式为:
v ij t + 1 = ωv ij t + c 1 r 1 ( p ij t - x ij t ) x ij t + 1 = x ij t + v ij t + 1
其中,vij t,xij t分别表示粒子的速度和位置;pij t表示个体最优位置;r1为均匀分布在(0,1)区间的随机数;c1为学习因子;ω为惯性权重。
若主群粒子xi被子群吸收,则将xi在主群中删除。当主群粒子的个数小于主群最小规模限制时,则随机产生粒子加入主群,随机产生粒子的个数为主群最小规模限制减去主群当前粒子的个数。
步骤五、对子群中心粒子进行交叉操作。
所有粒子的节点个数都一样,粒子的每个节点代表路径规划区域内的一个坐标点,用直线连接包括起点、终点和粒子的节点便形成一条路径,路径规划就是优化粒子的这些节点。若子群的个数大于两个,则随机选取两个子群,让这两个子群的中心粒子进行交叉操作,产生的个体取代主群中适应度最差的两个粒子,然后再随机选取两个子群的中心粒子进行交叉操作,此过程重复进行五次。
子群中心粒子所代表的路径都不穿越障碍且属于不同的区域,选取要进行交叉的那个节点,粒子之后的那些节点用另一个粒子对应的那些节点替换。若两个中心粒子进行交叉后可产生分布在不同区域的路径,则交叉点选在交叉后可以产生不同区域路径的那些节点上;否则,将两个子群的中心复制给交叉后的个体。
若两个粒子所代表的路径不穿越障碍物,且两条路径之间有障碍物,则这两条路径属于不同的区域。
本发明方法的优点和积极效果在于:
(1)本发明的二维空间多路径规划方法能够规划出多条最优或次优路径供决策者选择,克服了传统路径规划方法规划出一条路径存在的缺陷;
(2)本发明的二维空间多路径规划方法能够避免环境因素变化对路径的影响,规划出多条路径,决策者可以根据实际任务需求选择合理的路径;
(3)本发明的二维空间多路径规划方法引入交叉算子,提高了该方法区域划分能力;子群采用基于隔离机制的小生境粒子群算法,群体间没有合并操作,避免了子群出现覆盖、漂移等现象;
(4)本发明的二维空间多路径规划方法原理简单,易于实现,且多路径规划能力较强。
附图说明
图1:本发明提供的基于小生境粒子群的二维空间多路径规划方法流程图;
图2:船舶航行区域环境建模示意图;
图3:路径编码示意图;
图4:粒子群初始化流程图;
图5:适应值函数中转向点曲率示意图;
图6:子群体粒子更新流程图;
图7:交叉操作原理图;
图8(a)~8(d):简单环境下的仿真测试结果;
图9(a)~9(d):复杂环境下的仿真测试结果。
具体实施方式
下面将结合附图和实施例对本发明进行详细说明。
本发明提出一种基于小生境粒子群的二维空间多路径规划方法,如图1所示,具体包括以下几个步骤:
步骤一、环境建模,粒子编码和主群粒子初始化。
A:环境建模及粒子编码:
对环境进行二维空间建模,只考虑静态已知环境约束,环境约束在直角坐标系O-XY下表示,障碍物用不规则的多边形表示,只对障碍物的顶点进行描述,记录障碍物各个顶点的坐标;以船舶最大尺寸对障碍物进行膨胀,将船舶抽象为一大小可忽略的质点。对路径安全性能的评价只考虑路径穿越障碍物的程度,船舶航行环境如图2所示,图中黑色区域为障碍物,搜索区域C为一个矩形,路径规划在搜索区域C内进行,可行区域Cfree为搜索区域C内除去障碍物的区域。路径规划就是根据一定的优化准则,寻找一条从起点S到终点G的最优路径。
结合图3所示,在直角坐标系O-XY中,S为船舶航行的起点,G为终点,船舶路径规划即寻找一个点的集合P:
P={S,P1,P2,…,Pn,G}
其中,(P1,P2,…,Pn)表示规划区域内一个点的序列,即规划目标。在全局地图中建立一个新的坐标系,以SG作为X'轴,垂直于X′且经过S点的直线作为Y'轴,X′轴,Y′轴的方向如图3所示。对应的O-XY到S-X′Y'的坐标变换为:
x ′ y ′ = cos α sin α - sin α cos α · x - x s y - y s
其中,(x,y),(x',y')分别表示全局地图中某一点在不同坐标系O-XY和S-X′Y′下的坐标,α为坐标轴X'轴与X轴的夹角,由X轴转向X'轴,逆时针方向为正,(xs,ys)为S点在坐标系O-XY下的坐标。
将线段SG进行(n+1)等分,在每一个等分点作SX′的垂线,得到平行直线族(l1,l2,…ln),在平行直线族的每一直线上任意选取一点便得到目标点序列(P1,P2,…,Pn)。
B:主群粒子初始化:
用直线连接包括起点、终点和目标点序列的点便构成一条路径,采用基于启发式信息的方法生成初始群体,粒子所代表的路径不穿越障碍,该粒子初始化成功;否则,该粒子初始化失败。每次初始化一个粒子,从左到右依次初始化粒子的目标点序列,每个节点可重复初始次数为kmax,粒子群初始化流程如图4所示,包括对每一个粒子、粒子的每一个节点进行初始化,具体包括以下几个步骤:
第1步:相关参数设置。设定种群规模m,粒子维数n,粒子个数为m,粒子节点个数为n,粒子每个节点可重复初始化次数kmax,初始粒子的粒子序号i=1;
第2步:判断种群是否初始化完毕,即判断粒子序号i<m。若满足条件,则粒子维度j=1,继续下一步;否则,转到第7步;
第3步:判断粒子xi是否初始化完毕,即判断粒子维度j<n。若满足条件,则记录粒子每个节点初始化次数的参数k=1,继续下一步;否则,粒子序号i=i+1,转到第2步;
第4步:判断初始化次数k<kmax,若满足条件,则初始化粒子xi第j维的位置xij;否则,粒子维度j=j+1,转到第3步;
第5步:若粒子xi第j维的位置xij在障碍内部,则k=k+1,转到第4步;否则,继续下一步;
第6步:若粒子xi第j维的位置xij与上一节点的连线穿越障碍物,则k=k+1;否则,k=kmax-2,转到第4步;
第7步:退出循环。
C:适应值函数:
对路径的评价考虑两个方面:安全性和能量消耗。一条路径用R表示,路径R的适应值函数Fit(R)定义为:
Fit(R)=Safe_Cost(R)+Econ_Cost(R)
其中,Safe_Cost(R)表示路径的安全性能,Econ_Cost(R)表示路径的经济性指标。分别定义如下:
Safe_Cost(R)=Penal×N_Unsafe_Line(R)
Econ_Cost(R)=a1×D(R)+a2×M(R)
其中,N_Unsafe_Line(R)表示路径R上的线段与障碍物相碰撞的总数;D(R)表示路径R的长度(连接起点S和终点G及目标点序列的长度),M(R)表示路径的平滑程度,Penal表示一条线段与障碍物相碰撞的惩罚度,a1,a2分别表示路径长度和路径平滑度的权重。
假设起点S为P0,终点G为Pn+1,路径S的长度D(R)定义为:
D ( R ) = d ( S , P 1 ) + Σ j = 1 n - 1 d ( P j , P j + 1 ) + d ( P n , G ) = Σ j = 0 n d ( P j , P j + 1 )
其中,d(S,P1)表示节点S到P1的欧氏距离,d(Pn,G)表示节点Pn到G的欧氏距离,d(Pj,Pj+1)表示节点Pj与节点Pj+1的欧氏距离,在S-X′Y′坐标系下D(R)为:
D ( R ) = Σ j = 0 n ( x ′ P j - x ′ P j + 1 ) 2 + ( y ′ P j - y ′ P j + 1 ) 2 = Σ j = 0 n ( L SG n + 1 ) 2 + ( y ′ P j - y ′ P j + 1 ) 2
其中,分别表示坐标系O-XY下的点Pj,Pj+1在坐标系S-X′Y′下的坐标,LSG表示起点S到终点G欧氏距离,n为目标点序列的个数。
M(R)表示路径的平滑程度,定义如下:
M ( R ) = Σ i = 1 n s ( P i )
s ( P i ) = 0 , &theta; i < &theta; max &theta; i min ( d ( P i - 1 , P i ) , d ( P i , P i + 1 ) ) , &theta; i &GreaterEqual; &theta; max
s(Pi)表示第i个转向点的曲率;θi∈[0,π]是连接转向点Pi-1和Pi的直线与连接转向点Pi和Pi+1的线段的夹角,如图5所示;θmax为一预先设定的角度,依据船舶最大转向角进行设定。
步骤二、采用小生境识别技术创建新的子群。
子群创建之前,对主群的粒子按照适应度由小到大进行排序,适应度越小,表示粒子越优秀,按照适应度由小到大依次判断主群粒子是否符合小生境产生条件。小生境产生条件:若粒子所代表的路径不与障碍物碰撞,且没有类似的子群存在。是否为类似的子群通过两个粒子所代表的路径之间是否有障碍物进行判别。若两路径间不存在障碍物,则这两条路径相似;否则,这两条路径不相似。若粒子符合小生境产生条件,则以该粒子为中心粒子,创建一个新的子群,在主群中将新创建的子群的粒子删除。
新的子群创建成功后,以中心粒子与该中心粒子所在主群中最近粒子之间的欧氏距离为子群半径,为了吸收尽可能多的粒子到子群,新创建子群的半径扩大M1(一般取3~5)倍,表达式为:
l S k = M 1 &times; min { | | x i - x S k | | }
其中,1≤i≤nM,nM为主群的大小,为新创建子群的中心粒子,半径。
子群中粒子的个数不能超过子群最大规模限制,子群半径可以扩大一点,以加快该方法的收敛速度与提高该方法的求解精度。
粒子进入子群后,就将该粒子在主群中删除。
随着主群粒子的迭代寻优,若主群粒子进入子群的半径范围内且该子群中粒子的个数小于子群最大规模限制,则将其吸收到相应的子群,即若粒子xi满足:
||xi-Sk·xg||≤Sk·R
则吸收粒子xi到子群Sk中:
Sk←Sk∪{xi}
其中,Sk·R表示子群Sk的半径,Sk·xg表示子群Sk的全局最优粒子。
步骤三、子群中粒子采用基于隔离机制的小生境粒子群算法进行局部寻优。
符合小生境产生条件的粒子在步骤二已完成子群的创建,子群创建时,每个子群的中心粒子具有不同的特性,他们处于不同的区域,每个子群在一个局部最优路径周围形成一个小生境,子群粒子的更新采用标准粒子群算法,其更新公式为:
v ij t + 1 = &omega;v ij t + c 1 r 1 ( p ij t - x ij t ) + c 2 r 2 ( p gj t - x ij t ) x ij t + 1 = x ij t + v ij t + 1
其中,vij t,xij t分别表示粒子的速度和位置;pij t表示个体最优位置,pgj t表示全局最优位置;r1,r2为均匀分布在(0,1)区间的随机数;c1,c2为学习因子;ω为惯性权重,较大的ω有利于全局寻优,较小的ω有利于局部搜索。
子群间采用隔离进化的机制,群体间没有信息的交流。子群粒子更新后,以子群中心粒子与该子群中最远粒子之间的欧氏距离为该子群半径,子群半径扩大M2(一般取3~5)倍,即:
Sk·R=M2×max{||Sk.xg-Sk.xi||},
其中,表示子群Sk中粒子的个数。
每个子群粒子更新流程如图6所示,具体包括以下几个步骤:
第1步:判断是否有子群存在。若有,设定当前要更新的子群为第一个子群;否则,转到第7步;
第2步:对当前子群粒子的位置、速度按照标准粒子群算法进行更新;
第3步:计算每个粒子的适应度,并更新子群体的个体最优极值Sk·xip
第4步:子群中心粒子Sk·xg更新;
第5步:子群半径Sk·R更新;
第6步:判断是否结束条件。对当前需要更新的子群的序号加1,若小于目前已创建子群的个数,则转到第2步;否则,继续下一步;
第7步:退出循环。
子群的中心分布在不同的区域,中心粒子所代表的路径不能穿越障碍,且与其他子群中心粒子所代表的路径之间存在障碍物,这样才真正发挥子群隔离进化的作用,保证已搜索出的路径不因子群的漂移、覆盖等现象而丢失。所以,子群中心的更新不仅要考虑适应度的提高,而且还要考虑粒子所代表的路径不穿越障碍物,且与当前子群中心粒子所代表的路径之间不存在障碍物,同时满足这三个条件时,子群中心才进行更新。
步骤四、主群粒子采用认知模式的粒子群算法进行区域划分。
主群的目的在于搜索出尽可能多的区域,为子群局部寻优提供粒子,主群粒子的多样性直接影响到算法的多路径规划能力。标准PSO算法会导致群体收敛到一个解,违背了主群保持多样性的要求,因此,主群粒子的训练不能采用标准PSO算法。
标准PSO算法中,令学习因子c2=0,其退化成只含“认知”部分的PSO算法。粒子只有对当前速度的继承和自我的思考,粒子之间没有信息的交流,这样,仅含“认知”的PSO不会收敛到一个解,主群中每个粒子以自身的经验在解空间飞行,有利于主群发现多个不同区域的能力。主群粒子的更新采用认知模式的粒子群算法,其更新公式为:
v ij t + 1 = &omega;v ij t + c 1 r 1 ( p ij t - x ij t ) x ij t + 1 = x ij t + v ij t + 1
其中,vij t,xij t分别表示粒子的速度和位置;pij t表示个体最优位置;r1为均匀分布在(0,1)区间的随机数;c1为学习因子;ω为惯性权重。
若主群中粒子xi被子群吸收,则将粒子xi在主群中删除,因为粒子xi飞行到新区域的几率非常小,在认知模式PSO的优化过程中,粒子xi位置基本不会变化。主群初始规模比较大,随着子群的创建以及主群粒子被子群吸收,主群的规模在不断减少。当主群粒子的个数小于主群最小规模限制时,则随机产生相应个数的粒子加入主群,随机产生粒子的个数为主群最小规模限制减去主群当前粒子的个数。
步骤五、对子群中心粒子进行交叉操作,产生的个体加入主群。
所有粒子的节点个数都一样,路径规划进行过程中,粒子节点的个数是固定的,粒子的每个节点代表路径规划区域内的一个坐标点,用直线连接包括起点、终点和目标点序列便形成一条路径,路径规划就是优化这些目标点序列。
交叉操作来源于遗传算法,是遗传算法中寻找最优个体的最主要手段。所谓交叉是指将两个父代个体的部分编码结构进行重组而产生新个体的操作,首先按照预先设定的交叉概率选出要进行交叉的个体,其次以随机的方式确定交叉点,交换基因片段,生成新的子代个体,最后,保留优秀的子代个体。
若子群的个数大于两个,则随机选取两个子群,让这两个子群的中心粒子进行交叉操作,产生的个体取代主群中适应度最差的两个粒子,然后再随机选取两个子群进行交叉操作,此过程重复进行五次。子群的个数大于两个时,随机选取两个子群进行交叉操作,假如子群的个数只有3个,那么每次只能在这3个子群中选取两个。若两个粒子所代表的路径不穿越障碍物,且两条路径之间存在障碍物,那么这两条路径分布在不同的区域;否则,这两条路径分布在同一区域。子群中心粒子所代表的路径都不穿越障碍且属于不同的区域,选取要进行交叉的那个节点,粒子后边的那些节点用另一个粒子对应的那些节点替换。若两个中心粒子进行交叉后可产生分布在不同区域的路径,则交叉点选在交叉后可以产生不同区域路径的那些节点上;否则,将两个子群的中心粒子复制给交叉后生成的个体。
由于子群的中心粒子所代表的路径分布在不同的区域,一条路径是由一系列节点连接而成,对子群中心粒子进行交叉操作可能会产生新区域内的路径,有利于提高规划出多条路径的能力,且规划出的路径分布在不同的区域。
下面结合图7来具体说明交叉操作的实现过程,具体包括以下几个步骤:
第1步:统计两子群中心粒子所代表的路径A(S-A1-A2-A3-A4-A5-A6-A7-G)、B(S-B1-B2-B3-B4-B5-B6-B7-G)之间障碍物情况。从左到右依次判断两个粒子对应节点的连线是否穿越障碍物,用一个数组cross[dimsize]记录其穿越情况。若两个粒子对应节点的连线穿越障碍,cross相应位为1;否则,cross相应位为0。如图7所示,路径A、B之间障碍物判断结果cross[7]=[1,0,0,1,0,1,0]。
第2步:选择可产生新的路径的节点进行交叉操作。如图7所示,选择(l2,l3)和l5两段上的节点进行交叉可产生新的路径,以随机的方式选择其中的一段进行交叉,对于选取的那段,交叉点取其中间的那一点。如图7所示,选取第一段(l2,l3)进行交叉,交叉点在l3上面,路径A,B的交叉过程如下
A = ( S , A 1 , A 2 , A 3 , A 4 , A 5 , A 6 , A 7 , G ) &DoubleRightArrow; ( S , A 1 , A 2 , A 3 , A 4 , A 5 , A 6 , A 7 , G )
B = ( S , B 1 , B 2 , B 3 , B 4 , B 5 , B 6 , B 7 , G ) &DoubleRightArrow; ( S , B 1 , B 2 , B 3 , B 4 , B 5 , B 6 , B 7 , G )
下面通过数学软件MATLAB对多路径规划方法进行仿真实验。测试其性能:(1)针对不同的环境模型,该方法是否具备搜索多个不同区域的能力;(2)该方法是否具备区域内局部寻优能力。首先,在简单的环境下(规划区域内存在的障碍物较少,层次结构简单)进行仿真实验,测试其基本能力;然后,在复杂的环境下(规划区域内障碍物较多,层次结构复杂)进行仿真实验,测试其对环境适应能力。
参数设置如下:粒子群的初始规模为150,主群最小规模为30,每个子群粒子最大规模为20,粒子维数为10,惯性权重ω采用0.9→0.4线性递减,学习因子c1采用2.5→0.5线性递减,学习因子c2采用0.5→2.5线性递增,最大迭代次数itermax为150,迭代过程中,若子群体均收敛到各自的局部最优解,则多路径规划结束。
简单测试环境下障碍物的分布只有一层,如图8(a)~8(d)所示,该方法具备搜索多个不同区域的能力,能够划分出全部的区域;该方法具备局部寻优能力,能够求解出区域内的局部最优路径。当连接起点S和终点G的直线不穿越障碍时,该方法能够规划出最优的路径,路径的节点基本在一条直线上,如图8(a)和图8(c)所示。
复杂测试环境下障碍物的分布有两层或三层时,如图9(a)和图9(b)所示,表明该方法具备层次划分的能力,能够划分出多个不同的区域;当环境较复杂时,如图9(c)和图9(d)所示,该方法具备区域划分与局部寻优能力,能够求解出多条路径。图9(d)在图9(c)的基础上增加了一个障碍物,该方法能够对环境进行适应,能够划分新的区域,在图9(c)路径规划结果的基础上,规划出了4条新的路径。
仿真结果表明,本发明的方法能够正确、有效地规划出多条路径,主群粒子区域划分能力较强,基本能够求解出全部的区域;子群粒子局部寻优能力较强,能够求解出区域内的最优路径。

Claims (4)

1.一种基于小生境粒子群的二维空间多路径规划方法,其特征在于:该方法具体包括以下几个步骤:
步骤一、环境建模及粒子编码:
在直角坐标系O-XY下对环境进行建模,障碍物用不规则的多边形表示,以船舶最大尺寸对障碍物进行膨胀,将船舶抽象为一大小可忽略的质点;设S为船舶航行的起点,G为终点,对规划区域进行坐标变换,以SG作为X'轴,垂直于X'轴且经过S点的直线为Y'轴,坐标变换公式为:
x &prime; y &prime; = cos &alpha; sin &alpha; - sin &alpha; cos &alpha; &CenterDot; x - x s y - y s
其中,(x,y),(x',y')分别表示全局地图中某一点在坐标系O-XY和S-X'Y'下的坐标,α为坐标轴X'轴与X轴的夹角,由X轴转向X'轴,逆时针方向为正,(xs,ys)为S点在坐标系O-XY下的坐标;
采用将规划区域等距分割的方法对粒子进行编码,节点间用直线连接;
步骤二、采用小生境识别技术创建新的子群:
子群创建之前,对主群粒子按照适应度由小到大进行排序,判断主群粒子是否符合小生境产生条件,若主群粒子符合小生境产生条件,则以该主群粒子为中心粒子,创建一个新的子群,在主群中将新创建的子群的粒子删除;若粒子所代表的路径不与障碍物碰撞,且没有类似的子群存在,则符合小生境产生条件;所述的类似的子群,通过两个粒子所代表的路径之间是否有障碍物进行判别,若两路径间不存在障碍物,则这两条路径相似;否则,这两条路径不相似;新的子群创建成功后,以中心粒子与主群中最近粒子的欧氏距离为子群半径,新创建子群的半径扩大M1倍,表达式为:
l S k = M 1 &times; min { | | x i - x S k | | }
其中,1≤i≤nM,nM为主群的大小,即主群中粒子的个数,为新创建子群的中心粒子,xi为主群中的第i个粒子,为新创建子群的半径;
随着主群粒子的迭代寻优,若主群粒子进入子群的半径范围内且该子群粒子的个数小于子群最大规模限制,则将其吸收到相应的子群,即若粒子xi
||xi-Sk·xg||≤Sk·R
则吸收粒子xi到子群Sk中:
Sk←Sk∪{xi}
其中,Sk·R表示子群Sk的半径,Sk·xg表示子群Sk的全局最优粒子,{xi}表示粒子xi的集合;
步骤三、子群粒子采用基于隔离机制的小生境粒子群算法进行局部寻优;
子群的中心处于不同的区域,每个子群在一个局部最优路径周围形成一个小生境,子群粒子的更新采用标准粒子群算法,其更新公式为:
v ij t + 1 = &omega; v ij t + c 1 r 1 ( p ij t - x ij t ) + c 2 r 2 ( p gj t - x ij t ) x ij t + 1 = x ij t + v ij t + 1
其中,vij t,xij t分别表示粒子的速度和位置;pij t表示个体最优位置,pgj t表示全局最优位置;r1,r2为均匀分布在(0,1)区间的随机数;c1,c2为学习因子;ω为惯性权重,其中,i表示粒子的序号,j表示粒子的维度序号,t表示迭代次数,取值为正整数;
子群间采用隔离进化的机制,群体间没有信息的交流;子群粒子更新后,以子群中心与该子群内距离中心粒子最远的粒子之间的欧氏距离为子群半径,子群半径扩大M2倍,即
S k &CenterDot; R = M 2 &times; max { | | S k &CenterDot; x g - S k &CenterDot; x i | | } , i = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n S k
Sk·R表示子群Sk的半径,Sk·xg表示子群Sk的全局最优粒子,Sk·xi表示子群Sk中距离子群中心粒子最远的粒子,表示子群Sk中粒子的个数;
步骤四、主群粒子采用认知模式的粒子群算法进行区域划分:
主群粒子分布在整个规划区域,主群粒子的更新采用认知模式的粒子群算法,其更新公式为:
v ij t + 1 = &omega; v ij t + c 1 r 1 ( p ij t - x ij t ) x ij t + 1 = x ij t + v ij t + 1
其中,vij t,xij t分别表示粒子的速度和位置;pij t表示个体最优位置;r1为均匀分布在(0,1)区间的随机数;c1为学习因子;ω为惯性权重;
若主群粒子被子群吸收,则将其在主群中删除;当主群粒子的个数小于主群最小规模限制时,则随机产生相应个数的粒子加入主群,随机产生粒子的个数为主群最小规模限制减去主群当前粒子的个数;
步骤五、对子群中心粒子进行交叉操作:
若子群的个数大于两个,则随机选取两个子群,让这两个子群的中心粒子进行交叉操作,产生的个体取代主群中适应度最差的两个粒子,然后再随机选取两个子群进行交叉操作,此过程重复进行五次;子群中心粒子所代表的路径都不穿越障碍且属于不同的区域,若两个中心粒子进行交叉后可产生分布在不同区域的路径,则交叉点选在交叉后产生不同区域的的那些节点上;否则,将两个子群的中心复制给交叉后的个体;若两个粒子所代表的路径不穿越障碍物,且两条路径之间有障碍物,则这两条路径属于不同的区域。
2.根据权利要求1所述的一种基于小生境粒子群的二维空间多路径规划方法,其特征在于:步骤三所述的子群粒子的更新采用基于隔离机制的小生境粒子群算法,包括以下步骤:
第1步:判断是否有子群存在,若有,设定当前要更新的子群为第一个子群;否则,转到第7步;
第2步:对当前子群粒子的位置、速度按照标准粒子群算法进行更新;
第3步:计算每个粒子的适应度,并更新子群的个体最优极值Sk·xip
第4步:子群Sk的全局最优粒子Sk.xg更新;
第5步:子群半径Sk·R更新;
第6步:判断是否结束条件,对当前需要更新的子群的序号加1,若小于目前已创建子群的个数,则转到第2步;否则,继续下一步;
第7步:退出循环。
3.根据权利要求1所述的一种基于小生境粒子群的二维空间多路径规划方法,其特征在于:步骤三中子群粒子的更新不仅要考虑适应度的提高,而且还要考虑子群粒子所代表的路径不穿越障碍物,且与当前子群中心粒子所代表的路径之间不存在障碍物,同时满足这三个条件时,子群粒子才进行更新。
4.根据权利要求1所述的一种基于小生境粒子群的二维空间多路径规划方法,其特征在于:步骤一中还包括对主群粒子初始化,具体包括以下几个步骤:
第(1)步:设定种群规模m,粒子维数n,粒子个数为m,粒子节点个数为n,粒子每个节点可重复初始化次数kmax,初始粒子的粒子序号i=1;
第(2)步:判断种群是否初始化完毕,即判断粒子序号i<m;若满足条件,则粒子维度j=1,继续下一步;否则,转到第(7)步;
第(3)步:判断粒子xi是否初始化完毕,即判断粒子维度j<n;若满足条件,则记录粒子每个节点初始化次数的参数k=1,继续下一步;否则,粒子序号i=i+1,转到第(2)步;
第(4)步:判断初始化次数k<kmax,若满足条件,则初始化粒子xi的位置xij;否则,j=j+1,转到第(3)步;
第(5)步:若粒子xi的位置xij在障碍内部,则k=k+1,转到第(4)步;否则,继续下一步;
第(6)步:若粒子xi的位置xij与上一节点的连线穿越障碍物,则k=k+1;否则,k=kmax-2,转到第(4)步;
第(7)步:退出循环。
CN201210276926.4A 2012-08-06 2012-08-06 一种基于小生境粒子群的二维空间多路径规划方法 Expired - Fee Related CN102855387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210276926.4A CN102855387B (zh) 2012-08-06 2012-08-06 一种基于小生境粒子群的二维空间多路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210276926.4A CN102855387B (zh) 2012-08-06 2012-08-06 一种基于小生境粒子群的二维空间多路径规划方法

Publications (2)

Publication Number Publication Date
CN102855387A CN102855387A (zh) 2013-01-02
CN102855387B true CN102855387B (zh) 2015-06-17

Family

ID=47401970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210276926.4A Expired - Fee Related CN102855387B (zh) 2012-08-06 2012-08-06 一种基于小生境粒子群的二维空间多路径规划方法

Country Status (1)

Country Link
CN (1) CN102855387B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103528585B (zh) * 2013-09-26 2016-05-25 中北大学 一种不等距分割可通行区域的路径规划方法
CN104484490B (zh) * 2014-09-26 2017-08-08 中国人民解放军信息工程大学 基于并行模拟退火算法的划界线生成方法
CN105095494B (zh) * 2015-08-21 2019-03-26 中国地质大学(武汉) 一种对分类数据集进行测试的方法
CN105912830B (zh) * 2015-12-25 2019-10-15 湖州师范学院 基因调控非线性动力系统的路径粒子群优化方法
CN105700549B (zh) * 2016-01-21 2018-09-25 北京理工大学 一种基于序列小生境粒子群算法的无人机多航迹规划方法
CN105716618A (zh) * 2016-02-05 2016-06-29 哈尔滨工程大学 一种用于uuv航路规划的几何环境模型膨化处理方法
CN109359740B (zh) * 2018-11-02 2020-11-03 北京华如科技股份有限公司 基于多生境遗传算法的机动路径优选方法及存储介质
CN109765914A (zh) * 2019-03-12 2019-05-17 哈尔滨工程大学 一种基于滑窗粒子群的水面无人艇避碰方法
CN110320919B (zh) * 2019-07-31 2022-05-20 河海大学常州校区 一种未知地理环境中的巡回机器人路径优化方法
CN113473373B (zh) * 2021-06-08 2022-11-01 华侨大学 一种uwb室内定位方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360214A (zh) * 2011-09-02 2012-02-22 哈尔滨工程大学 一种基于萤火虫算法的舰船路径规划方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143030A1 (en) * 2005-07-27 2007-06-21 Clark Robert D Computer implemented method for aligning flexible molecules by performing ensemble alignment in the internal coordinate space followed by rigid body alignment in cartesian space

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360214A (zh) * 2011-09-02 2012-02-22 哈尔滨工程大学 一种基于萤火虫算法的舰船路径规划方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于蚁群算法的水下潜器三维空间路径规划;刘利强等;《系统仿真学报》;20080723;第20卷(第14期);第3712-3716页 *

Also Published As

Publication number Publication date
CN102855387A (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN102855387B (zh) 一种基于小生境粒子群的二维空间多路径规划方法
CN110442135B (zh) 一种基于改进遗传算法的无人艇路径规划方法及系统
CN109375625B (zh) 一种基于快速搜索遗传算法的智能船舶路径规划方法
CN110766254A (zh) 一种基于改进遗传算法的多无人机协同任务分配方法
Chen et al. Optimal time-consuming path planning for autonomous underwater vehicles based on a dynamic neural network model in ocean current environments
CN104050390B (zh) 一种基于可变维粒子群膜算法的移动机器人路径规划方法
CN110488859B (zh) 一种基于改进Q-learning算法的无人机航路规划方法
CN102788581B (zh) 一种基于改进的微分进化算法的船舶航路规划方法
CN105929848A (zh) 一种三维环境中的多无人机系统的航迹规划方法
CN105512769A (zh) 基于遗传规划的无人机航迹规划系统及方法
CN107169608A (zh) 多无人机执行多任务的分配方法及装置
CN106197426A (zh) 一种无人机应急通信路径规划方法及系统
CN106845716A (zh) 一种基于导航误差约束的水面无人艇局部分层路径规划方法
Zhang et al. 3D path planning and real-time collision resolution of multirotor drone operations in complex urban low-altitude airspace
MahmoudZadeh et al. Hybrid motion planning task allocation model for AUV’s safe maneuvering in a realistic ocean environment
CN109765890B (zh) 一种基于遗传算法的多usv群体协同避碰规划方法
Sui et al. ACO+ PSO+ A*: A bi-layer hybrid algorithm for multi-task path planning of an AUV
Mouhagir et al. Integrating safety distances with trajectory planning by modifying the occupancy grid for autonomous vehicle navigation
Sun et al. Intelligent flight task algorithm for unmanned aerial vehicle
CN110906935A (zh) 一种无人艇路径规划方法
CN105005823A (zh) 一种基于遗传算法的船舶分支管路路径规划方法
CN109931943A (zh) 无人船舶全局路径规划方法及电子设备
CN109445462A (zh) 一种非确定环境下的无人机鲁棒路径规划方法
Bye A receding horizon genetic algorithm for dynamic resource allocation: A case study on optimal positioning of tugs
Zhou et al. A system for the validation of collision avoidance algorithm performance of autonomous ships

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150617

Termination date: 20200806