陈国军,陈巍,金俊,王志明
(1.南京工程学院工业中心,江苏南京 211167;2.浙江省农作物收获装备技术重点实验室,浙江金华 321007)
目前水下机器人多以螺旋桨作为驱动,存在能耗高、体积大、机动性差等缺点,而鱼类经过上亿年进化,其身体形状和游动方式能完美适应水下环境,因此仿生机器鱼逐渐成为研究热点[1]。鱼类的推进方式主要分为身体-尾鳍推进和中间鳍-对鳍推进2种,前者主要是利用鱼类身体和尾鳍的摆动或波动产生推进力,后者主要依靠鱼类胸鳍或腹鳍的摆动或波动产生推进力,所以仿生机器鱼按推进方式分为身体-尾鳍推进仿生机器鱼和中间鳍-对鳍推进仿生机器鱼两大类[2]。身体-尾鳍推进仿生机器鱼的研究开展较早,相应理论技术比较成熟[3],而中间鳍-对鳍推进仿生机器鱼的研究起步较晚,最具代表性就是鳐鱼[4],所以目前基本以鳐鱼作为仿生原型开展中间鳍-对鳍推进仿生机器鱼研究。
2018年,GLUSHKO等[5]对仿生机器鳐鱼进行研究,实现了多模式推进,通过胸鳍扭转舵机和胸鳍摆动舵机完成胸鳍摆动推进。2021年,米兰理工学院BIANCHI等[6]分析鳐鱼运动机制,设计由不同连杆机构组成的仿生鳐鱼胸鳍驱动骨架,并对其动力学和运动学进行数值分析。2021年,郝天泽等[7]使用形状记忆合金作为驱动材料研制仿生机器鳐鱼,构建仿生机器鳐鱼驱动结构,实现仿生机器鳐鱼胸鳍推进。当前仿生鳐鱼大多采用PID控制和CPG控制方法[8],由于水下环境复杂,存在水流和水浪的干扰,单一控制方法的控制精度较差,且当前仿生鳐鱼的研究主要在外形和结构上,控制方式研究较少。
因此本文作者根据鳐鱼生物学特征设计仿生鳐鱼控制系统,研究基于Fuzzy-CPG的多模态运动控制方法,以提高控制器的自适应能力作为主要目标,基于Hopf振荡器构建仿生机器鳐鱼的CPG模型,通过引入高层感觉反馈控制机制,利用模糊控制器完成CPG模型多参数调节,开展仿生机器鳐鱼多模态运动控制研究。
基于CPG的运动控制方法已经被广泛应用到仿生机器鱼的运动控制中,但单一CPG控制无法实现仿生机器鳐鱼的自主游动,还需要采用耦合传感器反馈信号进行控制。文中在CPG控制模型基础上引入高层感觉反馈控制机制,并通过模糊控制器来调节CPG参数,实现仿生机器鳐鱼的多模态运动控制。
结合鱼类运动机制,构建仿生机器鳐鱼Fuzzy-CPG控制架构,如图1所示,整个控制框架由三部分组成:高层中枢控制中心、低层中枢CPG模型和仿生机器鳐鱼本体。高层中枢控制中心负责环境信息的采集与处理,通过模糊控制器来进行决策;然后发出相应命令到低层中枢CPG模型,通过调节CPG模型参数控制CPG模型输出,从而实现对仿生机器鳐鱼的运动控制。仿生机器鳐鱼本体携带红外避障、陀螺仪和GPS等传感器,为高层中枢控制中心提供控制依据。通过高层中枢控制中心,CPG模型能够选择最优的模式控制实现仿生机器鳐鱼多模态运动。
图1 仿生机器鳐鱼的Fuzzy-CPG控制架构Fig.1 Fuzzy-CPG control architecture for biomimetic robot ray
1.2.1 CPG神经元振荡器模型
文中利用Hopf振荡器构建基于极限环的CPG模型,采用最近相邻振荡器相互耦合的方式建立链式网络拓扑结构,CPG模型参数对应关系明确,结构中的每个振荡器都有独立调节参数。CPG模型单个振荡单元如式(1)所示:
(1)
式中:x、y表示系统的状态变量;ω、μ和m是影响振荡器振荡幅值和频率的3个参数。
引入极坐标变换对式(1)表示的CPG模型单个振荡单元性能进行分析,令x=rcosθ,y=rsinθ,则式(1)可以表示为
(2)
从式(2)可以看出振荡器有r=0和r2=m两个平衡状态,其中r2=m对应的平衡状态当m>0时r有解。式(2)所示的振荡器的振荡幅值与参数m相关,振荡频率与参数ω有关。通过令μ=1可以简化式(1)为
(3)
对式(3)所示的振荡器平衡点进行分析,令P(x,y)=x(x2+y2)和Q(x,y)=y(x2+y2),将其代入式(3)可得:
(4)
式(4)只有一个奇点O(0,0),因此此奇点为中心或焦点。令x=rcosθ,y=rsinθ,对于P(x,y)和Q(x,y),∀δ>0,有:
(5)
(6)
振荡器式(3)对应的系数矩阵是:
(7)
系数矩阵A对应的参数p=-(m+m)=-2m;q=m2+ω2≥0;Δ=p2-4q=4m2-4(m2+ω2)=-4ω2≤0。因为P(x,y)和Q(x,y) 具有连续一阶偏导数,由Perron定理可知,当m>0且ω≠0时,p<0,q>0,Δ<0,此时振荡器的奇点O是不稳定焦点。
再对式(3)所示振荡器的稳定极限环存在性进行分析。取函数V(x,y)=x2+y2,由于函数V(x,y)≥0,可对t求导得:
(x2+y2)]
(8)
则
(9)
当m
(10)
当点(x,y)不为原点时,取函数B(x,y)=(x2+y2)-1,M(x,y)≡0,则
(11)
综上所述可以得出结论:振荡器式(3)在ω>0且m>0时存在唯一极限环,且是稳定的。由式(2)可知,该极限环的振幅仅与参数m相关,频率仅与参数ω相关。
1.2.2 仿生机器鳐鱼CPG模型
在确定单个CPG神经元振荡器模型后,构建多关节仿生机器鳐鱼CPG模型:
(12)
式中:i=1,2,…,n,n表示仿生机器鳐鱼CPG模型神经元振荡器的个数;xi、yi分别表示仿生机器鳐鱼CPG模型神经元振荡器的状态变量;ωi是第i个神经元振荡器的固有频率;mi决定第i个神经元振荡器的固有振幅;aij、bik是耦合系数,表示神经元振荡器间的抑制增益。
以ωi和mi作为仿生机器鳐鱼的CPG模型输入,xi作为模型输出,构建如图2所示的CPG网络拓扑结构。该结构根据仿生机器鳐鱼样机实体进行构建,基于最近相邻振荡器单元相连原则构建链式拓扑结构。左右胸鳍根部舵机、重心调节机构步进电机和尾鳍舵机采用相互耦合的方式进行连接。
图2 仿生机器鳐鱼CPG网络拓扑结构Fig.2 Biomimetic machine ray CPG network topology structure
建立的仿生机器鳐鱼CPG模型振荡器具有结构稳定的极限环,极限环附近一些较小的干扰信号会影响机器鳐鱼游动性能的参数,包括摆动幅值、频率外还有各关节之间的相位差,因此,文中引入耦合矩阵与旋转矩阵给出幅值-相位振荡器的相位预测方法,通过构建双边扰动信号Pi,引入相位耦合因子φ,实现振荡器的相位自由控制。
(13)
式中:h1和h2表示耦合系数;Q1和Q2是CPG单元的耦合矩阵;R1和R2是旋转矩阵;φi+1和φi+2是相邻2个振荡单元之间的相位差。
(14)
将双边扰动信号Pi引入式(12),能够得到改进后的仿生机器鳐鱼CPG模型:
(15)
式中:h1和h2表示耦合系数;φi是振荡单元之间的相位差。
1.2.3 仿生机器鳐鱼Fuzzy-CPG模型
构建完仿生机器鳐鱼CPG模型后,对CPG模型的多个参数进行调节尤为重要,文中通过构建高层中枢控制中心来实现仿生机器鳐鱼对外界信息的采集、处理与决策,采用模糊控制器来解决CPG模型的多参数整定问题,如图3所示。首先,通过姿态传感器检测游行过程中的偏航角e,并计算误差变化率Δe;其次,将偏航角e和误差变化率Δe做模糊化处理,通过建立模糊规则库进行模糊推理输出CPG模型参数增量Δmi和Δφi;最后,将CPG模型参数增量Δmi和Δφi补偿到CPG模型,实现CPG模型参数整定。
图3 模糊控制器CPG参数整定流程Fig.3 Flow of fuzzy controller CPG parameter tuning
模糊控制器的输入变量是仿生机器鳐鱼的偏航角e和误差变化率Δe,输出变量是仿生机器鳐鱼CPG模型参数增量Δmi和Δφi。将确定的仿生机器鳐鱼高层中枢控制中心的模糊控制器输入和输出进行模糊化处理,e经过模糊化处理后用模糊集合表示为{NB,NS,ZE,PS,PB},对应{负大,负小,适中,正小,正大}。Δe经过模糊化处理后用模糊集合表示为{N,Z,P},对应{负,适中,正}。Δmi和Δφi经过模糊化处理后用模糊集合表示也为{NB,NS,ZE,PS,PB}。输入输出变量的隶属函数如图4所示。
图4 输入输出变量的隶属函数Fig.4 Membership functions of input and output variables: (a)Δe;(b)e,Δmi,Δφi
然后进行模糊规则库的构建,根据仿生机器鳐鱼控制系统设计的实际需求建立模糊规则如表1所示。
表1 模糊规则方案Tab.1 Fuzzy rule
根据隶属函数与模糊规则库对输出变量进行模糊推理,确定参数增量Δmi和Δφi。在原先的第i个神经元振荡器的固有振幅mi和第i+1与第i个振荡单元之间的相位差φi的基础上,分别加上参数增量Δmi和Δφi,实现对仿生机器鳐鱼CPG模型参数的调节。仿生机器鳐鱼Fuzzy-CPG 控制器结构框架如图5所示。
图5 仿生机器鳐鱼Fuzzy-CPG 控制器结构Fig.5 Structure of the bionic robot ray Fuzzy-CPG controller
通过仿真与试验确定一般情况下仿生机器鳐鱼直线前游、原地转弯和动态沉浮的3种运动状态下CPG模型对应的参数,并将这些参数设为Fuzzy-CPG 控制器初始参数。确定初始参数后,再结合机器鳐鱼反馈的自身状态等信息进行参数的调节,从而实现机器鳐鱼自适应稳定游动。
鳐鱼在进行直线前游运动时,左右胸鳍摆动幅值、频率基本一致。所以在确定仿生机器鳐鱼直线前游CPG模型参数时,依据真实鳐鱼直线前游运动规律,令m1、m2和m3为36,m4为0,m5、m6和m7也为36,m8为0,ω1、ω2和ω3为4,ω4为0,ω5、ω6和ω7也为4,ω8为0,φi(i=1,2,…,8)为0,仿真结果如图6所示。可以看出:变量x1、x2和x3输出波形一致,变量x5、x6和x7输出波形相同,且对称分布,即仿生机器鳐鱼左右胸鳍摆动幅值和频率相同,符合鳐鱼直线前游运动生物学特性。
图6 直线前游CPG模型输出波形Fig.6 Output waveform of CPG model for straight forward
鳐鱼原地转弯运动时,左右胸鳍摆动幅值、频率都不一致。依据鳐鱼原地转弯的运动规律,当仿生机器鳐鱼转弯时,令m1、m2和m3为36,m4为0,m5、m6和m7为36,m8为0,ω1、ω2和ω3为1,ω4为0,ω5、ω6和ω7为4,ω8为0,φi(i=1,2,…,8)为0,仿真结果如图7所示。可以看出:变量x1、x2和x3输出波形一致,变量x5、x6和x7输出波形相同,x1、x2和x3输出波形频率比x5、x6和x7输出波形频率低,即仿生机器鳐鱼右胸鳍摆动频率较左胸鳍摆动频率高,符合鳐鱼原地左转运动生物学特性。
仿生机器鳐鱼动态沉浮运动时,左右胸鳍摆动幅值、频率基本一致,分为下沉和上浮2种状态,可通过重心调节机构实现,所以只需控制一组CPG模型参数。令m1、m2和m3为36,m4为36,m5、m6和m7也为36,m8为0,ω1、ω2和ω3为8,ω4为10,ω5、ω6和ω7也为8,ω8为0,φi(i=1,2,…,8)为0,仿真结果如图8所示。
由图8可以看出:变量x1、x2和x3输出波形一致,变量x5、x6和x7输出波形相同且对称分布,输出波形频率较高,即仿生机器鳐鱼左右胸鳍摆动幅值和频率相同,摆动频率更高,符合鳐鱼动态沉浮运动生物学特性。
通过仿生机器鳐鱼胸鳍推进试验,验证构建的Fuzzy-CPG运动控制方法的可行性与正确性。试验分为直线前游试验、原地转弯试验和动态沉浮试验3个部分,仿生机器鳐鱼3种运动模态下Fuzzy-CPG控制器的初始参数通过仿真确定。
通过仿真确定仿生机器鳐鱼Fuzzy-CPG 控制器直线前游运动初始参数,参数初始化完成后,仿生机器鳐鱼会根据反馈的环境信息和自身状态等信息进行参数的自适应调节。如图9所示,仿生机器鳐鱼的多关节摆动机构上下摆动是匀速的,通过对称胸鳍的匀速摆动实现直线游行。
图9 直线前游试验Fig.9 Test of straight forward swimming:(a)t=0 s;(b)t=0.5 s;(c)t=1 s;(d)t=1.5 s
再通过仿生机器鳐鱼本体携带的陀螺仪验证仿生机器鳐鱼直线前游性能,如图10所示,直线前游过程中,俯仰角、滚转角和偏航角基本在0°上下波动且波动很小,尤其是滚转角几乎没有波动,一直维持在0°,这表明通过所构建的Fuzzy-CPG 控制器控制仿生机器鳐鱼直线前游,能够完成直线运动且性能良好。
图10 直线前游试验陀螺仪角度变化Fig.10 Data variation of linear forward test gyroscope
通过仿真确定仿生机器鳐鱼Fuzzy-CPG 控制器原地右转运动的初始参数,如图11所示。可以看到:仿生机器鳐鱼在原地右转游动过程中,鱼身相对于水下管道夹角不断变化,能够右转游动。此过程中,仿生机器鳐鱼的多关节摆动机构上下匀速摆动,通过对称胸鳍不同的摆速摆动实现原地右转。
再通过仿生机器鳐鱼本体携带的陀螺仪来验证其原地转弯游行性能,如图12所示,试验过程中,俯仰角和滚转角基本在0°上下波动且波动很小,而偏航角从0°开始逐渐增加,表明仿生机器鳐鱼正在转弯,且正在右转,如果偏航角逐渐减小,则表明仿生机器鳐鱼正在左转。这表明Fuzzy-CPG 控制器控制仿生机器鳐鱼原地转弯的过程中,不仅能够完成原地转弯运动且性能良好。
图12 原地转弯试验陀螺仪角度变化Fig.12 Data variation of gyroscope for in-situ turning test
通过仿真确定仿生机器鳐鱼Fuzzy-CPG 控制器动态沉浮运动初始参数,如图13所示。t=0 s时,仿生机器鳐鱼整个鱼身都在水下;t=0.5 s时,鱼身在重心调节机构的驱动下开始倾斜;t=1 s时,鱼身开始浮出水面;最后当t=1.5 s时,鱼身基本浮出水面,完成上浮游动。此过程中,除了重心调节机构移动外,仿生机器鳐鱼的多关节摆动机构也上下匀速摆动。
图13 上浮游动试验Fig.13 Test of floating :(a)t=0 s;(b)t=0.5 s;(c)t=1 s;(d)t=1.5 s
再通过仿生机器鳐鱼本体携带的陀螺仪验证其上浮游动性能,如图14所示,滚转角和偏航角基本在0°上下波动且波动很小,俯仰角从0°开始逐渐增加到30°左右,然后再逐渐减小到0°。俯仰角从0°开始逐渐增加说明仿生机器鳐鱼鱼身开始向上倾斜,再逐渐减小到0°说明仿生机器鳐鱼完成上浮游动,鱼身逐渐恢复平衡状态,表明Fuzzy-CPG 控制器能够实现仿生机器鳐鱼上浮游动且性能良好。
图14 上浮游动试验陀螺仪角度变化Fig.14 Data variation of the floating test gyroscope
文中针对仿生机器鳐鱼复杂水下环境运动控制问题,提出了一种Fuzzy-CPG控制方法,实现了仿生机器鳐鱼多模态运动控制,利用Hopf振荡器构建了单个基于极限环的CPG模型,在此基础上通过分析各个振荡元之间的耦合关系构建了多关节仿生机器鳐鱼CPG模型。针对CPG模型的多参数调节问题,通过引入高层感觉反馈控制机制,利用模糊控制器来完成参数调节。通过 MATLAB仿真确定了直线前游、原地转弯和动态沉浮3种运动模态下Fuzzy-CPG控制器的初始参数,并验证了所确定的初始参数符合鳐鱼游动生物学特性。最后进行了仿生机器鳐鱼直线前游试验、原地转弯试验和动态沉浮试验,试验结果表明:通过所构建的Fuzzy-CPG控制器控制仿生机器鳐鱼多模态运动,不仅游动性能良好而且有着很好的稳定性。