多关节仿生机器鱼的运动控制方法

文档序号:6286294阅读:576来源:国知局
专利名称:多关节仿生机器鱼的运动控制方法
技术领域
本发明涉及多关节仿生机器鱼的运动控制方法。
背景技术
作为生物机理和工程技术的结合点,仿生机器鱼已成为一项包含水动力学控制和驱动技术的多学科研究。由于仿生机器鱼在水中的运动涉及流体环境的水动力学和鱼体的运动学,在现有水动力学分析的基础上还无法建立起机器鱼游动的复杂水动力学模型,因此很难通过解析的方法建立一个精确的水动力学推进模型来指导机器鱼的设计与控制。鱼类行为学家的研究表明,鱼类的推进运动中隐含着一由后颈部向尾部传播的行波。受此启发,人们尝试从运动学的角度来研究鱼类的推进,以避免复杂的水动力学分析。1996年,美国MIT的Barrett等人提出了一个金枪鱼(典型的鲹科鱼类)的推进模型并推导了决定金枪鱼游动效率的七个独立的主要参数。如何合理选取这7个独立的参数对于不同种类、外形和尺寸的鱼来说,仍旧是一个非常棘手的问题。当采用逐一实验的办法时,假设每个参数的取值范围对应10个值,实验空间的元素数目高达710=282475249。所以,基于简单的常态游动的运动学模型,研究一种参数数目少、便于控制、易于实现的机器鱼游动控制方法是机器鱼理论设计和运动控制的关键性技术问题。

发明内容
本发明的目的是提供一种基于关节结构的仿鲹科模式推进的机器鱼的运动控制方法,避免了复杂的水动力学分析,可实现比较精确的运动控制。
为实现上述目的,一种多关节仿生机器鱼的运动控制方法,包括步骤
通过调节关节的摆动频率控制机器鱼直行游动的速度;通过施加不同的关节偏移控制机器鱼的方向。
本发明将为多关节仿生机器鱼的理论设计提供参考并实现机动、灵活的游动控制,可实际应用于水下航行器的设计、水下资源的勘测、水下救捞、水下设施的维护与巡检以及海洋领土的防御等方面。


