尾鳍驱动仿生机器鱼的CPG控制

2024-01-26 09:18洋,陈坤,袁
机械设计与制造 2024年1期
关键词:尾鳍链式舵机

王 洋,陈 坤,袁 亮

(新疆大学机械工程学院,新疆 乌鲁木齐 830047)

1 引言

近年来,随着水下生物形态调查、输油管道故障检测、水下考古、海岸线安全和军事行动等水下研究与应用的不断深入,水下机器人(AUV)已成为越来越重要的课题[1]。随着水下机器人研究领域和任务描述的不断扩大,激励着人们不断去探索高效、高机动型的水下推进控制技术[2]。

虽然螺旋推进器是一种有效的工程推进装置,但这些推进器存在结构尺寸大、噪音大、隐蔽性能差等缺点。近年来,仿生学的研究越来越受到人们的重视,从动物身上获得灵感来解决现实问题,创造出更高效的机器人。生活在江河湖海中的鱼类,在长期残酷的生存斗争中,其体形和运动器官都进化得非常适合水中运动,展现了惊人的水中运动性能[3]。因此,仿鱼推进机构可以是一种可行的替代传统旋转螺旋桨的水下航行器推进方式[4]。受生物鱼的速度、效率和敏捷性的启发,设计出不同类型的机器鱼[5-7]。

仿生学研究表明,在自然界中,节律运动是由中央模式发生器(CPG)产生的,中央模式发生器是一种神经元电路,在没有携带特定时间信息的感觉或高级输入的情况下可以产生节律运动模式。基于CPG的神经控制方法开始被用于不同的控制结构以获得不确定的运动行为,CPG被广泛地应用于各种仿生机器人,以获得智能、鲁棒、稳定、自适应和分层的控制解决方案。两足机器人、机器鱼、六足机器人、蝾螈机器人和蛇形机器人使用不同的CPG模型进行控制。

2007年,日本的Kimura将CPG模型成功应用在四足行走机器人控制,采用CPG实现多种运动模式,使其能在复杂的地面上稳定运动。文献针对仿生蝾螈的水陆两种环境下的运动与步态的切换进行研究,提出了完整的相位振荡器模型,成功将之应用到仿蝾螈机器人中。2019年,为了提高蛇形机器人的运动效率,优化了CPG 控制器的运动参数,并实现了蛇形机器人在复杂地面的自适应路径跟踪。

CPG的种类很多,应用在仿生机器鱼上的主要有HOPF振荡器,Kimura振荡器、七鳃鳗CPG等。2006年,通过CPG控制器在线改变参数,获得了几种不同的游泳模式来模拟真实鱼在自然界中的各种行为。2016 年,文献[8]采用了动态模型和粒子群优化(PSO)算法相结合的方法对中央模式产生器(CPG)网络的参数进行优化,通过对实际机器鱼的大量实验,验证了基于粒子群优化算法的优化方案,优化后的结果显示优于先前报道的向前和向后游泳速度。2019年,为了使机器鱼获得有节奏、自适应的闭环控制性能,提出了一种由基于七鳃鳗CPG 网络和模糊逻辑控制器组成的新型控制机制,实验验证了机器鱼的自主游动和偏航控制性能,同时验证了机器鱼的逃逸性能。文献研究了四关节机器鱼的最大游动速度和较高的推进效率,基于牛顿欧拉方法建立动力学模型,并与基于HOPF的CPG网络相结合,还进一步利用粒子群优化算法对CPG 模型的特征参数进行优化,从而提高了推进性能。

这里的其余部分安排如下。在第二节中,介绍了Light Hill理论和HOPF振荡器。在第三节中,建立了仿真模型,并搭建了实验样机。第四节对实验样机和虚拟样机进行了仿真模拟。最后,在第五节中给出结论。

2 基于HOPF的链式耦合CPG模型

为了控制多关节尾鳍机器鱼的运动,首先引入Light Hill[9]的理论,运用该理论得到鱼体的运动包络方程,之后为了实现底层的运动控制,采用了HOPF 非线性振荡器作为CPG 的信号发生器,同时根据文献[10]论证了其极限环的存在性与唯一性,最终证明了HOPF振荡器的稳定性。

2.1 机器鱼运动学模型

Light Hill将鱼体的推进行波简化为一个由鱼头向鱼尾方向传播且波动幅度逐渐增加的正弦曲线,因此鱼体的体干波动曲线可以通过两组曲线的合成来描述,即鱼体波包络线和正弦曲线[9]。连续形式的鱼体波方程由式(1)给出:

式中:y—鱼体的横向(侧)位移;x—鱼体的前向位移;t—时间;A1,A2—鱼体波幅包络线C=A1x+A2x2的系数;β—波长系数,β=2π/α,α—鱼体波的波长;ω—鱼体波方程的角速度。

由于多关节尾鳍机器鱼无法完全拟合出连续形式的鱼体波波动曲线。为了使机器鱼更好地拟合鱼体波方程,可将连续形式的方程进行离散:

式中:i—单个摆动周期内的波序号,i=1,2,…,M;M—单个摆动周期内鱼体及尾鳍运动被离散的数目。

当A1=A2=10,β=10,M=5时,鱼体波曲线及其包络线图谱,如图1所示。

图1 鱼体波曲线及其包络线Fig.1 The Curves of Fish Body Wave and Their Envelopes

2.2 振荡器的选择

为了仿生机器鱼游动时能贴近上文的鱼体波曲线,基本的方法是在简单的正弦振荡器的基础上进行改进,这里采用非线性HOPF振荡器,其表达如下:

式中:x,y—振荡器的状态变量;ω—固有振荡频率;μ—振幅。

由于HOPF振荡器是结构稳定的且与初始条件无关,因此可作为机器鱼尾鳍节律运动的信号发生器。

为了保持机器鱼尾鳍节律运动的同步性,可通过检查非线性振荡器的极限环的存在性和唯一性,对于HOPF 振荡器,由文献[10]可知,其极限环存在且唯一,其极限环图与单组初始条件下的输出特性,如图2所示。

图2 HOPF极限环图与单组初始条件下的输出特性Fig.2 HOPF Limit Cycle Diagrams and Output Characteristics Under Single Initial Conditions

基于HOPF 振荡器的CPG模型,虽然能够调节输出信号的频率和幅值,但是因为缺少对应的相位决定因子而无法实现信号间的相位自由调节。根据文献[8],通过引入耦合矩阵Q和旋转矩阵R,得到了预测耦合相位振荡器之间相位关系的方法。首先在CPG模型中添加了一个扰动项Pi:

式中:h1,h2—耦合系数;

Q1,Q2—CPG单元的耦合矩阵;

R1,R2—CPG单元的旋转矩阵;

φi—第i-1和第i个振荡单元间的相位差。

耦合矩阵Q和旋转矩阵R,可取如下:

综上可得改进后的HOPF振荡器变为:

式中:zi—输出;di—输出系数。

2.3 链式耦合CPG网络模型

对于采用多关节串联尾鳍的机器鱼,采用弱耦合且相互抑制的CPG网络控制模式,该模式的输出信号能够很好的作用于每个关节的CPG单元,实现链式CPG网络信号输出。链式CPG耦合模型,如图3所示。

图3 链式耦合CPG网络模型Fig.3 Chain Coupling CPG Network Model

这里基于HOPF 振荡器构建链式耦合的CPG 网络,所构建的CPG网络拓扑结构包含4个CPG单元,输出信号则对应仿生机器鱼尾鳍的四个关节的幅角。

3 仿真模型与样机的建立

依据鲹科鱼类推进原理,利用舵机驱动实现鱼体包络线的形成,在机器鱼工作的时候,电源带动舵机(1~4)工作,4个舵机串联连接,通过控制每个舵机摆动一定的角度,实现真实鲹科鱼类游行动作的模仿,最终达到多舵机串联来实现机器鱼BCF推进的目的。

3.1 仿生机器鱼虚拟样机的建立

采用SolidWorks建立仿生机器鱼的三维模型,如图4所示。

图4 仿生机器鱼三维模型Fig.4 3D Model of Bionic Robotic Fish

机器鱼的运动主体由头部、胸鳍、连接件、支撑环架、舵机、大连接块、小连接块、舵盘和尾鳍组成,机器鱼驱动模块的配重安装在头部的空腔内,最后需要对机器鱼进行密封。

为了分析机器鱼尾鳍部分在CPG 振荡器作用下的运动规律,使用ADAMS建立其虚拟样机,这里只分析尾鳍部分的运动,暂不考虑头部的偏航。因此,第一个舵机设置了固定,对于虚拟样机的仿真参数,这里仅进行运动仿真实验。所施加的旋转副方程类型为角位移,约束方程为:

式中:t—时间。这个方程体现了各关节的运动变化规律。

同时链式耦合CPG 网络与尾鳍关节的对应关系,如图5所示。

图5 尾鳍关节与CPG网络对应关系Fig.5 The Relationship Between the Joints of the Caudal Fins and CPG Network

3.2 仿生机器鱼尾鳍实验样机的建立

采用STM32F103ZET6作为CPG信号的发生器,STM32F103是采用ARM32位的CORTEX-M3内核,具有运算速度高于51单片机、接口编程模块化的特点。

所选取的舵机的摆角范围为(0~270)°,型号为RDS3218,该型号的舵机是数字舵机,因此不再需要光电隔离器来处理信号。由于舵机的摆角是采用PWM控制,因此STM32 的PWM 输出信号与各关节的CPG 单元之间存在对应关系。实验样机,如图6所示。

图6 实验样机Fig.6 Experimental Prototype

机器鱼尾鳍关节零部件参数,如表1所示。

表1 零部件参数Tab.1 Parts Parameter

图中四个舵机分别对应四个关节,关节1到关节4分别与微控制器的PB4、PB5、PB0、PB1引脚相连接,其PWM 的产生是由STM32的定时器3产生。舵机的详细参数,如表2所示。

