一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法及系统与流程

文档序号:19286439发布日期:2019-11-29 23:36阅读:328来源:国知局
一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法及系统与流程

本公开属于无人艇路径规划的技术领域,涉及一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

近年来,无人艇(usv)的发展引起了全世界的关注,无人艇的路径规划问题是一个典型的np困难问题。智能算法是解决无人艇的路径规划问题的有效途径,其中遗传算法,模拟退火算法,蚁群算法、灰狼优化算法和神经网络算法等启发式算法的研究是现阶段发展的主流。

与其他智能算法相比,遗传算法(ga)允许在结构对象上直接操作,而无需对导数和函数连续性进行限制的特点使得该算法具有更便捷的操纵性和更好的全局搜索能力。此外,ga避免了固化的通过利用率获取最佳搜索空间和搜索方向的问题。由于遗传算法的快速性和高质量,其已成为解决np难题的最有效方法之一。

然而,发明人在研究过程中发现,传统的遗传算法(cga)在解决无人艇的路径规划问题中存在遗传算法收敛速度慢、计算效率低、容易出现早熟收敛(局部最优)的问题。



技术实现要素:

针对现有技术中存在的不足,本公开的一个或多个实施例提供了一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法及系统,通过数据正向驱动线性变参数遗传算法或数据反向驱动线性变参数遗传算法,自适应动然调整交叉概率和变异概率,有效快速遍历所有候选方案,在更广阔的领域找到最优路径,同时具有较短的最优路径、较快的收敛速度和较好的鲁棒性。

根据本公开的一个或多个实施例的一个方面,提供一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法。

一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法,该方法包括:

接收无人艇的导航数据、船舶日志和状态信息;

将导航数据转换坐标系并绘制坐标图,在坐标图中标记目标点和无人艇实时位置;

采用数据正向驱动线性变化参数遗传算法或数据正向驱动线性变化参数遗传算法生成无人艇路径规划的最优轨迹。

进一步地,无人艇的所述导航数据为无人艇导航系统采集的经纬度数值,所述将导航数据转换坐标系并绘制坐标图的具体步骤包括:

将无人艇导航系统采集的经纬度数值转换为直角坐标系坐标值;

基于直角坐标系绘制当前海面环境坐标图。

进一步地,在该方法中,所述采用数据正向驱动线性变化参数遗传算法生成无人艇路径规划的最优轨迹的具体步骤包括:

进行参数初始化,所述参数包括种群规模、最大迭代次数、当前迭代次数、交叉概率和变异概率;

确定染色体长度并对任务序列进行编码生成初始种群;

计算适应度值,并对初始种群进行排序;

计算自适应交叉概率和变异概率,随着迭代次数的增加,交叉概率从0.9线性递减到0.1,变异概率从0.001线性递增到0.1;

根据自适应交叉概率和变异概率对染色体进行自适应交叉、变异操作;

判断是否满足迭代终止条件;

若满足迭代终止条件,从各迭代保留结果中选择最优个体作为正向驱动线性变化参数遗传算法的最优解,否则继续迭代。

进一步地,在该方法中,根据当前迭代次数与交叉概率最终值和初始值差值的乘积除以最大迭代次数与交叉概率的初始值的和计算自适应交叉概率;

根据当前迭代次数与变异概率最终值和初始值差值的乘积除以最大迭代次数与变异概率的初始值的和计算自适应变异概率。

进一步地,在该方法中,所述采用数据反向驱动线性变化参数遗传算法生成无人艇路径规划的最优轨迹的具体步骤包括:

进行参数初始化,所述参数包括种群规模、最大迭代次数、当前迭代次数、交叉概率和变异概率;

确定染色体长度并对任务序列进行编码生成初始种群;

计算适应度值,并对初始种群进行排序;

计算自适应交叉概率和变异概率,随着迭代次数的增加,交叉概率从0.1线性增加到0.9,而变异概率从0.001线性递增到0.1;

根据自适应交叉概率和变异概率对染色体进行自适应交叉、变异操作;

判断是否满足迭代终止条件;

若满足迭代终止条件,从各迭代保留结果中选择最优个体作为正向驱动线性变化参数遗传算法的最优解,否则继续迭代。

