□ 王文輝
上海交通大學 機械與動力工程學院 上海 200240
準確的動力學參數是提高機械臂控制性能和動力學仿真的基礎,且傳統的基于剛性關節的動力學參數辨識方法大多不能直接運用在柔性關節機械臂上。近年來,考慮柔性特征的關節建模和控制方法得到了學者關注。Spong[1]將柔性關節等效為恒定剛度的線性扭轉彈簧,建立了柔性關節動力學模型。Al-Ashoor等[2]建立了關節剛度阻尼模型,并且基于該模型提出了柔性關節的自適應控制方法。目前針對柔性關節的參數辨識方法,大多基于關節剛度阻尼模型。
柔性關節的動力學參數辨識方法根據是否需要附加傳感器可以分為兩類。第一類方法通過附加辨識所需的傳感器,可以得到更加精確的辨識結果。第二類方法通過對已有的傳感器數據進行差分處理,或者對關節施加特定激勵,可以獲得額外的信息,并且在不附加傳感器的情況下實現參數的辨識[3]。目前,這兩類辨識方法大多集中在關節內部參數的辨識和低自由度機械臂動力學參數的辨識方面。考慮到實際使用的多自由度高性能協作機械臂大多安裝有力矩傳感器和雙編碼器,筆者針對具有雙編碼器和關節力矩傳感器的柔性關節機械臂提出一種基于能量模型的柔性關節機械臂參數辨識方法,并且在六自由度柔性關節機械臂上驗證了這一方法的有效性。
在關節電機端和減速器的輸出端各安裝一個位移傳感器,在減速器和輸出連桿之間安裝關節扭矩傳感器,關節結構如圖1所示。圖1中,qm為電機轉子位移,τm為電機轉矩,q為關節輸出位移,τ為減速器輸出力矩,r為減速器減速比,Bm為電機轉子的轉動慣量,B為輸出連桿的轉動慣量。

筆者將關節中諧波減速器和力矩傳感器所產生的彈性近似等效為恒定剛度的線性彈簧元件,將關節內產生的阻尼近似等效為線性黏性阻尼元件,建立如圖2所示關節動力學模型[4]。圖2中,K為關節剛度,D為關節阻尼,Fs、Fv分別為庫侖摩擦力和黏性摩擦力。

在關節內部,存在如下關系式:
(1)
(2)

機械臂由連桿和關節構成,由于連桿與對應的關節固定連接,因此筆者將關節的慣性參數計入與關節固定連接的連桿慣性參數內。由此可見,機械臂的動力學模型參數包括連桿的慣性參數,關節的庫倫摩擦因數、黏性摩擦因數、剛度系數及阻尼系數[5]。關節i和與其固定連接的連桿i所具有的動力學參數構成向量Xi為:
Xi=[Ixxi,Ixyi,Ixzi,Iyyi,Iyzi,Izzi,mixi,miyi,
mizi,mi,Fsi,Fvi,Ki,Di]
(3)
式中:Ixxi、Ixyi、Ixzi、Iyyi、Iyzi、Izzi為連桿i在原點位于連桿i質心的坐標系中的慣性張量矩陣中的參數;xi,yi,zi為連桿i的質心位置在連桿i固連坐標系中的三維坐標;mi為連桿i的質量;Fsi為關節i的庫侖摩擦因數;Fvi為關節i的黏性摩擦因數;Ki為關節i的關節剛度;Di為關節i的關節阻尼。
基于文獻[6]的結論,可以根據機械臂的構型計算由機械臂慣性參數和慣性參數線性組合構成的慣性參數最小集。通過辨識理論可以直接辨識慣性參數最小集中的參數。
機械臂從靜止狀態到運動過程中某一時刻的能量變化可以描述為:
(4)

由于電機轉子的質量遠小于連桿的質量,并且電機轉子的平動速度遠慢于轉動速度,因此可以忽略電機轉子平動對機械臂能量產生的影響。機械臂功能Ek為:
(5)

考慮關節模型,可以得到:
(6)
式中:τ為由各個關節輸出端力矩組成的向量。
機械臂的重力勢能Ep為:
(7)

