鄭 帥 國 凱 孫 杰
(山東大學機械工程學院,山東 濟南 250061)
隨著制造業的持續發展,工業機器人加工逐漸成為現代制造業的重要支柱。使用工業機器人來替代人力進行拋磨,可以使工人遠離打磨環境,并且提高打磨效率、打磨精度和一致性[1-3]。然而,由于機器人末端打磨執行器和工件通常剛度較高,較小的位移往往會引起較大的接觸力變化[4]。較小的接觸力會降低打磨的效率,較大的接觸力則會降低工件表面質量,甚至損壞工件。為保證工件打磨表面質量和一致性,需要保證機器人末端具有柔順性,以實現打磨接觸力的恒定[5-7]。
機器人的柔順力控制方法可以分為主動柔順力控制和被動柔順力控制兩類[8]。被動柔順力控制主要是通過在末端設計特定的柔順機構,如彈簧、阻尼等組成的柔順裝置,對外部力進行順從,從而被動地實現接觸力的穩定變化。被動柔順力控制的缺點是難以實現高精度和高復雜度的作業要求,且設計的柔順機構難以很好地適用于不同的打磨環境。主動柔順力控制主要是通過設計特定的控制策略,主動地控制機器人與環境的接觸力。Hogan N[9]提出了阻抗控制思想,通過設計阻抗模型,使機器人的力和位置關系可以動態調節。然而,經典的阻抗控制算法因其阻抗參數恒定不變,難以適用于各種復雜多變的打磨環境[10]。Lakshminarayanan S 等[11]提出一種基于迭代學習的機器人阻抗控制方法,該方法在每次迭代中同時調節位置與力,可以實現機器人精密拋光過程的自適應力控制,然而該控制方法計算量較大,對控制器的實時性要求較高。
為了實現機器人自動化打磨的柔順恒力控制,本文設計了阻抗參數在線調整與離線優化結合的自適應阻抗控制算法。首先將剛度參數作為時變參數根據接觸力實時調整,以適應于不同的打磨環境,消除系統的穩態誤差。針對阻抗控制算法的慣性參數、阻尼參數難以尋優的問題,提出一種改進粒子群算法優化阻抗參數的方法,提高阻抗控制性能。并通過仿真和實驗分析,驗證了算法的有效性。
阻抗控制方法主要分為基于力矩的阻抗控制和基于位置的阻抗控制兩類[12-15]。基于力矩的阻抗控制是通過直接調節關節力矩實現接觸力的控制,這需要獲得機器人精確的動力學模型。而且目前許多工業機器人不支持直接控制關節力矩,因此在工業應用中多采用基于位置的阻抗控制進行機器人的力控制。
基于位置的阻抗控制方法是通過設計控制律,將機器人末端等效為圖1 所示的二階系統阻抗模型。將機器人末端的接觸力誤差,經由阻抗關系轉化為機器人末端的位置修正量,通過修正機器人末端的參考軌跡,實現機器人末端的接觸力控制。
基于位置的阻抗控制的阻抗關系可以表示為
式中:M為阻抗模型的期望慣性矩陣;B為期望阻尼矩陣;K為期望剛度矩陣;Xd為機器人末端位置期望值;X為機器人末端位置實際值;F和Fd分別為機器人末端與環境的實際接觸力和期望接觸力。
式(1)為空間六個自由度下的阻抗模型,可以將其解耦為某一自由度下的阻抗模型,表示為
式中:m、b、k分別為該自由度方向上的慣性參數、阻尼參數和剛度參數;x和xd分別為該自由度方向上的機器人末端實際值和期望值;f和fd分別為該自由度方向上的實際接觸力和期望接觸力。
基于位置的阻抗控制框圖如圖2 所示。