图1是基于关节结构的鱼体波曲线拟合图;图2是机器鱼的机械结构图。
具体实施例方式
鱼类的推进运动中隐含着一由后颈部向尾部传播的行波,该推进波主要表现脊柱和肌肉组织的弯曲,其幅度由前向后逐渐增加,其传播速度大于鱼体的前进速度。鲹科鱼类的鱼体波曲线可看作是鱼体波幅包络线和正弦曲线的合成,它开始于鱼体的惯性力的中心,延伸至尾柄,其曲线方程可表示为ybody(x,t)=[(c1x+c2x2)][sin(kx+ωt)](1)这里,ybody是鱼体的横向位移,x是鱼体的轴向位移,k是体波数(k=2π/λ),λ是鱼体波的波长,c1是鱼体波波幅包络线的一次项系数,c2是鱼体波波幅包络线的二次项系数,ω是鱼体波频率(ω=2πf=2π/T)。
根据鲹科鱼类的这种波动推进原理,可以通过拟合(1)式中的鱼体波曲线来设计多关节的仿生机器鱼,而本发明主要针对用N(N≥2)个关节来拟合鱼体波曲线运动、仿鲹科模式机器鱼的游动控制问题。仿生机器鱼的关节由电机直接驱动或通过钢丝绳、拉杆等传动元件带动。用本发明所提供的二维摆动数组作为其游动数据,可以实现机器鱼在水中的游动控制。
由于计算机控制是一种数字量控制,在本发明中我们考虑将鱼体波曲线离散化,把时间参数t从鱼体波运动函数ybody(x,t)中分离出来。也就是说,将不断传播的鱼体波分解成两部分1)一个摆动周期内,与时间无关的样条曲线序列(见式(2))ybody(x,i)(i=0,1,...,M-1);2)与时间相关的摆动频率f,即单位时间内摆动机构完成体波运动的次数。
ybody(x,i)=[(c1x+c2x2)][sin(kx-2πMi)]----(2)]]>这里,i是一个摆动周期内的样条曲线序列变量;M是鱼体波分辨率,即在一个摆动周期内整个鱼体波被离散的程度,其上限为伺服电机的最高摆动频率。
在拟合鱼体波曲线之前,我们定义鱼体波相对波长R(0<R≤1)为鱼体摆动部分的长度占整个正弦波的比率。当R接近0时,鱼体摆动部分可视为一刚性棒,很难产生推进力;当R接近1时,鱼体摆动部分呈现一个完整的正弦波;当R取得合适的值时,鱼体在水中的运动比较平稳、高效。根据理论分析和实验所获得的经验知识,本发明主要是对采用直流伺服电机驱动、鱼体相对波长在0.3-0.6左右的机器鱼运动控制时使用本发明提供的摆动数据。
如图1所示,鱼体在摆动平面的运动(在0到Rπ2的轴向区间)可用一系列(N个)串联的连杆机构来表示。假定每根杆的长度分别为l1,l2...,lN(这里,li长度未知,但l1,l2...,lN之间的长度比可事先设定,不妨设l1∶l2∶...,∶lN=l1′∶l2′∶...,∶lN′),其对应的关节角为φ1,φ2,...,φN,其对应的端点坐标为(x0,y0),(x1,y1),...,(xN,yN),机器鱼机动性的控制主要依靠内在形状(关节角φj,1≤j≤N)的改变,其速度的控制依靠摆动频率f的改变。一旦选定鱼体波波幅包络线系数(c1,c2)和体波数k(k=1),某一时刻的鱼体波形状就大体上确定了。
从数学意义上来说,对于一个摆动周期内不同时刻(i)的关节角φij可通过拟合鱼体波曲线来计算。所要解决的问题是在0到Rπ2的轴向区间内寻找合适的关节角φij使lj在鱼体波曲线上首尾相接、并且最后一根杆末端点的横坐标刚好落在Rπ2处。即满足下列条件(见式(3)) 式中,(xi,j,yi,j)为一个摆动周期内第i时刻第j根杆的端点坐标,xi,0=0,xi,N=R×2π,1≤j≤N,0≤i≤M-1。
对于方程组(3)来说,由于包含xi,j的平方项,且lj未知,当N增大时,很难通过解析的方法计算方程组的精确解(xi,j,yi,j)。并且实际运算中总会引入舍入误差,即使采用精确法求得的解也只能是近似解。在这种情况下,本发明采用迭代算法,它通过选取某种初值,用同样的计算步骤,反复计算,求得方程组的近似解。其具体步骤如下(a)迭代逼近杆长系数m对等式(xi,j-xi,j-1)2+(yi,j-yi,j-1)2=lj2进行移项,构造误差函数f(xi,j-1,yi,j-1,xi,j,yi,j,m)=(xi,j-xi,j-1)2+(yi,j-yi,j-1)2-(m×lj′)2(这里m为杆长系数),选择m的初值(m=0.0),从j=1、i=0开始迭代计算,直到满足f(xi,j-1,yi,j-1,xi,j,yi,j,m)<LError(LError为设定的杆长误差),接着j=j+1,转入下一根杆的迭代计算,直到计算第N根杆,判别xN是否等于R×2π,即计算|xN-R×2π|<XError是否成立。如果该绝对误差表达式成立,此时m值即为所求的杆长系数,循环结束。否则,m=m+STEP(STEP为迭代步长,这里取STEP=0.01),转入下一趟循环,进行从第1根杆到第N根杆的迭代计算,直到满足循环结束条件|xN-R×2π|<XError。
(b)计算关节坐标对(xij,yij)记录循环结束时的杆长系数m,由于lj=m×lj′将lj的近似值回代方程组(3),解方程组,依次可求出坐标对(x01,y01),(x02,y02),...,(x0N,y0N)。i=i+1,转入下一时刻(i+1)的坐标对(x11,y11),(x12,y12),...,(x1N,y1N)的求解。反复计算,直到计算出i=M-1时刻的坐标对(xM-1,1,yM-1,1),(xM-1,2,yM-1,2),...,(xM-1,N,yM-1,N)。
(c)计算杆(lj)与鱼体主轴(x轴)的夹角γij根据上一步中求出的摆动周期内任意时刻i、第j根杆的端点坐标(xij,yij),利用公式(4)可求出该杆(lj)与鱼体主轴(x轴)的夹角γij(见式(4))γi,j=a tan 2((xi,j-xi,j-1),(yi,j-yi,j-1))×180°/π (4)(d)计算二维关节摆动数组OscData[M][N]利用上一步求出的杆与鱼体纵轴的夹角γij,可求出摆动周期内任意时刻i、第j-1根杆与第j根杆的夹角φij(见式(5))φi,j=γij-γi,j-1(5)
这里,假定γi,0=0°。
从而,可以得到一个M×N的二维关节摆动数组OscData[M][N](见式(6))OscData[M][N]=φ01φ02···φ0Nφ11φ12···φ1N············φM-1,1φM-1,2···φM-1,N----(6)]]>利用式(6)得出的二维关节摆动数组作为机器鱼的游动数据,通过施加不同的关节偏移,可以调整机器鱼摆动部分的扭曲形状,从而实现不同的方向控制。同时,在游动过程中,通过改变摆动频率f可以改变机器鱼在水中的推进力,进而实现不同的速度控制。由于这些运动控制参数都与鱼体的外形和尺寸无关,故仅仅依靠参数集{φ1,φ2,...,φN,f}就可以实现机器鱼在水中的控制。
在机器鱼游动过程中需要对方向加以控制时,采用对从关节1到关节K的K个串行连接关节的摆动数据增加固定偏转角度的方法,其中关节数目K小于N/2。当机器鱼在(6)式的摆动数据控制下运动时,若机器鱼需要转向α度的方向时,(6)式的摆动数据将调整为OscData[M][N]=φ01+αφ02+α···φ0Nφ11+αφ12+α···φ1N············φM-1,1+αφM-1,2+α···φM-1,N----(7)]]>其中添加α度偏移角的关节为Φ1-ΦN/2之间的从Φ1开始的连续K个关节,K值可依据具体需求确定,但不得大于N/2。方向偏转角度α以鱼体前部的中心线为基准,其为正时机器鱼逆时针转|α|,其为负时机器鱼顺时针转|α|,α的最大值受所设计的机器鱼机构和驱动电机的特性限制。当α为0度时,(7)简化为(6)式。机器鱼采用(7)式进行控制时就可以在水中实现转向运动。
实施例本发明提供的多关节仿生机器鱼的运动控制方法应用于中国科学院自动化研究所复杂系统与智能科学实验室研制的四关节机器鱼,见图2。该机器鱼的关节采用直流伺服电机驱动,具体的技术参数见表1。
表1机器鱼的技术参数