機械臂的動能和重力勢能均可以表示為連桿慣性參數的線性化形式。
彈性部分存儲的能量Es和阻尼部分耗散的能量ED分別為:
(8)
(9)

庫倫摩擦耗散的能量Efs和黏性摩擦耗散的能量Efv分別為:
(10)
(11)
最終可以得到機械臂在運動過程中輸入能量與各參數的線性關系為:
(12)
式中:E為機械臂動力學參數與機械臂能量的線性關系函數;Y為由機械臂動力學參數構成的向量。
通過在機械臂的運動過程中力矩傳感器采集的力矩信號,以及電機端和輸出端的位移、速度信號,可以計算某一時間段內向機械臂系統輸入的能量,并建立機械臂動力學參數的線性方程。在一段運動過程中多次采樣,可以構建機械臂動力學參數的線性方程組:
Einput=HY+w
(13)
式中:Einput為每一個采樣時段內由輸入能量構成的向量;H為每一個采樣時段內由建立的線性方程中各動力學參數的系數構成的矩陣;w為誤差向量。
通過最小二乘法求解,使誤差向量的二范數最小,可以求得需要辨識的機械臂動力學參數。
為減小傳感器噪聲對辨識結果的影響,提高參數辨識的精度,需要對辨識過程中使用的激勵軌跡進行優化[7]。考慮到觀測矩陣的條件數表征了傳感器誤差與辨識結果誤差之比的上限,筆者將減少觀測矩陣的條件數作為激勵軌跡的優化目標,選取有限傅里葉級數作為激勵軌跡[8]。
筆者針對裝有雙編碼器和力矩傳感器的六自由度柔性關節機械臂進行參數辨識試驗。辨識試驗使用的機械臂構型如圖3所示,實物如圖4所示,其Denavit-Hartenberg(DH)參數見表1。表1中,a為機械臂的桿長,α為機械臂的扭轉角,d為機械臂的偏距[9]。


表1 機械臂DH參數

試驗采取五階傅里葉級數作為激勵軌跡,運動周期為10 s。根據試驗所使用的機械臂的性能,確定各個關節可行的速度上限為1.5 rad/s,加速度上限為3 rad/s2。考慮到機械臂的構型,為防止運動過程中發生碰撞,將關節的位移范圍限制在-1.5~1.5 rad之間。根據上述條件,求得激勵軌跡,如圖5所示。

對于編碼器采集到的位移信號和力矩傳感器采集到的力矩信號,經過時域平均處理后,再經過低通濾波器處理。對位移信號采用中心差分法,獲得了速度數據,避免滯后效應對辨識結果所產生的影響[10]。根據機械臂的位移、速度與力矩信號,計算運動過程中的能量輸入和觀測矩陣,通過最小二乘法估算機械臂的動力學參數。
為驗證參數辨識結果的準確性,筆者基于另一條軌跡進行交叉驗證試驗。試驗采集了運動過程中的實際力矩數據,使用基于柔性關節模型和剛性關節模型兩種辨識方法得到的動力學參數,并根據兩組動力學參數和運動過程中的位移、速度、加速度信息,分別計算了關節力矩的理論值。
試驗結果對比如圖6所示。圖6中實線為運動過程中實際采集到的力矩值,虛線為基于柔性關節模型辨識結果計算得到的理論力矩值,點劃線為基于剛性關節模型辨識結果計算得到的理論力矩值。計算兩組計算值在每個關節上與實際測量值的均方根誤差,結果見表2。

表2 辨識結果力矩計算值均方根誤差 (N·m)
由圖6和表2的結果可知,對于負載較高的關節,兩種方法都可以實現比較準確的力矩預測;對于負載較低的關節4、關節5、關節6,基于柔性關節模型的辨識方法在精度上更具有優勢。
筆者基于六自由度柔性關節機械臂的柔性關節特征,將關節的剛度和阻尼特性引入機械臂的動力學參數最小集,通過基于能量模型的辨識方法實現了參數的辨識。
試驗結果顯示,這一方法相對傳統的基于剛性關節模型的辨識方法在精度上更具有優勢。當然,由于關節力矩傳感器及位移傳感器的精度問題,最終辨識結果仍有一定誤差,一部分關節計算力矩與實際力矩相差較大,這是未來需要完善的方向。