尚東陽,李小彭,尹猛,李凡杰,楊賀緒
(1.東北大學機械工程與自動化學院,110819,沈陽;2.中國科學院深圳先進技術(shù)研究院,518055,廣東深圳)
柔性機械臂是一個非線性的復雜系統(tǒng),它廣泛的應用于航天探索[1]、工業(yè)裝配[2]等領(lǐng)域。相比較于傳統(tǒng)的剛性機械臂,柔性機械臂具有回轉(zhuǎn)半徑更大和輕質(zhì)的特點[3]。目前,關(guān)于柔性機械臂建模的方法主要分為假設模態(tài)法和有限元法兩大類。文獻[4-6]使用假設模態(tài)法建立了轉(zhuǎn)角與模態(tài)坐標相耦合的柔性機械臂的動力學方程;文獻[7-8]使用有限元法建立包含柔性關(guān)節(jié)的柔性機械臂動力學方程。在柔性機械臂的動力學建模過程中,往往假設柔性機械臂在水平面運動[9-10]。但是,在一些實際的柔性機械臂應用過程中需要考慮重力因素。文獻[11]在雙柔性機械臂建模過程中將重力因素予以考慮。文獻[12]在含有柔性關(guān)節(jié)的機械臂伺服系統(tǒng)建模過程中將重力因素予以考慮。重力被引入動力學方程,因此在柔性機械臂動力學建模的過程中需要考慮重力因素。
關(guān)于柔性機械臂動力學系統(tǒng)的控制策略,主要包括主動控制和被動控制兩大類。主動控制策略主要包括PID控制[13-14]、滑模控制[15-17]等。柔性機械臂相比較于剛性機械臂需要考慮更多的非線性因素。這種柔性耦合的非線性因素為動力學系統(tǒng)控制器的設計帶來了困難。文獻[10,18]在設計控制律過程中忽略了柔性耦合非線性因素的影響。若在柔性機械臂動力學建模過程中考慮重力因素,則又一次引入了非線性因素。由此,控制器設計的難度進一步增大。文獻[19]通過增加具有非線性項的內(nèi)控回路補償重力因素對于剛性機械臂的影響。
神經(jīng)網(wǎng)絡廣泛地應用于系統(tǒng)不確定項的辨識。文獻[20]使用神經(jīng)網(wǎng)絡對時變的機械臂動力學系統(tǒng)中的不確定項進行了辨識,由此提高了控制精度;文獻[21]使用神經(jīng)網(wǎng)絡對套索傳動系統(tǒng)進行辨識,調(diào)高了套索傳動的跟蹤精度。因此,可以使用神經(jīng)網(wǎng)絡對柔性機械臂動力學系統(tǒng)中的柔性耦合非線性項進行辨識,然后以內(nèi)控回路的方式對輸入力矩進行補償。
根據(jù)文獻[22-23],本文將柔性機械臂等效為柔性梁模型。使用假設模態(tài)法建立了柔性機械臂伺服系統(tǒng)的動力學方程。在動力學的建模過程中將重力因素加以考慮。本文使用徑向基(RBF)神經(jīng)網(wǎng)絡對柔性機械臂動力學系統(tǒng)的不確定項進行辨識,利用神經(jīng)網(wǎng)絡辨識的控制策略減弱柔性機械臂的振動。
柔性機械臂在靜態(tài)坐標系XOY所在的豎直面內(nèi)轉(zhuǎn)動,它的質(zhì)量用m表示,長度用l表示。在驅(qū)動力矩Γdrive的作用下,柔性機械臂任意一點會出現(xiàn)微小的變形w(x,t)。為了便于準確地描述柔性機械臂任意一點位置,構(gòu)建隨動坐標系x0Oy0。隨動坐標系和靜態(tài)坐標系之間的角度θ表示表示柔性機械臂轉(zhuǎn)角。柔性機械臂在豎直平面內(nèi)旋轉(zhuǎn)的過程中還會受到重力mg的影響。柔性機械臂豎直面轉(zhuǎn)動示意如圖1所示。
圖1 柔性機械臂豎直面轉(zhuǎn)動示意Fig.1 Schematic diagram of vertical rotation of flexible manipulator
根據(jù)文獻[10,24],在運動過程中的t時刻,柔性機械臂x處的變形可以用模態(tài)坐標和模態(tài)函數(shù)來描述
(1)
式中:φi(x)表示模態(tài)函數(shù);δi(t)表示模態(tài)坐標。
根據(jù)式(1)可知,柔性機械臂的變形量是機械臂長度和時間的二維函數(shù)。其中,模態(tài)函數(shù)的取值與柔性機械臂的邊界條件密切相關(guān)。忽略柔性機械臂末端質(zhì)量影響,當柔性機械臂以一端固定、一端自由方式連接時,其邊界條件為
(2)
式中:E表示彈性模量;I表示截面慣性矩。
根據(jù)柔性梁的振動理論,由文獻[10]可推導出模態(tài)函數(shù)的表達式
(3)
式中βi表示模態(tài)函數(shù)特征根,表達式為
cos(βil)ch(βil)=-1
(4)
模態(tài)函數(shù)特征根與柔性機械臂的固有頻率之間存在關(guān)系
(5)
式中:ωi表示柔性機械臂的第i階固有頻率;ρ表示柔性機械臂的體密度;A表示柔性機械臂的橫截面積。
柔性機械臂上任意一點的向量可表示為
(6)
由此,得到柔性機械臂的動能
(7)
柔性機械臂的勢能可以近似地表示為
(8)
根據(jù)拉格朗日動力學方程,可得到
(9)
根據(jù)式(9)可得考慮重力影響的柔性機械臂動力學方程
(10)
為簡化柔性機械臂的動力學方程,本文定義式(11)成立。
(11)
式中:Jl表示柔性機械臂的轉(zhuǎn)動慣量;Fai表示柔性機械臂的柔性耦合系數(shù)。
將式(11)代入式(10),可將豎直平面內(nèi)轉(zhuǎn)動的柔性機械臂的動力學方程改寫為
(12)
柔性機械臂的動力學方程中含有兩種類型的非線性項:一種是轉(zhuǎn)角和模態(tài)坐標耦合的弱非線性項;另一種由于重力因素而引起的強非線性項。文獻[10]為了獲得柔性機械臂轉(zhuǎn)角與力矩之間的傳遞函數(shù),不考慮轉(zhuǎn)角和模態(tài)坐標耦合的非線性項,忽略了弱非線性項的影響。此時,柔性機械臂動力學的動力學方程為
(13)
弱非線性項會對柔性機械臂的動力學系統(tǒng)產(chǎn)生一定的影響。為了探究弱非線性項對于柔性機械臂動力學系統(tǒng)的影響,本文使用文獻[25]提出的單桿演繹算法作為柔性機械臂轉(zhuǎn)角的運動規(guī)律。
本文使用角度獨立方法[24]對柔性機械臂動力學系統(tǒng)進行數(shù)值仿真分析。以此說明弱非線性項對于柔性機械臂動力學系統(tǒng)的影響規(guī)律。
在考慮重力的情況下,桿長、彈性模量、最大轉(zhuǎn)速等會對于柔性機械臂的末端變形量產(chǎn)生影響。在低速情況下,最大轉(zhuǎn)速設定為3 rad/s;在高速情況下,最大轉(zhuǎn)速設定為6 rad/s。在只考慮一階模態(tài)的情況下,可以得到柔性機械臂末端變形量的分布情況和非線性項對于變形的誤差,如圖2所示。
為了清晰地描述桿長對于柔性機械臂變形的影響,本文使用末端變形量與機械臂長的比值表征變形能力。根據(jù)圖2可以得出如下結(jié)論。
(1)柔性機械臂末端的單位長度變形量隨著桿長的增加而增大、隨著彈性模量的增大而逐漸減小。在高速和低速運動狀態(tài)下都可以得到相同的結(jié)論。
(a)低速情況下單位長度變形量分布
(b)低速情況下單位長度變形量分布的局部放大
(c)低速情況下變形誤差分布
(d)高速情況下單位長度變形量分布
(e)低速情況下變形誤差分布圖2 柔性機械臂末端變形量及誤差分布Fig.2 Deformation and error distribution of the flexible manipulator
(2)柔性機械臂末端的單位長度變形量在高速運動狀態(tài)下更為顯著。其主要原因在于高速運動所需的外加力矩更大,使得柔性機器臂變形更加明顯。
(3)無論是考慮還是忽略非線性項,都能得到相同的結(jié)論——柔性機器臂末端的單位長度變形量隨著桿長的增加和彈性模量的減小而增大。
(4)在低速運動狀態(tài)下可以忽略弱非線性項引起的誤差,而在柔性機械臂長度較長且處于高速運動狀態(tài)下不能忽略。
綜上可知,當柔性機械臂的長度較長且處于高速運動工況下,由弱非線性項引起的誤差不能忽略。
本文在柔性機械臂的內(nèi)控制回路中引入非線性補償?shù)窒亓Φ挠绊?使用RBF神經(jīng)網(wǎng)絡對柔性機械臂動力學系統(tǒng)的不確定部分進行辨識。
根據(jù)式(11)可得到柔性機械臂動力學方程的一般形式
(14)
式中d可以認為是柔性引發(fā)的干擾。
前饋控制策略比反饋控制策略更及時、有效[26]。前饋PD控制策略的控制律為
(15)
針對柔性機械臂的名義動力學模型,控制律為
(16)
根據(jù)式(16),可以得到
(17)
由式(17)可得到考慮動力學模型不確定性情況下的閉環(huán)方程
(18)
式中f表示不確定項。
RBF神經(jīng)網(wǎng)絡算法為
(19)
根據(jù)式(19),柔性機械臂動力學模型的誤差狀態(tài)空間方程可以寫成
(20)
應用RBF神經(jīng)網(wǎng)絡辨識不確定項后,柔性機械臂的控制律為
(21)
本文做如下假設:
(2)RBF神經(jīng)網(wǎng)絡輸出逼近連續(xù)函數(shù)不確定項,存在一個極小的正數(shù)ε0滿足
(22)
(23)
現(xiàn)實情況下無法獲得最優(yōu)的神經(jīng)網(wǎng)絡權(quán)重系數(shù)。因此,只能用最優(yōu)的神經(jīng)網(wǎng)絡權(quán)重系數(shù)的估計值進行代替。此時,柔性機械臂的控制律為
(24)
使用RBF神經(jīng)網(wǎng)絡辨識不確定項后,柔性機械臂的控制回路示意如圖3所示。
圖3 基于RBF神經(jīng)網(wǎng)絡的柔性機械臂控制框圖Fig.3 Control block diagram of the flexible manipulator based on the RBF neural network
使用RBF神經(jīng)網(wǎng)絡辨識不確定項部分后得到如式(24)所示的控制律。將式(24)代入式(14)中,得到
(25)
根據(jù)式(25)可得到誤差狀態(tài)空間方程
(26)
定義Lyapunov函數(shù)
(27)
式中:γ>0;P是一個正定矩陣且滿足Lyapunov方程
PA+ATP=-Q
(28)
其中Q是一個正定矩陣。
將式(27)寫成
(29)
根據(jù)式(29),有式(30)成立。
(30)
式中M表達式為
(31)
式(31)可以寫成
(32)
權(quán)重系數(shù)的自適應律為
(33)
將式(33)代入式(32)后,可以得到Lyapunov函數(shù)的導數(shù)
(34)
圖4 柔性機械臂控制實驗平臺 Fig.4 Control experimental platform of the flexible manipulator
本文搭建了驗證柔性機械臂控制策略的實驗平臺,如圖4所示。該實驗平臺由伺服電機、傳動套索、柔性機械臂組成。柔性機械臂在豎直面轉(zhuǎn)動,套索將電機產(chǎn)生的力矩傳送到柔性機械臂,驅(qū)動其轉(zhuǎn)動??梢酝ㄟ^套索上的拉力傳感器,準確地計算出柔性機械臂的輸入力矩。控制平臺使用cRIO-9053作為下位機,將采集到的反饋信號輸入控制程序。同時,將控制程序的輸出信號傳入Ni-9246模塊,控制電機的輸出力矩。反饋信號通過磁編碼器采集。其中,磁編碼器安裝在柔性機械臂后端,用以采集柔性機械臂的轉(zhuǎn)角信號。
分別采用長度為0.8、1.1、1.5 m的柔性梁模擬不同長度的柔性機械臂。3種不同長度柔性梁的物理參數(shù)如表1所示。
以正弦信號作為柔性機械臂轉(zhuǎn)角的輸入信號。分別使用兩種不同的控制策略開展柔性梁的轉(zhuǎn)角控制實驗。其中,一種控制策略是PD控制策略,另一種控制策略是使用具有RBF神經(jīng)網(wǎng)絡辨識的控制策略。由此可得不同長度柔性梁的轉(zhuǎn)角、轉(zhuǎn)角誤差、末端振動敏感方向的加速度,如圖5所示。對不同長度柔性梁的轉(zhuǎn)角誤差和末端加速度進行統(tǒng)計分析,統(tǒng)計結(jié)果如表2所示。
根據(jù)表2可知:使用RBF神經(jīng)網(wǎng)絡的控制策略在柔性機械臂長度較長時能夠使轉(zhuǎn)角誤差絕對值的平均值下降49.6%、轉(zhuǎn)角誤差的方差下降76%,柔性負載末端加速度絕對值的平均值下降27.3%、加速度的方差下降5.8%。由此說明,使用神經(jīng)網(wǎng)絡的控制策略能有效地提高柔性機械臂的轉(zhuǎn)動精度,并且利于抑制機械臂的振動。
表1 不同長度柔性梁的物理參數(shù)
(a)l=0.8 m
(b)l=1.1 m
(c)l=1.5 m圖5 l=0.8,1.1,1.5 m時的轉(zhuǎn)角、轉(zhuǎn)角誤差和柔性負載末端振動敏感方向的加速度Fig.5 Rotation angle, rotation angle error, acceleration in vibration-sensitive direction at the end of the flexible load when l=0.8,1.1 and 1.5 m
表2 實驗結(jié)果統(tǒng)計表
由圖5可知,使用RBF神經(jīng)網(wǎng)絡的控制策略擁有更小的轉(zhuǎn)角誤差,并且在機械臂長度較長時具有明顯的優(yōu)勢。在機械臂長度較長時,使用RBF神經(jīng)網(wǎng)絡的控制策略能夠有效減少機械臂末端的加速度波動。使用傳統(tǒng)的PD控制策略無法應對弱非線性項的影響,由此導致在柔性機械臂長度增加時無法獲得準確的跟蹤效果。這間接說明了弱非線性項對于柔性機械臂的影響在機械臂長度較長的情況下無法忽略。
本文建立了考慮重力因素的柔性機械臂動力學模型,并應用RBF神經(jīng)網(wǎng)絡控制策略減小機械臂輸出轉(zhuǎn)角的波動,進而抑制振動。本文結(jié)論如下。
(1)重力因素會嚴重影響柔性機械臂輸入力矩。若柔性機械臂在豎直面內(nèi)運動,則需要將重力因素加以考慮。
(2)柔性機械臂動力學方程中含有柔性耦合的弱非線性項。在機械臂長度較長且高速的情況下,應考慮非線性項的影響。
(3)對于柔性機械臂,在轉(zhuǎn)速相同的情況下,RBF神經(jīng)網(wǎng)絡的控制策略與傳統(tǒng)比例微分控制策略相比,使機械臂末端振動敏感方向的加速度方差降低了27.3%。由此說明本文方法對于振動敏感方向的加速度波動的抑制具有更好的效果,進而說明本文方法能夠更好地抑制柔性機械臂的振動。