进一步地,在该方法中,根据最大迭代次数和当前迭代次数差值与交叉概率最终值和初始值差值的乘积除以最大迭代次数与交叉概率的初始值的和计算自适应交叉概率;

根据当前迭代次数与变异概率最终值和初始值差值的乘积除以最大迭代次数与变异概率的初始值的和计算自适应变异概率。

进一步地,该方法还包括,将无人艇路径规划的最优轨迹整合船舶日志和状态信息,获得无人艇的航行轨迹以及与目标点之间的距离和偏转角度,用于控制舵机进行航迹偏移修正及船速调整。

根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。

一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法。

根据本公开的一个或多个实施例的一个方面,提供一种终端设备。

一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法。

根据本公开的一个或多个实施例的一个方面,提供一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划装置。

一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划装置,基于所述的一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法,包括:

数据获取模块,被配置为接收无人艇的导航数据、船舶日志和状态信息;

数据处理模块,被配置为将导航数据转换坐标系并绘制坐标图,在坐标图中标记目标点和无人艇实时位置,整合船舶日志和状态信息;

路径规划模块,被配置为采用数据正向驱动线性变化参数遗传算法或数据正向驱动线性变化参数遗传算法生成无人艇路径规划的最优轨迹。

公开的有益效果:

本公开提供的一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法及系统,克服传统遗传算法收敛速度慢、计算效率低、容易出现早熟收敛(局部最优)等缺点,与cga算法相比,两种改进算法都能有效地避免局部最优,在以后的迭代过程中保持更高的种群多样性,减少平均最优距离,并具有更好的鲁棒性,特别是对于规划点较多的情况下。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1是本公开一个或多个实施例提供的一种基于数据正向驱动线性变参数遗传算法的无人艇路径规划方法流程图;

图2是本公开一个或多个实施例提供的遗传算法流程图;

图3是本公开一个或多个实施例提供的五种待规划点数下的最优路径对图;

图4是本公开一个或多个实施例提供的最优路径距离与待规划点数的平均路径距离图;

图5是本公开一个或多个实施例提供的五最优路径距离与待规划点数的最优路径距离的方差图;

图6是本公开一个或多个实施例提供的最佳路径距离与具有五种种群数量的蒙特卡罗模拟数量的比较图;

图7是本公开一个或多个实施例提供的最佳路径距离与总体大小的平均值比较图;

图8是本公开一个或多个实施例提供的最佳路径距离与总体大小的平均值和方差值比较图;

图9是本公开一个或多个实施例提供的50个规划点下三种算法的收敛曲线图;

图10是本公开一个或多个实施例提供的50个规划点下三种算法的最优路径图;

图11是本公开一个或多个实施例提供的usv测试时四个规划点的最佳轨迹图。

具体实施方式:

下面将结合本公开的一个或多个实施例中的附图,对本公开的一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合,下面结合附图与实施例对本公开作进一步说明。

传统遗传算法(cga):传统遗传算法(cga)选择实数编码的方法,使用带有访问城市序列号的字符串来表示每条染色体。遗传参数,例如种群大小、交叉和突变概率,通常据经验定义。在确定优化问题后,随机生成具有一定规模的候选解的初始总体。适应性函数为1/len(len代表每条染色体的相对路径长度),用于评估每个个体的适应性,更适合的个体将在繁殖中存活下来。然后,该算法通过交叉、变异和选择的迭代操作来提高种群数量,如果满足某个标准或达到最大迭代次数,则进化过程将终止。

在cga中,交叉主要用于连接两条父染色体,这些染色体被确定的断裂点分开,并产生两个具有一定交叉概率(pc)的后代。突变主要用于交换染色体上随机选择的两个突变点上的基因位置,且突变的发生具有一定的突变概率(pm)。应该指出的是,交叉使染色体相似,有助于种群的收敛;而突变增大遗传多样性,使算法在局部最优的情况下能进一步扩展种群数。

实施例一

如图1所示,一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法,该方法包括:

一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法,该方法包括:

步骤s1:接收无人艇的导航数据、船舶日志和状态信息;

