专利名称:仿生机器鱼游动方向的模糊控制方法
技术领域:
本发明涉及仿生机器鱼运动方向控制方法。
背景技术:
国际和国内研究机构在机器鱼方面研究的重点一般集中于仿鱼推进模式的水动力学模型和高效、高机动性机器鱼的开发,对仿生机器鱼所面临的复杂控制问题则相对研究较少,而仿生机器鱼的高精度游动控制则是仿生机器鱼完成很多复杂的水下作业、切实应用于实际工作中的最基本要求之一。2001年在韩国召开的IEEE ICRA国际会议上,Kristi A.Morgansen等人提出了一种仿鲹科鱼类的机器鱼简单模型的非线性控制方法,能够产生前向推力和调节步态。但是,该机器鱼模型只是一种根据鲹科鱼类的推进机理沿固定导轨运动的机械机构,同真正意义上的仿生机器鱼有较大差距。一个仿生机器鱼通常由多个关节构成其驱动部分,其游动控制与复杂的流体动力学问题密切相关,是一个非线性的、多变量的复杂控制对象。而在现有机器鱼运动水动力学研究的基础上还无法建立起机器鱼游动的复杂水动力学模型,因此无法依靠精确的水动力学模型进行仿生机器鱼的控制系统设计。即便可以得到机器鱼游动的精确水动力学模型,由于仿生机器鱼在水中的游动受到多种不确定扰动因素的影响,一般的常规控制方法和现代控制方法也很难保证其控制精度,或过于复杂、繁琐无法保证其实时游动的需要。所以,在满足机器鱼游动所需控制精度的基础上使用一种简单可靠的、实时性好的、能够在复杂扰动环境下工作的仿生机器鱼游动控制算法是保证仿生机器鱼在实际工作中得以应用的关键性技术问题。
发明内容
本发明的目的是提供一种模糊控制方法,使仿生机器鱼的游动方向控制在只需实验结果和人的控制策略、经验的有效综合,无需被控对象的精确数学模型的情况下即可实现较为满意的控制精度。
为实现上述目的,仿生机器鱼游动方向的模糊控制方法包括步骤计算偏差e和偏差变化率ec;将e和ec模糊化;确定控制量;给出精确控制量;精确控制量乘以比例因子,然后输出控制量。
本发明将为仿生机器鱼系统实现精确游动控制,并实际应用在水下资源的勘测、水下救捞、水下设施的维护与巡检、海洋领土的防御等方面提供基本的技术保障。
图1是鱼体波波幅包络线图2是一个通过4关节实现鱼体波曲线拟合的仿生机器鱼图3是仿生机器鱼游动方向模糊控制器框4是控制量U的隶属函数图5是仿生机器鱼游动方向模糊控制算法的工作流程6是仿生机器鱼沿直线游动时方向误差曲线具体实施方式
鲹科鱼类游动时身体摆动实际上只限于尾部,属于波动推进方式,它们在游动时身体主干部分(前2/3身体部分)波幅很小,明显的波动主要集中在身体的后1/3处。推进波大于鱼的游动速度,并反向由鱼头向鱼尾在鱼体上传播,鱼体每一部分的横向振幅都不相同,并且在鱼鳍尾端达到最大值。鲹科鱼类的鱼体波曲线为鱼体波波幅包络线(如图1所示)和正弦曲线的合成ybody(x,t)=(c1x+c2x2)[sin(kx+ωt)]其中,k身体波波数,k=2π/λ;λ身体波波长;ω身体波角频率,ω=2πf;t时间;c1,c2为鱼体波波幅包络线系数。
依据这种波动推进原理,可以通过拟合上式中的鱼体波曲线来设计多关节的仿生机器鱼,而本发明主要是针对仿鲹科鱼类、通过使用3-8关节拟合鱼体波曲线方式设计的仿生机器鱼的游动方向控制问题。图2给出一个四关节仿生机器鱼拟合鱼体波曲线的例子。仿生机器鱼按照鱼体波曲线进行运动时,在鱼体波的不同相位,关节拟合的位置不同则其角度也有所不同,所以,按照鱼体波曲线函数,计算出每一个相位上用于拟合鱼体波曲线的关节的角度,作为机器鱼游动的数据。仿生机器鱼各关节的角度控制可以通过电机直接驱动或通过钢丝绳、拉杆等传动元件带动的方式实现。仿生机器鱼通过多个关节的协调运动实现在水中的自由游动。
仿生机器鱼运动时的方向控制主要是通过控制其转弯来进行调整的。通常,机器鱼具有三种基本的转弯模式。(1)前进中转弯,即机器鱼在保持持续推进时进行转弯。(2)惯性前进转弯,即机器鱼在直线游动并获得动能的基础上突然停止,而后靠惯性力前进,同时机器鱼把身体处于全弯的位置,靠水动力学的作用力转弯。(3)静止转弯,即机器鱼在没有前进速度的情况下,从静止状态快速摆动它的尾部进行转弯。
由于还没有合适的数学模型、水动力学模型来描述鱼类的转弯过程,许多问题还不清楚,所以,我们暂时还不能依靠通过建立机器鱼转弯数学模型的办法来进行转弯控制。根据仿生机器鱼转弯模式的说明和实验获得的经验知识,本发明主要是对仿生机器鱼游动中和仅靠惯性力作用运动时的游动方向控制使用本发明提出的机器鱼游动方向模糊控制器。本发明所提游动方向控制方案不包含转弯模式(3),即处在完全静止状态时机器鱼方向调整控制。
依据波动推进理论和实验经验确定对仿生机器鱼游动方向起重要作用的仿生机器鱼驱动关节为从鱼尾向鱼头数,第一个和第二个驱动关节(例如,图2中所示的4关节仿生机器鱼,其关节3和关节4,即从鱼尾数的第二关节和第一关节,在游动方向控制中起重要作用),且在方向控制中此两关节具有相同的模糊控制规律,所以本发明设计了一个双变量输入双变量输出的机器鱼游动方向模糊控制器。依据仿生机器鱼游动方向误差及误差变化率和模糊控制规则进行模糊推理,并计算出一个关节的控制量,然后用这一控制量乘以比例因子对两个驱动关节的转角进行控制。模糊控制器结构如图3所示,其中r为设定的仿生机器鱼游动方向;y为通过传感器实际获得的仿生机器鱼游动方向;e为游动方向偏差,在k时刻e(k)=y(k)-r;ec为偏差变化率,在k时刻ec(k)=y(k)-y(k-1);k1、k2为量化因子;k3、k4为比例因子;E、EC为模糊化后的e、ec;α1为调节因子,依据实际情况确定;U为由模糊规则获得的模糊控制量;u为U解模糊后的控制量;u1、u2为乘以相应比例因子后的实际输出的控制量。
1、输入变量的模糊化、量化等级和隶属函数仿生机器鱼游动方向偏差e,偏差范围定为[-|emax|,|emax|],规定向右偏为正,向左偏为负;量化因子定为k1=6/|emax|;将e量化为论域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}中的值,并按一定隶属度关系使该值与模糊变量E的7个语言取值{NB,NM,NS,ZE,PS,PM,PB}相对应,隶属函数如下表1(该隶属函数可在实际控制时修正)
表1仿生机器鱼游动方向偏差E的隶属函数 仿生机器鱼游动方向偏差变化率ec,偏差范围定为[-|ecmax|,|ecmax|],规定向右偏为正,向左偏为负;量化因子定为k2=6/|ecmax|;将ec量化为论域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}中的值,并按一定隶属度关系使该值与模糊变量EC的7个语言取值{NB,NM,NS,ZE,PS,PM,PB}相对应,隶属函数如下表2(该隶属函数可在实际控制时修正)
表2仿生机器鱼游动方向偏差变化率EC的隶属函数 2、输出变量的解模糊、量化等级和隶属函数u为用于仿生机器鱼方向控制的关节的转动角度,其范围为[-|umax|,|umax|];比例因子定为k3=|umax|/6,在最终控制量输出时使用;将控制量u的论域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}中的值按一定隶属度关系与模糊变量U的7个语言取值{NB,NM,NS,ZE,PS,PM,PB}相对应,其(该隶属函数可在实际控制时修正)。隶属函数为图4所示的三角形函数3、模糊控制规则和模糊控制查询表总结模糊控制经验可得下面的模糊控制规则表(表3)
表3模糊控制规则表 4、非模糊化非模糊化即清晰化,采用加权平均判决法将模糊控制量转为对应的精确控制量。
5、模糊控制表依据上述表1、2、3和图4中的各输入变量、控制量的隶属函数和及其相互间的模糊控制规则,模糊推理可以确定如下模糊控制量查询表表4
表4控制量查询表 在给定e和ec量化后的论域值的基础上,查询表4可获得相应的模糊控制的精确控制量,该量值乘以比例因子后作为最终控制量输出。当各输入变量、控制量的隶属函数或其相互间的模糊控制规则发生变化时,应重新计算并确定控制量查询表。
6、仿生机器鱼游动方向控制的实现将依据模糊控制规则表建立的游动方向模糊控制查询表预先存储在仿生机器鱼内部存储器上,在实际控制中将实时采集到的方向偏差和偏差变化率模糊化,通过查询模糊控制查询表获得所需控制量并进行相应的变换后输出控制量实现游动方向模糊控制。模糊控制算法的具体工作流程见图5。
实施例1本仿生机器鱼游动方向模糊控制方法应用于一个仿鲹科鱼类的四关节仿生机器鱼的控制中,机器鱼长0.5米,各关节由步进电机直接驱动。游动方向模糊控制算法运行在仿生机器鱼内部的微控器上。通过微控器控制一块CPLD,由CPLD调制产生PWM信号,控制舵机的角度,从而实现各关节角度的控制。模糊控制器的输入变量游动方向角度偏差e,实际的角度偏差范围定为[-20度,20度],规定向右偏为正,向左偏为负;偏差变化率ec,范围为[-40,40]。u采用与关节转动角度一一对应的步进电机的CPLD脉宽调制值,其范围为[-240,240];量化因子k1=6/20,k2=6/40;比例因子k3=k4=240/6;采用本发明所给出的模糊控制规则和相应查询表进行模糊推理和控制。采用此模糊控制算法后,仿生机器鱼很好地解决了无障碍水面中沿直线从一点游动到另一点时的方向控制问题,其游动方向误差曲线如图6所示。
权利要求
1.一种仿生机器鱼游动方向的模糊控制方法,包括步骤计算偏差e和偏差变化率ec;将e和ec模糊化;确定控制量;给出精确控制量;精确控制量乘以比例因子,然后输出控制量。
2.按权利要求1所述的方法,其特征在于所述控制量根据控制量查询表获得。
3.按权利要求1所述的方法,其特征在于所述精确控制量依据平均加权法获得。
4.按权利要求1所述的方法,其特征在于所述所述控制量为一个关节的控制量。
5.按权利要求4所述的方法,其特征在于所述所述的一个关节的控制量乘以比例因子对两个驱动关节的转角进行控制。
全文摘要
仿生机器鱼游动方向的模糊控制方法,包括步骤计算偏差e和偏差变化率ec;将e和ec模糊化;确定控制量;给出精确控制量;精确控制量乘以比例因子,然后输出控制量。本发明将为仿生机器鱼系统实现精确游动控制,并实际应用在水下资源的勘测、水下救捞、水下设施的维护与巡检、海洋领土的防御等方面提供基本的技术保障。
文档编号G05B13/00GK1484119SQ0214283
公开日2004年3月24日 申请日期2002年9月18日 优先权日2002年9月18日
发明者硕 王, 王硕, 陈尔奎, 喻俊志, 谭民 申请人:中国科学院自动化研究所