廖 凱,劉慶云,劉澤浩
(1.廣東省智能制造研究所,廣州 510070;2.廣州綠源信息科技有限公司,廣州 510610)
機械臂一般是指由各類相對滑動、鉸接的組件構(gòu)成的具備多個自由度,并可進行移動或抓取物體的機器[1],是機器人的重要分支,應(yīng)用于農(nóng)業(yè)生產(chǎn)[2],食品加工[3],航空航天[4]等多個領(lǐng)域。機械臂系統(tǒng)是典型的多輸入、多輸出非線性系統(tǒng),其動力學特征具有很強的耦合性和時變性,對其控制方法的研究是當今熱點之一。
傳統(tǒng)控制策略是基于模型的控制,因此,以建立被控系統(tǒng)精確的數(shù)學模型為前提和基礎(chǔ),而機械臂系統(tǒng)作為非線性系統(tǒng),其精確數(shù)學模型難以獲得?;诖?,利用神經(jīng)網(wǎng)絡(luò)的逼近能力,以神經(jīng)網(wǎng)絡(luò)對被控對象模型進行智能辨識的神經(jīng)網(wǎng)絡(luò)控制成為重要發(fā)展趨勢。其中,RBF神經(jīng)網(wǎng)絡(luò)以其對非線性連續(xù)函數(shù)的一致逼近性,而且學習速度快,不存在局部最小值問題,成為最常用的模型辨識神經(jīng)網(wǎng)絡(luò)[5]。張雯等[6]針對干體爐非線性、時變、純滯后的特性,提出一種RBF神經(jīng)網(wǎng)絡(luò)控制器設(shè)計方案。時尚等[7]提出一種模糊神經(jīng)網(wǎng)絡(luò)控制策略,用于解決大口徑武器液壓伺服系統(tǒng)控制時內(nèi)部參數(shù)的不確定性和時變性問題。本文將對比RBF神經(jīng)網(wǎng)絡(luò)常用的學習算法,設(shè)計改進的RAN學習算法設(shè)計RBF神經(jīng)網(wǎng)絡(luò),并設(shè)計基于該RBF神經(jīng)網(wǎng)絡(luò)的逆控制策略,將其應(yīng)用于機械臂系統(tǒng)的控制中。
圖1所示為典型的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),由圖可知,RBF神經(jīng)網(wǎng)絡(luò)為3層前饋神經(jīng)網(wǎng)絡(luò),其模型表達式:
式中:W為權(quán)值向量,H為徑向基函數(shù)向量。Gaussian函數(shù)是常用的RBF神經(jīng)網(wǎng)絡(luò)徑向基函數(shù)形式,其表達式:
由以上推導(dǎo)可知,RBF神經(jīng)網(wǎng)絡(luò)設(shè)計要點包括確定隱含層神經(jīng)元個數(shù)、數(shù)據(jù)中心、擴展常數(shù)、各神經(jīng)元的權(quán)值。其中,隱含神經(jīng)元個數(shù)和數(shù)據(jù)中心是其中的關(guān)鍵,因為只要確定這2個要素,擴展常數(shù)和權(quán)值可通過數(shù)值計算即可獲得。
圖1 典型RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
而RBF神經(jīng)網(wǎng)絡(luò)學習算法主要解決隱含神經(jīng)元個數(shù)和數(shù)據(jù)中心的確定問題,大致分為2類:(1)隨機選取或從輸入樣本中選取,包括OLS算法、ROLS算法、ESA算法等,這些算法件容易實現(xiàn),但數(shù)據(jù)中心確定后將不再改變,數(shù)據(jù)中心選取的好壞具有隨機性;(2)數(shù)據(jù)中心根據(jù)輸入樣本動態(tài)調(diào)整,如基于動態(tài)聚類的方法,RAN(Resource-Allocating Network)方法,變結(jié)構(gòu)學習方法等。對比來說,第(2)類更適用于機械臂系統(tǒng)控制。
RAN是著名的在線構(gòu)建算法,其原理是發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)學習過程中“未建模”樣本,并為其分配新的隱含層神經(jīng)元。其具有學習速度快、可實現(xiàn)在線學習,且可構(gòu)建一個結(jié)構(gòu)緊湊的神經(jīng)網(wǎng)絡(luò)等優(yōu)點。
RAN通過以下兩個準則來分配新的神經(jīng)元,設(shè)輸入的樣本xi,其期望輸入為yi,其網(wǎng)絡(luò)輸出為y(xi),當兩者滿足如下兩個條件時,增加新的神經(jīng)元。
式中:Cnearest為與輸入樣本最近的數(shù)據(jù)中心。
當滿足以上條件,新增加神經(jīng)元的數(shù)據(jù)中心、寬度以及權(quán)值由下式?jīng)Q定:
當檢查式(3)和式(4),不需要新增隱含層神經(jīng)元時,RAN網(wǎng)絡(luò)通過Widrow-Hoff學習規(guī)則訓(xùn)練網(wǎng)絡(luò),減小誤差,其目標函數(shù)為:
由于本次使用的RBF神經(jīng)網(wǎng)絡(luò)采用Gaussian函數(shù)作為核函數(shù),而考慮其局部特性,即每個輸入訓(xùn)練的樣本只能影響該樣本附近的隱含層神經(jīng)元,因此,數(shù)據(jù)中心值按下式進行調(diào)節(jié),以提高網(wǎng)絡(luò)學習速度。
在RAN學習算法中,只有增加隱含層神經(jīng)元操作,RBF神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元會隨著學習過程不斷增加,而產(chǎn)生冗余,而RBF神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)模越大,其精度雖然能滿足要求,但是泛化能力卻會隨著變差,這給在控制系統(tǒng)中應(yīng)用帶來問題。因為一般在控制系統(tǒng)中的神經(jīng)網(wǎng)絡(luò),訓(xùn)練數(shù)據(jù)是試驗數(shù)據(jù),不一定囊括被控對象所有的模態(tài),因此在實際控制中,需要借助神經(jīng)網(wǎng)絡(luò)的泛化能力,對實際輸入有一定的泛化能力。因此,針對這一點對RAN學習算法進行改進,即增加刪除隱含層神經(jīng)元操作。由式(8)、(9)和(10)可知,在RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,中心點會隨著訓(xùn)練而不斷調(diào)整,這時,會存在某些中心點非常接近,當2個中心點距離滿足一個很小的值時,即將2個中心點對應(yīng)的神經(jīng)元合并為1個神經(jīng)元,判斷式如下:
本文設(shè)計的改進的RBF神經(jīng)網(wǎng)絡(luò)。下一小節(jié)將討論利用該改進的RBF神經(jīng)網(wǎng)絡(luò)設(shè)計機械臂系統(tǒng)逆控制器,并進行仿真試驗。
綜上,改進的RAN學習算法步驟為:
(1) 初始化RBF網(wǎng)絡(luò),初始化判別系數(shù)δ、ε和Δ;
(2) 輸入樣本(xi,y)i,計算當前RBF網(wǎng)絡(luò)輸出y(xi)以及此時網(wǎng)絡(luò)的輸出誤差T=‖yi- y(xi)‖2;
(3) 找出與輸入樣本最近的數(shù)據(jù)中心Cnearest;
(4) 根據(jù)式(3)和(4)判斷是否新增隱含層神經(jīng)元,若是,轉(zhuǎn)步驟(5),若否,轉(zhuǎn)步驟(6);
(5) 根據(jù)式(5)、(6)和(7)新增隱含層神經(jīng)元;
(6) 根據(jù)式(8)、(9)和(10)更新網(wǎng)絡(luò);
(7) 根據(jù)式(11)判斷是否刪除相似的隱含層神經(jīng)元,若是轉(zhuǎn)步驟(8),若否則返回步驟(2)重新輸入一組樣本;
(8) 根據(jù)式(12)更新數(shù)據(jù)中心,返回步驟(2)重新輸入一組樣本。
圖2所示為神經(jīng)網(wǎng)絡(luò)直接逆控制結(jié)構(gòu),利用神經(jīng)網(wǎng)絡(luò)辨識器辨識被控對象的逆模型,并復(fù)制到作為控制器與被控對象串聯(lián),在理想的情況下,控制系統(tǒng)的傳遞函數(shù)為1,使得被控對象輸出完全跟蹤給定信號。
圖2 神經(jīng)網(wǎng)絡(luò)直接逆控制結(jié)構(gòu)
本文將使用設(shè)計的改進的RBF神經(jīng)網(wǎng)絡(luò)進行機械臂系統(tǒng)的逆模型辨識,并將辨識后的RBF神經(jīng)網(wǎng)絡(luò)復(fù)制到被控對象前向通道,實現(xiàn)其控制,其控制器結(jié)構(gòu)如圖3所示。
圖3 改進RBF神經(jīng)網(wǎng)絡(luò)機械臂系統(tǒng)逆控制結(jié)構(gòu)
本章將在Matlab Simulik模塊中對所設(shè)計的改進RBF神經(jīng)網(wǎng)絡(luò)機械臂系統(tǒng)逆控制器進行仿真分析。根據(jù)圖3在Matlab Simulik模塊建立改進RBF神經(jīng)網(wǎng)絡(luò)機械臂系統(tǒng)逆控制器仿真模型,如圖4所示。
圖4 改進RBF神經(jīng)網(wǎng)絡(luò)機械臂系統(tǒng)逆控制器仿真模型
以偽隨機多幅值信號輸入被控對象系統(tǒng),訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò),圖5所示為輸入信號,圖6所示為網(wǎng)絡(luò)訓(xùn)練結(jié)果,可見神經(jīng)網(wǎng)絡(luò)的輸出很快收斂于實際機械臂系統(tǒng)輸出。
圖5 輸入訓(xùn)練的偽隨機多幅值信號
圖6 改進的RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果
分別以正弦信號和矩形波信號作為輸入信號輸入控制系統(tǒng),分析其跟蹤性能和魯棒性。圖7和圖8所示為所推薦控制器對機械臂系統(tǒng)的控制效果圖。可見,改進后的RBF神經(jīng)網(wǎng)絡(luò)泛化能力強,采用其設(shè)計的控制系統(tǒng)魯棒性好。
圖7 正弦信號控制效果
圖8 矩形波信號控制效果
(1) 通過對比RBF神經(jīng)網(wǎng)絡(luò)學習算法,RAN學習算法會根據(jù)數(shù)據(jù)實時增加隱含層神經(jīng)元和中心節(jié)點,更適用于機械臂系統(tǒng)實時控制場景。
(2) RAN學習算法只考慮增加隱含層神經(jīng)元而未考慮在RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,神經(jīng)元數(shù)量越多,降低RBF神經(jīng)網(wǎng)絡(luò)的泛化能力,提出增加刪除隱含層神經(jīng)元判斷準則,改進RAN學習算法,提高RBF神經(jīng)網(wǎng)絡(luò)泛化能力。
(3) 所提出的改進的RBF神經(jīng)網(wǎng)絡(luò)設(shè)計機械臂系統(tǒng)逆控制器,通過改進的RBF神經(jīng)網(wǎng)絡(luò)辨識系統(tǒng),仿真試驗表明,所設(shè)計的控制器對給定信號具有很好的跟蹤能力,而且魯棒性強。