步骤s2:将导航数据转换坐标系并绘制坐标图,在坐标图中标记目标点和无人艇实时位置;

步骤s3:采用数据正向驱动线性变化参数遗传算法或数据正向驱动线性变化参数遗传算法生成无人艇路径规划的最优轨迹。

步骤s4:将无人艇路径规划的最优轨迹整合船舶日志和状态信息,获得无人艇的航行轨迹以及与目标点之间的距离和偏转角度,用于控制舵机进行航迹偏移修正及船速调整。

在本实施例的步骤s1中,无人艇的所述导航数据为无人艇导航系统采集的经纬度数值。

在本实施例的步骤s2中,所述将导航数据转换坐标系并绘制坐标图的具体步骤包括:

将无人艇导航系统采集的经纬度数值转换为直角坐标系坐标值;

基于直角坐标系绘制当前海面环境坐标图。

在本实施例中,为了避免cga中pc和pm控制参数确定的主观性,对a.ratnaweera等人提出的“时变加速度系数”概念进行了改进。在最初的迭代中使用了一个较大的个体认知系数和一个较小的社会认知系数,以允许粒子尽可能的搜索更大空间,避免算法收敛到局部最优。随着时间的推移,个体认知系数减少,而社会认知系数增加,以保证算法能成功收敛在可控区间内,避免算法遭遇无法收敛的情况。

在本实施例的步骤s3中,遗传算法的遗传算子参数随迭代次数线性变化。根据数据驱动的方向,改进分为两类,即正向型(lcpga)和反向型(rlcpga)。这两种类型都可以帮助个体遍历所有候选解,并在广泛的领域中找到最优解。

在lcpga中,pc和pm的初始值分别在0.1-0.9和0.001-0.1范围内变化。随着迭代次数的增加,pc从0.9线性递减到0.1,而pm从0.001线性递增到0.1。方程式(1)和(2)分别表示更新pc和pm值的数学相关性:

pc(k)=pcs+k*(pce-pcs)/maxden(1)

pm(k)=pms+k*(pme-pms)/maxden(2)

其中下标e和s分别表示pc和pm的最终值和初始值,k表示当前的迭代数,maxgen表示最大迭代次数。图2显示了改进的算法的在流程中的具体作用位置。

所述采用数据正向驱动线性变化参数遗传算法生成无人艇路径规划的最优轨迹的具体步骤包括:

步骤s3-1:进行参数初始化,所述参数包括种群规模、最大迭代次数、当前迭代次数、交叉概率和变异概率;设置种群规模n、最大迭代次数maxgen、当前迭代次数k、初始交叉概率pc、初始变异概率pm;

步骤s3-2:确定染色体长度并对任务序列进行编码生成初始种群;采用实数形式编码任务序列,随机产生u中的n个染色体s1,s2,...,sn组成初始种群s={s1,s2,...,sn}置代数计数器g=1;

步骤s3-3:计算适应度值,并对初始种群进行排序;适应度函数定义为1/len,其中len代表每条染色体的相对路径长度。根据计算所得适应度值对初始种群进行排序。

步骤s3-4:计算自适应交叉概率和变异概率,随着迭代次数的增加,交叉概率从0.9线性递减到0.1,变异概率从0.001线性递增到0.1;

设计了一种自适应交叉、变异算子,因为在算法初期需要产生足够多的新染色体以保证最优个体的存在概率,此时选择较大的pc可以帮助产生新的个体;当算法进行到后期时,种群中个体适应度趋于一致时,种群容易陷入局部最优,此时种群多样性较差,选择较大的pm可以增加新个体产生的概率,有利于种群跳出局部最优。因此,根据当前迭代次数与交叉概率最终值和初始值差值的乘积除以最大迭代次数与交叉概率的初始值的和计算自适应交叉概率;根据当前迭代次数与变异概率最终值和初始值差值的乘积除以最大迭代次数与变异概率的初始值的和计算自适应变异概率。采用下式具体计算自适应交叉概率和变异概率:

pc(k)=pcs+k*(pce-pcs)/maxden(1)

pm(k)=pms+k*(pme-pms)/maxden(2)

