鱼类经过亿万年的自然选择,进化出了非凡的游动能力,在游动速度、效率、机动性等各个方面表现近乎完美[1],这也吸引着研究人员通过仿生的方式来提高水下机器人的性能[2, 3].
多数鱼类通过弯曲身体产生从前往后的运动波,一直延伸到尾鳍,这种游动方式被称为身体/尾鳍(Body and/or Caudal Fin,BCF)模式,另外一些鱼类则通过摆动胸鳍或者中间鳍的方式来游动,这种方式则被称为中间鳍/对鳍(Median and/or Paired Fin,MPF)模式[4].
与BCF模式相比,在仿生机器鱼研究上,MPF模式在机动性与稳定性上具有更大的优势[5, 6, 7].牛鼻鲼,作为MPF模式鱼类的一种,在机动性与稳定性方面优势明显.仿生牛鼻鲼机器鱼与其仿生原型一样,具备宽大的胸鳍,通过对胸鳍摆动运动的控制,可以实现机器鱼在航向、俯仰与滚转3个方向上的高机动可控游动.
胸鳍摆动推进机器鱼一般通过两侧胸鳍的不对称(振幅或相位差不同)摆动[8]产生偏航扭矩以实现航向控制;俯仰控制则是通过尾鳍摆动产生俯仰力矩实现[9].但是较少有学者研究机器鱼的滚转机动控制.滚转机动控制对机器鱼抵抗水流扰动能力以及特殊工作环境(如机器鱼水下探测时,需要穿过废墟中的狭缝,机器鱼可以调整自身的滚转角,使腹部平面与狭缝平行,进而在沿狭缝宽度方向上所占尺寸最小,便于自身通过)下的避障能力都至关重要.
本文给出了一种基于中枢模式发生器(Central Pattern Generator,CPG)的模糊控制方法,用于实现胸鳍摆动推进机器鱼的滚转机动控制.在北京航空航天大学人工泳池进行了相关滚转游动的实验.实验结果表明,机器鱼能够快速达到并稳定在目标滚转角度,由此证明了本文提出的滚转控制方法的有效性.
1 机器鱼机械结构及控制系统
胸鳍摆动推进机器鱼样机的机构简图如图 1所示,样机由中间基体,胸鳍单元以及尾鳍单元构成.左右两侧胸鳍各由3根鳍条构成,尾鳍由2根鳍条构成.两侧胸鳍的中间鳍条(鳍条2与鳍条4)分别具有一个转动关节,转动关节连接一根碳纤维鳍条,然后通过弹簧分别与前后鳍条相连.当胸鳍摆动时,碳纤维鳍条在弹簧拉力作用下,会产生俯仰运动,有利于增大胸鳍尖端拍水时的攻角,从而提高推进效率.
![]() |
图 1 机构简图 Fig. 1 Mechanism schematic |
图 2为机器鱼的物理样机,每一根胸鳍鳍条均由高扭矩舵机(3.7 N·m,7.4 V供电)驱动.橡皮绳作为弹簧来提供鳍条间的拉力;浮力块用于机器鱼的水下配平,使机器鱼在静止状态下能够以水平姿态悬浮于水中.
![]() |
图 2 物理样机 Fig. 2 Physical prototype |
相比之前研制的机器鱼[10, 11],本文中的机器鱼采用了新的走线形式,舵机的供电线与信号线均通过壳体内部的走线孔连接到控制板上,除无线串口模块天线与接收机信号线外,无其他线路直接暴露于水中.在密封方式上,O型圈与X型圈分别用于机器鱼的静密封与动密封,保证了机器鱼水下密封的可靠性.
机器鱼的控制系统硬件结构如图 3所示.采用72 MHz的单片机作为微型控制器单元,负责传感器的数据采样,上位机以及遥控器控制信号接收,数据处理,决策,然后发送运动参数给CPG控制器.CPG控制器用于产生可以被舵机识别的脉冲宽度调制(PWM)控制信号,控制舵机所需的转动.姿态传感器用于反馈机器鱼的航向、俯仰、滚转3个姿态,每隔0.2 s反馈一组欧拉角形式的姿态数据.液位计用于反馈机器鱼的深度信息,机器鱼只有达到一定深度后才能进行滚转游动,深度过浅时胸鳍将摆出水面,导致机器鱼失去平衡.
![]() |
图 3 硬件架构 Fig. 3 Hardware configuration |
2 滚转运动机理
为了便于描述牛鼻鲼胸鳍摆动规律,建立如图 4所示的坐标系,沿胸鳍宽度方向为展向,身体前后方向为弦向,在身体中轴线的中间位置建立笛卡儿坐标系,样机坐标系建立方式与其保持统一,如图 2所示.根据牛鼻鲼胸鳍摆动规律[10]可知,其胸鳍沿弦向截面近似为正弦运动,其摆动中心线为x轴,展向截面运动可以近似为三次多项式函数,定义其摆动中心线为上下两个极限位置的对称中心线.
![]() |
图 4 牛鼻鲼胸鳍摆动规律曲线 Fig. 4 Oscillating discipline curves of Cownose Ray’s pectoral fins |
通过观测牛鼻鲼在水中的游动姿态发现,牛鼻鲼在游动时,沿弦向方向胸鳍的摆动对称中心线与身体的朝向保持一致,如图 5所示.牛鼻鲼在上浮游动时,身体朝上,胸鳍摆动中心线也朝上;水平游动时身体保持水平,胸鳍摆动中心线也保持水平;下潜时,胸鳍摆动中心线也朝下.因此可以得出,胸鳍摆动产生的平均推力与摆动对称中心线的方向保持一致.
![]() |
图 5 不同游动姿态下的牛鼻鲼胸鳍摆动规律 Fig. 5 Oscillating disciplines of Cownose Ray’s pectoral fins in different swimming poses |
因此,若控制一侧胸鳍摆动中心线上偏,另一侧胸鳍摆动中心线下偏,则一侧产生斜向上的推进力Fwr,相应的另一侧产生斜向下的推进力Fwl,两侧的推进力会产生翻滚力矩.如图 6所示,机器鱼左侧胸鳍中心线下偏,右侧中心线上偏,则其在向前游动的同时,会向左侧滚转.反之,则机器鱼向右侧滚转.
![]() |
图 6 胸鳍摆动中心偏置示意图 Fig. 6 Oscillating center bias schematic of pectoral fins |
机器鱼样机的第i根鳍条摆动中心线的位置如图 7所示.机器鱼鳍条摆动的两个极限位置的对称中心线为鳍条摆动中心线.则Ribias是第i个鳍条单元的摆动中心线与y轴之间的夹角(规定逆时针为正),称为振幅偏置,同时,定义

