构建仿生波动鳍推进运动控制方程及其参数整定优化方法与流程

文档序号:21587562发布日期:2020-07-24 16:32阅读:539来源:国知局
构建仿生波动鳍推进运动控制方程及其参数整定优化方法与流程

本发明属于仿生水下机器人运动控制算法技术领域,具体涉及一种构建仿生波动鳍推进运动控制方程及其参数整定优化方法。



背景技术:

随着国家海洋战略的推进,水下机器人在海底资源探测、海洋生物观察和海底管道检修等军民两用领域得到了广泛的应用。传统的水下机器人一般采用螺旋桨推进,其具有噪声大、机动性差和推进效率低等缺点。新型的仿生水下机器人是指模仿鱼类等海洋生物的推进机理或外形,利用仿生机械学等技术而设计出来的新型机电一体化设备,其具有隐蔽性好、运动灵活和能量消耗率低等优点,因此近年来逐渐成为水下机器人技术领域研究的热门课题,国外的mit和国内的中科院自动化所等国内外科研机构纷纷研制出了各具特色的原理样机。仿生机器鱼属于仿生水下机器人的一种,按照推进机理的不同,可分为bcf式和mpf式。bcf式仿生机器鱼采用仿生尾鳍的摆动与水作用产生前进推力,具有游速高和推进力大等优点,mpf式仿生机器鱼采用胸鳍或者背鳍与水作用产生推力,具有稳定性好、机动性强和推进效率高等优点,具备更好的应用前景。仿生波动鳍推进属于mpf式推进的典型,其效仿黑刀鱼或鳐鱼的波动推进机理,通过宽大的波动鳍与水作用产生推进力。

中枢模式发生器(cpg)是一类存在于无脊椎动物和脊椎动物中枢神经系统中的神经元电路,能够在无节律控制或者反馈输入的情况下,控制生物体的节律行为,例如游泳、行走、跳跃甚至是呼吸。由于cpg运动控制方程能够产生稳定的节律信号、鲁棒性强、实时性好,因此被广泛应用于仿生机器鱼的运动控制中。基于cpg的运动控制方程通常基于自然界生物原型的神经元中抽象出来的数学模型,通过对方程进行解耦运算,得到连续、协调、稳定的节律信号,用来实现仿生机器鱼前进和转弯等多种运动模态控制。

由于cpg运动控制方程是一种从生物神经元中抽象出来的数学模型,因此其方程参数众多,并且方程参数与实际输出的节律信号的幅值和频率等参量不是简单的线性关系,给cpg运动控制方程的参数整定带来困难,已经成为仿生机器鱼运动控制领域的一大难题。

在公开的现有技术中,专利“一种仿生长鳍波动推进器的运动控制方法”(申请公开号cn101609306a,申请公开日2009.12.23)涉及一种基于cpg的长鳍运动控制方程;专利“一种仿鲹科机器鱼倒游运动的控制方法”(授权公告号cn102745320b,授权公告日2015.03.11)涉及基于中枢模式发生器控制机器鱼的游动的运动控制方法;专利“一种仿生机器鱼及其控制参数优化方法”(申请公布号cn107088307a,申请公布日2017.08.25)公开了根据极限环cpg网络控制模型来构建仿生机器鱼的数学模型,采用pso算法对参数进行优化的方法。然而以上方法都没有涉及利用仿生对象的实际运动参数来优化cpg运动控制方程参数。

因此,提出一种构建仿生波动鳍推进运动控制方程及其参数整定优化方法势在必行。



技术实现要素:

本发明提供了一种构建仿生波动鳍推进运动控制方程及其参数整定优化方法,利用改进的粒子群算法来整定优化基于中枢模式发生器(cpg)的仿生波动鳍推进运动控制方程的参数。

为达到上述目的,本发明所述一种构建仿生波动鳍推进运动控制方程及其参数整定优化方法,包括以下步骤:

步骤1、根据仿生对象运动学方程得到多鳍条摆角函数θfin(i,n),基于七思鳗鱼的脊髓神经相位振荡器,得到带未整定cpg参数的多鳍条摆角函数θcpg(i,n),cpg为中枢模式发生器;

1)根据仿生对象运动学方程得到多鳍条摆角函数θfin(i,n)包括以下步骤:

步骤a1,根据黑魔鬼鱼活体波动鳍的形态学和运动学观察结果,建立基于黑魔鬼鱼波动推进的简化直纹面运动学方程;

