一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进遗传算法的无人船航线规划方法与流程

2022-04-06 18:43:01 来源:中国专利 TAG:


1.本发明涉及无人船航线规划方法,具体涉及一种基于改进遗传算法的无人船航线规划方法。


背景技术:

2.航线规划是根据已知的起始点和目标点以及外部环境信息对路径进行规划,目的是规划出一条安全且高效的路径。航线规划起源于机器人领域,随着科技的不断发展,航线规划逐渐应用于无人船领域,并引起国内外相关科研人员的关注。
3.目前比较常见的无人船航线规划方法主要有遗传算法、粒子群算法、蚁群算法等等。由于粒子群(particle swarm optimization,pso)算法以及蚁群(ant colony optimization,aco)算法对初始化参数依赖性较大以及参数设置等方面大多依靠经验或者试错实验进行选取且极易陷入局部最优,导致pso和aco算法对于不同的情景下对路径性能优劣会有较大影响,并不适用于不同情境下的航线规划。
4.以上两种算法在解决多目标问题及组合优化问题时也存在着效率低且易陷入局部最优的缺陷。由于遗传算法相比于其他算法(pso、aco等)在解决多目标问题表现出很好的应能,故被广泛应用于航线规划系统。但是,传统遗传算法仍存在收敛效率不高、局部搜索能力差导致的“早熟”的现象。
5.本发明采用遗传算法作为基础航线规划方法,并对其进行改进以满足航线优化要求。


技术实现要素:

6.(一)要解决的技术问题
7.提出一种基于改进遗传算法的无人船航线规划方法,以克服传统遗传算法需要大量迭代,收敛效率低下,容易“早熟”的缺陷,并克服遗传算法路径点距离障碍物过近的缺陷,以提高遗传算法的安全性。
8.(二)技术方案
9.为了达到上述目的,本发明采用的主要技术方案包括:
10.一种基于改进遗传算法的无人船航线规划方法,包括:
11.步骤1、环境建模,建立无人船航行环境,所建立的环境包含阴影区域和空白区域,阴影区域表示障碍物,空白区域表示无人船可行走区域;
12.步骤2、设置无人船的起点和终点,起点和终点在所建立的环境地图内;
13.步骤3、使用改进遗传算法对无人船最优路径进行规划;
14.步骤3.1采用限制随机初始化种群对随机初始化种群加以限制,初始化为无碰撞的路径,提高初始种群质量;
15.步骤3.2计算所有个体目标函数值及适应度值;
16.步骤3.3将pareto算子和二元锦标赛算子相结合执行选择操作,采用pareto作为
主选择算子,二元锦标赛算子作为补充,使选择出来的个体为种群的一半;
17.步骤3.4采用八领域方法执行安全算子,将障碍物区域分为八邻域;
18.步骤3.5执行自适应交叉、变异操作;
19.步骤3.6判断是否达到最大迭代次数,如果是执行步骤3.7-3.8,否则执行步骤3.2;
20.步骤3.7使用删除算子以减少无效的路径点;
21.步骤3.8使用安全算子,对距离障碍物过近的路径点按照八邻域方法重新生成;
22.步骤3.1采用限制随机初始化种群,对随机初始化种群加以限制,初始化为无碰撞的路径,提高初始种群质量。其过程主要分为2步:首先根据染色体长度m生成一条从起点到终点的m 1个直线路径段,之后将在障碍物内的路径点限制随机初始化为不在障碍物内的路径点;其次判断两个路径点连线是否穿越障碍物,如果穿越障碍物,则对路径点采用限制随机初始化为连线不穿越障碍物的路径点,种群初始化公式如下所示:
[0023][0024][0025]
其中:
[0026][0027][0028][0029]
式中:(xi,yi)是路径点i的坐标;(xe,ye)是设置的边界坐标,其值决定着搜索范围;(xs,ys)是起始点坐标;(x
t
,y
t
)是终止点坐标;k是起始点和目标点组成的斜率;b是过等分点垂线与y轴截距;(xq,yq)是路径经过等分之后形成的坐标;a是过等分点与y轴的交点;c是过等分点与x轴交点;d是决定xi的最小取值;m是染色体长度;ri=[r
(i,1)
,r
(i,2)
]决定路径点变化范围,r
(i,1)
,r
(i,2)
变化范围分别由边界坐标确定。当计算的路径点在障碍物内或者两个路径点的连线穿越障碍物,则重新运行上述公式对路径点重新生成,直到生成满足条件的初始种群。
[0030]
步骤3.3执行选择操作包括:将pareto算子和二元锦标赛算子相结合执行选择操作,采用pareto作为主选择算子,二元锦标赛算子作为补充,使选择出来的个体始终为初始种群数量的一半;pareto-二元锦标赛选择算子的基本步骤如下:
[0031]
(1)设i=1;
[0032]
(2)对于所有种群j=1,2,.......,n,且j≠i,按照以上定义,比较种群xi和种群xj之间的支配与非支配关系;
[0033]
(3)当不存在任何一个种群xj在三个目标函数上优于xi时,则xi称为非支配个体,并将其选择下来;
[0034]
(4)令i=i 1,循环步骤(2)、(3),直到找到所有的非支配个体;
[0035]
(5)令j=j 1,再循环步骤(1)-(4),依此类推,直至循环至整个种群。值得注意的是将已经选择的非支配个体不再进行比较;
[0036]
(6)判断选择出来的个体数量是否为初始种群数量的一半,如果是一半则结束;否则执行步骤(7)-(8);
[0037]
(7)如果选择出来的个体数量大于初始种群数量的一半,从选择出来的个体中随机选择2个个体;如果选择出来的个体数量小于初始种群数量的一半,从剩余的初始种群中随机选择2个个体;然后将选择出来的两个个体中适应度值高的那个个体进入下一代种群;
[0038]
(8)重复步骤(7),直到选择出的个体数量为初始种群数量的一半;
[0039]
步骤3.4采用八领域方法执行安全算子,将障碍物区域分为八邻域;
[0040]
当路径点或者路径段的连线距离障碍物太近,不满足本发明设置的安全距离时,路径点应当根据障碍物邻域范围决定路径点变化方向;
[0041]
步骤3.5执行自适应交叉、变异操作包括:交叉方式采用双点交叉,当满足交叉概率时,在种群中随机选择两个个体,选择相同的部位进行交叉操作;采用改进自适应交叉和变异概率,引入自然e指数,在改进自适应交叉和变异概率中考虑迭代次数的影响,随着迭代次数的增加以及适应度函数不断趋于最优,交叉概率和变异概率在不断地减小以防止最优个体被破坏,其表达式为:
[0042][0043][0044]
式中:pc、pm分别为交叉概率和变异概率;p
cmax
、p
cmin
分别为交叉概率的最大值和最小值;p
mmax
、p
mmin
分别为变异概率的最大值和最小值;f
max
为种群中最优个体的适应度值;f
avg
为种群的平均适应度值;f为当前种群的适应度值;f