式中,下标e和s分别表示pc和pm的最终值和初始值,k表示当前的迭代数,maxgen表示最大迭代次数。

步骤s3-5:根据自适应交叉概率和变异概率对染色体进行自适应交叉、变异操作;计算所得到的交叉概率和变异概率后,对染色体进行自适应交叉、变异操作。为保证每条染色体中的基因码出现且仅出现一次,交叉算子采用循环交叉算子,变异算子采用基因对换变异算子。计算新子代的适应度值,根据该值重新排序,获得新的种群进入终止条件判断。

步骤s3-6:判断是否满足迭代终止条件;迭代终止条件设定为满足某一工况需求或迭代次数达到最大。若不满足终止条件,则迭代次数加一,转步骤s3-3;若满足则转步骤s3-7。

步骤s3-7:从各迭代保留结果中选择最优个体作为正向驱动线性变化参数遗传算法的最优解并输出,整个算法结束。

研究发现,一旦一个优秀个体出现在lcpga中,随着迭代的进行,群体中的其他个体有接近优秀个体的倾向。同时,当迭代接近尾声时,个体之间的差异不断减小,pc处于一个较低的水平,一定程度上降低了算法的种群多样性。如果此时的最优个体是局部最优,则该算法最终可能达到局部最优,这种现象对于多模态函数的路径规划问题尤为显著。

通过对交叉概率的调整,较高的pc可能产生更多的“子”染色体,从而增强了局部搜索的能力,提高了算法向全局最优收敛的能力。另一方面,较低的pc可以直接将“父”染色体转换为“子”染色体,而无需交叉操作,这有助于保持“父”代的多样性,并确保在初始迭代期间具有理想的全局搜索能力。

因此,基于时变动态控制pc的概念提出了数据反向驱动型遗传算法(rlcpga),如图2所示,pc和pm的初始值分别设置在0.1~0.9和0.001~0.1范围内。随着迭代的进行,pc从0.1线性增加到0.9,pm从0.001线性增加到0.1。理论上,一个较小的pc和一个较大的pm在开始迭代时将有助于保持初始群体的多样性,并帮助个体遍历所有候选解决方案。同时,在迭代后期,一个较大的pc和一个较小的pm将有助于个体以更快的收敛速度围绕全局最优点进行集群。

pc和pm在每次迭代中的更新公式如下所示:

pc(k)=pcs+(maxgen-k)*(pce-pcs)/maxgen(3)

rm(k)=pms+k*(pme-pms)/maxgen(4)

式(3)表明,根据迭代序列号,pc值可以自适应优化。为了保护随机生成群体的多样性,提高全局搜索的能力,pc在初始迭代中是很小的,当所有个体都趋向于与不断增加的迭代保持一致时,pc会增加,局部搜索的能力随之增强。

在本实施例的步骤s3中,所述采用数据反向驱动线性变化参数遗传算法生成无人艇路径规划的最优轨迹的具体步骤包括:

c1、参数初始化。设置种群规模n、最大迭代次数maxgen、当前迭代次数k、初始交叉概率pc、初始变异概率pm;

c2、确定染色体长度并对任务序列进行编码生成初始种群;采用实数形式编码任务序列,随机产生u中的n个染色体s1,s2,...,sn组成初始种群s={s1,s2,...,sn}置代数计数器g=1;

c3、适应度值的计算。适应度函数定义为1/len,其中len代表每条染色体的相对路径长度。根据计算所得适应度值对初始种群进行排序。

c4、对染色体进行自适应交叉、变异操作。通过对交叉概率的调整,较高的pc可能产生更多的“子”染色体,从而增强局部搜索的能力,提高了算法向全局最优收敛的能力。另一方面,较低的pc可以直接将“父”染色体转换为“子”染色体,而无需交叉操作,这有助于保持“父”代的多样性,并确保在初始迭代期间具有理想的全局搜索能力。因此,基于时变动态控制pc的概念提出了数据反向驱动型遗传算法(rlcpga),pc和pm的初始值分别设置在0.1~0.9和0.001~0.1范围内。随着迭代的进行,根据迭代序列号,pc值可以自适应优化。为了保护随机生成群体的多样性,提高全局搜索的能力,pc在初始迭代中是很小的,当所有个体都趋向于与不断增加的迭代保持一致时,pc会增加,局部搜索的能力随之增强。

