周加全 罗文广 李亮 谢广明 蓝红莉
摘 要:仿生机器鱼处在非线性的、时变的、复杂的水环境中,难以建立精确的数学模型,其位姿控制成为当前的主要难题之一.为了解决这个难题,设计了一种适应的模糊控制算法,可以实时地控制机器鱼的方向和速度,通过调整方向和速度的误差两个变量,使机器鱼能够快速地、较精确地到达目标点.在现有的水下机器人协作控制平台下,进行了机器鱼从一个目标位姿到另一个目标位姿的游动实验,结果表明该算法计算量小,显著提高了机器鱼控制的精度,证明了算法的有效性及可靠性.
关键词:仿生机器鱼;位姿控制;模糊控制
中图分类号:TP242 文献标志码:A
0 引言
近年来,随着自然资源的减少,人类开始不断地进行新资源的探索和开发.因为海洋的总面积为地球总面积的70%,并且含有丰富的矿产和生物资源,所以越来越多人重视开采并利用海洋资源.水下机器人是探索海洋世界和开发利用资源的重要工具[1].仿生机器鱼是水下机器人中的一种,其理论研究不仅具有很高的研究价值,而且水资源的勘察以及军事等方面的应用具有广泛的应用前景[2].
多水下机器人协作任务的基础是仿生机器鱼的运动控制算法,它是保证在复杂环境下顺利完成指定任务的前提.仿生机器鱼最基本的控制就是按照人为设定的轨迹完成相应的游动任务[3].但是,目前大多数仿生机器鱼的游动轨迹,都是从初始目标点到最终目标点的游动,并没有考虑它实际的运动方向[4],这种控制算法只能使它粗略地游到目标点,并不能精确地控制鱼体的朝向,在实践中造成了很大误差[5].为了使机器鱼能够完成更加复杂精细的任务,从任意初始位姿到任意目标位姿控制的研究变得十分必要.本文通过模糊控制算法调整机器鱼的方向和速度,从而使得它能够精准、快速地到达目标位姿,为完成多机器鱼编队及相应的复杂任务奠定了基础[6].
1 机器鱼模型简介
鱼类形态以及游动姿态层出不穷,鱼类在运动中隐含着一种由后半部向尾部传播的运动波[7].其游动特点是:游动时身体的前半部分的波幅较小,后半部分波动较明显,波幅较大,按照这种规律并运用拟合曲线的方法对仿生机器鱼进行运动建模,可以得到曲線方程[8]:
Sbody(p,t)=[(a1p+a2p2)][sin(mp+wt)] (1)
式中,Sbody——鱼体中心的横向位移,p——鱼体前进方向的位移,a1,a2——波幅包络线的系数,m——波长的倍数(m=2π/λ,λ是鱼体波的波长),w——波的频率(w=2πf=2π/T, f是鱼体的振荡频率).
为了方便计算机处理数据,可将运动波曲线方程式(1)进行离散化:
Sbody(p,i)=[(a1p+a2p2)][sin(mp+■i)] (2)
式中,i是摆动周期内且不等于i的相关变量;Q表示摆动周期内鱼体波的离散程度.
本文是基于北京大学自主研发的一种可以无线操作的三关节仿鲹科机器鱼(如图1所示),在机器鱼的操作控制平台作用下,对机器鱼位姿控制进行研究[9].
2 机器鱼位姿模糊控制算法设计
2.1 确定模糊化策略和语言变量
模糊规则的选择是模糊控制器设计的核心问题.机器鱼的位姿控制是方向和速度都需要按照一定的要求实现的自由游动.当误差e和误差变化率■都为正大时,控制量应有一个大的正增量,以使e和■快速减小;当e×■<0时,位姿状态向期望的状态变化,控制量维持不变;当e和■都为负大,意味着e×■是正大,则控制量应有一个较大的负增量,使e×■快速减小[10].根据要求设计的模糊控制器中应选取被控对象的输出变量的偏差值e以及偏差变化率■,而把被控制量定为模糊控制器的输出变量F[11].
2.2 确定模糊推理机制
在模糊控制中得到的输入变量(如误差和误差变化)往往不是一个模糊子集,而是一个孤立的点(如A*=x0,B*=y0)等.假定有如下两条模糊规则:
R1 :if x=A1,and y=B1,then z=z1,
R2 :if x=A2,and y=B2,then z=z2,
本文使用Mandani极小运算法[12],计算如下:若已知x=x0,y=y0,则新的隶属度为:
uc(z)=[w1∧uc1(z)]∨[w2∧uc2(z)] (3)
式中:w1=uA1(x0)∧uB1(y0),w2=uA2(x0)∧uB2(y0).
2.3 确定解模糊策略
最大隶属度平均法、重心法以及加权法是最常用的解模糊方法.本文采用重心法[13],因其可以解出模糊集合隶属度函数和所包围面积中心的横坐标,选取这个横坐标,作为模糊集合的表示值.设论域U上F集合A的隶属度函数为A(u),面积中心的横坐标为ucen,则可由下式计算出:
ucen=■ (4)
如果论域U是离散的,uj处的隶属度函数为A(uj),则ucen可由下式算出:
ucen=■ (5)
对水下机器鱼而言,以任意t时刻实际位姿与期望位姿之间的距离e(t)及距离的变化率■(t)作为输入量,机器鱼速度偏差值V(t)作为输出量[14],并将其模糊化.为了实现较快的控制效果,这里得到的控制量为增量的方式,因此,对控制量也以增量方式进行模糊化,并在其论域里取 5 个语言值.偏差E、偏差变化率EC的语言值是大负偏差(NB),中负偏差(NM),小偏差(ZO),中正偏差(PM),大正偏差(PB),而V(t)相应的语言值也为上述的5个语言值.偏差E、偏差变化率EC与控制量V的隶属度函数都选择用三角形函数,其中V的隶属度函数如图2所示.
由于E和EC各有5个模糊集合,共有5*5=25条规则,其规则如表1所示.
同理将角度θ(t)(用D表示)和角度的变化率■(t) (用DC表示)作为输入量,将方向角度偏差值作为输出量,并将其模糊化,可得语言变量值为大负偏差(LB),中负偏差(LS),小偏差(ME),中正偏差(RS),大正偏差(RB),可得方向角的隶属度函数,如图3所示.
由于D和DC也是各有5个模糊集合,共有5*5=25条规则,其规则如表2所示.
经过模糊规则进行模糊推理及解模糊,最终可以得到V(t)与e(t)和■(t)三维仿真图及方向P(t)与θ(t)和■(t)的三维仿真图,如图4、图5所示.
为了说明模糊控制系统的稳定性即可靠性,用常规PID系统与用模糊算法控制系统进行对比,用阶跃信号作为输入信号,运用simulink进行仿真,从图6仿真结果可以看出模糊控制算法没有超调,可以使系统较快地达到稳定状态,而且模糊控制具有较好的鲁棒性.
3 机器鱼位姿控制实验
机器鱼的位姿信息包括位置和方向,位置通过速度控制,方向通过角度进行控制.在三维空间中机器鱼的位姿信息可以用p=[x,y, θ]T进行描述,其中(x,y)表示机器鱼的位置坐标,θ表示机器鱼的方向.机器鱼的位姿控制就是从初始位姿p=[x0,y0, θ0]T到达期望位姿p=[xd,yd,θd ]T.机器鱼的位姿控制如图7所示.
如图8所示的实验平台是北京大学智能控制实验室自主研发的[15],通过无线模块接收和发送指令,使机器鱼按照相应的指令进行游动,使用摄像头捕捉机器鱼的位置信息以便能够及时调整.
图9是加入模糊控制算法后对机器鱼操作的流程图.从图中可以看到更新鱼的环境和信息,可以得到实时位置l和角度θ,确定它们的误差和误差变化率之后,将误差和误差变化率作为输入变量,根据输出量的大小进行判断,其中θ>0是向右偏转,否则向左偏转:
1)如果l2)如果l>E且|θ|
[12] YU J Z, TAN M, WANG S, et al. Development of a biomimetic robotic fish and its control algorithm[J]. IEEE Transactions on
Systems Man & Cybernetics Part B Cybernetics A Publication of the IEEE Systems Man & Cybernetics Society,2004,34(4):1798-1810.
[13] 翟海川,纪志坚,王耀威,等. 基于Leader-Follower的多機器鱼模糊队形控制[J]. 青岛大学学报(工程技术版),2013,28(1):9-13.
[14] 陆柳延. 水下机器人运动控制与路径规划研究[D]. 扬州:扬州大学,2013.
[15] GAO J W, LI Q C, JI Z J, et al. Fuzzy sliding mode trace control method for pose control of
Abstract: It is difficult to establish an accurate mathematical model in the nonlinear, time varying and complicated water environment for biomimetic robot fishes, so their pose control is one of the main problems. In order to solve this problem, a kind of adaptive fuzzy control algorithm is designed, which can control the direction and speed of robotic fish in real-time to make it reach the target point quickly and accurately by adjusting the two variables' error. In the collaborative control platform of the existing underwater robot, the robot fish swimming experiment from a target position to another position is made. The results show that the algorithm has a small calculation amount, improves the control precision of the robot fish, which proves the validity and reliability of the algorithm.
Key words: biomimetic robot fish; pose control; fuzzy control
(学科编辑:黎 娅)