为了度量胸鳍摆动中心线的倾斜程度,定义

![]() |
图 7 鳍条摆动中心线定义 Fig. 7 Definition of fin oscillating center line |
3 基于CPG的模糊控制器设计 3.1 CPG控制器设计
为了更好地模拟自然原型胸鳍的摆动规律,样机的鳍条按正弦规律摆动.但是,采用插值法输出正弦信号时,若振幅、相位等参数改变则容易导致输出信号突变等问题.因此,为了实现胸鳍条单元的柔顺摆动及光滑的姿态切换过渡,本文参照两栖蛇机器人[12]、蝾螈机器人[13]以及机器鱼[8]的CPG模型,建立了适合本文的CPG模型.
本文中的CPG网络结构如图 8所示,每个单元与其上下、左右相邻单元之间的连接关系均是双向的.前后单元的连接关系影响运动波沿鳍面的传递规律,进而影响机器鱼的前进速度及俯仰稳定.而左右单元的连接关系则影响机器鱼的航向稳定.
![]() |
图 8 CPG网络结构示意图 Fig. 8 CPG network structure schematic |
CPG单元1~6分别对应鳍条1~6,用于控制胸鳍的运动;单元7、8分别对应鳍条7、8,用于控制尾鳍运动.单个CPG单元鳍条摆动的运动模型为