根据最大迭代次数和当前迭代次数差值与交叉概率最终值和初始值差值的乘积除以最大迭代次数与交叉概率的初始值的和计算自适应交叉概率;

根据当前迭代次数与变异概率最终值和初始值差值的乘积除以最大迭代次数与变异概率的初始值的和计算自适应变异概率。

pc和pm在每次迭代中的更新公式如下所示:

pc(k)=pcs+(maxgen-k)*(pce-pcs)/maxgen(3)

pm(k)=pms+k*(pme-pms)/maxgen(4)

式中下标e和s分别表示pc和pm的最终值和初始值,k表示当前的迭代数,maxgen表示最大迭代次数。

c5、计算所得到的交叉概率和变异概率后,对染色体进行自适应交叉、变异操作。为保证每条染色体中的基因码出现且仅出现一次,交叉算子采用循环交叉算子,变异算子采用基因对换变异算子。计算新子代的适应度值,根据该值重新排序,获得新的种群进入终止条件判断。

c6、迭代终止条件判断。迭代终止条件设定为满足某一工况需求或迭代次数达到最大。若不满足终止条件,则迭代次数加一,转c3;若满足则转c7。

c7、从各迭代保留结果中选择最优个体作为反向驱动线性变化参数遗传算法的最优解并输出,整个算法结束。

表1.五种待规划点数下最优路径的均值和方差

如表1所示,从规划点的数量角度比较了cga、lcpga和rlcpga对路径规划的影响。规划点数(p)考虑了5个不同种群大小的方案,具体种群数方案如:10、20、30、40和50。此外,每个算法的总体大小s和最大迭代次数分别设置为100和1000。为了获得路径规划的结果,对每个算法和工作条件进行了100次蒙特卡罗模拟实验。

图3显示了针对不同算法的蒙特卡罗模拟次数(n)和最佳路径距离(d)的分布。其中左列、中列和右列数字的蓝色符号分别代表cga、lcpga和rlcpga计算所得的数据。此外,100次模拟的平均值在每个图中用红线表示。结果表明,随着p值的增加,符号在平均线上的分布范围越来越大,直线的纵坐标值也越来越大。当p设置为10时,没有明显的差异,而随着p的增加,与cga相比,lcpga和rlcpga的结果更接近平均线。此外,在相同的工作条件下,两种改进算法的平均线明显低于cga算法的平均线。

如图4和图5所示,给出了不同算法所得最优路径距离的平均值(d)和方差(v),从定量角度比较不同算法的路径规划能力。如图4所示,当p为10时,三种算法的平均路径值没有明显差异,说明当规划点数较小时,计算难度较小,三种算法均能稳定计算出当前的最优路径值。当p为20时,cga计算所得平均值大于另外两种算法,且随着p的增加,cga与另外两种算法的间隙有增加的趋势。当p为50时,出现最大相对间隙为30%。结果表明,两种优化算法在规划最优路径的距离时,无论规划的点数是多少,其性能基本相同,且均优于传统算法。

计算方差以显示数据集与平均值之间的分布距离,并反映算法的鲁棒性。如图5所示,当p设置为10时,不同算法的方差没有显著差异。此外,在所有工作条件下,lcpga和rlcpga的方差曲线存在的差异可以忽略。比较表明,两种改进算法的方差曲线均具有与p相似的增长趋势,其值明显低于cga。结果表明,当p值为50时,相对间隙最大,且最大相对间隙达到90%。此外,与其他算法相比,rlcpga的方差曲线保持在最低水平。这意味着rlcpga是目前研究中最稳定、最可靠的规划点数算法。表1给出了每个算法和每个工作条件的和v的详细值。

表2.五种种群数量下最优路径的均值和方差

如表2所示,将考虑5种种群数量(20、30、60、80和100)下两种改进算法的路径规划性能。每个算法的规划点数和最大迭代次数分别设置为50和1000,对每个算法进行100次蒙特卡罗模拟。

