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