圖2 基于位置的阻抗控制框圖
傳統的阻抗控制方法,其剛度參數k、阻尼參數b和質量參數m是不隨時間變化的[16-17]。當機器人接觸環境發生變化時,固定的阻抗參數不再適用,難以實現較好的接觸力跟蹤效果。因此考慮將剛度參數k作為時變參數實時調整,以適應機器人復雜多變的接觸環境,式(2)轉化為
其中:k(t)表達隨時間發生變化的剛度參數,定義為
式中:ef表示實際接觸力f和期望接觸力fd的誤差;ka和kb為力誤差參數和力誤差微分參數。
將式(4)代入到式(3),可得
假設機器人能夠實現精確的位置控制,當機器人與環境接觸到達穩定狀態時,力誤差ef為0,從而消除系統的穩態誤差。
基于剛度參數實時調整的可變阻抗控制器可以根據力偏差來調節剛度參數k,以保證力穩態偏差接近為0,實現較好的力控效果。但阻抗控制模型作為一個虛擬的二階彈簧–質量–阻尼系統,阻尼參數b和慣性參數m也是影響阻抗控制動態性能的關鍵參數。在傳統的阻抗控制中,大多憑經驗和試驗選取這些阻抗參數,效率低下且難以得到最優解。近年來智能優化算法發展迅速,可將其用于阻抗參數的選取。
粒子群算法是通過模擬鳥群覓食行為總結推導出的全局概率搜索優化算法。粒子群算法不斷更新種群個體最優解和全局最優解,反復迭代最終得到最符合優化目標的最優解,具有收斂速度快、參數設置少、簡單易行的特點。
粒子群算法的步驟如下。
第一步:種群初始化。設定種群的粒子數量,并為種群各粒子的位置、速度設定隨機的初始值。
第二步:計算每個粒子的適應度,并對各粒子適應度進行評估,計算每個粒子的最優位置和所有粒子的最優位置。
第三步:更新每個粒子的速度、位置狀態。速度更新公式為
式中:xi為需要優化的參數;w為慣性權重;vi為每一代粒子移動的速度;pi為第i個粒子的歷史最優位置;pg為所有粒子的全局最優位置;c1、c2為學習因子;r1、r2為0~1 的隨機數。
位置更新公式為
第四步:根據每個粒子的位置,更新自身最優位置和群體最優位置。
第五步:判斷是否迭代、是否運行到達到最大迭代次數的優化目標,達到迭代次數則輸出全局最優解pg,否則返回到第三步重復執行第三步和第四步。
慣性權重w是粒子群算法中的關鍵參數,較大的慣性權重會增強算法的全局搜索能力,較小的慣性權重會增強算法的局部搜索能力。傳統的粒子群算法采用固定的慣性權重,前期容易陷入局部最優,后期容易在全局最優粒子附近振蕩。為此,提出一種非線性遞減的自適應慣性權重:
式中:t為當前迭代次數,T為算法設定的最大迭代次數。
采用非線性遞減慣性權重,可以加強前期算法的全局搜索能力以避免早熟,同時使后期粒子穩定在最優解附近。
除了慣性權重之外,粒子群初始化的分布均勻性,也是影響算法效果的關鍵因素。一般情況下,粒子初始分布越均勻,粒子種群越具有多樣性,粒子群算法的收斂性越好。
混沌映射可以取代傳統粒子群算法中的偽隨機數生成器,用于生成0~1 的混沌隨機數。使用混沌映射初始化粒子,往往能得到初始分布更均勻的粒子,取得比偽隨機數更好的效果。本文采用Sine混沌映射初始化粒子群算法,對阻抗參數進行優化。
首先隨機生成若干個在0~1 的混沌數z1,將混沌數x1通過Sine 混沌迭代公式得到混沌數z2,Sine 混沌迭代公式為
其中:控制參數α的取值范圍為0~1,這里取α=1。
混沌數c需要映射到粒子分布區間,混沌映射公式為
式中:xmin表示粒子分布區間下限值,xmax表示粒子分布區間上限值。
將混沌數z2使用混沌映射公式映射到粒子的取值區間,得到各粒子的初始值x2,完成粒子種群的初始化。
改進粒子群算法的算法流程圖如圖3 所示。