如图6所示,显示了针对不同种群数量(s)在不同模拟数(n)下的最佳路径距离(d)100次蒙特卡罗实验,模拟数据在平均线附近分散。结果表明,对于五种不同的种群数量,改进算法中的模拟数据与cga中的数据相比更接近于平均线,且lcpga和rlcpga算法的平均线明显低于cga。然而,两种改进算法的数据分散程度和最优路径平均值之间的差异较微小,无法从图5中直接看出,因此,必须根据平均值d和方差v呈现定量结果,如图7和图8所示。

如图7所示,当s=20时,cga曲线与其他两种改进算法之间存在明显的间隙,其中最大相对间隙为42%。据观察,随着种群数量的增加,差距减小。与图3相似,lcpga和rlcpga的平均值几乎没有差异。此外,还发现cga的平均路径距离明显受种群大小的影响,随着s的增加,其路径距离减小。然而,无论总体大小如何,两种改进算法在规划最优路径的距离方面都具有相似且理想的性能。

如图8所示,各种群规模的cga方差均保持在0.5m2以上的最高水平,并随s的增加而下降,同时改进算法的方差曲线具有相似的振荡趋势,但方差值始终小于0.1。研究发现,总体大小对改进算法的影响是不规则的。除s=10外,rlcpga的方差总是小于lcpga的方差。例如,当s=100时,改进算法的方差相对差为28%。对于大多数种群数量来说(s=40~100),rlcpga比其他算法表现出更稳定和可靠的性能。表2给出了每种算法和总体大小的d和v的详细差异。

表3.各算法的计算效率对比

如表3所示,利用50个随机选择的规划点,比较了三种算法的计算效率。选择了两个评价算法计算效率的主要指标:时间消耗和收敛速度。前者是指完成最大迭代次数所需的时间成本,后者是指解决方案达到收敛水平的临界迭代次数(ncri)。最大迭代次数和种群大小分别设置为1000和100。图9显示了每种算法的最优路径距离与迭代的收敛历史。同时,各算法解的详细信息见表3。

如图9所示,随着迭代次数的增加,每个算法的路径距离(d)逐渐优化为更短,然后在临界数(ncri)处收敛到稳定水平,最终达到全局最优。相比之下,在整个计算过程中,rlcpga的曲线处于最低水平,具有最快的收敛速度和最小的临界数。rlcpga收敛于ncri=318,比cga和lcpga分别快52.5%和6.2%。然而,在完成相同的迭代次数时,rlcpga和lcpga的时间消耗分别比cga高9.8%和9.0%。因此,需要注意的是,改进后的算法大大降低了计算时间成本,实现了最优路径距离的减小,提高了算法的鲁棒性。此外,图10给出了每个算法设计的50个规划点的轨迹。横坐标和纵坐标分别代表每个规划点的经纬度值,起点围在红色矩形内,箭头代表规划路径的走向。可以发现,在图10中,只有cga生成的轨迹具有明显的路径交叉现象,这就是为什么在相同条件下生成的路径距离比其他算法长的原因。但同时,改进算法的优点在有效避免路径交叉、简化路径形状等方面表现得更为明显。

实施例二

根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。

一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法。

实施例三

根据本公开的一个或多个实施例的一个方面,提供一种终端设备。

一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法。

这些计算机可执行指令在设备中运行时使得该设备执行根据本公开中的各个实施例所描述的方法或过程。

在本实施例中,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

本公开所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开内容操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开内容的各个方面。

实施例四

根据本公开的一个或多个实施例的一个方面,提供一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划装置。

一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划装置,基于所述的一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法,包括:

数据获取模块,被配置为接收无人艇的导航数据、船舶日志和状态信息;

数据处理模块,被配置为将导航数据转换坐标系并绘制坐标图,在坐标图中标记目标点和无人艇实时位置,整合船舶日志和状态信息;

路径规划模块,被配置为采用数据正向驱动线性变化参数遗传算法或数据正向驱动线性变化参数遗传算法生成无人艇路径规划的最优轨迹。