步骤a2,建立基于步骤a1得到的直纹面运动学方程抽象得到的多鳍条运动控制方程;

步骤a3,将步骤a2得到的多鳍条运动控制方程进行离散化,得到离散域内的多鳍条摆角函数:θfin(i,n);

2)基于七思鳗鱼的脊髓神经相位振荡器,得到带未整定cpg参数的多鳍条摆角函数θcpg(i,n),包括以下步骤:

步骤b1,基于七思鳗鱼的脊髓神经相位振荡器,建立单个cpg的数学模型;

步骤b2,对步骤b1建立的单个cpg数学模型进行改进,并增加振荡器之间的耦合关系,建立基于cpg的仿生波动鳍推进运动控制方程;

步骤b3,利用四阶龙格库塔法对步骤b2的仿生波动鳍推进运动控制方程进行离散,得到带多个未整定cpg参数的多鳍条摆角函数:θcpg(i,n);

步骤2、利用步骤1得到的多鳍条摆角函数θfin(i,n)和带cpg未整定参数的多鳍条摆角函数θcpg(i,n),构建基于离散摆角差值|θfin(i,n)-θcpg(i,n)|的参数整定优化目标函数μw;

步骤3,利用改进的粒子群算法对步骤2的目标函数μw进行参数整定优化计算,包括以下步骤:

步骤3.1,确定粒子群大小,设置粒子总数m,并对粒子编码;每个粒子包括位置和速度两种属性,第j个粒子用nj表示,其位置属性为pj,其速度属性为vj,则第j个粒子表示为:nj={pj;vj}

步骤3.2,根据cpg整定参数的个数等于粒子的空间维度,得到粒子空间维度q;则第j个粒子位置的向量表达式为:pj={pj1,pj2,...,pjq};第j个粒子速度的向量表达式为:vj={vj1,vj2,...,vjq};

步骤3.3,设置最大迭代次数和收敛阈值;设置粒子位置和速度阈值;初始化粒子的位置和速度;

步骤3.4,将步骤2得到的参数整定优化目标函数μw作为粒子群算法的适应度函数fun,计算每个粒子的适应度函数值,fun(j)=μw(pj)=μw(pj1,pj2,...,pjq);

步骤3.5,计算粒子群个体历史最优位置和全局历史最优位置;

步骤3.6,更新粒子的速度和位置;

速度更新公式为:

为第j个粒子的本次速度,为第j个粒子的前一次的速度,为当前位置到个体历史最优位置的速度,为当前位置到群体历史最优位置的速度j表示第j个粒子;表示第j个粒子tp时刻的速度;表示第j个粒子tp-1时刻的速度;α表示惯性因子;c1表示自我学习因子;c2表示群体学习因子;rand表示0和1之间的随机数;表示第j个粒子在tp时刻的位置到个体历史最优位置的速度;表示第j个粒子在tp时刻的位置到群体历史最优位置的速度;

位置更新公式为:为第j个粒子的本次位置;为第j个粒子的前一时刻的位置;ts为每次运动的时间长度;

步骤3.7,根据当前迭代次数和最大迭代次数更新惯性权重;

步骤3.8,判断是否达到最大迭代次数或满足设定收敛阈值,如果是,执行步骤3.9,否则返回步骤3.1;

步骤3.9,结束粒子群寻优算法,得到整定优化的cpg参数值;

当粒子群算结束时,群体历史最优位置为:其计算得到的q个历史最优位置对应的就是cpg运动控制方程对应的q个未知参数值;

步骤4,将步骤3得到的q个未知参数值代入仿生波动鳍推进运动控制方程θcpg(i,n),得到cpg参数整定优化的仿生波动鳍推进运动控制方程θcpg(i,n)。

进一步的,步骤3.8中,粒子群算法的惯性因子α表达式为:

式中,αmax为最大加权系数,αmin为最小加权系数,run为当前迭代次数,runmax为算法迭代总次数。

进一步的,步骤a1包括以下步骤:

1)获取黑魔鬼鱼的波动鳍的鳍长、鳍宽、鳍厚和表面轮廓形态学参数,利用数字图像处理技术获取其波动运动过程中的鳍面变形运动学数据;

2)将黑魔鬼鱼在鳍面的运动简化成内侧平行于鱼体纵向轴线的直线,外侧呈类正弦状曲线的直纹面,得到基于黑魔鬼鱼波动推进的简化直纹面运动学方程如下:

lx=s

