陳 梅, 方 偉
(合肥工業(yè)大學(xué) 電氣與自動(dòng)化工程學(xué)院,安徽 合肥 230009)
小腦模型關(guān)節(jié)控制器(cerebellar model articulation controller,CMAC)最初由文獻(xiàn)[1]于1975年提出,是一種基于神經(jīng)生理學(xué)的、快速收斂的神經(jīng)網(wǎng)絡(luò),能夠?qū)W習(xí)任意非線性映射。與BP網(wǎng)絡(luò)之類的全局逼近方法相比,CMAC具有局部逼近、學(xué)習(xí)算法簡(jiǎn)單、收斂速度快、易于硬件實(shí)現(xiàn)等優(yōu) 點(diǎn),特 別 適 合 于 實(shí) 時(shí) 控 制[2-6]。 但 是,在CMAC神經(jīng)網(wǎng)絡(luò)實(shí)際應(yīng)用中,主要缺陷是訓(xùn)練網(wǎng)絡(luò)需要大量的內(nèi)存空間。CMAC神經(jīng)網(wǎng)絡(luò)的內(nèi)存大小由量化精度和輸入矢量維數(shù)決定。存儲(chǔ)單元的數(shù)量隨輸入維數(shù)的增加呈指數(shù)增長(zhǎng)[7],使得CMAC在解決一些高維輸入矢量的問題中代價(jià)過高。
機(jī)械手是一個(gè)狀態(tài)變量多、高度耦合的對(duì)象,模型的非線性和參數(shù)的不確定性使得基于模型的機(jī)械手軌跡控制難以滿足要求。神經(jīng)網(wǎng)絡(luò)具有逼近任意非線性映射的能力,且信息分布式存儲(chǔ)提升了網(wǎng)絡(luò)的容錯(cuò)性能,其與自適應(yīng)控制、滑模控制以及逆??刂频冉Y(jié)合,在機(jī)械手軌跡控制中表現(xiàn)出很好的效果[8]。
本文針對(duì)CMAC在進(jìn)行機(jī)械手逆??刂茣r(shí)所需輸入量較多的情況,提出一種單輸入CMAC策略,有效地減少了輸入維數(shù),提高了訓(xùn)練速度。仿真實(shí)驗(yàn)表明,這種CMAC網(wǎng)絡(luò)可以達(dá)到期望的控制精度,改善了系統(tǒng)靜、動(dòng)態(tài)性能。
Albus CMAC神經(jīng)網(wǎng)絡(luò)是一種模擬人類小腦組織結(jié)構(gòu)的網(wǎng)絡(luò),本質(zhì)上是智能查表技術(shù),屬于局部逼近神經(jīng)網(wǎng)絡(luò),具有很好的局部泛化能力。一般CMAC神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示[9]。
圖1 CMAC神經(jīng)網(wǎng)絡(luò)的一般結(jié)構(gòu)
由圖1可以看出,CMAC神經(jīng)網(wǎng)絡(luò)由4個(gè)基本單元組成:輸入空間S、虛擬聯(lián)想空間A、物理存儲(chǔ)空間W和輸出y。它的工作方式為:連續(xù)輸入量經(jīng)過量化后得到離散的輸入矢量組成輸入空間S;每個(gè)輸入矢量激活聯(lián)想空間A中的C個(gè)單元(C是泛化參數(shù),其大小對(duì)網(wǎng)絡(luò)的泛化性能起關(guān)鍵作用),被激活的C個(gè)ai的值為1,其余為0;C個(gè)被激活的ai對(duì)應(yīng)的權(quán)值wi線性相加就是網(wǎng)絡(luò)的輸出y,即
CMAC神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法是最小均方差算法,依據(jù)網(wǎng)絡(luò)期望輸出值與網(wǎng)絡(luò)實(shí)際輸出值之間的誤差最小原則來調(diào)整存儲(chǔ)單元的權(quán)值[10]。設(shè)為網(wǎng)絡(luò)期望輸出值,y為網(wǎng)絡(luò)實(shí)際輸出值,e=-為輸出誤差,則網(wǎng)絡(luò)學(xué)習(xí)算法可由(2)式表示,即
對(duì)于一個(gè)n自由度關(guān)節(jié)的機(jī)械手,可由拉格朗日方程得到其動(dòng)力學(xué)方程[11]為:
其中,q、˙q、¨q分別為n×1維關(guān)節(jié)角度、角速度和角加速度向量;M(q)為慣性矩陣,是一個(gè)對(duì)稱、正定矩陣,表示各關(guān)節(jié)之間的轉(zhuǎn)動(dòng)慣量;V(q,˙q)為哥氏力和離心力矩陣;G(q)為重力矩陣;d為外界擾動(dòng)向量;τ為n×1維關(guān)節(jié)力矩向量。
對(duì)2自由度機(jī)械手,則有:
2自由度機(jī)械手如圖2所示。其中,m1、m2為臂1和臂2的質(zhì)量,假設(shè)質(zhì)量集中于臂的末端;l1、l2為臂1和臂2的長(zhǎng)度;τ1、τ2分別為作用在關(guān)節(jié)1和關(guān)節(jié)2上的驅(qū)動(dòng)力矩;q1、q2為關(guān)節(jié)1和關(guān)節(jié)2在τ1、τ2作用下轉(zhuǎn)過的角度。
圖2 2自由度機(jī)械手
對(duì)于具有多個(gè)自由度的多關(guān)節(jié)機(jī)械手而言,每個(gè)關(guān)節(jié)的驅(qū)動(dòng)力矩都由伺服驅(qū)動(dòng)器根據(jù)各個(gè)關(guān)節(jié)的期望軌跡得到。本文結(jié)合CMAC神經(jīng)網(wǎng)絡(luò)和逆??刂频奶攸c(diǎn),提出了一種單輸入CMAC的神經(jīng)網(wǎng)絡(luò)逆??刂品桨?,設(shè)計(jì)的控制系統(tǒng)結(jié)構(gòu)如圖3所示。其中,qd、˙qd為期望機(jī)械手位置、速度矢量;q為實(shí)際機(jī)械手位置、速度矢量。整個(gè)系統(tǒng)由反饋控制器和CMAC神經(jīng)網(wǎng)絡(luò)構(gòu)成,τc為常規(guī)PID控制器輸出,用以保證控制系統(tǒng)的穩(wěn)定性,同時(shí)提供神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的誤差信號(hào),因此,網(wǎng)絡(luò)的學(xué)習(xí)和控制可同時(shí)進(jìn)行。隨著神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的進(jìn)行,反饋控制器輸出τc逐漸趨于0,神經(jīng)網(wǎng)絡(luò)在控制系統(tǒng)中起主導(dǎo)作用。
圖3 單輸入CMAC逆??刂葡到y(tǒng)
與常規(guī)CMAC網(wǎng)絡(luò)逆??刂撇煌?,本文引入測(cè)量變量ds[12-13],將二維輸入(q,˙q)轉(zhuǎn)變?yōu)橐痪S輸入ds,減少了CMAC網(wǎng)絡(luò)的存儲(chǔ)空間。變量ds表示實(shí)際輸入狀態(tài)點(diǎn)(q,˙q)到切換直線L的測(cè)量距離,其幾何示意圖如圖4所示,計(jì)算公式為:
其中,λ為常數(shù)。
圖4 測(cè)量變量ds幾何示意圖
反饋控制器輸出為:
CMAC神經(jīng)網(wǎng)絡(luò)輸出為:
又有:
則CMAC的學(xué)習(xí)誤差τe的計(jì)算公式為:
由此,CMAC網(wǎng)絡(luò)權(quán)值修正公式可變?yōu)椋?/p>
文獻(xiàn)[11]將切換直線轉(zhuǎn)換為n維切換超平面,得到廣義測(cè)量變量Ds,對(duì)于本文的機(jī)械手逆
模控制,轉(zhuǎn)換n維輸入測(cè)量變量Ds可定義為:
切換超平面為:
為了驗(yàn)證本文提出的逆??刂品桨傅挠行?,選擇圖2所示的2自由度平面機(jī)械手作為控制對(duì)象進(jìn)行軌跡控制的仿真研究。機(jī)械手參數(shù)設(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個(gè)獨(dú)立的單輸入CMAC神經(jīng)網(wǎng)絡(luò)分別控制機(jī)械手的2個(gè)臂,其中,CMAC1輸入為ds1,輸出為τN1;CMAC2輸入為ds2,輸出為τN2;λ=1.5,學(xué)習(xí)率η1=η2=0.1,網(wǎng)絡(luò)初始權(quán)值W1(0)=W2(0)=0,加入的外界隨機(jī)擾動(dòng)d1、d2的幅值為20nm。關(guān)節(jié)1和關(guān)節(jié)2的軌跡跟蹤曲線如圖5所示,跟蹤誤差曲線如圖6所示。
由圖5和圖6可以看出,經(jīng)過短暫的學(xué)習(xí)很好地實(shí)現(xiàn)了對(duì)2個(gè)關(guān)節(jié)的軌跡跟蹤,單輸入CMAC逆??刂茰p少了網(wǎng)絡(luò)的存儲(chǔ)空間,達(dá)到了期望的控制性能,具有很好的魯棒性。
圖5 軌跡跟蹤曲線
圖6 跟蹤誤差曲線
本文將傳統(tǒng)PID反饋控制與CMAC網(wǎng)絡(luò)逆??刂葡嘟Y(jié)合,利用CMAC網(wǎng)絡(luò)在線辨識(shí)機(jī)械手逆動(dòng)力學(xué)模型。針對(duì)CMAC網(wǎng)絡(luò)在進(jìn)行機(jī)械手逆??刂茣r(shí)所需輸入量較多的缺點(diǎn),提出了一種單輸入CMAC網(wǎng)絡(luò)的逆模控制策略,引入測(cè)量變量,使網(wǎng)絡(luò)輸入由多維轉(zhuǎn)換為1維,很好地減少了神經(jīng)網(wǎng)絡(luò)所需存儲(chǔ)空間,提高了學(xué)習(xí)速度。仿真實(shí)驗(yàn)結(jié)果表明,本文的控制策略實(shí)現(xiàn)了對(duì)機(jī)械手的非線性控制,是行之有效的。
[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)絡(luò)的Agent外貿(mào)協(xié)商模型[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,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)絡(luò)的逆控制研究綜述[J].控制工程,2005,12(Z1):72-74.
[9] 潘 曄,顧幸生,盧勝利.基于信度分配的并行集成CMAC及其在建模中的應(yīng)用[J].控制理論與應(yīng)用,2010,27(2):211-215.
[10] 鮑 瓊,顧幸生.基于信度分配的串行集成CMAC及其仿真[J].華東理工大學(xué)學(xué)報(bào):自然科學(xué)版:2008,34(5):751-754.
[11] 于乃功,李 明,李建更.機(jī)械手軌跡規(guī)劃的神經(jīng)網(wǎng)絡(luò)逆??刂疲跩].控制工程,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.