徐 征,張 弓?,汪火明,侯至丞,楊文林,梁濟民,王 建,顧 星
1) 廣州中國科學院先進技術研究所機器人與智能裝備中心,廣州 511458 2) 中國地質(zhì)大學機械與電子信息學院,武漢 430074
準確的機器人動力學模型是搭建仿真模型,驗證先進控制算法和對控制系統(tǒng)進行深度分析的基礎[1-2].隨著對機器人動態(tài)性能要求的提高和協(xié)作機器人概念的興起,常規(guī)無模型控制方法,如PID算法不僅軌跡跟蹤精度較低,抗干擾能力較差,尤其無法實現(xiàn)碰撞檢測、柔順控制等人機交互功能[3].
對于多軸串聯(lián)機器人進行動力學建模一般會考慮重力、科里奧利力、慣性力和摩擦力等主要因素,但是對于較復雜的特性,例如減速機柔性、連桿彈性、摩擦力隨工況的變化、電機轉子慣性力等,較少建立其數(shù)學模型[4-5],從而導致計算力矩與實際力矩誤差較大,阻礙了協(xié)作機器人碰撞檢測、拖動示教和柔順控制的良好實現(xiàn).有學者對此進行了研究,文獻[6-8]各自建立了摩擦特性模型并提出了針對性的補償方法,也有采用機器學習方法的,如利用反向傳播(Back propagation,BP)神經(jīng)網(wǎng)絡[9]和徑向基函數(shù)(Radial basis function,RBF)網(wǎng)絡進行擬合或補償[10-11],有些也提出了對應的控制方法[12],但鮮有研究對各種復雜特性綜合起來考慮的.
對于參數(shù)辨識技術,有解體測量計算方法[13-14]、解體實驗測量法[15-16]、不解體實驗測量方法[17-18]和理論辨識[19]等方法.解體方法無法或難以計算機器人關節(jié)特性[20],理論辨識法得到的慣性張量矩陣在任意形位上不一定是正定的,實際中也不可能存在,其控制也不穩(wěn)定[21].
為此,本文提出利用深度循環(huán)神經(jīng)網(wǎng)絡對協(xié)作機器人動力學模型進行誤差補償,首先建立動力學方程,然后采用不解體實驗測量方法結合最小二乘法對其中參數(shù)進行辨識.接著,針對協(xié)作機器人的未建模特性或建模不精確的問題,采用深度循環(huán)神經(jīng)網(wǎng)絡進行補償,以減小動力學模型誤差并提高力矩預測精度.最后在實驗中,以電機電流等效作為關節(jié)力矩信號,把電機電流和電機常數(shù)的乘積作為輸出軸力矩,同時結合摩擦力模型計算得到機器人關節(jié)的輸出力矩,代替價格高昂且安裝不便的力矩傳感器,以完成補償方法的實驗驗證.
本研究基于自主研發(fā)的六自由度協(xié)作機器人,圖1和圖2分別為其三維模型圖和Denavit-Hartenberg(D-H)模型圖,從圖中可以看到軸 2、3、4的相互平行,逆運動學存在封閉解.考慮重力、科里奧利力、慣性離心力和摩擦力,采用歐拉-拉格朗日法計算關節(jié)力矩,得到機器人剛體動力學方程:
圖 1 協(xié)作機器人三維模型圖Fig.1 3D model of the collaborative robot
圖 2 協(xié)作機器人D-H模型圖Fig.2 D-H structure of the collaborative robot
式中:q為關節(jié)角向量;為關節(jié)角速度向量;為關節(jié)角加速度向量;M(q)為機械臂慣性矩陣;H(q,)為離心力和科里奧利力矩陣;G(q)為重力矩陣;τf為摩擦力項.
機器人關節(jié)的減速機、軸承等帶來的摩擦影響較大[15],導致角速度換向處,即在速度零點附近,計算力矩相對實際誤差較大.針對該現(xiàn)象,采用Stribeck摩擦力模型對關節(jié)摩擦機械建模,其摩擦力矩為:
式中:D為 黏滯摩擦系數(shù)矩陣;μ為庫倫摩擦系數(shù).
綜合式(1)和(2),可以得到方程:
故方程(1)可改成如下線性形式:
式中:Φr為重組后的觀測矩陣;θr為最小慣性參數(shù)集向量.
對于模型精度,本文以預測力矩(計算力矩)相對于實際測量力矩的均方根誤差作為評價標準.若均方根誤差較小,則說明模型精度高,反之則精度較低.
不解體實驗測量方法需要驅動機器人運動以獲取數(shù)據(jù),考慮到計算精度和實驗可行性,機器人運動軌跡即激勵軌跡需要滿足多種條件.六軸機器人動力學運算復雜度高,在辨識后三軸的動力學參數(shù)時可以鎖定前三軸單獨實驗,辨識的難度大大降低,更具針對性且減小了運算量[16].限于篇幅和運算量,本文僅對協(xié)作機器人末端軸4至軸6的動力學參數(shù)進行了辨識和研究.實驗采用傅里葉級數(shù)前五項,即式(5)作為激勵軌跡.由于是周期函數(shù),便于重復多次進行該實驗,同時與驅動器通信采集位移、速度和電流等信息.
式中:qi(t)∈Rn為關節(jié)i在關節(jié)空間中的軌跡關于時間t的函數(shù);ωf是基頻;qi,0(t)∈Rn為常量偏移;每條軌跡包含11個參數(shù),即ai,k,bi,k,qi,0和ωf=1.
激勵軌跡的優(yōu)劣與觀測矩陣抑制噪聲的能力和其病態(tài)性息息相關,直接影響辨識參數(shù)的精度,這里通過觀測矩陣W的條件數(shù)來定義目標函數(shù):
式中:Cond(W)=σmax(W)/σmin(W),σmax(W)和σmin(W)分別為W的最大和最小奇異值.
目標函數(shù)值越小,則辨識參數(shù) θ對測量誤差的敏感度越低,實驗辨識得到的參數(shù)精度就有可能更高.同時還要考慮實際機器人有運動性能的限制,以運動范圍、起始和停止階段的速度和加速度為約束,則該激勵軌跡優(yōu)化問題可描述為:
式(8)是一個非線性多約束的優(yōu)化問題,可以采用NSGA等目標優(yōu)化算法[22]對其進行優(yōu)化,得到優(yōu)化后的激勵軌跡如圖3所示.三張圖中,橫軸均為時間,縱軸依次為角位移,角速度和角加速度.從圖中可以看出,軌跡變化平滑,起止點均為零,運動幅值較大,但也未超出限制范圍,該優(yōu)化后的激勵軌跡將用于第4節(jié)的實驗研究.
圖 3 參數(shù)辨識所用激勵軌跡.(a)位移;(b)速度;(c)加速度Fig.3 Excitation trajectory for parameter identification: (a) position; (b) velocity; (c) acceleration
循環(huán)神經(jīng)網(wǎng)絡(Recurrent neural network,RNN)是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡,其中的長短期記憶(Long short-term memory,LSTM)單元網(wǎng)絡相比于普通的人工神經(jīng)網(wǎng)絡,解決了早期RNN網(wǎng)絡存在的長時期依賴,梯度爆炸和梯度消失等問題[23-24],在對歷史信息的保留和對未來信息的預測上有較大進步.本研究將進一步探索LSTM在機器人動力學方面的應用.
機器人運動學和動力學數(shù)據(jù)在時間上連續(xù)相關,且摩擦力的記憶特性和電機參數(shù)隨溫度變化帶來的時變特性,采用LSTM網(wǎng)絡可以很好地補償這些因素.本研究采用具有細胞狀態(tài)和門控結構的LSTM細胞單元以期實現(xiàn)較好的補償效果.
如圖4所示,LSTM細胞單元增加了細胞狀態(tài)向量C和相關的門控結構,以控制遺忘和記憶的方法較好地解決了普通RNN Cell存在的梯度爆炸和梯度消失問題.其前向運算過程為:
圖 4 LSTM隱含層細胞結構Fig.4 LSTM cell of hidden layer
式中:σ為 sigmoid函數(shù);ft為遺忘門輸出量;Wf,Wi、WC和Wo依次為遺忘門、輸入門、更新狀和輸出門狀態(tài)參數(shù);bf,bi、bC和bo依次為遺忘門、輸入門、更新狀和輸出門狀態(tài)的偏移量;C和h分別為細胞輸出向量和隱含狀態(tài),x為輸入向量,i和為細胞更新狀態(tài)中間變量,o為輸出門中間變量,以上各變量下角標為時間序列編號.
LSTM網(wǎng)絡訓練過程采用是隨時間反向傳播算法 (Back propagation trough time,BPTT),與經(jīng)典的反向傳播算法類似,包括前向計算、反向計算、計算梯度、更新參數(shù)等步驟.
其中基于梯度的優(yōu)化算法種類眾多,本文選用適應性動量估計(Adaptive moment estimation,Adam)算法[25].該算法是一種有效的基于梯度的隨機優(yōu)化方法,能夠對不同參數(shù)計算適應性學習率且占用存儲資源較少,相比于其他隨機優(yōu)化方法,Adam算法在實際應用中整體表現(xiàn)更優(yōu).
綜上所述,提出如圖5所示的技術框架,包括LSTM網(wǎng)絡、數(shù)據(jù)集的產(chǎn)生、網(wǎng)絡訓練手段等.其中網(wǎng)絡的輸入和輸出層為全連接網(wǎng)絡,隱含層由LSTM細胞單元組成,其中x為分批數(shù)據(jù),C為細胞輸出,H為細胞隱含狀態(tài),P為每層網(wǎng)絡輸出,角標L為網(wǎng)絡層數(shù),Compensation value是實際力矩和計算力矩的差值.其主要步驟為:
(1)原始數(shù)據(jù)(位移、速度、加速度、力矩)采集;
(2)原始數(shù)據(jù)(位移、速度、加速度)經(jīng)未補償動力學模型計算得到預測力矩;
(3)原始數(shù)據(jù)和預測力矩經(jīng)過歸一化操作,分為訓練集和測試集;
(4)訓練集進入全連接的輸入層;
(5)經(jīng)過包括64個LSTM節(jié)點的隱含層迭代計算(依次計算每個細胞輸出);
(6)經(jīng)過輸出層輸出經(jīng)網(wǎng)絡補償后的力矩值;
(7)損失為預測力矩(計算力矩)相對于實際測量力矩的均方根誤差;
(8)以該損失最小采用Adam優(yōu)化器對網(wǎng)絡參數(shù)迭代優(yōu)化;
(9)反向計算每個LSTM細胞的誤差項,包括按時間和網(wǎng)絡層級兩個反向傳播方向;
(10)根據(jù)相應的誤差項計算每個權重的梯度;
(11)應用更新權重;
(12)測試集經(jīng)過網(wǎng)絡計算出經(jīng)補償后的預測力矩,評估補償效果.
網(wǎng)絡由開源機器學習平臺Tensorflow1.15.0實現(xiàn),根據(jù)經(jīng)驗和實際情況,確定網(wǎng)絡主要超參數(shù)如表1所示.
表 1 網(wǎng)絡主要超參數(shù)值Table 1 Hyperparameters of the net
其中輸入向量依次包括4、5和6各軸的計算力矩、歷史各時刻實際力矩、實際速度和實際位移.輸出向量依次包括4、5和6各軸的下一時刻預測力矩.網(wǎng)絡的節(jié)點數(shù)則根據(jù)特征維度和數(shù)據(jù)量進行選擇,損失即為下一時刻預測力矩相對于下一時刻實際力矩的均方根誤差,即:
式中:N為數(shù)據(jù)集樣本數(shù)量,實際為機器人連續(xù)運動量的采樣點數(shù)量;(i)為預測力矩值;τi為實際力矩.
數(shù)據(jù)集來源于激勵軌跡驅動下的機器人實際采集的數(shù)據(jù),可分為兩部分:訓練集Ftr和測試集Fte.對于訓練集,激勵軌跡即是第3節(jié)中得到的最優(yōu)激勵軌跡;對于測試集,可以通過增加新約束條件的方法再產(chǎn)生一條新的激勵軌跡.在式(6)的基礎上增加約束:qi(t=3.8)=0,得到測試集軌跡如圖6所示.
圖 6 測試集的激勵軌跡.(a)位移;(b)速度;(c)加速度Fig.6 Excitation trajectory of test set: (a) position; (b) velocity; (c) acceleration
從圖6中可以看出,測試集曲線各處平滑連續(xù),運動幅值較大,但也未超出限制范圍,相比于圖3的訓練集曲線,圖6中的各軸位移曲線具有兩個顯著分開的波峰,運動中存在一個零點,且速度和加速度也有較大差異,可在充分利用機器人性能的同時測試網(wǎng)絡的泛化能力.同時,運動過程中的零點便于在實驗中核對誤差,起到監(jiān)控機器人工作狀態(tài)的作用.
下一步的工作,如網(wǎng)絡的訓練,需要實驗數(shù)據(jù)的支撐,故在下一節(jié)實驗部分繼續(xù)進行.
本次實驗僅對該機器人末端的軸4、軸5和軸6進行分析和實驗.由于靠近末端的軸4至軸6三軸力臂相對較短,質(zhì)量相對較小,慣性和重力矩相對較小,摩擦力和電機轉子慣量等未精確建模的特性會帶來更大的相對誤差,因此誤差補償技術具有較大的實際應用價值.
實驗中,各軸電機伺服驅動器與控制器由EtherCAT連接通信,驅動器置為周期性位置模式,控制器以100 Hz固定頻率發(fā)送圖3和圖6的激勵軌跡至驅動器,保證整個運動過程連續(xù)流暢.由于只研究軸4至軸6的動力學特性,軸1至軸3的位移指令始終為零.
網(wǎng)絡的訓練采用上述的激勵軌跡與實驗數(shù)據(jù)為訓練數(shù)據(jù)集,以理論計算力矩和實際力矩的均方根誤差為損失函數(shù),訓練目標即為該損失函數(shù)最小.隨著網(wǎng)絡訓練次數(shù)增加,損失逐漸減小,如圖7所示.
圖 7 網(wǎng)絡訓練步數(shù)與均方根損失Fig.7 Epochs vs RMS loss
圖8和圖9分別為測試集激勵軌跡下,補償前和補償后軸5的實際力矩、預測力矩和誤差曲線,可以明顯看到經(jīng)過LSTM補償后的動力學模型對力矩的預測誤差相比未經(jīng)補償?shù)挠酗@著提高,各軸補償前后預測力矩與實際力矩的均方根誤差如表2所示.從圖表中可以看出,補償后的動力學模型對力矩具有良好的預測效果,軸4至軸6預測力矩(理論計算)與實際力矩的均方根誤差,相比于傳統(tǒng)模型分別降低了66.5%、78.9%和61.8%.這是由于協(xié)作機器人軸4至軸6結構輕巧,慣性力和重力較小,因此摩擦力等未建?;蛭茨芫_建模的因素影響占比很大,造成很大誤差.
圖 8 軸5計算力矩(未經(jīng)補償)、實際力矩和誤差Fig.8 Calculated torque (uncompensated), real toruqe, and errors of axis-5
圖 9 軸5經(jīng)過LSTM網(wǎng)絡補償后的計算力矩、實際力矩和誤差Fig.9 Calculated torque with LSTM compensation, real torque, and errors of axis-5
表 2 各關節(jié)計算力矩相對實際力矩的均方根誤差Table 2 RMS error of calculated torque between real value
為了解決協(xié)作機器人動力學模型難以建立與辨識,導致機器人計算預測力矩誤差較大的問題,本文針對自主研發(fā)的六自由度協(xié)作機器人,首先建立了一般的機器人動力學模型,然后生成了優(yōu)化后的激勵軌跡并進行了相關實驗.同時,在此基礎上采用深度循環(huán)神經(jīng)網(wǎng)絡中的長短期記憶模型對模型預測力矩和實際力矩之間的誤差進行了補償.結論如下:協(xié)作機器人軸4至軸6結構輕巧,慣性力和重力較小,摩擦力、轉子慣性力等未建?;蛭茨芫_建模的因素影響占比很大,依靠一般動力學方程計算預測力矩有較大誤差.采用深度循環(huán)神經(jīng)網(wǎng)絡中的長短期記憶模型可有效補償動力學模型誤差.實驗表明軸4、5和6的預測力矩與實際力矩的均方根誤差與傳統(tǒng)模型相比,分別下降了66.5%,78.9%和61.8%.由此可見,基于循環(huán)神經(jīng)神經(jīng)網(wǎng)絡的誤差補償技術是可行和有效的,可為后續(xù)的動力學控制研究提供良好的基礎.