式中,lx是直纹面的x方向的运动学方程;ly是直纹面的y方向的运动学方程;lz是直纹面的z方向的运动学方程;s表示鳍面上点的x方向坐标值;r表示直纹面的宽度;d(s)表示直纹面运动学方程的宽度系数;θm(s)表示直纹面波动的最大波动角度;t表示直纹面波动的周期;t表示时间;δ表示直纹面波动的波传播方向系数;λ表示波长;表示直纹面上x坐标为s的点波动的初始相位角。

进一步的,步骤a2中,设鳍条之间的间距为直纹面波长λ的1/4,连续时间域内的多鳍条运动控制方程为:式中,θfin(i,t)为第i根鳍条的摆动角度;t表示时间,i表示第i根鳍条,t表示直纹面波动的周期;δ表示直纹面波动的波传播方向系数;θm(i)表示第i根鳍条的最大波动角度;表示第i根鳍条波动的初始相位角。

进一步的,步骤a3得到的离散域内的多鳍条摆角函数为其中,θfin(i,n)为第i根鳍条的摆动角度,n为离散变量;θm(i)表示第i根鳍条的最大波动角度;t表示直纹面波动的周期;λ表示直纹面的波长;δ表示直纹面波动的波传播方向系数;i表示第i根鳍条;表示第i根鳍条波动的初始相位角。

进一步的,步骤b2建立的基于cpg的仿生波动鳍推进运动控制方程如下:

式中,i表示第i个振荡器,i∈(1,2,3,4,5,6,7,8,9);τ表示周期系数,决定节律输出的周期;分别表示第i个振荡器内部左侧的ue、ve、we、xe、ye神经元的膜电势;分别表示第i个振荡器内部的右侧的ur、vr、wr、xr、yr神经元的膜电势;表示we和ue神经元之间的耦合权重系数;表示vr和ue神经元之间的耦合权重系数;s1,i表示第i个振荡器与第1个振荡器之间的耦合权重系数;表示第一个振荡器内部左侧的we神经元的膜电势;表示ue和ve神经元之间的耦合权重系数;表示we和ve神经元之间的耦合权重系数;ai表示第i个振荡器的幅值系数;εi表示第i个震荡器的相位调节系数;表示we和xe神经元之间的耦合权重系数;表示vr和xe神经元之间的耦合权重系数;表示wr和ur神经元之间的耦合权重系数;表示ve和ur神经元之间的耦合权重系数;表示ur和vr神经元之间的耦合权重系数;表示wr和vr神经元之间的耦合权重系数;表示wr和xr神经元之间的耦合权重系数;表示ve和xr神经元之间的耦合权重系数;ηi表示第i个振荡器的输出角度幅值系数;θi表示第i个振荡器的最终输出角度;

基于cpg的仿生波动鳍推进运动控制方程未整定参数包括:τ、s1,i、ai、εi、和ηi。

进一步的,步骤b3包括以下步骤:

将步骤b2建立的cpg的仿生波动鳍推进运动控制方程中含微分的项改写成其中,得到离散后的表达式如下:

其中:ki,1=f(tn,gi(n));

式中,n表示离散变量;gi(n+1)、表示第i个振荡器内部所有神经元对应第n+1个离散变量的膜电势值;tn表示离散后的时间变量;ki,1、ki,2、ki,3、ki,4分别是离散前连续曲线对应不同时间段的斜率;t表示周期;表示离散时间间隔;联合求解上述离散方程,可得到带多个未整定cpg参数的多鳍条摆角函数:

进一步的,步骤2中,基于离散摆角差值|θfin(i,n)-θcpg(i,n)|的参数整定优化目标函数的表达式为:其中:式中,h表示将一个周期t离散为h等分;n表示离散变量;μw表示优化目标函数,又称为适应度函数;e(n)表示基于仿生对象直纹面运动学方程的多鳍条离散摆角与基于cpg的多鳍条离散摆角差值的绝对值;θfin(i,n)表示从直纹面运动学方程中抽象出来的多鳍条摆角函数;θcpg(i,n)表示多鳍条摆角函数。

与现有技术相比,本发明至少具有以下有益的技术效果:

本发明的一种构建仿生波动鳍推进运动控制方程及其参数整定优化方法,利用改进的粒子群算法来整定优化基于中枢模式发生器(cpg)的仿生波动鳍推进运动控制方程的参数。

