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