3.2 模糊控制器设计
由于流固耦合问题,水下复杂流体扰动以及姿态传感器本身精度限制等因素,精确的机器鱼滚转控制动力学模型建立难度很大.考虑到模糊控制方法是基于专家经验的逻辑控制,可以避开动力学建模等难题,因此本文采用模糊控制方法进行机器鱼的滚转机动控制.借鉴模糊控制在机器鱼深度控制[9]、航向控制、转弯避障[14, 15, 16]等方面的相关研究思路,进行滚转角模糊控制器设计.
模糊控制器由规则库、推理机、模糊化接口、清晰化接口等部分组成.基于大量的专家经验,并通过一定的匹配规则,对于给定的输入,可以得到相应的输出.
本文中基于CPG的模糊控制器结构如图 9所示,模糊滚转角控制器有两个输入变量及一个输出变量.输入变量分别为误差e与误差变化量ec,输出变量为与摆动偏置差值Ubias相关的过程变量ubias.整个控制器的输入为期望滚转角,输出为当前滚转角.在某一时刻t,给定期望滚转角rt与当前滚转角yt,则该时刻的误差以及误差变化量分别表示为:et=rt-yt,ect=et-et-1.
![]() |
图 9 基于CPG的模糊控制器结构 Fig. 9 Structure of fuzzy controller based on CPG |
在实验中,机器鱼滚转角可以在[-π/2,π/2]之间变化,因此,误差的变化范围定为-π≤e≤π;根据机器鱼的滚转速度以及测试环境中水流扰动的大小,设定ec的变化范围为-π/4≤ec≤π/4;而偏置差值的过渡变量ubias范围为-3°≤ubias≤+3°,对应偏置差值Ubias范围为-12°≤Ubias≤+12°.
为了与姿态传感器反馈的数据保持一致,本文规定机器鱼水平时,滚转角为0°;往左侧滚转,角度为正,往右侧滚转,角度为负.滚转角度偏差E、偏差变化率Ec和控制量U的论域定义为[-3, 3],与e、ec和ubias分别对应比例因子为k1=3/(π/2),k2=3/(π/4),k3=4.
在模糊化输入阶段,隶属度函数均采用三角函数,如图 10所示,E、Ec均被分为7档,分别对应语言变量NB(负大)、NM(负中)NS(负小)、ZE(零)、PS(正小)、PM(正中)、PB(正大).
![]() |
图 10 各语言变量的隶属度函数 Fig. 10 Membership function for each linguistic variable |
模糊规则库在建立时,采用IF-THEN的规则,根据大量实验得出的经验,总结归纳出了49条模糊控制规则,建立了模糊规则库,如表 1所示.
U | Ec | |||||||
NB | NM | NS | ZE | PS | PM | PB | ||
E | NB | NB | NB | NB | NB | NS | ZE | ZE |
PM | NB | NB | NB | NM | NS | ZE | ZE | |
NS | NB | NB | NM | NS | ZE | PS | ZE | |
ZE | NS | NS | NS | ZE | PS | PM | PS | |
PS | ZE | NS | ZE | PS | PM | PB | PB | |
PM | ZE | ZE | PS | PM | PB | PB | PB | |
PB | ZE | PS | PS | PB | PB | PB | PB |
在对U的清晰化输出阶段,隶属度函数仍采用如图 10所示的三角函数,同样分为7档,采用中心-平均法求得对应的输出量为

模糊控制器输出ubias需要乘以比例因子k3,得到偏置差值Ubias,然后输送给CPG控制器.CPG控制器中,υi、Ri和等参数均保持不变,Ubias仅引起振幅偏置Ribias的改变,且规定两侧胸鳍的第3根鳍条(鳍条3,鳍条6)的振幅偏置R3bias=R6bias≡0°.鳍条1、鳍条2、鳍条4和鳍条5的振幅偏置Ribias可由式(1)和式(2)计算得到,即