基于cpg的运动控制方程能够产生多种可变相位差、频率和振幅的节律信号,容易实现对水下机器人的速度、方向以及运动步态等进行调节,并且具有良好的鲁棒性,可以使机体在不同游动模式切换时实现柔性的过渡。与基于hopf神经振荡器的cpg的运动控制方程相比,本发明的cpg的运动控制方程来自于自然界中真实存在的七思鳗鱼的脊髓神经元的简化抽象数学模型,能够很好地表征出运动神经元的生物学特性,而hopf振荡器是一种人造的应用于机器人节律控制的微分方程,其并没有生物学基础,cpg的运动控制方程还可以引入反馈项,实现水下机器人的闭环反馈控制,而基于hopf振荡器的cpg的运动控制方程则较难将反馈信息引入到控制方程中。

为了解决cpg控制参数众多带来的参数整定难,以及cpg控制参数与输出节律信号对应关系复杂等问题,本发明提出了将仿生对象黑魔鬼鱼的波动鳍简化直纹面运动学方程作为参照,利用改进粒子群算法来实现cpg参数整定优化的方法。改进粒子群算法采用实数编码,与遗传算法相比,由于没有选择、交叉与变异等操作,算法结构相对简单,运行速度很快,对于多维空间的适应度函数同样具备良好的适用性,因此十分适用于仿生波动鳍推进运动控制方程的cpg参数整定优化问题求解中。与常规的粒子群算法相比本发明对粒子群算法的惯性因子进行了改进,使其随算法迭代的进行而线性减小,这样可以显著改善算法的收敛性能,有效减少出现早熟收敛现象,提高算法的准确性。

本发明用于控制仿生波动鳍推进的cpg振荡器之间采用的是中心式链式耦合策略,将第1个cpg振荡器作为耦合的中心,第2-9个cpg振荡器分别与第1个cpg振荡器耦合,此时第2-9个cpg振荡器的方程相互独立,因此其离散方程的求解可以同步进行,可以降低方程解算难度,提高后续参数整定优化计算速度;而采用相邻链式耦合策略的cpg振荡器的相邻两个振荡器的方程相互耦合,离散方程的求解必须按顺序进行,其求解速度要比中心式链式耦合策略慢。

附图说明

图1为本发明的控制方程参数整定优化方法的流程示意图;

图2为本发明的仿生对象黑魔鬼鱼的波动简化直纹面示意图;

图3为本发明的仿生波动鳍推进机构的鳍条鳍面机械结构示意图;

图4为本发明的仿生波动鳍水下机器人机械结构示意图;

图5为本发明的中枢模式发生器(cpg)原始振荡器网络结构示意图;

图6为本发明的单个改进cpg振荡器网络结构示意图;

图7为本发明的仿生波动鳍推进运动控制方程节律信号输出控制示意图;

图8为本发明的改进粒子群算法的流程示意图。

附图中:1-第1根鳍条;2-第2根鳍条;3-第3根鳍条;4-第4根鳍条;5-第5根鳍条;6-第6根鳍条;7-第7根鳍条;8-第8根鳍条;9-第9根鳍条;11-主体;12-左侧仿生波动鳍推进机构;13-右侧仿生波动鳍推进机构。

具体实施方式

为了使本发明的目的和技术方案更加清晰和便于理解。以下结合附图和实施例,对本发明进行进一步的详细说明,此处所描述的具体实施例仅用于解释本发明,并非用于限定本发明。

为使本发明的目的、技术方案和优点全面、清晰的展现出来,下面将结合附图对一种构建仿生波动鳍推进运动控制方程及其参数整定优化方法的具体实施方式做进一步的详细说明。需要提前说明的是,为了便于描述,所给出的附图仅是本发明相关的部分结构示意图,并非是本发明的全部实施例。

一种构建仿生波动鳍推进运动控制方程及其参数整定优化方法,包括以下步骤:

步骤一,根据黑魔鬼鱼活体波动鳍的形态学和运动学观察结果,建立基于黑魔鬼鱼波动推进的简化直纹面运动学方程。

请参阅图1、图2和图4,仿生波动鳍水下机器人推进效仿自然界中的黑魔鬼鱼高效的波动推进方式,依靠仿生波动鳍与水作用产生前进的推力,为了提高仿生波动鳍水下机器人的水下推进性能,需要对黑魔鬼鱼波动运动机理进行探索,以指导水下机器人波动鳍的机械结构和控制算法设计。