为两个种群进行交叉操作时,适应度值较大者的适应度值;λ是衰减系数;i是当前迭代次数;i
max
是最大迭代次数;
[0045]
步骤3.7使用删除算子以减少无效的路径点包括:当路径附近并没有出现障碍物却出现了路径转折,删除折线路径点后,其邻近的两折点相连得到的路径段是可行的则删
除此路径点,否则不作操作。
[0046]
步骤3.8使用安全算子,对距离障碍物过近的路径点按照八邻域方法重新生成;当经过删除算子后,可能会导致路径点或者路径段的连线距离障碍物太近。因此,当路径点或者路径段的连线距离不满足本发明设置的安全距离时,路径点应当根据障碍物邻域范围决定路径点变化方向;
[0047]
(三)有益效果
[0048]
本发明的有益效果是:
[0049]
1、使用限制随机初始化种群,克服了遗传算法收敛速度慢、效率低的不足;
[0050]
2、采用自适应交叉和变异概率,克服了遗传“早熟”的缺陷;
[0051]
3、采用安全算子,克服了路径段距离障碍物过近的缺陷;
[0052]
4、采用删除算子,克服了路径段冗余;
附图说明
[0053]
图1是一种基于改进遗传算法的无人船航线规划方法流程图;
[0054]
图2是障碍物八邻域区域示意图;
[0055]
图3是删除算子示意图;
[0056]
图4是路径仿真图;
[0057]
图5是适应度函数变化曲线;
[0058]
图6是路径长度变化曲线;
[0059]
图7是平滑度变化曲线;
具体实施方式
[0060]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。
[0061]
本发明实例所使用的所有技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明实施例中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本发明实例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0062]
本发明提供一种基于改进遗传算法的无人船航线规划方法如图1所示,具体步骤如下:
[0063]
步骤1、环境建模,建立无人船航行环境,所建立的环境包含阴影区域和空白区域,阴影区域表示障碍物,空白区域表示无人船可行走区域;
[0064]
步骤2、设置无人船的起点和终点,起点和终点在所建立的环境地图内;
[0065]
步骤3、使用改进遗传算法对无人船最优路径进行规划;
[0066]
步骤3.1采用限制随机初始化种群对随机初始化种群加以限制,初始化为无碰撞的路径,提高初始种群质量;
[0067]
步骤3.2计算所有个体目标函数值及适应度值;
[0068]
步骤3.3将pareto算子和二元锦标赛算子相结合执行选择操作,采用pareto作为主选择算子,二元锦标赛算子作为补充,使选择出来的个体为种群的一半;
[0069]
步骤3.4采用八领域方法执行安全算子,将障碍物区域分为八邻域;
[0070]
步骤3.5执行自适应交叉、变异操作;
[0071]
步骤3.6判断是否达到最大迭代次数,如果是执行步骤3.7-3.8,否则执行步骤3.2;
[0072]
步骤3.7使用删除算子以减少无效的路径点;
[0073]
步骤3.8使用安全算子,对距离障碍物过近的路径点按照八邻域方法重新生成;
[0074]
在本发明的一个实施例中,设置的起始点和目标点参数分别为:(0,0)、(1700,1200);设置改进遗传算法的基本参数有初始种群数量为300;染色体长度为35;最大迭代次数为200;边界线为(1700,700);交叉最大、最小概率分别为:0.9,0.5;变异最大、最小概率分别为0.25,0.06;衰减系数为0.1。
[0075]
步骤3.1采用限制随机初始化种群,对随机初始化种群加以限制,初始化为无碰撞的路径,提高初始种群质量;
[0076]
在本发明的一个实施例中,其过程主要分为2步:首先根据染色体长度m生成一条从起点到终点的m 1个直线路径段,之后将在障碍物内的路径点限制随机初始化为不在障碍物内的路径点;其次判断两个路径点连线是否穿越障碍物,如果穿越障碍物,则对路径点采用限制随机初始化为连线不穿越障碍物的路径点,种群初始化公式如下所示:
[0077][0078][0079]
其中
[0080][0081][0082][0083]
式中:(xi,yi)是路径点i的坐标;(xe,ye)是设置的边界坐标,其值决定着搜索范围;(xs,ys)是起始点坐标;(x
t
,y
t
)是终止点坐标;k是起始点和目标点组成的斜率;b是过等分点垂线与y轴截距;(xq,yq)是路径经过等分之后形成的坐标;a是过等分点与y轴的交点;c
是过等分点与x轴交点;d是决定xi的最小取值;m是染色体长度;ri=[r
(i,1)
,r
(i,2)
]决定路径点变化范围,r
(i,1)
,r
(i,2)
变化范围分别由边界坐标确定。
[0084]
当计算的路径点在障碍物内或者路径段穿越障碍物,则重新运行上述公式对路径点重新生成,直到生成满足条件的种群。本发明初始化方式即保留了随机初始化种群的多样性的优势又克服了定向初始化种群多样性的不足,提高了初始种群质量以及种群搜索效率。
[0085]
步骤3.2计算所有个体目标函数值及适应度值;
[0086]
在本发明的一个实施例中,对于航线规划来说要求无人船在满足安全航行的前提下路径最短以减少能源的消耗,同时由于无人船操纵性能的限制在大转弯的地方,无人船可能跟踪不上,因此,要求路径平缓一些。因此目标函数应当包含安全性、经济性和光滑性三个部分。
[0087]
(一)安全性
[0088]
无人船在航行过程中避免与其他障碍物相撞,必须与障碍物保持一定的距离。通过判断与障碍物的距离可以判断出无人船的安全情况,表达式如下:
[0089][0090][0091]
式中:di代表无人船在整个航行过程中路径段i距离障碍物(x0,y0)的距离。
[0092]
(二)经济性
[0093]
为满足经济性的目标,要求从路径的起始点到终点总路径最短,即各个路径段之间距离和最小,其表达示如下:
[0094][0095]
注意:(x1,y1)是起始点,(x
m 2
,y
m 2
)是终止点,(xi,yi),i=2,3,...,m 1是路径点。
[0096]
(三)平滑性
[0097]
无人船在按照规划的路径航行时,在路径点进行转向避让,为满足较优的路径平滑度并防止由于无人船操纵性能的限制在大转弯的地方无人船跟踪不上的缺陷。因此,尽量保证转向点处的拐角值较小,计算公式如下:
[0098][0099]
其中,
[0100]
[0101]
式中:ai表示第i个路径段长度;b
i 1
表示第i 1个路径段长度;ci表示ai和b
i 1
形成的第三边的长度;p
i,:
i=2,3,...,m 1是第i个路径点坐标,p
1,:
是起始点坐标,p
m 2,:
是终止点坐标。
[0102]
在目标函数建立之后,需要建立适应度函数对规划出的航线进行评价,所有个体的适应度评价函数计算公式为:
[0103][0104]
式中:norm(
·
)表示将
·
归一化为0~1的数,具体公式为:
[0105][0106]
步骤3.3将pareto算子和二元锦标赛算子相结合执行选择操作,采用pareto作为主选择算子,二元锦标赛算子作为补充,使选择出来的个体为种群的一半;
[0107]
在本发明的一个实施例中,执行选择操作方法包括:将pareto算子和二元锦标赛算子相结合执行选择操作,采用pareto作为主选择算子,二元锦标赛算子作为补充,使选择出来的个体始终为初始种群数量的一半;pareto-二元锦标赛选择算子的基本步骤如下:
[0108]
(1)设i=1;
[0109]
(2)对于所有种群j=1,2,.......,n,且j≠i,按照以上定义,比较种群xi和种群xj之间的支配与非支配关系;
[0110]
(3)当不存在任何一个种群xj在三个目标函数上优于xi时,则xi称为非支配个体,并将其选择下来;
[0111]
(4)令i=i 1,循环步骤(2)、(3),直到找到所有的非支配个体;
[0112]
(5)令j=j 1,再循环步骤(1)-(4),依此类推,直至循环至整个种群。值得注意的是将已经选择的非支配个体不再进行比较;
[0113]
(6)判断选择出来的个体数量是否为初始种群数量的一半,如果是一半则结束;否则执行步骤(7)-(8);
[0114]
(7)如果选择出来的个体数量大于初始种群数量的一半,从选择出来的个体中随机选择2个个体;如果选择出来的个体数量小于初始种群数量的一半,从剩余的初始种群中随机选择2个个体;然后将选择出来的两个个体中适应度值高的那个个体进入下一代种群;
[0115]
(8)重复步骤(7),直到选择出的个体数量为初始种群数量的一半;
[0116]
步骤3.4采用八领域方法执行安全算子,将障碍物区域分为八邻域;
[0117]
在本发明的一个实施例中,引入安全算子对距离障碍物较近的路径点进行处理,使其转换为有效的可行路径,从而保证无人船能够安全行驶。为判断路径点应当如何变化才能满足安全标准,将障碍物周围的区域分为八邻域,如图2所示,其中箭头代表路径点的变化方向。例如,当路径点落在1区域时,对路径点坐标向左上方移动;在2区域时,路径点坐标向正上方移动;在3区域时,向右上方移动;同样地在4、5、6、7、8区域时向所在的区域方向移动。本发明认为当路径点距离障碍物的距离小于3倍船长时进行安全操作,具体公式如下:
[0118]
d=3
×
k1×
k2×
l
[0119]
式中:d为允许安全行驶的最小距离;k1由能见度情况决定,一般为1,当海况不好时,可以适当增大一些;k2由通航密度决定,一般为1,当障碍物比较密集时,k2可以适当调小一些;l为船长。
[0120]
步骤3.5执行自适应交叉、变异操作;
[0121]
在本发明的一个实施例中,交叉方式采用双点交叉,当满足交叉概率时,在种群中随机选择两个个体,选择相同的部位进行交叉操作;采用改进自适应交叉和变异概率,引入自然e指数,在改进自适应交叉和变异概率中考虑迭代次数的影响,随着迭代次数的增加以及适应度函数不断趋于最优,交叉概率和变异概率在不断地减小以防止最优个体被破坏,其表达式为:
[0122][0123][0124]
式中:pc、pm分别为交叉概率和变异概率;p
cmax
、p
cmin
分别为交叉概率的最大值和最小值;p
mmax
、p
mmin
分别为变异概率的最大值和最小值;f
max
为种群中最优个体的适应度值;f
avg
为种群的平均适应度值;f为当前种群的适应度值;f