表2 RDS3218舵机参数Tab.2 Parameters of RDS3218 Steering Engine

4 仿真与实验

4.1 虚拟样机CPG仿真

首先对所搭建的CPG模型进行虚拟样机的设计与仿真。虚拟样机与CPG振荡器单元的对应关系,如图7所示。

图7 ADAMS运动仿真Fig.7 ADAMS Motion Simulation

仿真结果,如图7所示。从图中可以看出各舵机的位移都符合简谐运动,很有规律,关节之间的运动符合链式耦合CPG 的变化规律。

4.2 耦合链式CPG仿真

为了验证所建立的耦合链式CPG 模型的有效性,针对其在Matlab R2019b上进行了模拟仿真,仿真参数,如表3所示。

表3 耦合链式CPG仿真参数Tab.3 Coupling Chain CPG Simulation Parameters

仿真环境参数,如表4所示。

表4 仿真环境参数Tab.4 Simulation Environment Parameters

将表3中的参数代入式(6),并进行数值模拟,仿真结果,如图8所示。

图8 链式耦合CPG输出信号Fig.8 Chain Coupled CPG Output Signal

根据文献[8]使用CPG能够实现机器鱼的多模态游动,这里也进行了多模态游动的模拟仿真,仿真结果,如图9所示。

图9 正反向游动的CPG输出Fig.9 CPG Output of Forward and Backward Swimming

直游对于鱼类来说,是最基本的游动模态,图9(a)展示了前向游动时的CPG 信号输出,相位差φi=45°,可以看出,在头部指向尾部方向上,各关节摆动幅度在逐渐增加,相位上滞后一个稳定的角度,舵机周期性摆动,向前推进,实现机器鱼向前直游的模态。

与直游模态相比较,当CPG 模型输出到各关节上的相位差为φi=-45°时,尾部的CPG振荡单元相位超前头部神经元,这样就实现了机器鱼的倒游。图8(b)展示了仿生机器鱼倒游时CPG输出信号,由图可以看出,CPG模型输出到从头部到尾部关节上的控制信号的相位依次滞后,这样就实现了机器鱼的倒游模态。

为了更直接的对比,图10给出了机器鱼直游-倒游-直游的CPG 输出控制信号。当时间t在(0~5)s 之间时,固有频率取为ω=2π,机器鱼的关节控制信号处于依次超前关系,即关节1的行为依次超前其他关节相位,此时机器鱼直游;当t在(5~10)s之间时,相位差由φi=-45°变为φi=45°,固有频率不变,控制信号相位关系由超前变为滞后,机器鱼倒游;当t在(10~15)s之间时,相位差又变为φi=45°,固有频率变为ω=4π,与此同时,相位关系由滞后变为超前、且频率发生了改变。

图10 多模态CPG信号输出Fig.10 Multimodal CPG Signal Output

这样从倒游切换为直游,整个过程的信号变化光滑、平缓,表明从直游至倒游再到直游是平缓的切换,体现了CPG 多模态控制的优点。

4.3 实验样机CPG运动实验

为了验证前文所提的理论,搭建了机器鱼尾鳍实验平台,如图11(a)所示。摄像头位于机器鱼的正上方,并且固定。

机器鱼的第一关节与竖直平面木板固定,竖直平面木板与水平平面桌面垂直,为了便于观察,在水平桌面上放置一个直角三角板。

将式(6)以及表2中的参数编为控制舵机的程序,最终实验样机的运行情况的序列,如图11(b)所示。实验开始时,鱼尾鳍关节全部处于中间位置,然后对各关节进行CPG运行。

对图11所在的视频截图进行手工标记,将尾鳍CPG关节中的颜色块中心所在的像素坐标提出,并进行绘制结果,如图12所示。

图12 Y轴方向关节位移Fig.12 Y-Axis Joint Displacement

从图12中可以看出,机器鱼尾鳍的运动规律基本与耦合链式CPG 的输出信号相符,由于实验室没有能够用于定量测量的设备,因此只做出定性分析。

5 结论

从Light Hill的大摆幅细长体理论中得到启发,建立了四关节舵机串联的尾鳍,并用HOPF非线性振荡器构造了用于控制多关节尾鳍的链式耦合CPG 模型,通过仿真验证了链式耦合CPG模型能够实现多模态游动且运动模式切换平滑的特点,最后建立了机器鱼尾鳍关节的虚拟样机并在Matlab上得到了理论验证,用实验验证了将链式耦合CPG 模型移植到实验样机的可行性,以及运动规律的正确性。

猜你喜欢
尾鳍链式舵机
基于双向流固耦合仿真的新月形尾鳍水动力学特性研究
尾鳍驱动型水下机器人发展综述
塘养建鲤背鳍、尾鳍和腹鳍指数的线性体重表征
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
链式STATCOM内部H桥直流侧电压均衡控制策略
基于高速同步485总线通信的多通道舵机控制器设计
形状记忆合金丝驱动的仿生双尾鳍推进器的仿真和实验研究
链式D-STATCOM直流电压分层协调控制策略
10kV链式STATCOM的研究与设计