因此,首先对黑魔鬼鱼活体进行观察,获取其波动鳍的鳍长、鳍宽、鳍厚和表面轮廓形态学参数,利用数字图像处理技术获取其波动运动过程中的鳍面变形运动学数据,最终基于仿生机械学技术对仿生波动鳍推进机构进行设计。参照图2,黑魔鬼鱼在水下恒速推进时,其鳍面的运动可以简化成内侧平行于鱼体纵向轴线的直线,外侧呈类正弦状曲线的直纹面,基于黑魔鬼鱼波动推进的简化直纹面运动学方程可表示如下:

lx=s

式中,lx是直纹面的x方向的运动学方程;ly是直纹面的y方向的运动学方程;lz是直纹面的z方向的运动学方程;s表示鳍面上点的x方向坐标值;r表示直纹面的宽度;d(s)表示直纹面运动学方程的宽度系数;θm(s)表示直纹面波动的最大波动角度;t表示直纹面波动的周期;t表示时间;δ表示直纹面波动的波传播方向系数;λ表示波长;表示直纹面上x坐标为s的点波动的初始相位角。

步骤二,建立基于直纹面运动学方程抽象得到的多鳍条运动控制方程。

从物理学的角度来看,直纹面运动学方程可抽象看作是长度等于直纹面r,沿鳍纵向l方向均匀分布的无数根鳍条绕直纹面的内侧直线来回摆动的组合。

受限于机械机构尺寸和电机驱动器的限制,在工程上无法用无数根鳍条来拟合直纹面运动学方程,为了使仿生波动鳍鳍面能呈现两个波长的变形,根据香农采样定理,鳍条的个数不能少于9根,因此以鳍条数量为9根,鳍条之间的间距为直纹面波长的1/4来进行说明。鳍条的运动是围绕直纹面内侧直线往复摆动,相邻鳍条摆角存在一定的相位差关系,带动柔性鳍面产生类正弦波状运动,实现仿生波动鳍波动推进。连续时间域内的多鳍条运动控制方程为:

式中,θfin(i,t)为第i根鳍条的摆动角度;t表示时间,i表示第i根鳍条,鳍条的总数为9根;θm(i)表示第i根鳍条的最大波动角度;表示第i根鳍条波动的初始相位角。

步骤三,将多鳍条运动控制方程进行离散化,得到离散域内的多鳍条摆角函数:θfin(i,n)。

根据上述分析,基于直纹面运动学方程抽象出来,并进行离散处理后的多鳍条摆角函数表示为:θfin(i,n)为第i根鳍条的摆动角度,n为离散变量;

步骤四,基于七思鳗鱼的脊髓神经相位振荡器,建立单个中枢模式发生器(cpg)的数学模型;

步骤三得到的基于仿生对象原型观察结果抽象出来的多鳍条摆角函数可直接用于仿生波动鳍的鳍条控制,这种方法被称为基于模型的控制方法,其优点是直观和简单,缺点就是鲁棒性太差,当控制参数突变时,输出信号无法实现平滑过渡,目前已经很少应用在水下机器人控制领域中。当前水下机器人运动控制的主流方法是基于中枢模式发生器(cpg),其包括通过对一系列具有相互耦合关系的微分方程进行解耦运算,输出稳定的节律信号,具有良好的鲁棒性。

请参照图5,本发明采用的cpg方程来源于七思鳗鱼脊髓神经振荡器的简化抽象网络拓扑模型,其原始的单个cpg振荡器网络拓扑结构包括左右对称的十个神经元,两个cin中间神经元、两个lin外侧神经元、两个ein兴奋神经元、两个mn运动神经元,两个max比较神经元。神经元之间通过兴奋突触信号或者抑制性突触信号进行交流,实现耦合。

步骤五,对步骤四的单个cpg数学模型进行改进,并增加振荡器之间的耦合关系,建立基于中枢模式发生器(cpg)的仿生波动鳍推进运动控制方程;

请参照图6,对原始cpg振荡器模型进行改进,建立基于中枢模式发生器(cpg)的仿生波动鳍推进运动控制方程可表示如下:

式中,i表示第i个振荡器,振荡器总数为9个,i∈(1,2,3,4,5,6,7,8,9);τ表示周期系数,决定节律输出的周期;分别表示第i个振荡器内部左侧的ue、ve、we、xe、ye神经元的膜电势;分别表示第i个振荡器内部的右侧的ur、vr、wr、xr、yr神经元的膜电势;表示we和ue神经元之间的耦合权重系数;表示vr和ue神经元之间的耦合权重系数;s1,i表示第i个振荡器与第1个振荡器之间的耦合权重系数;表示第一个振荡器内部左侧的we神经元的膜电势;表示ue和ve神经元之间的耦合权重系数;表示we和ve神经元之间的耦合权重系数;ai表示第i个振荡器的幅值系数;εi表示第i个震荡器的相位调节系数;表示we和xe神经元之间的耦合权重系数;表示vr和xe神经元之间的耦合权重系数;表示wr和ur神经元之间的耦合权重系数;表示ve和ur神经元之间的耦合权重系数;表示ur和vr神经元之间的耦合权重系数;表示wr和vr神经元之间的耦合权重系数;表示wr和xr神经元之间的耦合权重系数;表示ve和xr神经元之间的耦合权重系数;ηi表示第i个振荡器的输出角度幅值系数;θi表示第i个振荡器的最终输出角度。

cpg方程未整定参数包括:τ、s1,i、ai、εi、和ηi。

步骤六,利用四阶龙格库塔法对步骤五的仿生波动鳍推进运动控制方程进行离散,得到带多个未整定cpg参数的多鳍条摆角函数:θcpg(i,n);

步骤五中的cpg方程式一系列具有相互耦合关系的微分方程的集合,其是关于连续时间的函数,而仿生波动鳍水下机器人采用的是舵机驱动鳍条进行控制,其控制量是离散的角度值,因此需要对cpg连续方程进行离散化,本发明采用的是四阶龙格库塔法,其是一种在工程上应用广泛的高精度单步算法,算法精度较高。

将步骤五的cpg方程组中含微分的项改写成

其中,

则利用四阶龙格库塔法求解仿生波动鳍推进运动控制方程,得到离散后的表达式如下:

其中:

ki,1=f(tn,gi(n))

式中,n表示离散变量;gi(n+1)、表示第i个振荡器内部所有神经元对应第n+1个离散变量的膜电势值;tn表示离散后的时间变量;ki,1、ki,2、ki,3、ki,4分别是离散前连续曲线对应不同时间段的斜率;t表示周期;表示离散时间间隔。

联合求解上述离散方程,即可得到带多个未整定cpg参数的多鳍条摆角函数:

请参阅4和图7,解算出cpg的未整定参数后,上述基于中枢模式发生器(cpg)方程的摆角函数θcpg(i,n)即可直接应用于仿生波动鳍水下机器人的鳍条摆动控制。

本发明用于控制仿生波动鳍推进的cpg振荡器之间采用的是中心式链式耦合策略,将第1个cpg振荡器作为耦合的中心,第2-9个cpg振荡器分别与第1个cpg振荡器耦合,此时第2-9个cpg振荡器的方程相互独立,因此其离散方程的求解可以同步进行,可以降低方程解算难度,提高后续参数整定优化计算速度;而采用相邻链式耦合策略的cpg振荡器的相邻两个振荡器的方程相互耦合,离散方程的求解必须按顺序进行,其求解速度要比中心式链式耦合策略慢。

步骤七,利用步骤三基于仿生对象运动学方程抽象得到的多鳍条摆角函数θfin(i,n)和步骤六基于中枢模式发生器(cpg)得到的带cpg未整定参数的多鳍条摆角函数θcpg(i,n),构建基于离散摆角差值|θfin(i,n)-θcpg(i,n)|的参数整定优化目标函数μw;

本发明基于中枢模式发生器(cpg)的多鳍条摆角函数的未知参数整定优化目标是让基于cpg控制方程的多鳍条摆动角度θcpg(i,n)与基于仿生对象运动学方程抽象得到的多鳍条θfin(i,n)摆动角度的差值最小,使得基于cpg运动控制方程控制的鳍条摆动驱使仿生波动鳍产生的波动运动契合仿生对象(黑魔鬼鱼)的波动运动,最终使得仿生波动鳍水下机器人能够拥有媲美仿生对象黑魔鬼鱼的优良的游动性能。

粒子群算法采用实数编码,由于没有选择、交叉与变异等操作,算法结构相对简单,运行速度很快,对于多维空间的适应度函数同样具备良好的适用性,因此十分适用于本发明的仿生波动鳍推进运动控制方程的cpg参数整定优化问题求解中。

基于离散摆角差值|θfin(i,n)-θcpg(i,n)|的参数整定优化目标函数的表达式如下:

其中:

式中,n表示离散变量;μw表示优化目标函数,又称为适应度函数;e(n)表示基于仿生对象直纹面运动学方程的多鳍条离散摆角与基于cpg的多鳍条离散摆角差值的绝对值;θfin(i,n)表示从直纹面运动学方程中抽象出来的多鳍条摆角函数;θcpg(i,n)表示利用四阶龙格库塔法解算cpg方程得到的多鳍条摆角函数。

