周加全 羅文廣 李亮 謝廣明 藍紅莉
摘 要:仿生機器魚處在非線性的、時變的、復雜的水環(huán)境中,難以建立精確的數(shù)學模型,其位姿控制成為當前的主要難題之一.為了解決這個難題,設計了一種適應的模糊控制算法,可以實時地控制機器魚的方向和速度,通過調(diào)整方向和速度的誤差兩個變量,使機器魚能夠快速地、較精確地到達目標點.在現(xiàn)有的水下機器人協(xié)作控制平臺下,進行了機器魚從一個目標位姿到另一個目標位姿的游動實驗,結果表明該算法計算量小,顯著提高了機器魚控制的精度,證明了算法的有效性及可靠性.
關鍵詞:仿生機器魚;位姿控制;模糊控制
中圖分類號:TP242 文獻標志碼:A
0 引言
近年來,隨著自然資源的減少,人類開始不斷地進行新資源的探索和開發(fā).因為海洋的總面積為地球總面積的70%,并且含有豐富的礦產(chǎn)和生物資源,所以越來越多人重視開采并利用海洋資源.水下機器人是探索海洋世界和開發(fā)利用資源的重要工具[1].仿生機器魚是水下機器人中的一種,其理論研究不僅具有很高的研究價值,而且水資源的勘察以及軍事等方面的應用具有廣泛的應用前景[2].
多水下機器人協(xié)作任務的基礎是仿生機器魚的運動控制算法,它是保證在復雜環(huán)境下順利完成指定任務的前提.仿生機器魚最基本的控制就是按照人為設定的軌跡完成相應的游動任務[3].但是,目前大多數(shù)仿生機器魚的游動軌跡,都是從初始目標點到最終目標點的游動,并沒有考慮它實際的運動方向[4],這種控制算法只能使它粗略地游到目標點,并不能精確地控制魚體的朝向,在實踐中造成了很大誤差[5].為了使機器魚能夠完成更加復雜精細的任務,從任意初始位姿到任意目標位姿控制的研究變得十分必要.本文通過模糊控制算法調(diào)整機器魚的方向和速度,從而使得它能夠精準、快速地到達目標位姿,為完成多機器魚編隊及相應的復雜任務奠定了基礎[6].
1 機器魚模型簡介
魚類形態(tài)以及游動姿態(tài)層出不窮,魚類在運動中隱含著一種由后半部向尾部傳播的運動波[7].其游動特點是:游動時身體的前半部分的波幅較小,后半部分波動較明顯,波幅較大,按照這種規(guī)律并運用擬合曲線的方法對仿生機器魚進行運動建模,可以得到曲線方程[8]:
Sbody(p,t)=[(a1p+a2p2)][sin(mp+wt)] (1)
式中,Sbody——魚體中心的橫向位移,p——魚體前進方向的位移,a1,a2——波幅包絡線的系數(shù),m——波長的倍數(shù)(m=2π/λ,λ是魚體波的波長),w——波的頻率(w=2πf=2π/T, f是魚體的振蕩頻率).
為了方便計算機處理數(shù)據(jù),可將運動波曲線方程式(1)進行離散化:
Sbody(p,i)=[(a1p+a2p2)][sin(mp+■i)] (2)
式中,i是擺動周期內(nèi)且不等于i的相關變量;Q表示擺動周期內(nèi)魚體波的離散程度.
本文是基于北京大學自主研發(fā)的一種可以無線操作的三關節(jié)仿鲹科機器魚(如圖1所示),在機器魚的操作控制平臺作用下,對機器魚位姿控制進行研究[9].
2 機器魚位姿模糊控制算法設計
2.1 確定模糊化策略和語言變量
模糊規(guī)則的選擇是模糊控制器設計的核心問題.機器魚的位姿控制是方向和速度都需要按照一定的要求實現(xiàn)的自由游動.當誤差e和誤差變化率■都為正大時,控制量應有一個大的正增量,以使e和■快速減小;當e×■<0時,位姿狀態(tài)向期望的狀態(tài)變化,控制量維持不變;當e和■都為負大,意味著e×■是正大,則控制量應有一個較大的負增量,使e×■快速減小[10].根據(jù)要求設計的模糊控制器中應選取被控對象的輸出變量的偏差值e以及偏差變化率■,而把被控制量定為模糊控制器的輸出變量F[11].
2.2 確定模糊推理機制
在模糊控制中得到的輸入變量(如誤差和誤差變化)往往不是一個模糊子集,而是一個孤立的點(如A*=x0,B*=y0)等.假定有如下兩條模糊規(guī)則:
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],因其可以解出模糊集合隸屬度函數(shù)和所包圍面積中心的橫坐標,選取這個橫坐標,作為模糊集合的表示值.設論域U上F集合A的隸屬度函數(shù)為A(u),面積中心的橫坐標為ucen,則可由下式計算出:
ucen=■ (4)
如果論域U是離散的,uj處的隸屬度函數(shù)為A(uj),則ucen可由下式算出:
ucen=■ (5)
對水下機器魚而言,以任意t時刻實際位姿與期望位姿之間的距離e(t)及距離的變化率■(t)作為輸入量,機器魚速度偏差值V(t)作為輸出量[14],并將其模糊化.為了實現(xiàn)較快的控制效果,這里得到的控制量為增量的方式,因此,對控制量也以增量方式進行模糊化,并在其論域里取 5 個語言值.偏差E、偏差變化率EC的語言值是大負偏差(NB),中負偏差(NM),小偏差(ZO),中正偏差(PM),大正偏差(PB),而V(t)相應的語言值也為上述的5個語言值.偏差E、偏差變化率EC與控制量V的隸屬度函數(shù)都選擇用三角形函數(shù),其中V的隸屬度函數(shù)如圖2所示.
由于E和EC各有5個模糊集合,共有5*5=25條規(guī)則,其規(guī)則如表1所示.
同理將角度θ(t)(用D表示)和角度的變化率■(t) (用DC表示)作為輸入量,將方向角度偏差值作為輸出量,并將其模糊化,可得語言變量值為大負偏差(LB),中負偏差(LS),小偏差(ME),中正偏差(RS),大正偏差(RB),可得方向角的隸屬度函數(shù),如圖3所示.
由于D和DC也是各有5個模糊集合,共有5*5=25條規(guī)則,其規(guī)則如表2所示.
經(jīng)過模糊規(guī)則進行模糊推理及解模糊,最終可以得到V(t)與e(t)和■(t)三維仿真圖及方向P(t)與θ(t)和■(t)的三維仿真圖,如圖4、圖5所示.
為了說明模糊控制系統(tǒng)的穩(wěn)定性即可靠性,用常規(guī)PID系統(tǒng)與用模糊算法控制系統(tǒng)進行對比,用階躍信號作為輸入信號,運用simulink進行仿真,從圖6仿真結果可以看出模糊控制算法沒有超調(diào),可以使系統(tǒng)較快地達到穩(wěn)定狀態(tài),而且模糊控制具有較好的魯棒性.
3 機器魚位姿控制實驗
機器魚的位姿信息包括位置和方向,位置通過速度控制,方向通過角度進行控制.在三維空間中機器魚的位姿信息可以用p=[x,y, θ]T進行描述,其中(x,y)表示機器魚的位置坐標,θ表示機器魚的方向.機器魚的位姿控制就是從初始位姿p=[x0,y0, θ0]T到達期望位姿p=[xd,yd,θd ]T.機器魚的位姿控制如圖7所示.
如圖8所示的實驗平臺是北京大學智能控制實驗室自主研發(fā)的[15],通過無線模塊接收和發(fā)送指令,使機器魚按照相應的指令進行游動,使用攝像頭捕捉機器魚的位置信息以便能夠及時調(diào)整.
圖9是加入模糊控制算法后對機器魚操作的流程圖.從圖中可以看到更新魚的環(huán)境和信息,可以得到實時位置l和角度θ,確定它們的誤差和誤差變化率之后,將誤差和誤差變化率作為輸入變量,根據(jù)輸出量的大小進行判斷,其中θ>0是向右偏轉(zhuǎn),否則向左偏轉(zhuǎn):
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] 陸柳延. 水下機器人運動控制與路徑規(guī)劃研究[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
(學科編輯:黎 婭)