謝 宏,王立宸,袁小芳,陳海濱
湖南大學電氣與信息工程學院,長沙 410082
由于機械臂是具有非線性,強耦合,不確定等特點的復雜系統(tǒng),因此對機械臂的精確控制問題一直是控制領(lǐng)域的難點和熱點[1]?;?刂品椒m然具有對參數(shù)變化及未知擾動不敏感、響應快速、無需系統(tǒng)在線辨識等優(yōu)點,但也存在嚴重的“抖振問題[2-3]”。
目前,隨著各種智能算法的發(fā)展,為了提高控制性能,眾多學者提出了許多先進的控制方法。Lee 等[4]提出了一種自適應神經(jīng)網(wǎng)絡控制方法,該方法基于當控制系統(tǒng)的建模誤差和外界擾動變化時,根據(jù)實際位置和期望位置的差值調(diào)整控制策略,進而補償系統(tǒng)誤差,但是該方法控制精度較低。Yang 等[5]提出了一種基于柔性機械臂的自適應神經(jīng)網(wǎng)絡滑模控制方法,自適應神經(jīng)網(wǎng)絡用于補償柔性機械臂的不確定部分,再通過滑??刂仆瓿煽刂迫蝿?,取得了一定的效果,但作用對象較為單一。Li等[6]通過設(shè)計魯棒項,并將其添加到RBF自適應神經(jīng)網(wǎng)絡的控制律中,彌補了RBF 神經(jīng)網(wǎng)絡的逼近誤差。但未考慮外部不確定干擾項,且延長了軌跡收斂時間。
深度學習,是一種基于學習數(shù)據(jù)表示的機器學習方法,卷積神經(jīng)網(wǎng)絡是深度學習方法中的一種廣泛應用模型[7-9]。將深度學習模型引入到機械臂軌跡跟蹤控制,是目前的研究方向。
劉衛(wèi)朋等[10]提出了基于增強學習的控制方法,同時使用遞歸神經(jīng)網(wǎng)絡提高迭代速度。但是該方法是從經(jīng)驗數(shù)據(jù)中學習控制律,無法及時和被控對象建立聯(lián)系,導致誤差收斂比較緩慢。Wang等[11]設(shè)計了一種基于時滯估計的分數(shù)階NTSM控制器,利用延時估計的方法得到系統(tǒng)不確定部分的補償。延時估計避免了脫離模型的學習,提高了數(shù)據(jù)的精確度。Yao 等[12]將深度學習和滑??刂品椒ㄏ嘟Y(jié)合,應用在磁軸承系統(tǒng)中,借助卷積神經(jīng)網(wǎng)絡的前向通路和反向回路確定控制系統(tǒng)的輸出和卷積神經(jīng)網(wǎng)絡參數(shù)的更新,達到了轉(zhuǎn)子預計的軌跡跟蹤效果。這為本文提供了思路。
深度卷積神經(jīng)網(wǎng)絡通過對機械臂模型不確定部分的精確補償能夠減少傳統(tǒng)滑模控制存在的“抖振”缺點,由于卷積等操作的存在,較傳統(tǒng)RBF神經(jīng)網(wǎng)絡模型有著更強的學習能力,跟蹤精度會有進一步的提高,延時估計也會避免根據(jù)經(jīng)驗數(shù)據(jù)學習控制律,使得跟蹤誤差收斂時間較于增強學習大幅縮短。
由此,本文提出了一種機械臂卷積神經(jīng)網(wǎng)絡滑模軌跡跟蹤控制方法。首先分析機械臂動力學模型,提取出不確定部分,再設(shè)計基于延時估計的卷積神經(jīng)網(wǎng)絡加以補償,最后將補償項添加到滑??刂坡芍校ㄟ^改進后的滑??刂品椒ㄍ瓿蓹C械臂軌跡跟蹤,進行實驗驗證跟蹤效果。結(jié)果顯示本文方法能夠提高機械臂的控制精度和實現(xiàn)機械臂的快速控制。
已知n關(guān)節(jié)機械臂的動力學方程為:
基于上述公式,為了在廣泛應用的RBF網(wǎng)絡模型基礎(chǔ)上進一步提高精度,本文設(shè)計了一個基于深度學習的卷積神經(jīng)網(wǎng)絡模型,主要包括以下四個部分:輸入層、卷積層1、卷積層2、輸出層。在本網(wǎng)絡中,池化層隱去的原因是由于輸入層的維數(shù)不大。應用延時估計的方法,定義輸入層的輸入矩陣為V0=[(e)t,(e)t-1,…(e)t-z] ∈Rn×z。其中z代表延時采樣點的數(shù)目。最后的輸出為機械臂不確定部分的補償VDCNN∈Rn。
如圖1展示了本文卷積神經(jīng)網(wǎng)絡的模型。
圖1 卷積神經(jīng)網(wǎng)絡模型Fig.1 Convolutional neural network model
在卷積層1中,卷積神經(jīng)網(wǎng)絡的輸入矩陣V0∈Rn×z通過含有D1數(shù)量的卷積核濾波,卷積核為K1∈RH11×H12。將激勵函數(shù)f作用到濾波結(jié)果進而得到特征圖V1∈RN11×N12×D1,并且將其作為卷積層2的輸入。
在卷積層2中,特征圖V1∈RN11×N12×D1通過含有D2數(shù)量的卷積核濾波,卷積核為K2∈RH21×H22。將激勵函數(shù)f作用到濾波結(jié)果進而得到特征圖V2∈RN21×N22×D2。將特征圖V2∈RN21×N22×D2轉(zhuǎn)為矢量Vv∈RN3×1,其中N3=N21×N22×D2。最后通過轉(zhuǎn)換關(guān)系f0得到卷積神經(jīng)網(wǎng)絡的輸出VDCNN∈Rn。
卷積神經(jīng)網(wǎng)絡的有關(guān)計算由前向通路和反向回路兩部分決定。通過前向通路計算出卷積神經(jīng)網(wǎng)絡的輸出。每一個卷積層的輸出為:
其中卷積神經(jīng)網(wǎng)絡輸出層的權(quán)值和偏移量由wv,bv表示。Vv是通過卷積層2的輸出V2得到的。
通過反向回路的相關(guān)計算更新卷積神經(jīng)網(wǎng)絡的權(quán)值和偏移量。定義損失函數(shù)如下:
其中mi表示機械臂第i個關(guān)節(jié)的質(zhì)量。
使用梯度下降法,卷積神經(jīng)網(wǎng)絡權(quán)值和偏移量的更新公式如下:
其中w′、b′表示更新后的權(quán)值和偏移量,dw、db表示對應的靈敏量,rw、rb表示學習速率,靈敏量可通過反向傳播法計算,結(jié)果如下:
相似的,可以得到:
基于此,本文設(shè)計了一種基于卷積神經(jīng)網(wǎng)絡的滑??刂破鳎鐖D2展示了控制系統(tǒng)的結(jié)構(gòu)圖。
圖2 控制系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure diagram of control system
滑模控制器的輸入為位置跟蹤誤差信號e和速度跟蹤誤差信號e?,輸出為機械臂的控制力矩τ。其中控制力矩τ包含卷積神經(jīng)網(wǎng)絡的補償項VDCNN。
本文所設(shè)計的基于卷積神經(jīng)網(wǎng)絡滑??刂破饕鉀Q以下三個問題:機械臂的抖振問題、不確定部分的補償問題、跟蹤精度問題。
當選擇式(4)作為滑模函數(shù),式(21)為機械臂的控制力矩,就能夠保證誤差狀態(tài)方程式(5)從任意s不為零的位置趨近于切換面s=0。設(shè)計如下:
其中η為切換開關(guān),且
β和ρ為大于零的常數(shù)。
穩(wěn)定性證明:
定義Lyapunov函數(shù)如下:
式(23)求導,得到:
將式(3)、(5)、(21)代入式(24),得到:
將卷積神經(jīng)網(wǎng)絡的更新方程代入式(25),得到:
將式(22)代入式(26),得到:
當時間趨于無窮大時,式(27)會逐漸收斂到零,滑模面會趨近到原點。同時機械臂的軌跡跟蹤誤差和速度跟蹤誤差均會趨于零,控制系統(tǒng)穩(wěn)定。
為驗證本文控制方法的有效性,采用式(1)的機械臂動力學方程,在MATLAB/Simulink 模塊上搭建仿真模型,選擇兩關(guān)節(jié)機械臂模型進行仿真研究。相關(guān)參數(shù)如下所示:
如表1為機械臂相關(guān)參數(shù)。
表1 機械臂相關(guān)參數(shù)Table 1 Related parameters of manipulators
如表2為卷積神經(jīng)網(wǎng)絡相關(guān)參數(shù)。
表2 卷積神經(jīng)網(wǎng)絡相關(guān)參數(shù)Table 2 Related parameters of convolutional neural network
卷積神經(jīng)網(wǎng)絡的初始權(quán)重w和初始偏移量b為[-1,1]之內(nèi)的隨機值。
如圖3 是機械臂關(guān)節(jié)1 和關(guān)節(jié)2 的位置跟蹤曲線,可以看出本文控制方法能夠使得機械臂兩關(guān)節(jié)在較短的時間逼近期望軌跡,軌跡跟蹤效果良好。
圖3 位置跟蹤曲線Fig.3 Position tracking curve
為了能更形象地展示本文控制方法的優(yōu)良性能,進行以下三種典型控制方法的對比實驗。
4.2.1 與傳統(tǒng)滑模控制的對比
對比文獻[13]提出的滑??刂品椒ǎM行仿真實驗。
如圖4 是傳統(tǒng)滑模方法下,關(guān)節(jié)1、關(guān)節(jié)2 的控制力矩曲線;如圖5是本文方法下,關(guān)節(jié)1、關(guān)節(jié)2的控制力矩曲線。由對比圖可看出,傳統(tǒng)滑模方法下的關(guān)節(jié)控制力矩曲線出現(xiàn)了嚴重的抖振現(xiàn)象,存在對機械臂造成損壞的風險。本文方法下的關(guān)節(jié)控制力矩曲線則較為平穩(wěn),大幅度減少了抖振現(xiàn)象。
圖4 傳統(tǒng)滑模關(guān)節(jié)控制力矩曲線Fig.4 Control torque curve of traditional sliding mode joint
圖5 卷積神經(jīng)網(wǎng)絡滑模關(guān)節(jié)控制力矩曲線Fig.5 Control torque curve of convolutional neural network sliding mode joint
如圖6 是采用兩種控制方法時,關(guān)節(jié)1、關(guān)節(jié)2 的位置跟蹤誤差對比曲線。由對比曲線可以看出,在本文的控制方法作用下,較于傳統(tǒng)滑模控制,機械臂關(guān)節(jié)1 和關(guān)節(jié)2的軌跡跟蹤誤差有了顯著的降低,且收斂時間明顯縮短。說明相較于傳統(tǒng)滑模控制方法,本文的控制方法有一定的優(yōu)勢。
圖6 關(guān)節(jié)位置跟蹤誤差對比圖(兩種方法)Fig.6 Comparison chart of joint position tracking error(two methods)
4.2.2 與其他控制方法的對比
為了驗證本文提出的卷積神經(jīng)網(wǎng)絡滑??刂品椒ǖ膬?yōu)越性,與文獻[14]提出的RBF神經(jīng)網(wǎng)絡滑??刂品椒ā⑽墨I[15]提出的自適應模糊控制方法進行比較,得到關(guān)節(jié)位置跟蹤誤差的對比結(jié)果。
如圖7 是三種控制方法下,關(guān)節(jié)1、關(guān)節(jié)2 的位置跟蹤誤差對比曲線。為了評估控制效果,將收斂時間CT(convergence time)、最大誤差ME(maximum error)、平均誤差AE(average error)用于評估軌跡跟蹤性能,定義如下:
圖7 關(guān)節(jié)位置跟蹤誤差對比圖(三種方法)Fig.7 Comparison chart of joint position tracking error(three methods)
評估結(jié)果如表3所示。
表3 數(shù)據(jù)對比Table 3 Comparison of Data
由表3可以得到,本文提出的控制方法在控制精度和快速控制方面明顯優(yōu)于另外兩種控制方法。采用的深度卷積神經(jīng)網(wǎng)絡模型對不確定部分有著更為精確的補償,提高了控制精度,延時估計方法的引入也縮短了誤差收斂的時間。相較于RBF神經(jīng)網(wǎng)絡滑模、自適應模糊兩種控制方法,關(guān)節(jié)1 的誤差收斂時間分別減少了75.9%、88.8%;關(guān)節(jié)2 的誤差收斂時間分別減少了78.9%、83.5%;關(guān)節(jié)1 的平均誤差減分別少了17.9%、12.1%;關(guān)節(jié)2的平均誤差分別減少了10.9%、4.9%;關(guān)節(jié)1 的最大誤差分別減少了64.1%、20.7%;關(guān)節(jié)2 的最大誤差分別減少了4.5%、25.0%。綜合分析本文的控制方法較優(yōu)。
本文為了進一步提高工業(yè)機械臂的精度,縮短軌跡跟蹤誤差收斂時間,提出了一種機械臂卷積神經(jīng)網(wǎng)絡滑模軌跡跟蹤控制方法。通過分析機械臂動力學方程提取出不確定部分,采用基于延時估計的卷積神經(jīng)網(wǎng)絡加以補償,并將精確補償后的部分添加到滑??刂坡芍?。通過計算驗證了收斂條件的成立,證明了系統(tǒng)的穩(wěn)定性。以二關(guān)節(jié)機械臂為仿真對象,通過與三種典型控制方法的對比,結(jié)果表明,在本文的控制方法下,機械臂關(guān)節(jié)位置的誤差收斂時間有所減少,平均誤差和最大誤差均有所降低,跟蹤精度有所提升。但是在卷積神經(jīng)網(wǎng)絡初始權(quán)值的選取上,采用的是隨機方法,未來可以進一步優(yōu)化初始權(quán)值、偏移量,進一步提高跟蹤精度。