圖3 改進粒子群算法流程圖
改進粒子群算法作為一種群智能優化算法,適應度函數是衡量粒子優劣的指標。適應度函數的優劣決定尋優質量,通常需要根據算法應用具體場景來制定。在本文研究的阻抗控制恒力打磨任務下,影響打磨質量的主要因素為打磨過程的力控制穩態誤差和系統超調量,影響打磨效率的主要因素為恒力控制的調節時間。變剛度參數的自適應阻抗控制算法理論上可以消除打磨力穩態誤差,因此將打磨過程的力超調量和調節時間作為優化目標,采取如式(11)所示的二次型適應度函數。
式中:ts為恒力打磨過程調節時間;σ為力超調量;k1、k2為權重參數。
剛度參數在線調整的自適應阻抗控制算法可以消除力穩態誤差,采用改進粒子群算法對慣性參數和阻尼參數優化可以降低力超調量和調節時間。考慮將二者結合,提出一種阻抗參數在線調整與離線優化結合的阻抗控制算法,以提高綜合力控性能,算法流程圖如圖4 所示。

圖4 算法流程圖
使用Webots2020 中的UR5e 機器人作為仿真對象,搭建圖5 所示的打磨仿真環境。機器人控制器由Matlab 代碼編寫,并利用Matlab 機器人工具箱求解機器人運動學正逆解。

圖5 Webots 打磨仿真環境
為模擬復雜的打磨環境,將打磨工件表面設置為正弦函數和余弦函數疊加的復雜表面,設置環境位置為
機器人的期望打磨軌跡設計為xy平面的圓形打磨軌跡:
在仿真中難以直接獲取打磨接觸力數據,因此將環境等效為彈簧,等效環境剛度ke設為5 000 N/m,通過胡克定律,打磨接觸力f可以表示為
式中:z為機器人末端實際z向位置;ze為z向環境位置。
首先根據經驗多次整定阻抗參數,選取一組較為合適的阻抗參數值,期望接觸力設置為20 N,分別進行經典阻抗控制算法和變剛度參數阻抗控制算法的打磨仿真。其中,傳統的阻抗控制算法仿真中,采用經驗整定的阻抗參數,剛度參數k選取為10,阻尼參數b選取為15,慣性參數m選取為0.5;變剛度參數阻抗算法仿真中,剛度參數k實時調整,阻尼參數b選取為15,慣性參數m選取為0.5。在前文所述的打磨環境中仿真,接觸力曲線如圖6 和圖7 所示。

圖6 經典阻抗控制算法仿真曲線

圖7 自適應阻抗控制算法仿真曲線
由仿真曲線可以看出,變剛度參數的自適應阻抗控制算法,相比于經典阻抗控制算法,能夠有效地將接觸力穩態誤差控制為零,驗證了自適應阻抗控制算法針對穩態誤差控制的有效性。然而,采用自適應阻抗控制算法雖然能夠消除系統的穩態誤差,但是對系統的響應時間和超調量沒有改善。
通過剛度參數k的在線調整,能夠有效地消除阻抗控制的穩態誤差。為進一步改善阻抗控制的控制性能,考慮將慣性參數m和阻尼參數b通過離線優化的方法進行參數尋優。在剛度參數k在線調整算法的基礎上,分別采用粒子群算法和改進粒子群算法對慣性參數m、阻尼參數b進行離線優化。兩種算法采用的粒子群規模均為80,迭代次數均為15 次,慣性參數m和阻尼參數b的迭代曲線如圖8和圖9 所示。

圖8 慣性參數迭代曲線

圖9 阻尼參數迭代曲線
由慣性參數m和阻尼參數b迭代曲線可以看出,使用傳統粒子群算法在第7 次迭代后找到了參數最優解,使用改進粒子群算法在第5 次迭代后找到了參數最優解。因此,使用改進粒子群算法進行阻抗參數優化,所需的迭代次數更少,能夠更快地找到參數的最優解。
使用通過改進粒子群算法離線優化得到的阻抗參數最優解(m=0.2,b=30),進行剛度參數在線調整的自適應阻抗控制算法仿真,仿真結果如圖10所示。

