崔靖凱,賽華陽,張恩陽,朱明超 ,徐振邦,3*
(1. 中國科學院長春光學精密機械與物理研究所,吉林長春130033;2. 中國科學院大學,北京 100049;3. 中國科學院大學材料與光電研究中心,北京100049)
模塊化關(guān)節(jié)能通過重構(gòu)組合,使機械臂形成不同功能的構(gòu)型,滿足不同環(huán)境和任務(wù)的需求。具有模塊化關(guān)節(jié)的機械臂制造成本低、設(shè)計周期短、互換性強并易于改進,被廣泛應(yīng)用于各個領(lǐng)域[1]。為了獲得高負載自重比,模塊化關(guān)節(jié)常具有諧波減速器等非線性環(huán)節(jié),這增大了摩擦干擾,影響機械臂的定位和跟蹤精度。
摩擦補償是減少或消除關(guān)節(jié)非線性環(huán)節(jié)的不利影響、提高系統(tǒng)動態(tài)性能的重要途經(jīng)。摩擦補償包括基于摩擦模型的補償和不基于摩擦模型的補償。其中,基于摩擦模型的補償由于具有可預見、響應(yīng)速度快等特點[2],獲得了廣泛應(yīng)用。模塊化關(guān)節(jié)的摩擦模型包括庫倫-黏性摩擦模型[3]、Stribeck 摩擦模型[4]、LuGre 摩擦模型[5]等。庫侖-黏性摩擦模型和Stribeck 摩擦模型無法描繪電機速度接近于零時的預滑動區(qū)域的摩擦特性,導致電機速度換向時補償?shù)哪Σ亮Σ贿B續(xù),引起力矩的跳變。為了充分考慮摩擦的非線性特性,保證補償力矩的連續(xù)性,本文基于LuGre摩擦模型進行摩擦補償。
摩擦模型參數(shù)的準確度直接影響了摩擦模型的精度,進而影響摩擦補償?shù)男Ч?],因此需要對模型參數(shù)進行辨識。參數(shù)辨識是指在滿足激勵的條件下,采集系統(tǒng)的狀態(tài)信息對物理參數(shù)進行估計的過程[7]。參數(shù)辨識可以分為在線辨識和離線辨識。在線辨識適用于對環(huán)境變化敏感的參數(shù),如溫度的變化、材料的磨損等,雖然具有高精度和實時響應(yīng)的優(yōu)點,但可能存在參數(shù)收斂不完全的問題,且受到實驗對象能否實時執(zhí)行的限制。離線辨識相對簡單易行,在對環(huán)境變化不敏感的參數(shù)如力矩系數(shù)、摩擦系數(shù)等上更具優(yōu)勢,因此,本文采用離線辨識的方法。
針對LuGre 模型,學者們提出了多種辨識方法。肖前進[8]等用分段最小二乘法辨識了LuGre模型的靜態(tài)參數(shù),將電機預滑動區(qū)域的特征作線性化處理,等價為一個二階系統(tǒng),計算得到動態(tài)參數(shù)。該方法需要對實驗數(shù)據(jù)分段辨識,預滑動區(qū)域的線性化處理會引入建模誤差、計算誤差等,影響辨識精度。為了提高辨識精度,元啟發(fā)式算法成為研究熱點。于偉[9]等用一般辨識方法辨識了靜態(tài)參數(shù),并以轉(zhuǎn)速變化為目標函數(shù),用遺傳算法擬合出動態(tài)參數(shù);曾德林[10]等用分步夾逼和分步搜索法初步辨識了摩擦參數(shù),然后用遺傳算法提高辨識精度。
灰狼算法是由SEYEDALI M[11]提出的元啟發(fā)式優(yōu)化算法,模仿自然界中灰狼的領(lǐng)導階層和捕獵機制?;依撬惴ň哂泻唵我子?、靈活性強和避免局部最優(yōu)等優(yōu)點,適用于多參數(shù)辨識的情況。相較于工程常用的最小二乘法,無需對數(shù)據(jù)分段處理,在辨識非線性模型方面具有優(yōu)勢。
本文針對自主研發(fā)的模塊化關(guān)節(jié),選用能較為全面地描述摩擦特性的LuGre 模型,分別用基于分段最小二乘法的一般辨識方法和基于灰狼算法的元啟發(fā)式辨識方法對摩擦參數(shù)進行辨識,并將辨識結(jié)果對比分析,最后通過前饋補償算法對摩擦力進行補償。實驗結(jié)果表明,相比于一般辨識方法,灰狼算法在摩擦辨識領(lǐng)域精度更高、適用性更強;本文提出的摩擦補償方法能顯著減小關(guān)節(jié)速度跟蹤誤差,提高控制品質(zhì)。
圖1 為模塊化關(guān)節(jié)的內(nèi)部構(gòu)造示意圖。關(guān)節(jié)主要由外殼、無框力矩電機、諧波減速器、電磁制動器、增量式編碼器、絕對式編碼器和驅(qū)動電路板構(gòu)成。左側(cè)和下側(cè)的電連接板用于給相鄰關(guān)節(jié)供電通訊,方便關(guān)節(jié)的裝卸和組合,體現(xiàn)模塊化的特點。關(guān)節(jié)采用雙編碼器設(shè)計,增量式編碼器獲取的相對位置信息通過差分運算得到速度信息,絕對式編碼器用于獲取關(guān)節(jié)負載端的絕對位置信息。
圖1 模塊化關(guān)節(jié)結(jié)構(gòu)圖Fig.1 Structure of modular joint
關(guān)節(jié)采用位置-速度-電流三閉環(huán)控制,控制框圖如圖2 所示。計算機使用倍福公司的Twin?CAT 軟件對關(guān)節(jié)發(fā)送指令,關(guān)節(jié)的驅(qū)動電路板接收到位置或速度指令,通過控制q軸電流驅(qū)動電機轉(zhuǎn)子和輸入軸轉(zhuǎn)動,諧波減速器的波發(fā)生器與輸入軸固連,經(jīng)減速后的輸出軸與負載連接,實現(xiàn)力矩的輸出。
圖2 模塊化關(guān)節(jié)控制框圖Fig.2 Block diagram of modular joint control system
建立模塊化關(guān)節(jié)的簡化動力學模型如圖3 所示,其動力學方程為:
圖3 模塊化關(guān)節(jié)動力學模型Fig.3 Dynamic model of modular joint
其中:J為電機轉(zhuǎn)子及波發(fā)生器折算到電機端的轉(zhuǎn)動慣量;θ為電機轉(zhuǎn)角;τm為電機端輸出力矩,τmf和τml分別為折算到電機端的摩擦力矩和負載力矩;Kt為力矩系數(shù);iq為q軸電流;τ為關(guān)節(jié)端輸出力矩分別為關(guān)節(jié)端角度、角速度、角加速度;M(q)q?為連桿慣性項為離心力和科氏力項;G(q)為重力項;τf和τl分別為關(guān)節(jié)端摩擦力矩和負載力矩;η為諧波減速器的減速比。為了統(tǒng)一度量,本文均采用關(guān)節(jié)端的物理量作為實驗和計算數(shù)據(jù)。
摩擦來源于接觸器件的相對運動。對于模塊化關(guān)節(jié),諧波減速器的波發(fā)生器和柔輪的相對運動、柔輪和鋼輪的相對運動都會產(chǎn)生摩擦。此外,電機輸入軸、輸出軸的支撐軸承也存在摩擦。
LuGre 摩擦模型為:
其中:z為鬃毛平均形變量,σ0為鬃毛剛度,σ1為鬃 毛 阻 尼 系 數(shù) ,σ2為 黏 滯 摩 擦 系 數(shù)為Stribeck 效應(yīng),F(xiàn)c為庫侖摩擦力,F(xiàn)s為最大靜摩擦力,ωs為Stribeck 速度。模型包括四個靜態(tài)參數(shù)Fc、Fs、ωs和σ2,以及兩個動態(tài)參數(shù)σ0和σ1。
一般辨識方法分為兩步,第一步將實驗數(shù)據(jù)分段,用最小二乘法分別辨識電機轉(zhuǎn)速為正和轉(zhuǎn)速為負時的摩擦靜態(tài)參數(shù);第二步將轉(zhuǎn)速為零附近的預滑動區(qū)域作線性化處理,使其近似為二階系統(tǒng),然后辨識該系統(tǒng)的幅頻特性,計算得到動態(tài)參數(shù)。
3.2.1 靜態(tài)參數(shù)的辨識
此時關(guān)節(jié)的輸出力矩主要克服摩擦力矩。
結(jié)合式(1)和(2),在電機空載勻速轉(zhuǎn)動的條件下,有:
因此,可以測出電機在不同速度下勻速轉(zhuǎn)動時的q軸電流,乘以力矩系數(shù)Kt=0.21 N·m/A得到摩擦力矩,繪制摩擦力-速度曲線。
圖4 是摩擦參數(shù)辨識和補償平臺。關(guān)節(jié)空載且水平放置,計算機的TwinCAT 軟件用于控制電機勻速轉(zhuǎn)動,MATLAB 軟件用于數(shù)據(jù)的處理和分析。計算機和關(guān)節(jié)驅(qū)動板用網(wǎng)線連接,通信協(xié)議為倍福公司的EtherCAT。實驗時,采樣周期設(shè)置為5 ms,關(guān)節(jié)端速度變化范圍為-35(°)/s到-0.5(°)/s 和 0.5(°)/s 到 35(°)/s,每次改變0.5(°)/s,每個速度維持 15 s。為了消除電機在啟動和停止階段的電流波動,取中間5 s 的q軸電流值的平均值作為該速度下的電流值。根據(jù)式(12)計算出每個速度對應(yīng)的摩擦力,用分段最小二乘法擬合摩擦力-速度曲線,結(jié)果如圖5 所示。
圖4 摩擦辨識和補償平臺Fig.4 Platform of friction identification and compensation
圖5 摩擦擬合曲線Fig.5 Fitting curves of friction torque
按照式(12)辨識的靜態(tài)摩擦參數(shù)如表1所示。
表1 靜態(tài)參數(shù)辨識結(jié)果Tab.1 Identification results of static parameters
3.2.2 動態(tài)參數(shù)的辨識
在電機的預滑動區(qū)域,即驅(qū)動力矩小于最大靜摩擦力矩時,對方程(7)在零狀態(tài)和零速度附近作線性化處理,即令得到:
關(guān)節(jié)空載即τml=0 時,結(jié)合式(1)和(2),得到:
式(14)在頻域中的表達可寫成:
由此可見,在預滑動區(qū)域,LuGre 模型表現(xiàn)為帶有阻尼的質(zhì)量-彈簧二階系統(tǒng)??梢酝ㄟ^偽隨機序列測試該二階系統(tǒng)的幅頻特性,分析伯德圖和擬合的頻響函數(shù)獲得動態(tài)參數(shù)σ0和σ1的估計值。
實驗時,以幅值為0.19 A,長度為511 位,周期為2 s 的M 序列作為q軸電流值輸入關(guān)節(jié)系統(tǒng)。該序列滿足準白噪聲要求,其自相關(guān)函數(shù)可近似為δ函數(shù)。序列幅值的均方根值對應(yīng)的關(guān)節(jié)驅(qū)動力矩為6.65 N·m,小于最大靜摩擦力7.200 9 N·m,可防止系統(tǒng)離開預滑動區(qū)域。測量的系統(tǒng)響應(yīng)為電機的轉(zhuǎn)角θ。為了排除非零初始條件的影響,輸入4 個周期的M 序列,測出后3個周期的系統(tǒng)響應(yīng)并做平均處理。圖6 展示了其中一個周期的M 序列和系統(tǒng)響應(yīng)曲線。
圖6 偽隨機序列和系統(tǒng)響應(yīng)Fig.6 Pseudo-random sequences and system responses
用相關(guān)分析法將系統(tǒng)辨識為二階系統(tǒng),得到頻響函數(shù)H(jω)。在ω=0 時,由式(15)得到:
因此可以得到σ0的估計值。再根據(jù)式(15)計算σ1的估計值,辨識結(jié)果如表2 所示。
表2 動態(tài)參數(shù)辨識結(jié)果Tab.2 Identification results of dynamic parameters
灰狼算法(GWO)是一種新的元啟發(fā)式算法,靈感來自灰狼社會的狩獵行為。GWO 的種群代表一群狼,根據(jù)灰狼的適應(yīng)度將其分為4 個階級:最優(yōu)解稱為α 狼,次優(yōu)解稱為β 狼,再次優(yōu)解稱為 γ 狼,其余解稱為 ω 狼。
α,β和γ是搜索獵物的領(lǐng)導者,ω狼通過以下算子來更新它們的位置,以跟隨三只頭狼到達搜索空間的最佳區(qū)域:
其中:Dα,Dβ和Dγ分別是狼群ω與頭狼α,β和γ的距離;X,Xα,Xβ和Xγ分別是狼群ω、頭狼α,β和γ當前迭代次數(shù)下的位置向量;X(t+1)是狼群ω下一次迭代的位置向量,t是當前迭代次數(shù);Ai和Ci(i=1,2,3)是隨機生成的系數(shù)向量,如下所示:
其中:r1和r2是區(qū)間[0,1]中的隨機向量;a的值在迭代過程中按照下式從2 線性減小到0:
其中MaxIter是最大迭代次數(shù)。
圖7 展示了狼群如何在二維搜索空間內(nèi)更新其位置??梢杂^察到,最終位置將位于由搜索空間中頭狼α、β 和γ 所定義的圓內(nèi)的隨機位置。換句話說,α、β 和 γ 估計獵物的位置,其他狼隨機更新至獵物周圍的位置。隨機向量Ai和Ci是該算法需要調(diào)節(jié)的兩個參數(shù)。|Ai|<1 時,灰狼會向獵物進攻,而|Ai|>1 時,灰狼會被迫逃離獵物,這允許灰狼進行全局搜索。|Ci|始終是區(qū)間[0,2]中的隨機值,它將提供隨機權(quán)重,以強化(|Ci|>1)或弱化(|Ci|<1)獵物在式(17)中定義距離的效果。Ci也可視為自然界中障礙物對灰狼接近獵物的影響,它有助于灰狼突破局部最優(yōu)停滯。
圖7 GWO 位置更新示意圖Fig.7 Position updating in GWO
在LuGre 摩擦模型的辨識中,該算法所處理的獵物是式(7)到(9)所包含的6 個參數(shù)。定義目標函數(shù)為:
其 中 :N是 樣 本 數(shù) ,fi和fdi分 別 是 第i次 采 樣 的模擬摩擦力和實際摩擦力。該問題是最小化尋優(yōu)問題,即目標函數(shù)越小,灰狼的適應(yīng)度越高。
圖8 展示了灰狼算法的操作流程。實驗時,參數(shù)約束設(shè)置為:Fc∈[0,20],F(xiàn)s∈[0,10],ωs∈[0,20],σ2∈[0,1],σ0∈[0,30000],σ1∈[0,1],狼群規(guī)模設(shè)置為50。因為算法是隨機搜索的,故用不同的初始種群進行了10 次重復運算,并在200 次迭代后停止運行。圖9 展示了在不同的初始種群下,α 狼(最優(yōu)解)的目標函數(shù)隨迭代次數(shù)的演變過程。
圖8 GWO 算法流程Fig.8 Flowchart of the GWO algorithm
圖9 不同初始種群下GWO 的收斂曲線Fig.9 Convergence curves of the GWO algorithm with different initial population
可以看出,十次重復運行的結(jié)果都成功地收斂到最優(yōu)參數(shù)附近,最佳運行的第38 次迭代和最差運行的第158 次迭代的目標函數(shù)都達到了10-0.84。一些運行在搜索過程中陷入了局部最優(yōu),但在最后的幾次迭代中都成功地突破停滯,走向全局最優(yōu)。
基于灰狼算法的辨識結(jié)果如表3 所示。
表3 基于灰狼算法的辨識結(jié)果Tab.3 Identification results of parameters based on GWO
選擇式(23)作為辨識精度的衡量指標。J代表辨識結(jié)果和實驗數(shù)據(jù)之間的誤差,J越小,辨識精度越高?;诜侄巫钚《朔ǖ囊话惚孀R方法和基于灰狼算法的元啟發(fā)式辨識方法的對比如表4 所示。由此可見,灰狼算法的辨識精度高于一般辨識方法,且無需對實驗數(shù)據(jù)分段辨識,無需對預滑動區(qū)域作線性化處理,避免了建模誤差和計算誤差,在摩擦辨識領(lǐng)域具有更強的競爭力。
表4 兩種摩擦參數(shù)辨識算法對比Tab.4 Comparison of two friction parameter identification algorithms
為驗證摩擦辨識的準確性,改善模塊化關(guān)節(jié)的動態(tài)性能,設(shè)計了圖10 所示的基于摩擦模型的前饋補償算法。關(guān)節(jié)仍采用位置-速度-電流三閉環(huán)控制,取期望的電機端速度值為摩擦補償器的輸入,按照式(7)到(9)計算相應(yīng)的摩擦補償值τc,除以力矩系數(shù)得到補償電流值Iqc,作為前饋量疊加到電流環(huán)的輸入端,以消除摩擦擾動。
圖10 摩擦補償算法框圖Fig.10 Block diagram of friction compensation algorithm
關(guān)節(jié)輸出角度的跟蹤精度很大程度上取決于速度的跟蹤精度,因此取關(guān)節(jié)的角速度作為觀測量。實驗采用圖4 所示的設(shè)備,摩擦補償前,測得模塊化關(guān)節(jié)的速度環(huán)帶寬為12 Hz,實驗時,給定幅值為 1(°)/s,頻率為 10 Hz 的正弦關(guān)節(jié)端速度輸入信號sin(20πt),加入摩擦補償前后的關(guān)節(jié)端速度曲線、摩擦補償值曲線、速度跟蹤誤差曲線如圖11 所示。
圖11 摩擦補償結(jié)果Fig.11 Results of friction compensation
圖11 中,在箭頭所標注的時刻開啟摩擦補償器,可以看到摩擦補償后,實線代表的速度反饋值能更好地跟蹤虛線代表的速度期望值,跟蹤誤差顯著減小,由補償前的峰值0.295(°)/s 減小到補償后的峰值0.183(°)/s,降低了38%。改變輸入正弦波的頻率,測得摩擦補償后,關(guān)節(jié)速度環(huán)帶寬為18 Hz,比補償前提高了50%。由此可見,建立的摩擦補償算法效果顯著,能提高速度跟蹤精度和速度環(huán)控制帶寬,同時驗證了摩擦模型辨識的準確性。
本文針對模塊化關(guān)節(jié),設(shè)計了摩擦模型的離線辨識方法和摩擦補償算法。分別使用基于分段最小二乘法的一般辨識方法和基于灰狼算法的元啟發(fā)式辨識方法對LuGre 摩擦模型進行了參數(shù)辨識,并對辨識結(jié)果進行對比分析。設(shè)計前饋摩擦補償算法,以期望速度作為補償器的輸入,以補償?shù)碾娏髦底鳛檩敵銮梆伣o電流閉環(huán)。在模塊化關(guān)節(jié)上進行實驗,結(jié)果表明,相比于一般辨識方法,灰狼算法的辨識精度提高了19.2%;給定幅值為 1(°)/s,頻率為 10 Hz 的速度正弦輸入信號,摩擦補償后,關(guān)節(jié)速度跟蹤誤差減小了38%;摩擦補償后,速度環(huán)帶寬提高了50%。所提出的參數(shù)辨識方法準確有效,摩擦補償算法可以顯著提高關(guān)節(jié)速度跟蹤精度和速度環(huán)帶寬。