白发刚,薛钢,4,黄健堃,刘延俊,4
(1.山东大学海洋研究院,266237,山东青岛;2.山东大学高效洁净机械制造教育部重点实验室,250061,济南;3.山东大学机械工程国家级实验教学示范中心,250061,济南;4.山东大学机械工程学院,250061,济南)
随着海洋智能装备技术的不断进步,人类对海洋的探索活动不断朝着精细化方向发展,所聚焦的空间尺度越来越小,对水下装备性能的要求越来越高。相比于传统的自主式水下航行器,仿生机器鱼能够在有限空间内连续躲避障碍物,具有更高的机动性和自主运动能力,在水下机器人领域备受青睐。
近十余年来,国内外学者研制了不同种类、不同驱动方式的仿生机器鱼样机[1-3],而由电机驱动的串联多关节身体/尾鳍推进模式(body and/or caudal fin,BCF)机器鱼因其结构简单、负载能力强、动作精度高,且具备高效、高速、高机动性等特点,一直是研究的热点[4]。
受生物节律运动启发的中枢模式发生器(central pattern generator,CPG)已被广泛应用于生成多自由度机器人周期性运动信号[5-6],在此基础上,袁俊[7]、杨越麒[8]采用Newton-Euler法对BCF式多关节机器鱼进行了动力学分析,其中,水动力学分析采用细长体理论[9]和莫里森(Morison)方程,利用一种改进的霍普夫(Hopf)振荡器CPG模型[10]驱动各个关节摆动,获得了游动速度和位置曲线;汪明[11]采用Lagrange法进行了动力学建模,在水动力学分析中考虑了前缘吸力对鱼体的影响,利用Ijspeert振荡器CPG模型[12]产生关节驱动信号,建立了基于CPG信号控制的机器鱼动力学模型;Kim等[13-14]提出了基于Kane方法的机器鱼动力学建模方法,并通过仿真分析得到了不同鱼类游动模型的位置输出信息。上述研究工作为分析仿生机器鱼游动时的动力学问题提供了一定的理论基础。然而,考虑BCF式串联多关节机器鱼游动过程受力的时变性、非线性,构建精确的水动力学和机构动力学耦合模型,一直是仿生机器鱼理论研究的难题。
本文利用CPG模型产生仿生机器鱼关节角驱动信号,基于细长体理论,考虑附加质量力效应,求解鱼体的流体阻力,利用Newton-Euler法求解机构动力学模型,建立了机器鱼的水动力学和机构动力学耦合模型。通过机器鱼物理样机的水动力学测量实验,验证了动力学模型的准确性;采用数值计算方法仿真分析了机器鱼的运动特征参数对其游动性能的影响。
根据机器人多刚体系统动力学建模理论[15],建立仿生机器鱼运动学与动力学分析用到的坐标系系统,如图1所示。定义世界坐标系Cw(owxwywzw),该坐标系与大地固连,原点ow设定在机器鱼运动的起始位置,平面owxwyw与水平面平行,owzw轴平行于重力方向。定义机体坐标系Cb(obxbybzb),原点ob位于鱼体头部浮心,obxb轴指向头部前端方向,obzb轴平行于头部浮心与质心的连线。定义关节坐标系,其原点位于鱼体尾部关节点Ji(i=0,1,2)处,oixi轴沿两相邻关节点连线方向,oizi轴指向鱼体腹部向下。为了方便描述机器鱼受到的时变水动力,参考文献[8]的水动力学分析方法引入速度坐标系Cv(ovxvyvzv),ovxv轴沿头部速度方向,由机体坐标系Cb绕obyb轴旋转攻角α、再绕obzb轴旋转侧滑角β可获得ovxv轴。所有坐标系均符合右手定则,沿x、y、z轴的单位向量分别用e1、e2、e3表示。
定义仿生机器鱼头部的质量为mb,尾部两相邻关节点连线的连杆Li的长度为li,质量为mi,θi表示关节间夹角,ri(i≠0)表示坐标系Ci-1指向坐标系Ci的矢量(在关节坐标系Ci-1下表达)。定义rbm、rbt、rbpl和rbpr分别为浮心到质心、浮心到尾部起始点、浮心到左侧胸鳍力作用点、浮心到右侧胸鳍力作用点的矢量(在机体坐标系Cb下表达)。利用世界坐标系Cw到机器鱼浮心的矢量wPb=(x,y,z)T表示机器鱼的位置,利用欧拉角wAb=(φ,θ,ψ)T表示机器鱼的姿态,利用Vb=(u,v,w)T和Ωb=(p,q,r)T分别表示机器鱼在机体坐标系Cb中的平移线速度和旋转角速度。
根据以上定义法则,由关节坐标系C0到机体坐标系Cb以及由关节坐标系Ci-1到Ci的转换矩阵分别为
(1)
由速度坐标系Cv到机体坐标系Cb的转换矩阵为
(2)
由机体坐标系Cb到世界坐标系Cw的线速度转换矩阵wRb和角速度转换矩阵wTb分别为
(3)
(4)
式中:c*表示cos(*);s*表示sin(*);t*表示tan(*)。
目前,常用的产生机器鱼关节摆动信号的方法主要有鱼体波拟合法[16-17]和基于CPG模型的方法。生物研究表明,脊椎动物可通过生物CPG在没有中枢神经参与的情况下产生节律信号。受此启发,CPG模型可以通过神经元振荡器之间的相互作用产生节律信号,以控制机器鱼的运动[18]。本文选用引入相位因子和偏转因子的基于Hopf振荡器的CPG模型[19-20],该模型由多个神经元振荡器组成,数学描述如下
(5)
仿生机器鱼浮心在世界坐标系下的速度更新公式为
(6)
(7)
(8)
根据文献[7-8],尾部关节Ji的速度和加速度在关节坐标系Ci下可表示为
(9)
其中
2.2.1 重力和浮力
仿生机器鱼在游动过程中,尾部各个关节重心与浮心重合,所受的重力和浮力平衡,可以忽略其对机器鱼运动的影响,而机器鱼头部的重心和浮心不重合,所受的重力和浮力在坐标系Cb下表示为
(10)
式中:Fgrav、Fbuoy和Tgrav、Tbuoy分别表示机器鱼头部受的重力、浮力和重力矩、浮力矩。
2.2.2 头部流体阻力
准稳态升阻力模型[21]可描述仿生机器鱼头部流体阻力,定义头部的攻角α和侧滑角β分别为
(11)
(12)
头部所受的流体阻力由速度坐标系Cv转化到机体坐标系Cb下可以表示为
(13)
其中:Fhydro和Thydro表示机器鱼头部受到的流体阻力;ρ为流体密度;Sb为头部的有效面积;Cb,d、Cb,sf、Cb,l分别为与攻角α和β相关的阻力系数、侧滑力系数、升力系数;Cb,τx、Cb,τy、Cb,τz分别为各个坐标轴方向上的力矩系数;Kb表示转动阻尼项的系数矩阵。
2.2.3 胸鳍力
仿生机器鱼胸鳍受到的水动力是其实现三维运动的主要外力,胸鳍质心处的速度为
(14)
式中:rbp表示头部浮心到胸鳍质心的矢量。定义胸鳍绕机体坐标系y轴顺时针旋转的角度θp为正,则胸鳍攻角为
αp=γ+θp
(15)
式中:γ=arctan(Vpz/Vpx)。忽略胸鳍侧滑力的影响,则胸鳍的升阻力和力矩可表示为
(16)
式中:fp,drag、fp,lift、τp分别表示胸鳍受到的阻力、升力和阻力矩;Sp表示胸鳍的面积;Cp,d、Cp,l、Cp,τ分别表示与胸鳍攻角相关的阻力系数、升力系数和力矩系数。
将胸鳍升力与阻力转换到坐标系Cb下可表示为
(17)
进一步,考虑左右胸鳍并将胸鳍力平移到浮心,可以表示为
(18)
式中:Fpect和Tpect即为左右胸鳍对机器鱼头部的合力和力矩在坐标系Cb下的表达。
2.2.4 尾部流体阻力
对于多关节尾部,连杆Li受到的黏滞阻力在关节坐标系Ci下表示为
(19)
式中:Fvisi和Tvisi表示机器鱼尾部连杆Li受的黏滞阻力和阻力矩;cfx、cfy、cfz和cτx、cτy、cτz分别为黏滞阻力和力矩系数。
对于尾部L0和L1连杆,其受到的黏滞阻力即为流体阻力Fhi和力矩Thi,即Fhi=Fvisi,Thi=Tvisi;由于尾部L2连杆上固连有尾鳍,因此连杆L2受的流体阻力在坐标系C2下表示为
(20)
式中:lcf表示从关节点J2到连杆L2的尾鳍升力中心的长度;Fcf和Tcf表示尾鳍水动力在坐标系C2下的表达。
尾鳍受力分析如图2所示,计算尾鳍受力点的速度
(21)
则尾鳍升阻力和力矩可以表示为
(22)
式中:D、L、τcf分别为尾鳍受到的阻力、升力和力矩;Scf表示尾鳍的有效面积;Ccf,d、Ccf,l、Ccf,τ分别为与尾鳍攻角αcf有关的阻力系数、升力系数、力矩系数。将尾鳍受力转换到坐标系C2下得
(23)
根据Newton-Euler法,连杆Li(质心)受到的力和力矩可表示为
(24)
其中
式中:Φi表示考虑机器鱼尾部关节附加质量和附加转动惯量的惯性矩阵;βi表示尾部连杆的哥式力和向心力;lci表示关节点Ji到连杆Li质心的长度;Fi和Ti为关节点Ji对连杆Li的作用力和力矩,所有关节间作用力均在自身关节坐标系Ci下表达。
联合式(9)和式(24),将尾部连杆间的相互作用力由最后一杆L2开始反向迭代,加速度和速度向前迭代,可求得连杆L0对头部的作用力在C0下表示为
(25)
其中
将尾部第一关节的力平移到浮心,则尾部对头部的作用力为
(26)
其中
进一步,以机器鱼头部为研究对象,列写Newton-Euler方程
(27)
进一步,联立式(26)和式(27)可得机器鱼的动力学方程
(28)
为了验证动力学模型中水动力分析的准确性,采用如图3(a)所示的深圳乐智机器人有限公司机器鱼产品和图3(b)所示的水动力测试平台获得机器鱼尾部摆动产生的水动力。
该机器鱼物理样机能够设置不同速度等级,在不同速度等级下,尾部摆动频率相同(2 Hz),最大摆动幅度不同。实验中利用六维力传感器对低、中、高3个速度等级(固定头部测得的尾部最大摆动幅度分别为25°、32°、40°)条件下尾部产生的水动力进行测量,每个速度等级下测量6组数据,并进行降噪处理和统计学分析。采用摄像机拍摄不同速度等级下尾部的摆动图像,利用三连杆近似拟合柔性尾部的中线,获得三关节尾部的摆动规律,图4给出了低速摆动时一个周期内的尾部运动时序图。通过调整CPG模型参数,可以得到与之匹配的机器鱼物理样机的关节角θi(t)变化规律,图5所示为低速摆动时CPG模型输出的机器鱼各个关节控制信号。
表1给出了仿生机器鱼的水动力学和机构动力学耦合模型仿真过程中各个体段的物理参数,其中,质量矩阵M和转动惯量Λ均为考虑了附加质量效应的值(头部和尾部关节分别等效为规则的椭球和圆柱形来考虑)。同时,为了考虑机器鱼受到的时变非线性水动力,本文分析鱼体各部分的水动力用到的水动力系数,通过CFD仿真[22-23]分析获得。
图6给出了机器鱼尾部水动力时历曲线,从图6可以看出,在不同速度等级下,推进力Fx恒为正值,侧向力Fy在0附近周期性波动。仿真获得的侧向力和绕obzb轴的水动力矩结果与实验测量值具有较高的吻合性,但是推进力的实验测量值大于仿真结果。计算平均推进力发现,低速摆动下实验测量值为0.529 1 N,仿真结果为0.433 76 N,偏差近18%,其他速度等级条件下也存在相似结果。造成该现象的原因可能为本文所建立的耦合动力学模型中未考虑尾涡作用的影响,而机器鱼样机在实际游动过程中产生具有射流效应的推力型反卡门涡街,对尾鳍的推力有增强作用[24-25]。随着机器鱼的游动,尾涡逆游动方向逐渐消散,但是本实验中机器鱼在原位摆动,尾涡不断在尾鳍末端积累,进一步放大了尾涡作用,使推进力的实验测量值大于仿真计算值。仿真获得的推进力时历曲线与实验获得的推进力时历曲线具有相似的变化规律,通过仿真和实验分析,验证了动力学模型的有效性和水动力学分析的准确性。
表1 仿生机器鱼物理参数Table 1 Physical parameters of robot fish
为了进一步分析本文所建立的仿生机器鱼的空间动力学模型并测试其有效性,利用Matlab进行动力学仿真。给定一组CPG模型参数:r1=1,r2=1.3,r3=5.6;φ1=φ3=30°,φ2=90°,h1=1,h2=2;ci=6。当胸鳍摆角为0°时,通过调整机器鱼尾部摆动角频率ωi和偏置bi,可以改变CPG模型输出的关节摆角信号θi(t),进而实现机器鱼在平面内的任意游动;若给定胸鳍转角,机器鱼可以实现三维空间内运动。
图7给出了仿生机器鱼的平面直游时的运动学参数时历曲线。图7(a)表明机器鱼直游时仅有沿owxw轴方向的位移x;图7(c)表明直游时沿owxw轴方向的速度u由0增大至稳定值,其他方向的速度均值为0。图7(b)和图7(d)显示机器鱼直游时仅有绕owzw轴的偏航角ψ和角速度r,其他方向的角度和角速度也维持在0附近。图8(a)为仿生机器鱼的平面转向游动的位移时历曲线,图8(b)为仿生机器鱼的三维空间圆周游动的位移时历曲线。以上仿真结果完全符合预期分析和机器鱼的实际运动特征,需要指出的是,由于头部的转艏运动,仿生机器鱼游动过程的速度、位移等时历曲线并非光滑曲线,而是呈现出一定的波动性。
以上3.2节中实验测量的水动力与相同参数下的仿真数据在结果上体现出了较好的一致性,同时,基于Newton-Euler法推导建立的机器鱼空间耦合动力学模型在本节中能够实现预期仿真运动效果,在一定程度上体现了建立模型的合理性和有效性。
进一步,定义了稳定向前游速和头部稳定性两个评价仿生机器鱼游动性能的指标。用速度时均值衡量稳定向前游速,定义如下
(29)
机器鱼直游时,头部的偏航摆动呈现周期性,用偏航角摆幅δ来衡量游动稳定性(δ与稳定性成反比),定义如下
(30)
根据所建立的耦合动力学模型,分析机器鱼运动的3个特征参数(CPG模型输入)的影响,即关节间相位差φi、摆动角频率ω和最大摆动幅度A对机器鱼的平均游动速度u和头部稳定性δ的影响,仿真分析结果如图9所示。
从图9(a)和9(b)可以看出,以φ=30°和φ=60°为例,在合理的摆动频率和幅度范围内,关节间相位差一致时,摆动角频率ω和最大摆动幅度A与u和β近似成线性关系,随着ω和A增大,β和u均增大。因此,增大尾部摆动频率和摆动幅度,能够获得更大的平均游动速度,但是也会降低仿生机器鱼的游动稳定性。
此外,从图9(c)和9(d)可以看出,在角频率ω一定的情况下,相比于稳定游速u,关节间相位差φ对于稳定性β的影响更加明显,较大的φ会带来更好的稳定性;然而,随着φ增大,平均游速u有逐渐减小的趋势,但是变化幅度较小。因此,设计仿生机器鱼的CPG模型参数时,在满足平均游速对尾部摆动频率和最大摆动幅度要求的前提下,应选择较大的关节间相位差,以获得更好的游动稳定性。
本文基于细长体理论计算了三关节仿生机器鱼游动的水动力,采用Newton-Euler法建立了机器鱼空间游动的机构动力学模型,并分析了各运动特征参数对机器鱼游动性能的影响,主要结论如下:
(1)利用机器鱼物理样机和水动力测量设备开展实验,并通过Matlab进行机器鱼运动仿真,验证了所提出的机器鱼游动过程的耦合动力学模型的合理性和有效性;
(2)在相同关节间相位差条件下,摆动角频率和最大摆动幅度与平均游速近似成正比,与头部稳定性成反比,较大的摆动频率和摆动幅度会使得平均游动速度增加,但也会降低机器鱼的游动稳定性;
(3)在相同角频率条件下,相比于稳定游速,头部稳定性对关节间相位差的变化更加敏感,较大的关节间相位差能够获得更好的稳定性,在设置机器鱼的CPG模型参数时,应尽量选择较大的关节间相位差。
通过本文研究,建立了精确的仿生机器鱼二维、三维多模态游动耦合动力学模型,为进一步研究仿生机器鱼复杂轨迹跟踪问题提供了前提和理论基础。目前作者正着力于高机动性机器鱼物理样机的开发研制,计划在未来进行机器鱼空间机动性实验研究,进一步对本文建立的模型进行验证,同时,探究近水面尾部击水面积、攻角等参数对机器鱼游动性能的影响。