陳 梅, 方 偉
(合肥工業(yè)大學 電氣與自動化工程學院,安徽 合肥 230009)
小腦模型關節(jié)控制器(cerebellar model articulation controller,CMAC)最初由文獻[1]于1975年提出,是一種基于神經(jīng)生理學的、快速收斂的神經(jīng)網(wǎng)絡,能夠學習任意非線性映射。與BP網(wǎng)絡之類的全局逼近方法相比,CMAC具有局部逼近、學習算法簡單、收斂速度快、易于硬件實現(xiàn)等優(yōu) 點,特 別 適 合 于 實 時 控 制[2-6]。 但 是,在CMAC神經(jīng)網(wǎng)絡實際應用中,主要缺陷是訓練網(wǎng)絡需要大量的內(nèi)存空間。CMAC神經(jīng)網(wǎng)絡的內(nèi)存大小由量化精度和輸入矢量維數(shù)決定。存儲單元的數(shù)量隨輸入維數(shù)的增加呈指數(shù)增長[7],使得CMAC在解決一些高維輸入矢量的問題中代價過高。
機械手是一個狀態(tài)變量多、高度耦合的對象,模型的非線性和參數(shù)的不確定性使得基于模型的機械手軌跡控制難以滿足要求。神經(jīng)網(wǎng)絡具有逼近任意非線性映射的能力,且信息分布式存儲提升了網(wǎng)絡的容錯性能,其與自適應控制、滑模控制以及逆??刂频冉Y合,在機械手軌跡控制中表現(xiàn)出很好的效果[8]。
本文針對CMAC在進行機械手逆??刂茣r所需輸入量較多的情況,提出一種單輸入CMAC策略,有效地減少了輸入維數(shù),提高了訓練速度。仿真實驗表明,這種CMAC網(wǎng)絡可以達到期望的控制精度,改善了系統(tǒng)靜、動態(tài)性能。
Albus CMAC神經(jīng)網(wǎng)絡是一種模擬人類小腦組織結構的網(wǎng)絡,本質上是智能查表技術,屬于局部逼近神經(jīng)網(wǎng)絡,具有很好的局部泛化能力。一般CMAC神經(jīng)網(wǎng)絡的結構如圖1所示[9]。
圖1 CMAC神經(jīng)網(wǎng)絡的一般結構
由圖1可以看出,CMAC神經(jīng)網(wǎng)絡由4個基本單元組成:輸入空間S、虛擬聯(lián)想空間A、物理存儲空間W和輸出y。它的工作方式為:連續(xù)輸入量經(jīng)過量化后得到離散的輸入矢量組成輸入空間S;每個輸入矢量激活聯(lián)想空間A中的C個單元(C是泛化參數(shù),其大小對網(wǎng)絡的泛化性能起關鍵作用),被激活的C個ai的值為1,其余為0;C個被激活的ai對應的權值wi線性相加就是網(wǎng)絡的輸出y,即
CMAC神經(jīng)網(wǎng)絡的學習算法是最小均方差算法,依據(jù)網(wǎng)絡期望輸出值與網(wǎng)絡實際輸出值之間的誤差最小原則來調(diào)整存儲單元的權值[10]。設為網(wǎng)絡期望輸出值,y為網(wǎng)絡實際輸出值,e=-為輸出誤差,則網(wǎng)絡學習算法可由(2)式表示,即
對于一個n自由度關節(jié)的機械手,可由拉格朗日方程得到其動力學方程[11]為:
其中,q、˙q、¨q分別為n×1維關節(jié)角度、角速度和角加速度向量;M(q)為慣性矩陣,是一個對稱、正定矩陣,表示各關節(jié)之間的轉動慣量;V(q,˙q)為哥氏力和離心力矩陣;G(q)為重力矩陣;d為外界擾動向量;τ為n×1維關節(jié)力矩向量。
對2自由度機械手,則有:
2自由度機械手如圖2所示。其中,m1、m2為臂1和臂2的質量,假設質量集中于臂的末端;l1、l2為臂1和臂2的長度;τ1、τ2分別為作用在關節(jié)1和關節(jié)2上的驅動力矩;q1、q2為關節(jié)1和關節(jié)2在τ1、τ2作用下轉過的角度。
圖2 2自由度機械手
對于具有多個自由度的多關節(jié)機械手而言,每個關節(jié)的驅動力矩都由伺服驅動器根據(jù)各個關節(jié)的期望軌跡得到。本文結合CMAC神經(jīng)網(wǎng)絡和逆??刂频奶攸c,提出了一種單輸入CMAC的神經(jīng)網(wǎng)絡逆??刂品桨?,設計的控制系統(tǒng)結構如圖3所示。其中,qd、˙qd為期望機械手位置、速度矢量;q為實際機械手位置、速度矢量。整個系統(tǒng)由反饋控制器和CMAC神經(jīng)網(wǎng)絡構成,τc為常規(guī)PID控制器輸出,用以保證控制系統(tǒng)的穩(wěn)定性,同時提供神經(jīng)網(wǎng)絡學習的誤差信號,因此,網(wǎng)絡的學習和控制可同時進行。隨著神經(jīng)網(wǎng)絡學習的進行,反饋控制器輸出τc逐漸趨于0,神經(jīng)網(wǎng)絡在控制系統(tǒng)中起主導作用。
圖3 單輸入CMAC逆模控制系統(tǒng)
與常規(guī)CMAC網(wǎng)絡逆??刂撇煌?,本文引入測量變量ds[12-13],將二維輸入(q,˙q)轉變?yōu)橐痪S輸入ds,減少了CMAC網(wǎng)絡的存儲空間。變量ds表示實際輸入狀態(tài)點(q,˙q)到切換直線L的測量距離,其幾何示意圖如圖4所示,計算公式為:
其中,λ為常數(shù)。
圖4 測量變量ds幾何示意圖
反饋控制器輸出為:
CMAC神經(jīng)網(wǎng)絡輸出為:
又有:
則CMAC的學習誤差τe的計算公式為:
由此,CMAC網(wǎng)絡權值修正公式可變?yōu)椋?/p>
文獻[11]將切換直線轉換為n維切換超平面,得到廣義測量變量Ds,對于本文的機械手逆
??刂?,轉換n維輸入測量變量Ds可定義為:
切換超平面為:
為了驗證本文提出的逆??刂品桨傅挠行?,選擇圖2所示的2自由度平面機械手作為控制對象進行軌跡控制的仿真研究。機械手參數(shù)設置為:m1=10kg,m2=2kg,l1=1.1m,l2=0.8m。初始條件為:q1(0)=q2(0)=0,˙q1(0)=˙q2(0)=0。期望軌跡qd1(t)=sin(2πt),qd2(t)=cos(2πt)。采用2個獨立的單輸入CMAC神經(jīng)網(wǎng)絡分別控制機械手的2個臂,其中,CMAC1輸入為ds1,輸出為τN1;CMAC2輸入為ds2,輸出為τN2;λ=1.5,學習率η1=η2=0.1,網(wǎng)絡初始權值W1(0)=W2(0)=0,加入的外界隨機擾動d1、d2的幅值為20nm。關節(jié)1和關節(jié)2的軌跡跟蹤曲線如圖5所示,跟蹤誤差曲線如圖6所示。
由圖5和圖6可以看出,經(jīng)過短暫的學習很好地實現(xiàn)了對2個關節(jié)的軌跡跟蹤,單輸入CMAC逆??刂茰p少了網(wǎng)絡的存儲空間,達到了期望的控制性能,具有很好的魯棒性。
圖5 軌跡跟蹤曲線
圖6 跟蹤誤差曲線
本文將傳統(tǒng)PID反饋控制與CMAC網(wǎng)絡逆??刂葡嘟Y合,利用CMAC網(wǎng)絡在線辨識機械手逆動力學模型。針對CMAC網(wǎng)絡在進行機械手逆??刂茣r所需輸入量較多的缺點,提出了一種單輸入CMAC網(wǎng)絡的逆模控制策略,引入測量變量,使網(wǎng)絡輸入由多維轉換為1維,很好地減少了神經(jīng)網(wǎng)絡所需存儲空間,提高了學習速度。仿真實驗結果表明,本文的控制策略實現(xiàn)了對機械手的非線性控制,是行之有效的。
[1] Albus J S.A new approach to manipulator control:the cer-ebellar model articulation controller(CMAC)[J].Journal of Dynamic Systems,Measurement,and Control,1975,5(2):220-227.
[2] Miller T,Glanz F.An associative neural network alternative to backpropagation[J].Proceedings of IEEE,1990,78(10):1561-1567.
[3] Miller T.Real-time application of neural networks for sensor-based control of robots[J].IEEE Transactions on Systems and Cybernetics,1989,19(4):825-831.
[4] Wong Y,Sideris A.Learning convergence in the cerebellar model articulation controller[J].IEEE Transactions on Neural Networks,1992,3(1):115-121.
[5] 曹 晶,張良均,鄭 巍,等.基于新型模糊CMAC神經(jīng)網(wǎng)絡的Agent外貿(mào)協(xié)商模型[J].合肥工業(yè)大學學報:自然科學版,2006,29(11):1420-1424.
[6] Miller T,Box B A,Whitney E C,et al.Design and implementation of a high speed CMAC neural network[C]//Proceedings of the Conference on Advances in Neural Information Processing Systems,1990:1022-1027.
[7] Albus J S.Data storage in the cerebellar model articulation controller(CMAC)[J].Journal of Dynamic Systems,Measurement,and Control,1975,5(2):228-233.
[8] 馬 航,楊俊友,馬 飛.基于神經(jīng)網(wǎng)絡的逆控制研究綜述[J].控制工程,2005,12(Z1):72-74.
[9] 潘 曄,顧幸生,盧勝利.基于信度分配的并行集成CMAC及其在建模中的應用[J].控制理論與應用,2010,27(2):211-215.
[10] 鮑 瓊,顧幸生.基于信度分配的串行集成CMAC及其仿真[J].華東理工大學學報:自然科學版:2008,34(5):751-754.
[11] 于乃功,李 明,李建更.機械手軌跡規(guī)劃的神經(jīng)網(wǎng)絡逆??刂疲跩].控制工程,2008,15(3):225-228.
[12] Choi B J,Kwak S W,Kim B K.Design of a single-input fuzzy logic controller and its properties[J].Fuzzy Sets Syst,1999,106(97):299-308.
[13] Choi B J,Kwak S W,Kim B K.Design and stability analysis of single-input fuzzy logic controller[J].IEEE Transactions on Systems,Man,and Cybernetics,Part B:Cybernetics,2000,30(2):303-309.