圖10 阻抗參數在線調整與離線優化結合方法仿真曲線
圖8~圖10 分別為傳統阻抗控制算法、剛度參數在線調整的自適應阻抗控制算法、本文提出的阻抗參數在線調整和離線優化結合的阻抗算法的仿真曲線,其控制性能指標比較見表1。

表1 控制性能指標比較
由表1 可知,采用剛度參數k在線調整的自適應阻抗控制算法,能夠有效消除系統的穩態誤差;采用改進粒子群算法對慣性參數m和阻尼參數b進行離線優化,能夠有效改善系統的超調量和調節時間。將阻抗參數在線調整和離線優化相結合進行阻抗控制,能夠有效地改善系統的綜合力控性能。
仿真分析可以有效驗證本文方法對力控性能的改善,但不能直接驗證本文方法對機器人實際打磨效果的改善。為進一步驗證本文方法對提高機器人打磨質量的有效性,搭建了圖11 所示的機器人打磨實驗平臺。實驗機器人為COMAU 公司SMART5 NJ 165-3.0 型工業機器人,控制算法由C 語言程序實現。控制算法根據力傳感器數據計算得到期望位姿的修正量,并將修正后的期望位姿由C5GOpen開放框架寫入COMAU 機器人控制器,實現機器人的力和位置控制。由于改進粒子群算法優化時間較長,難以在實時控制器中實現在線優化。因此采取離線優化方式,機器人執行多次打磨任務,每次打磨任務后計算適應度值,由改進粒子群算法更新阻抗參數值,并寫入控制器。打磨軌跡設定為直線軌跡,期望接觸力設置為50 N。
分別使用傳統阻抗控制算法(阻抗參數k=8 000,b=1 500,m=20)、變剛度參數阻抗控制算法(阻抗參數b=1 500,m=20)、阻抗參數在線調整和離線結合的阻抗算法(優化后阻抗參數b=2 478.5,m=11.3)進行打磨,打磨后的工件表面分別如圖12a~圖12c 所示。每次打磨后,在打磨工件表面等距離取10 個點測量表面粗糙度值,并計算粗糙度的平均值和標準差,結果見表2。

表2 打磨后工件表面粗糙度對比

圖12 打磨后工件表面對比
由圖12 可知,由于傳統阻抗控制算法不能消除穩態誤差,圖12a 打磨表面軌跡全程具有明顯的磨削痕跡。圖12b 為變剛度參數阻抗控制的打磨表面,由于超調量的影響,在軌跡起始處有較為明顯的磨削痕跡。本文方法在消除穩態誤差的同時進一步優化了超調量和調節時間,圖12c 表現出了較好的打磨效果。
由表2 可知,相比于傳統阻抗控制和自適應阻抗控制方法,本文方法能夠降低打磨工件的粗糙度均值和標準差值。結果表明,本文提出的阻抗參數在線調整和離線優化相結合的阻抗控制方法應用于機器人打磨,可以有效地改善工件打磨的表面粗糙度和一致性。
針對工業機器人打磨難以控制接觸力而影響打磨質量的問題,本文設計了阻抗參數在線調整與離線優化結合的阻抗控制算法實現機器人打磨的恒力控制。算法將剛度參數作為時變參數,根據打磨接觸力實時在線調整,以消除打磨過程的穩態誤差。針對阻尼參數和慣性參數難以整定的問題,以降低系統超調量和調整時間作為優化目標,采用改進粒子群算法進行阻抗參數離線優化。通過將阻抗參數在線調整方法與離線優化方法結合,提高系統的綜合力控性能。為驗證本文方法對改善機器人打磨力控性能和提高打磨質量的有效性,分別進行了機器人恒力打磨仿真和實驗。仿真結果表明,通過阻抗參數在線調整和離線優化相結合的阻抗控制方法,能夠有效地消除系統的穩態誤差,降低調整時間和超調量,可以綜合改善機器人打磨的恒力控制性能。實驗結果表明,相比于傳統阻抗控制算法和自適應阻抗控制算法,本文方法可以有效地提高機器人打磨表面質量。