优化目标函数的离散变量n的取值范围设定为[50h,55h],h为将一个周期t离散为h等分;也就是从选取第50个到第55个周期内的变量对应的离散摆角差值进行统计运算,这样做的原因是为了消除cpg方程初值设置带来的误差:利用四阶龙格库塔法解cpg微分方程时,其初值的选取对解算的准确性有很大的影响,前几个周期的变量对应的解算结果往往会严重偏离正确的结果,在经过多个周期之后,cpg会恢复稳定的震荡,此时的解算结果已经与初值的设置无关,能输出稳定的节律信号。

步骤八,利用改进的粒子群算法对步骤七的目标函数μw进行参数整定优化计算;

将步骤七的参数整定优化目标函数作为粒子群算法的适应度函数,利用改进的粒子群算法求解出其目标函数中包含的未知的cpg参数。

请参阅图8,改进粒子群算法,包括以下步骤:

步骤8.1,确定粒子群大小,设置粒子总数,并对粒子进行编码;

每个粒子包括位置和速度两种属性,第j个粒子用nj表示,其位置属性为pj,其速度属性为vj,则第j个粒子可表示为:nj={pj;vj}

设定粒子的总数为m,那么将m个个体视为一个整体,就是整个粒子群,用s表示,则有:

s={n1,n2,...,nm}

步骤8.2,根据cpg整定参数的个数等于粒子的空间维度,得到粒子空间维度;

由于cpg方程包括49个未整定参数:τ、s1,i、ai、εi、和ηi,因此粒子的空间维度为49,因此每个粒子的位置和速度是一个多维的向量,则步骤8.1的位置的向量表达式为:pj={pj1,pj2,...,pj49};速度的向量表达式为:vj={vj1,vj2,...,vj49};

步骤8.3,设置最大迭代次数和收敛阈值;

步骤8.4,设置粒子位置和速度阈值;

步骤8.5,初始化粒子的位置和速度;

步骤8.6,计算每个粒子的适应度值;

计算每个粒子的适应度值就是将粒子个体的位置作为变量带入到目标函数中,得到一个可以用于评估的结果:fun(j)=μw(pj)=μw(pj1,pj2,...,pj49);

步骤8.7,计算粒子群个体历史最优位置和全局历史最优位置;

在迭代计算过程中,将粒子个体的适应度值计算结果的最小值对应的粒子位置视为个体历史最优位置,第j个粒子个体历史最优位置记为

其中,为第j个粒子的个体历史最优位置向量的第1维数值,为第j个粒子的个体历史最优位置向量的第2维数值,以此类推,为第j个粒子的个体历史最优位置向量的第49维数值。

从所有的m个粒子的个体历史最优位置中,选择适应度值最小的粒子的个体最优位置作为群体历史最优位置

其中,为群体历史最优位置对应的粒子的位置向量第一维数值,为群体历史最优位置对应的粒子的位置向量第二维数值,以此类推,为群体历史最优位置对应的粒子的位置向量第49维数值。

步骤8.8,根据迭代公式(包括速度更新和位置更新公式)更新粒子的速度和位置;

粒子速度和位置更新的计算过程为:首先要确定本次寻找的速度,确定的方法就是根据个体历史最优位置和种群历史最优位置来调整之前的速度,从而得到本次的速度。

前一次的速度为:

当前位置到个体历史最优位置的速度为:

当前位置到群体历史最优位置的速度:

本次的速度为(速度更新):

α表示惯性因子;c1表示自我学习因子;c2表示群体学习因子;rand表示0和1之间的随机数;

下一次的位置为(位置更新):

ts为每次运动的时间长度,tp为某一时刻,tp-1为tp的前一时刻,tp+1为tp的下一时刻。

步骤8.9,根据当前迭代次数和最大迭代次数更新惯性权重;

步骤8.10,判断是否达到最大迭代次数或满足设定收敛阈值,如果是,执行步骤8.11,否则返回步骤8.1;

步骤8.11,结束粒子群寻优算法,得到整定优化的cpg参数值。

当粒子群算法寻优过程结束时,此时群体历史最优位置为:

其计算得到的49个历史最优位置对应的就是cpg运动控制方程对应的49个未知参数值,将其代入cpg运动控制方程θcpg(i,n)中,即可得到最终用于仿生波动鳍水下机器人的鳍条控制的多鳍条摆角函数。