为两个种群进行交叉操作时,适应度值较大者的适应度值;λ是衰减系数;i是当前迭代次数;i
max
是最大迭代次数。
[0125]
步骤3.7使用删除算子以减少无效的路径点
[0126]
在本发明的一个实施例中,在进行最后一次迭代时会产生包含一定路径段数量的染色体形成的路径。这些路径段中有一些是无用的甚至会影响路径长度,同时为提高算法跟踪效率,因此采用删除算子剔除掉这些路径段。删除操作在缩短了个体的路径长度的同时,增强了路径的可行性,减少了路径段的冗余。当路径附近并没有出现障碍物却出现了路径转折,删除折线路径点后,其邻近的两折点相连得到的路径段是可行的则删除此路径点,否则不作操作。如图3所示,删除4节点路径是可行的并且路径会变短,因此4节点冗余可以删除。
[0127]
步骤3.8使用安全算子,对不满足安全距离的路径点进行重新生成;
[0128]
在本发明的一个实施例中,在进行最后一次迭代结束使用删除算子之后,有可能导致路径段穿越或者距离障碍物太近,因此需要再经过安全算子以对不满足路径要求的路径段重新生成。
[0129]
图4是路径仿真图。矩形代表静态障碍物。实线是基于遗传算法规划出的一条直线,虚线是经过删除算子之后产生的路径;点画线是在经过删除算子和安全算子产生的路径。从图中可以看出实线虽然平滑度较高,但是路径较长,转弯次数较多,会导致无人船出现多次的无效转弯,对于有些密集的路径点可能会导致无人船跟踪不上;虚线相比于实线路径短些,转弯次数少,只经过了3次大角度转弯,但是在第二个和第三个路径段距离障碍物比较近,这可能导致无人船在进行跟踪时与障碍物相撞;点画线经过安全算子之后距离障碍物较远,虽然牺牲了路径长度,但是安全度比较高。
[0130]
图5是适应度函数变化曲线,从图中可以看出在迭代50次左右时,适应度函数稳定在21左右,意味着此时已经达到最优值。
[0131]
图6是路径长度变化曲线,从图中可以看出路径长度最终在稳定在2400m出震荡。
[0132]
图7是平滑度变化曲线,从图中可以看出平滑度最终稳定在4.7rad左右。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献