張建宇 段建龍



[摘要]針對傳統差分進化算法存在收斂精度不高和算法容易陷入局部最優等問題,提出一種差分進化(Differential Evolution, DE)算法的改進方案,并用于機器人的動力學參數辨識。首先,利用Newton-Euler方法建立含有關節摩擦特性的機器人動力學模型的線性形式,設計嚴格滿足機器人運動條件的傅里葉級數作為運動軌跡,為提高辨識精度,建立機器人觀測矩陣條件數的非線性約束模型來優化激勵軌跡;其次,引入DE算法并對其進行優化以提高算法的全局搜索能力和開發能力;最后,以智昌川崎RSOION機器人為對象設計仿真實驗,實現了機器人動力學參數的辮識,并對辮識結果與理論值進行了對比分析。結果表明,采用改進的差分進化算法,可以準確地辨識出機器人動力學參數,所建立的模型能夠反映機器人的動力學特性。
[關鍵詞]參數辨識;差分進化算法;Newton-Euler法;動力學參數
[中圖分類號]TP242 [文獻標志碼]A [文章編號]1005-0310(2020)01-0048-09
0 引言
20世紀以來科學技術的迅速發展致使越來越多的科學家投人到機器人的研究與開發當中。早期的機器人因軟硬件方面的不足,導致人們在進行機器人控制時主要采用控制律簡單、不考慮動力學特性的“運動控制”方法。此方法控制精度較低,適用于對機器人精度要求不高的場合,但在控制高速、高精度機器人方面有兩個明顯的缺點:一是難以保證受控機器人具有良好的動態和靜態品質;二是需要較大的控制能量[1]。為滿足現今機器人復雜而高精度的動作要求,大部分機器人的控制器都采用具有良好動態和靜態品質的“動態控制”方法,此方法利用機器人的動力學特性設計更加精細的非線性控制律來實現機器人運動控制[2]。因此,能夠準確辨識機器人的動力學參數,得到精確的機器人動力學模型,對實現機器人精確控制起著至關重要的作用。
機器人的動力學參數辨識過程包括5個步驟:動力學建模、激勵軌跡設計、數據采樣和濾波處理、參數辨識和模型驗證。丁亞東等采用分步辨識的方法大大降低了辨識難度[3];Azeddien Kinsheel等提出一種基于最小二乘法的參數辨識方法,但因其計算量大、實時性差很難得到采用[4];Renders等提出一種逐步辨識機器人機械臂的質量、質心、慣性張量的方法,但辨識出的機器人動力學參數可靠性不高[5];丁力等提出一種用遺傳算法對模型進行參數辨識的方法,但其算法本身編碼過程煩瑣,辨識效率不高[6];Poli R等提出的粒子群優化算法雖然簡單,但由于搜索空間有限,不能保證其達到全局最優[7]。
差分進化(Differential Evolution,DE)算法于1995年被Rainer Storn和Kenneth Price提出,是一種模擬自然界種群的以“優勝劣汰,適者生存”為進化規律的搜索算法,具有簡單易用以及很強的全局收斂能力,目前已用于多個領域。現有研究表明,該算法在處理多維、非線性的復雜函數方面明顯優于遺傳算法、粒子群算法等智能算法,已成為各行業不可或缺的解決復雜問題的方法[8]。
為提高機器人參數辨識精度,本文提出一種基于改進差分進化算法的參數辨識方法,該方法可以動態跟蹤算法當前的搜索情況,以調整其搜索策略,增強搜索能力,提高收斂速度。通過使用智昌川崎RSO1ON機器人模型設計仿真實驗,驗證了辨識算法的正確性和有效性。
1 機器人動力學模型
使用Euler-Lagrange方程和Newton-Euler方程都可以建立自由運動機器人動力學方程,但后一種方法常用于數值計算,而且方程具有遞推形式,其計算量比前一種要少得多,因此本文用Newton-Euler方程遞推得到n自由度機器人動力學方程[9]:式中:τdyn是n×1的關節力矩向量;D(q)是n×n的慣性矩陣;C(q)是n×n的離心力和科里奧利向量;G(q)是n×1的重力向量;q、q、q分別表示n×1的位置向量、角速度向量和角加速度向量。
由式(1)可知機器人的動力學方程是通過連桿質量、慣性張量等參數進行定義的,要建立動力學模型就必須要確定這些參數。但動力學方程是個非線性方程,要確定這些參數比較困難,幸運的是機器人動力學方程在慣性參數方面是線性化的,存
但是,由于機器人各關節在運動過程中相互耦合以及機械臂的運動受到約束,實際上只有部分動力學參數影響機器人的運動狀態,即實際相互獨立的機器人動力學參數少于10n個,這使得在用包含全部機器人動力學參數的方程作參數辨識時,得到的動力學參數是不準確的。因此,尋找一個最小慣性參數集用來替代慣性參數向量從而簡化動力學方程就顯得尤為重要。文獻[11]根據慣性參數重組法得到了用最小慣性參數表示的動力學方程:
由方程(4)得到的包含最小慣性參數的動力學方程適用于動力學仿真,但并不適用于現實中的機器人,因為機器人在實際運動過程中還存在摩擦力做功的現象,并且電機轉子在運動過程中產生的轉動慣量也需要消耗電機力矩。其中,轉動慣量在機器人出廠前已知,在建模時將其補償到力矩方程即可。因此,實際模型中只需考慮摩擦力的問題,機械臂摩擦模型是個非常復雜的非線性模型,很難進行精確建模。目前比較常見的摩擦模型有Dahl模型、Stribeck模型和庫倫粘滯模型。綜合考慮辨識過程的復雜度、辨識精度等因素,本文選取只包含庫倫摩擦參數和粘滯摩擦參數的庫倫粘滯摩擦模型(12),即
由此可知,機器人剛體動力學力矩和機器人摩擦力矩的可辨識參數僅與機器人角位移、角速度和角加速度有關。故由式(4)和式(5)可知機器人動力學模型為
2 激勵軌跡的設計及優化
為使參數辨識的精度不會因機器人建模誤差、環境噪聲等因素而受到影響,需要精心設計激勵軌跡。考慮到抗干擾能力、機器人的運動約束等因素,本文選取數據處理方便、對干擾不靈敏、對機器人速度和加速度有良好約束的傅里葉級數作為激
將激勵軌跡導入到機器人進行參數辨識時,由于機器人自身各關節位置、角速度、角加速度極限值的限制,導致無法準確獲得部分的機械臂動力學參數,直接影響參數辨識的精度。為使辨識過程中能夠準確估計動力學參數,需要對激勵軌跡進行優化。目前激勵軌跡的優化方法有協方差矩陣法、神經網絡、遺傳算法等多種優化方法,但大多數方法都以動力學方程中觀測矩陣的條件數cond(Y)為優化目標。本文通過建立基于條件數的非線性約束模型來優化激勵軌跡。基于條件數的非線性約束模型可表述為
3 改進差分進化算法
差分進化算法在處理多維、非線性的復雜函數方面明顯優于遺傳算法、粒子群算法等智能算法,已成為各行業不可或缺的解決復雜問題的方法。本文在傳統差分進化算法的基礎上對其進行優化,并驗證了改進算法的收斂性和全局搜索能力。
3.1 標準差分進化算法
差分進化算法是基于群體智能理論的優化算法,采用群體的全局搜索策略,其基本結構與遺傳算法類似,主要包括變異、交叉和選擇3個部分。其基本思想由隨機產生的初始群體開始,通過變異和選擇操作產生新個體,然后通過比較新個體與此代中個體的適應度值,淘汰劣質個體,經過不斷的迭代進化使個體趨向于最優解。標準差分進化算法主要包括以下4個步驟。
3.1.1 生成初始群體
3.1.2 變異操作
變異策略為DE算法的核心部分,對目標個體進行擾動來產生變異個體。在DE算法中目前廣泛使用的變異策略有兩種:
3.1.3 交叉操作
交叉操作是為了增加群體的多樣性,具體操作為
在滿足終止條件之前,反復執行變異操作和選擇操作。
3.2 改進差分進化算法
差分進化算法通過群體中個體間的合作和競爭產生的群體智能來引導群體進化。但是,由于種群間個體聚集,個體間相似度較高,導致算法在運行過程中易陷入局部最優、收斂速度較低的狀態[14]。針對該算法的不足之處,借助以往學者對DE算法的研究,本文對算法進行了以下的改進。
3.2.1 變異策略的改進
差分進化算法是全局搜索算法,因此在算法搜索初期需要盡可能多地在群體間進行搜索,保證種群的多樣性,在算法后期應快速找尋最優個體,加快種群收斂速度。變異策略作為算法的核心部分,其變異向量的構造形式直接關系到算法的尋優效果。但常用的DE算法的變異策略如DE/rand/1/bin、DE/best/2/bin致使算法在不同時期具備不同的搜索能力和開發能力。針對此種情況,本文提出了一種雙策略變異算子,此變異算子可使DE算法在前期具備較強的搜索能力,在后期具備較強的收斂能力。變異算子的表達式為
3.2.2 交叉策略的改進
交叉策略根據交叉因子決定遺傳給下一代的個體。Islam[15]為了提高算法的收斂精度,采用一種線性遞減機制,用當代種群中隨機選取的個體代替父代個體。本文參照此方法,并使用文獻[16]提出的中心粒子群優化算法中的當代中心解取代父代個體。交叉策略優化方法為
3.2.3 參數的自適應調整
變異因子F和交叉因子CR可控制算法的種群多樣性,平衡局部與全局搜索能力。變異因子F的取值較大時,群體間差異度較大,算法易跳出局部極值但會減慢算法的收斂速度;當變異因子F的取值較小時,算法因群體差異較小導致其不易跳出局部最優。交叉因子CR過小會減小種群多樣性,使群體中的個體過早收斂;CR過大會提高算法收斂
3.3 改進算法性能測試
為測試改進差分進化算法的收斂能力和全局搜索能力,采用3個常用的測試函數用以驗證,并與其他優化算法的測試結果進行比對。測試函數如表1所示。
表1所示的測試函數中,f1(x)只存在全局最優解,因此該函數可以很好地測試算法的收斂速度;其他測試函數存在較多的局部最優點,可以較好地測試算法的全局搜索能力。在算法參數設置中,種群規模M取為100,最大迭代次數R取為500,變異因子最大值和最小值分別取Fmax=0.6、Fmin=0.3,交叉因子最大值和最小值分別取CRmax=0.9、CRmin=0.6,維數D=30。表2和表3分別給出了3種算法對測試函數的尋優結果和迭代次數。
表2的尋優結果證實改進DE算法不易陷入局部最優,全局搜索能力強;表3的數據表明,改進DE算法的收斂能力明顯高于其他優化算法。
4 參數辨識結果分析
機器人的參數辨識過程極其復雜,本文以智昌川崎RSOION機器人進行了仿真實驗,機器人實體如圖1所示。圖2是其坐標系配置。表4給出了DH參數(桿件長度ai定義為從Zi-1軸到Zi軸的距離,沿Xi軸的指向為正;桿件扭角αi定義為從Zi-1軸到Zi軸的轉角,繞Xi軸正向轉動為正,且規定αi∈(-π,π];關節距離di定義為從Xi-1軸到Zi軸的距離,沿Zi-1,軸的指向為正;關節轉角θi定義為從Xi-1軸到Zi軸的轉角,繞Zi-1軸正向轉動為正,且規定θi∈(-π,π]。表5給出了機械臂慣性參數理論值。由于典型6自由度工業機械臂的肘關節和腕關節慣性參數的差異性,前3個關節的動力學參數遠遠大于后3個關節,因此在參數辨識時忽略后3個關節力矩的影響,只辨識前3個關節的動力學參數。
辨識過程分以下幾個過程完成:首先,建立智昌川崎RSOION機器人模型并將其線性化,此辨識試驗只以仿真的形式進行,故在建模時不需要考慮摩擦力的影響;其次,以動力學方程中觀測矩陣的條件數為優化目標設計激勵軌跡,使機器人沿激勵軌跡運動;最后,采集機器人在一個運動周期內的各關節力矩數據并將其代入優化算法,便可得到機器人的動力學參數。
按表6所示的機械臂前3個關節運動學約束條件優化激勵軌跡,其基頻為ωf=0.1Hz(周期為10s),諧波項數目D=5,優化得到激勵軌跡如圖3所示。由表4、表5給出的機器人DH參數和慣性參數,在Matlab/Simulink中建立智昌川崎RS010N機器人模型,圖4為模型的一部分。固定機器人4、5、6關節,并將圖3所示的激勵軌跡導入機器人模型,在一個運動周期內各關節所受力矩情況如圖5所示。
將關節的實際測量數據導入差分進化算法中可得到機器人前3個關節的動力學參數,具體參數辨識流程如圖6所示。在參數辨識算法中,個體是通過相互比較其適應度值來選擇進化方向的,本文定義個體xjk的適應度函數fit(xjk)為式中:N為采樣數據的個數;n為機器人的關節數;τiμ為關節i的實際采樣力矩;τpiμ為關節i的預測力矩;ki∈(0,1)為機器人關節i的權重系數,其值可由出廠值獲得。算法迭代搜索的目標是使適應度函數達到最小,搜索空間可根據機器人出廠數據進行設定。
因機器人前三軸的動力學待辨識參數為21個,故改進差分進化算法中個體維度為21,根據機器人的出廠數據情況分析,機械臂的動力學參數一般在-200~500之間取值,種群規模M取為100,最大迭代次數K取為100,變異因子最大值和最小值分別取Fmax=0.6,Fmin=0.3,交叉因子最大值和最小值分別取CRmax=0.9、CRmin=0.6。本算法從某一隨機產生的初始群體開始,通過個體不斷迭代進化并最終趨向于最優解。圖7為適應度函數的優化過程,由圖可以發現,隨著迭代次數的增加,適應度函數值逐漸降低,并且到第40代時適應度函數值基本趨向穩定,由此可以斷定個體在進化過程中,沒有陷入局部最優,通過比較適應度函數值進化得到的最優個體,即為機器人的動力學待辨識參數。表7所示為機器人1、2、3關節動力學參數的理論值和辨識值。
表7對機器人動力學參數的理論值與辨識值進行了對比,發現其每個參數的絕對誤差均非常小,表明本文方法可準確地辨識出機器人動力學參數。
5 結論
本文針對n-連桿機器人的動力學參數辨識問題,提出了一種基于改進差分進化算法的動力學參數辨識新方法。該算法在傳統差分進化算法基礎上優化了變異策略和交叉策略的構造形式,從而提高算法的全局搜索能力和開發能力;設計滿足動力學約束條件的激勵軌跡,通過改進差分算法實現了機器人的動力學參數辨識,并將辨識結果與理論值進行了對比。結果表明,文中優化算法具備較強的全局收斂能力和尋優能力、較高的辨識精度,能夠實現對機器人動力學參數的精確預測。
[參考文獻]
[1]WU J,WANG J,YOU Z.An overview of dynamic parameter identification of robots[J].Robotics and Computer-IntegratedManufacturing,2010,26(5):414-419.
[2]YOUNG K,PICKIN C G.Accuracy assessment of the modern industrial robot[J].Industrial Robot:An InternationalJournal,2000,27(6):427-436.
[3]丁亞東,陳柏,吳洪濤,等一種工業機器人動力學參數的辨識方法[J].華南理工大學學報(自然科學版),2015,43(3):49-56.
[4]AZEDDIEN K.Robust least square estimation of the CRS A465 robot arms dynamic model parameters[J].Journal ofMechanical Engineering Research,2012,4(3):911-1004.
[5]RENDERS J M,ROSSIGNOL E,BECQ.UET M,et al.Kinematic calibration and geometrical parameter identification forrobots[J].IEEE Transactions on Robotics and Automation,1991,7(6):721-732.
[6]丁力,吳洪濤,姚裕,等.基于WLS-ABC算法的工業機器人參數辨識[J].華南理工大學學報(自然科學版),2016,44(5):90-95.
[7]POLI R,KENNEDY),BLACKWELL T.Particle swarm optimization:an overview[J].Swarm Intelligence,2007,1(1):33-57
[8]STORN R,PRICE K.Differential evolution,a simple and efficient heuristic for global optimization over continuous spaces[J].Journal of Global Optimization,1997,11(4):34-59.
[9]HOLLERBACH J M.A recursive lagrangian formulation of manipulator dynamics and a comparative study of dynamicsformulation complexity[J].IEEE Transactions on Systems,Man,and Cybernetics,1980,10(11):730-736.
[10]VANDANJON P O,GAUTIER M,DESBATS P.Identification of robots inertial parameters by means of spectrum analysis[C]//IEEE International Conference on Robotics and Automation.IEEE,1995,2(8):3033-3038.
[11]GAUTIER M,KHALIL W.On the identification of the inertial parameters of robots[C]// IEEE Conference on Decision andControl.IEEE,1988,7(2):2260-2269.
[12]GROTJAHN M,DAEMI M,HEIMANN B.Friction and rigid body identification of robot dynamics[J].International Journalof Solids and Structures,2001,5(1):1889-1902.
[13]SWEVERS J,GANSEMAN C,SCHUTTER J D, et al.Experimental robot identification using optimised periodic trajectories[J].Mechanical Systems and Signal Processing,1996,10(5):561-577.
[14]MIAO Q,ZHU R.A Monte Carlo localization method based on differential evolution optimization applied into economicforecasting in mobile wireless sensor networks[J].EURASIP Journal on Wireless Communications and Networking,2018,2(1):638-658.
[15]ISLAM S M,DAS S,GHOSH S,et al.An adaptive differential evolution algorithm with novel mutation and crossoverstrategies for global numerical optimization[J].IEEE Transactions on Systems, Man and Cybernetics,Part B(Cybernetics),2012,42(2):482-500.
[16]LIU Y,QIN Z,SHI Z W,et al.Center particle swarm optimization[J].Neurocomputing,2007,70(4-6):672-679.
[17]DAS S,KONAR A.Two improved differential evolution schemes for faster global search[C]//Proceedings of the GeneticEvolutionary Computation.Washington DC,USA,2005:991.
(責任編輯 白麗媛)[收稿日期]2019-07-01
[基金項目]國家自然科學基金項目(51675009)。
[作者簡介]張建宇(1975-),男,北京市人,北京工業大學機電學院副教授,主要研究方向為機械系統動力學仿真;段建龍(1993-),男,甘肅定西人,北京工業大學機電學院碩士研究生,主要研究方向為工業機器人軌跡規劃。E-mail:zhjy_1999@bjut.edu.cn