OscData[18][4]=4.07-3.286.8512.682.46-5.843.6512.640.55-7.730.0610.87-1.43-8.70-3.477.66-3.25-8.63-6.573.59-4.66-7.50-8.94-0.744-5.51-5.44-10.30-4.85-5.69-2.71-10.41-8.43-5.200.31-9.23-11.16-4.073.28-6.85-12.68-2.465.85-3.65-12.64-0.557.73-0.06-10.871.438.703.47-7.663.258.636.57-3.594.667.508.940.745.515.4410.294.855.692.7110.428.435.20-0.319.2311.16----(8)]]>机器鱼的摆动控制数据集成在头部的微控器内。通过微控器控制CPLD,CPLD经调制产生PWM信号,控制各个直流伺服电机的转角,从而实现各关节的协调摆动。在机器鱼的一个摆动周期内,鱼体波拟合的参数如下c1=0.1,c2=0,k=1,R=0.5,M=18,N=4,l1′∶l2′∶l3′∶l4′=1∶1∶1∶1。该推进模型最终的结果是一个18×4的关节摆动数组OscData[18][4](见式(8),单位度)和摆动频率f。
在机器鱼的速度控制实验中,通过改变伺服电机的摆动频率f,得到机器鱼的直行游动速度和频率的关系(见表2)游动速度随着摆动频率的增加面增加,但最大的游动速度受伺服电机的最大摆动频率所限制。
表2机器鱼的电机的摆动频率(Hz)和直行游动速度(m/s)的关系

在机器鱼的方向控制实验中,测试让机器鱼以不同的转弯半径完成一个2π的圆周运动。这里,假定所有关节角φi(i=1,2,3,4)的中间位置(平行于体轴)是0°,左旋转极限是-30°,右旋转极限是30°。如果将电机整个转动范围分成8档(-4,-3,-2,-1档为左转,1,2,3,4档为右转),每档代表7.5°。当选择不同的转弯档(L),在每个摆动周期内,相应的关节角偏移量(L×7.5°)迭加到前两个关节角(φ1和φ2),从而鱼体弯向一侧,实现不同半径的转弯。相关的实验数据见表3。
表3机器鱼在摆动频率为2Hz时的角速度(rad/s)

权利要求
1.一种多关节仿生机器鱼的运动控制方法,包括步骤通过调节关节的摆动频率控制机器鱼直行游动的速度;通过施加不同的关节偏移控制机器鱼的方向。
2.按权利要求1所述的方法,其特征在于所述机器鱼摆动包括步骤迭代逼近杆长系数m;计算关节坐标对(xij,yij);计算杆(li)与鱼体主轴(x轴)的夹角γij;计算二维关节摆动数组OscData[M][N]。
3.按权利要求1所述的方法,其特征在于所述机器鱼的关节为多个串联连接的关节。
4.按权利要求1所述的方法,其特征在于所述方向控制包括步骤对从关节1到关节K的K个串行连接关节的摆动数据增加固定偏转角度,其中关节数目K小于N/2。
5.按权利要求1所述的方法,其特征在于所述速度控制和方向控制分离。
全文摘要
一种多关节仿生机器鱼的运动控制方法,包括步骤通过调节关节的摆动频率控制机器鱼直行游动的速度;通过施加不同的关节偏移控制机器鱼的方向。本发明将为多关节仿生机器鱼的理论设计提供参考并实现机动、灵活的游动控制,可实际应用于水下航行器的设计、水下资源的勘测、水下救捞、水下设施的维护与巡检以及海洋领土的防御等方面。
文档编号G05B15/00GK1595312SQ0315676
公开日2005年3月16日 申请日期2003年9月10日 优先权日2003年9月10日
发明者王硕, 喻俊志, 张志刚, 桑海泉, 谭民 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1