该装置还包括自动驾驶模块,被配置为将无人艇路径规划的最优轨迹整合船舶日志和状态信息,获得无人艇的航行轨迹以及与目标点之间的距离和偏转角度,用于控制舵机进行航迹偏移修正及船速调整。

收据数据获取模块接收导航数据处理子系统采用电子罗盘和gps传感器等多种传感器来获取的船首方向和位置数据。导航数据与船舶日志和状态信息一起实时存储。然后,对所有信息进行处理并传递到路径规划模块,在该路径规划模块中应用遗传算法生成最优轨迹。根据计划的航路点,自动驾驶仪采用闭环控制器来确定usv的航向和速度。此外,还采用了基于springmvc框架的图形用户界面编译程序,对个人计算机中的所有数据进行处理和记录。以gprs无线网络作为usv与个人计算机之间的通信单元,有效距离为5公里,传输速度为1-100mbps。

在本实施例中,通过包含该装置的usv进行测试,每个算法的总体大小和最大迭代次数分别设置为100和1000。此外,在实际环境中,规划点考虑四个对应四种工况的数字,分别为:15、25、35和45。试验场地位于浮山湾青岛奥林匹克帆船中心附近。应指出,所有工作条件均考虑相同的起点(n36°03′22.38″,e120°22′57.06″)。

表4.四种规划点下不同算法的最优路径值

如图11所示,给出了由不同算法和不同规划点数生成的最佳轨迹。横坐标和纵坐标分别代表每个规划点的经纬度值。红色数字表示随机生成点的顺序,与附录ⅰ-ⅳ的顺序相对应。起点封闭在红色矩形中,箭头表示规划路径的方向。此外,为了更好地分析算法的路径规划性能,表4列出了轨迹的具体量化值。

如图11所示,对于15个规划点,各个算法的路径形状和数值没有显著差异。随着规划点数的增加,轨迹变得更加复杂,路径形状和数值的差异也增大。当p=25时,在序号为3、6、11和15的点附近观察到明显差异。当p值超过25时,cga产生的轨迹有交叉现象,该现象在某种程度上导致了更长的路径值,而改进算法在有效避免路径交叉和简化路径形状方面的优势随着p的增加更加明显。进一步的研究表明,当p值大于25时,rlcpga在减小路径距离方面的性能优于lcpga。此外,改进算法之间的最大差异出现在p=35时,达到路径距离的3%。

应当注意,尽管在上文的详细描述中提及了设备的若干模块或子模块,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。

为了克服传统遗传算法收敛速度慢、计算效率低、容易出现早熟收敛(局部最优)等缺点,本公开一个或多个实施例提出了数据正向驱动线性变化参数遗传算法(lcpga)和数据反向驱动线性变化参数遗传算法(rlcpga)两种自适应调整参数的改进遗传算法,为了比较它们的路径规划性能与传统算法,进行了蒙特卡罗模拟,并将其应用于usv。

蒙特卡罗模拟表明,规划点的个数对所有算法的最优路径距离的均值和方差有明显的影响,但是种群数量的影响是有限的,可以忽略不计。与cga算法相比,两种改进算法都能有效地避免局部最优,在以后的迭代过程中保持更高的种群多样性,减少平均最优距离,并具有更好的鲁棒性,特别是对于规划点较多的情况下。

最后将所提出的算法应用于实际场地的usv路径规划问题。结果表明,当p值超过25时,cga会产生一个有交叉现象的轨迹,这会增加路径形状和距离的复杂性,改进后的算法可以有效地避免这一现象,减少路径距离。进一步比较表明,rlcpga在usv规划路径方面优于其它算法。

本公开一个或多个实施例的贡献在于基于时变遗传算子概率对cga进行优化,以减少路径距离,增强算法的鲁棒性。虽然本文的研究工作提供了初步的研究,但所提出的新算法,特别是rlcpga仍具有很大的应用前景。结合实际海洋环境中的风、浪、流对usv路径规划的影响问题是下一步研究的主要内容。同时,通过提高导航数据的质量和可靠性,可以提高避障模块的性能。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。因此,本公开将不会被限制于本公开所示的这些实施例,而是要符合与本公开所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1