粒子群算法的核心是粒子的速度更新,本发明基于改进粒子群算法的速度更新表达式为:

式中,j表示第j个粒子;表示第j个粒子tp时刻的速度;表示第j个粒子tp-1时刻的速度;α表示惯性因子;c1表示自我学习因子;c2表示群体学习因子;rand表示0和1之间的随机数;表示第j个粒子在tp时刻的位置到个体历史最优位置的速度;表示第j个粒子在tp时刻的位置到群体历史最优位置的速度;

改进粒子群算法的惯性因子表达式为:

式中,αmax为最大加权系数,αmin为最小加权系数,run为当前迭代次数,runmax为算法迭代总次数。

与常规的粒子群算法相比(参照专利“一种仿生机器鱼及其控制参数优化方法”,申请公布号cn107088307a),本发明采用的是对惯性因子进行改进后的粒子群算法,惯性因子随算法迭代的进行而线性减小,这样可以显著改善算法的收敛性能,有效减少出现早熟收敛现象,提高算法的准确性。

步骤九,得到cpg参数整定优化的仿生波动鳍推进运动控制方程θcpg(i,n)。

请参阅图4,本发明的仿生波动鳍水下机器人包括主体11、左侧仿生波动鳍推进机构12和右侧仿生波动鳍推进机构13。仿生波动鳍推进机构采用舵机作为驱动器,驱动鳍条带动柔性仿生波动鳍鳍面产生类正弦的波状变形,与水作用产生前进推力。左侧仿生波动鳍推进机构12和右侧仿生波动鳍推进机构13关于水下机器人的纵向轴向对称,在直游运动过程中,其左右两侧对称的鳍条的摆动规律完全相同,因此只需对其中一侧的九个鳍条的摆动角度进行运动控制设计即可。

仿生波动鳍推进机构如图3和图4所示,包括9根鳍条,鳍条一端固定在带动鳍条进行上下往复的动力装置上,鳍条插入鳍面中,用于带动鳍面波动。请参阅图7和图3,经过上述方程进行参数整定后的仿生波动鳍推进运动控制方程可以输出节律信号对仿生波动鳍水下机器人的鳍条进行控制,cpg方程角度输出值离散后转化为鳍条的角度控制量,一个cpg控制一根鳍条的运动。同侧的相邻鳍条的摆角之间存在一定的相位差关系,当靠近头部的鳍条相位超前于远离头部的鳍条相位时,波动鳍的波形传播方向由头部指向尾部,水产生的反作用力与波形传播方向相反,提供前进的推力,实现前进直游运动。倒游运动的推进机理与前进类似,此时靠近头部的鳍条相位滞后与远离头部的鳍条相位。通过改变鳍条的摆动幅值、频率和相位差,可以改变波动鳍的波动幅值和波动频率等,进而改变直游前进或直游倒退的速度。通过设置左侧波动鳍推进机构和右侧波动鳍推进机构的波动鳍的波传播方向的不同还可以实现水下机器人的转弯控制。

上述的仿生波动鳍水下机器人的运动控制基于中枢模式发生器(cpg),cpg方程的参数直接影响到水下机器人的游速和推进力等性能指标,本发明利用改进的粒子群算法来整定优化运动控制方程的参数,从控制算法层面来提高仿生波动鳍水下机器人的性能,能够产生良好的效果,同时也为仿生水下机器人运动控制领域内的控制方程优化提供了一种新的思路。

本发明公开了一种构建仿生波动鳍推进运动控制方程及其参数整定优化方法,利用改进的粒子群算法来整定优化基于中枢模式发生器(cpg)的仿生波动鳍推进运动控制方程的参数。本发明提出的基于中枢模式发生器(cpg)的运动控制方程,具备良好生物学特性,能够产生多种可变相位差、频率和振幅的节律信号,同时能够抵抗控制参数突变对输出信号连续性的影响,具有良好的鲁棒性,可以实现仿生波动鳍水下机器人在不同游动模式切换下的柔性过渡;提出了将仿生对象黑魔鬼鱼的波动简化直纹面运动学方程作为参照,利用改进粒子群算法来实现cpg参数整定优化的方法,对粒子群算法的惯性因子进行了改进,使其随算法迭代的进行而线性减小,显著改善算法的收敛性能,提高cpg参数整定优化的准确性,从控制算法层面来提高仿生波动鳍水下机器人的性能,能够产生良好的效果。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

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