4 实验及分析
在机器鱼滚转机动控制实验中,图 11为目标滚转角分别为60°、45°和30°时滚转角随时间的变化曲线.从图 11(a)可以看出,机器鱼的最快滚转速度约为10(°)/s,稳态误差为±5°.误差呈周期性变化波动,而且周期与机器鱼胸鳍摆动的周期吻合,均为0.5 Hz.当初始角度与目标角度相差变小时(见图 11(b)、图 11(c)),机器鱼仍能以较快的速度达到目标滚转角.目标滚转角度为45°和30°时,稳态误差仍为±5°以内.证明了本文所述模糊控制方法具有较好的稳定性.
![]() |
图 11 滚转角随时间变化曲线 Fig. 11 Curve of roll angle changing with time |
通过实时发送目标滚转角度,并且配合机器鱼的航向控制,最终实现了机器鱼滚转机动避障游动,其避障过程的视频截图如图 12所示.机器鱼翼展为920 mm,两根竖直障碍物之间的间距为450 mm,机器鱼鱼身厚度为200 mm.机器鱼以90°的滚转角,通过了宽度不足翼展1/2的狭窄空间,证明了其游动的高机动性.
![]() |
图 12 滚转机动避障 Fig. 12 Obstacle avoidance by rolling maneuvering |
5 结 论
本文通过基于CPG的模糊控制方法实现了机器鱼的滚转机动控制并进行了相关实验.实验结果表明:
1) 机器鱼能够以较快的速度达到目标滚转角度,最快滚转角速度为10(°)/s.
2) 机器鱼在目标滚转角度分别为60°、45°和30°时,稳态误差均不超过±5°,证明控制方法具有较好的稳定性.
3) 配合航向控制,机器鱼通过滚转游动实现了高机动性的避障游动,证明滚转控制一定程度上提高了机器鱼的机动性.
在实验中发现,机器鱼在滚转游动时航向会发生较大变化,原因是机器鱼有一定的滚转角后,航向与俯仰存在一定的耦合,机器鱼因胸鳍周期性摆动而带来的周期性俯仰带来了航向的不稳定.下一步工作中将对机器鱼的俯仰与滚转进行解耦,以实现机器鱼在给定滚转角下的稳定航向控制.
[1] | Domenici P, Blake R.The kinematics and performance of fish fast-start swimming[J].Journal of Experimental Biology, 1997, 200(8):1165-1178. |
Click to display the text | |
[2] | Sfakiotakis M, Lane D M, Davies J B C.Review of fish swimming modes for aquatic locomotion[J].IEEE Journal of Oceanic Engineering, 1999, 24(2):237-252. |
Click to display the text | |
[3] | Triantafyllou M S, Triantafyllou G S, Yue D K P.Hydrodynamics of fishlike swimming[J].Annual review of fluid mechanics, 2000, 32(1):33-53. |
Click to display the text | |
[4] | Webb P W.Form and function in fish swimming[J].Scientific American, 1984, 251(1):58-68. |
[5] | Rosenberger L J.Pectoral fin locomotion in batoid fishes:Undulation versus oscillation[J].Journal of Experimental Biology, 2001, 204(2):379-394. |
Click to display the text | |
[6] | Blake R W.Fish functional design and swimming performance[J].Journal of Fish Biology, 2004, 65(5):1193-1222. |
Click to display the text | |
[7] | Suzuki H, Kato N, Suzumori K.Load characteristics of mechanical pectoral fin[J].Experiments in Fluids, 2008, 44(5):759-771. |
Click to display the text | |
[8] | Cao Y, Bi S, Cai Y, et al.Applying coupled nonlinear oscillators to imitate swimming modes of cow-nosed rays[C]//Proceedings of the 2013 IEEE International Conference on Robotics and Biomimetics.Piscataway, NJ:IEEE Press, 2013:552-557. |
Click to display the text | |
[9] | Niu C, Zhang L, Bi S, et al.Development and depth control of a robotic fish mimicking cownose ray[C]//Proceedings of the 2012 IEEE International Conference on Robotics and Biomimetics.Piscataway, NJ:IEEE Press, 2012:814-818. |
Click to display the text | |
[10] | Zheng L, Bi S, Cai Y, et al.Design and optimization of a robotic fish mimicking cow-nosed ray[C]//Proceedings of the 2010 IEEE International Conference on Robotics and Biomimetics.Piscataway, NJ:IEEE Press, 2010:1075-1080. |
Click to display the text | |
[11] | Cai Y, Bi S, Zheng L.Design optimization of a bionic fish with multi-joint fin rays[J].Advanced Robotics, 2012, 26(1-2):177-196. |
Click to display the text | |
[12] | Ijspeert A J, Crespi A.Online trajectory generation in an amphibious snake robot using a lamprey-like central pattern generator model[C]//Proceedings of the 2007 IEEE International Conference on Robotics and Automation.Piscataway, NJ:IEEE Press, 2007:262-268. |
Click to display the text | |
[13] | Ijspeert A J, Crespi A, Ryczko D, et al.From swimming to walking with a salamander robot driven by a spinal cord model[J].Science, 2007, 315(5817):1416-1420. |
Click to display the text | |
[14] | Na S Y, Shin D, Kim J Y, et al.Obstacle recognition and collision avoidance of a fish robot based on fuzzy neural networks[M]//Fuzzy Information and Engineering.Berlin:Springer, 2007:337-344. |
Click to display the text | |
[15] | Lee P J, Yen C H, Chan C L, et al.Implementation of a fuzzy control based intelligent robot fish[J].International Journal of Fuzzy Systems, 2009, 11(4):287-297. |
Click to display the text | |
[16] | Lee P J, Lee M S, Wang R C.A fuzzy control based robotic fish with multiple actuators[J].International Journal of Fuzzy Systems, 2012, 14(1):45-53. |
Click to display the text |