鄭 帥 國 凱 孫 杰
(山東大學(xué)機械工程學(xué)院,山東 濟南 250061)
隨著制造業(yè)的持續(xù)發(fā)展,工業(yè)機器人加工逐漸成為現(xiàn)代制造業(yè)的重要支柱。使用工業(yè)機器人來替代人力進行拋磨,可以使工人遠離打磨環(huán)境,并且提高打磨效率、打磨精度和一致性[1-3]。然而,由于機器人末端打磨執(zhí)行器和工件通常剛度較高,較小的位移往往會引起較大的接觸力變化[4]。較小的接觸力會降低打磨的效率,較大的接觸力則會降低工件表面質(zhì)量,甚至損壞工件。為保證工件打磨表面質(zhì)量和一致性,需要保證機器人末端具有柔順性,以實現(xiàn)打磨接觸力的恒定[5-7]。
機器人的柔順力控制方法可以分為主動柔順力控制和被動柔順力控制兩類[8]。被動柔順力控制主要是通過在末端設(shè)計特定的柔順機構(gòu),如彈簧、阻尼等組成的柔順裝置,對外部力進行順從,從而被動地實現(xiàn)接觸力的穩(wěn)定變化。被動柔順力控制的缺點是難以實現(xiàn)高精度和高復(fù)雜度的作業(yè)要求,且設(shè)計的柔順機構(gòu)難以很好地適用于不同的打磨環(huán)境。主動柔順力控制主要是通過設(shè)計特定的控制策略,主動地控制機器人與環(huán)境的接觸力。Hogan N[9]提出了阻抗控制思想,通過設(shè)計阻抗模型,使機器人的力和位置關(guān)系可以動態(tài)調(diào)節(jié)。然而,經(jīng)典的阻抗控制算法因其阻抗參數(shù)恒定不變,難以適用于各種復(fù)雜多變的打磨環(huán)境[10]。Lakshminarayanan S 等[11]提出一種基于迭代學(xué)習(xí)的機器人阻抗控制方法,該方法在每次迭代中同時調(diào)節(jié)位置與力,可以實現(xiàn)機器人精密拋光過程的自適應(yīng)力控制,然而該控制方法計算量較大,對控制器的實時性要求較高。
為了實現(xiàn)機器人自動化打磨的柔順恒力控制,本文設(shè)計了阻抗參數(shù)在線調(diào)整與離線優(yōu)化結(jié)合的自適應(yīng)阻抗控制算法。首先將剛度參數(shù)作為時變參數(shù)根據(jù)接觸力實時調(diào)整,以適應(yīng)于不同的打磨環(huán)境,消除系統(tǒng)的穩(wěn)態(tài)誤差。針對阻抗控制算法的慣性參數(shù)、阻尼參數(shù)難以尋優(yōu)的問題,提出一種改進粒子群算法優(yōu)化阻抗參數(shù)的方法,提高阻抗控制性能。并通過仿真和實驗分析,驗證了算法的有效性。
阻抗控制方法主要分為基于力矩的阻抗控制和基于位置的阻抗控制兩類[12-15]。基于力矩的阻抗控制是通過直接調(diào)節(jié)關(guān)節(jié)力矩實現(xiàn)接觸力的控制,這需要獲得機器人精確的動力學(xué)模型。而且目前許多工業(yè)機器人不支持直接控制關(guān)節(jié)力矩,因此在工業(yè)應(yīng)用中多采用基于位置的阻抗控制進行機器人的力控制。
基于位置的阻抗控制方法是通過設(shè)計控制律,將機器人末端等效為圖1 所示的二階系統(tǒng)阻抗模型。將機器人末端的接觸力誤差,經(jīng)由阻抗關(guān)系轉(zhuǎn)化為機器人末端的位置修正量,通過修正機器人末端的參考軌跡,實現(xiàn)機器人末端的接觸力控制。
基于位置的阻抗控制的阻抗關(guān)系可以表示為
式中:M為阻抗模型的期望慣性矩陣;B為期望阻尼矩陣;K為期望剛度矩陣;Xd為機器人末端位置期望值;X為機器人末端位置實際值;F和Fd分別為機器人末端與環(huán)境的實際接觸力和期望接觸力。
式(1)為空間六個自由度下的阻抗模型,可以將其解耦為某一自由度下的阻抗模型,表示為
式中:m、b、k分別為該自由度方向上的慣性參數(shù)、阻尼參數(shù)和剛度參數(shù);x和xd分別為該自由度方向上的機器人末端實際值和期望值;f和fd分別為該自由度方向上的實際接觸力和期望接觸力。
基于位置的阻抗控制框圖如圖2 所示。
圖2 基于位置的阻抗控制框圖
傳統(tǒng)的阻抗控制方法,其剛度參數(shù)k、阻尼參數(shù)b和質(zhì)量參數(shù)m是不隨時間變化的[16-17]。當(dāng)機器人接觸環(huán)境發(fā)生變化時,固定的阻抗參數(shù)不再適用,難以實現(xiàn)較好的接觸力跟蹤效果。因此考慮將剛度參數(shù)k作為時變參數(shù)實時調(diào)整,以適應(yīng)機器人復(fù)雜多變的接觸環(huán)境,式(2)轉(zhuǎn)化為
其中:k(t)表達隨時間發(fā)生變化的剛度參數(shù),定義為
式中:ef表示實際接觸力f和期望接觸力fd的誤差;ka和kb為力誤差參數(shù)和力誤差微分參數(shù)。
將式(4)代入到式(3),可得
假設(shè)機器人能夠?qū)崿F(xiàn)精確的位置控制,當(dāng)機器人與環(huán)境接觸到達穩(wěn)定狀態(tài)時,力誤差ef為0,從而消除系統(tǒng)的穩(wěn)態(tài)誤差。
基于剛度參數(shù)實時調(diào)整的可變阻抗控制器可以根據(jù)力偏差來調(diào)節(jié)剛度參數(shù)k,以保證力穩(wěn)態(tài)偏差接近為0,實現(xiàn)較好的力控效果。但阻抗控制模型作為一個虛擬的二階彈簧–質(zhì)量–阻尼系統(tǒng),阻尼參數(shù)b和慣性參數(shù)m也是影響阻抗控制動態(tài)性能的關(guān)鍵參數(shù)。在傳統(tǒng)的阻抗控制中,大多憑經(jīng)驗和試驗選取這些阻抗參數(shù),效率低下且難以得到最優(yōu)解。近年來智能優(yōu)化算法發(fā)展迅速,可將其用于阻抗參數(shù)的選取。
粒子群算法是通過模擬鳥群覓食行為總結(jié)推導(dǎo)出的全局概率搜索優(yōu)化算法。粒子群算法不斷更新種群個體最優(yōu)解和全局最優(yōu)解,反復(fù)迭代最終得到最符合優(yōu)化目標的最優(yōu)解,具有收斂速度快、參數(shù)設(shè)置少、簡單易行的特點。
粒子群算法的步驟如下。
第一步:種群初始化。設(shè)定種群的粒子數(shù)量,并為種群各粒子的位置、速度設(shè)定隨機的初始值。
第二步:計算每個粒子的適應(yīng)度,并對各粒子適應(yīng)度進行評估,計算每個粒子的最優(yōu)位置和所有粒子的最優(yōu)位置。
第三步:更新每個粒子的速度、位置狀態(tài)。速度更新公式為
式中:xi為需要優(yōu)化的參數(shù);w為慣性權(quán)重;vi為每一代粒子移動的速度;pi為第i個粒子的歷史最優(yōu)位置;pg為所有粒子的全局最優(yōu)位置;c1、c2為學(xué)習(xí)因子;r1、r2為0~1 的隨機數(shù)。
位置更新公式為
第四步:根據(jù)每個粒子的位置,更新自身最優(yōu)位置和群體最優(yōu)位置。
第五步:判斷是否迭代、是否運行到達到最大迭代次數(shù)的優(yōu)化目標,達到迭代次數(shù)則輸出全局最優(yōu)解pg,否則返回到第三步重復(fù)執(zhí)行第三步和第四步。
慣性權(quán)重w是粒子群算法中的關(guān)鍵參數(shù),較大的慣性權(quán)重會增強算法的全局搜索能力,較小的慣性權(quán)重會增強算法的局部搜索能力。傳統(tǒng)的粒子群算法采用固定的慣性權(quán)重,前期容易陷入局部最優(yōu),后期容易在全局最優(yōu)粒子附近振蕩。為此,提出一種非線性遞減的自適應(yīng)慣性權(quán)重:
式中:t為當(dāng)前迭代次數(shù),T為算法設(shè)定的最大迭代次數(shù)。
采用非線性遞減慣性權(quán)重,可以加強前期算法的全局搜索能力以避免早熟,同時使后期粒子穩(wěn)定在最優(yōu)解附近。
除了慣性權(quán)重之外,粒子群初始化的分布均勻性,也是影響算法效果的關(guān)鍵因素。一般情況下,粒子初始分布越均勻,粒子種群越具有多樣性,粒子群算法的收斂性越好。
混沌映射可以取代傳統(tǒng)粒子群算法中的偽隨機數(shù)生成器,用于生成0~1 的混沌隨機數(shù)。使用混沌映射初始化粒子,往往能得到初始分布更均勻的粒子,取得比偽隨機數(shù)更好的效果。本文采用Sine混沌映射初始化粒子群算法,對阻抗參數(shù)進行優(yōu)化。
首先隨機生成若干個在0~1 的混沌數(shù)z1,將混沌數(shù)x1通過Sine 混沌迭代公式得到混沌數(shù)z2,Sine 混沌迭代公式為
其中:控制參數(shù)α的取值范圍為0~1,這里取α=1。
混沌數(shù)c需要映射到粒子分布區(qū)間,混沌映射公式為
式中:xmin表示粒子分布區(qū)間下限值,xmax表示粒子分布區(qū)間上限值。
將混沌數(shù)z2使用混沌映射公式映射到粒子的取值區(qū)間,得到各粒子的初始值x2,完成粒子種群的初始化。
改進粒子群算法的算法流程圖如圖3 所示。
圖3 改進粒子群算法流程圖
改進粒子群算法作為一種群智能優(yōu)化算法,適應(yīng)度函數(shù)是衡量粒子優(yōu)劣的指標。適應(yīng)度函數(shù)的優(yōu)劣決定尋優(yōu)質(zhì)量,通常需要根據(jù)算法應(yīng)用具體場景來制定。在本文研究的阻抗控制恒力打磨任務(wù)下,影響打磨質(zhì)量的主要因素為打磨過程的力控制穩(wěn)態(tài)誤差和系統(tǒng)超調(diào)量,影響打磨效率的主要因素為恒力控制的調(diào)節(jié)時間。變剛度參數(shù)的自適應(yīng)阻抗控制算法理論上可以消除打磨力穩(wěn)態(tài)誤差,因此將打磨過程的力超調(diào)量和調(diào)節(jié)時間作為優(yōu)化目標,采取如式(11)所示的二次型適應(yīng)度函數(shù)。
式中:ts為恒力打磨過程調(diào)節(jié)時間;σ為力超調(diào)量;k1、k2為權(quán)重參數(shù)。
剛度參數(shù)在線調(diào)整的自適應(yīng)阻抗控制算法可以消除力穩(wěn)態(tài)誤差,采用改進粒子群算法對慣性參數(shù)和阻尼參數(shù)優(yōu)化可以降低力超調(diào)量和調(diào)節(jié)時間??紤]將二者結(jié)合,提出一種阻抗參數(shù)在線調(diào)整與離線優(yōu)化結(jié)合的阻抗控制算法,以提高綜合力控性能,算法流程圖如圖4 所示。
圖4 算法流程圖
使用Webots2020 中的UR5e 機器人作為仿真對象,搭建圖5 所示的打磨仿真環(huán)境。機器人控制器由Matlab 代碼編寫,并利用Matlab 機器人工具箱求解機器人運動學(xué)正逆解。
圖5 Webots 打磨仿真環(huán)境
為模擬復(fù)雜的打磨環(huán)境,將打磨工件表面設(shè)置為正弦函數(shù)和余弦函數(shù)疊加的復(fù)雜表面,設(shè)置環(huán)境位置為
機器人的期望打磨軌跡設(shè)計為xy平面的圓形打磨軌跡:
在仿真中難以直接獲取打磨接觸力數(shù)據(jù),因此將環(huán)境等效為彈簧,等效環(huán)境剛度ke設(shè)為5 000 N/m,通過胡克定律,打磨接觸力f可以表示為
式中:z為機器人末端實際z向位置;ze為z向環(huán)境位置。
首先根據(jù)經(jīng)驗多次整定阻抗參數(shù),選取一組較為合適的阻抗參數(shù)值,期望接觸力設(shè)置為20 N,分別進行經(jīng)典阻抗控制算法和變剛度參數(shù)阻抗控制算法的打磨仿真。其中,傳統(tǒng)的阻抗控制算法仿真中,采用經(jīng)驗整定的阻抗參數(shù),剛度參數(shù)k選取為10,阻尼參數(shù)b選取為15,慣性參數(shù)m選取為0.5;變剛度參數(shù)阻抗算法仿真中,剛度參數(shù)k實時調(diào)整,阻尼參數(shù)b選取為15,慣性參數(shù)m選取為0.5。在前文所述的打磨環(huán)境中仿真,接觸力曲線如圖6 和圖7 所示。
圖6 經(jīng)典阻抗控制算法仿真曲線
圖7 自適應(yīng)阻抗控制算法仿真曲線
由仿真曲線可以看出,變剛度參數(shù)的自適應(yīng)阻抗控制算法,相比于經(jīng)典阻抗控制算法,能夠有效地將接觸力穩(wěn)態(tài)誤差控制為零,驗證了自適應(yīng)阻抗控制算法針對穩(wěn)態(tài)誤差控制的有效性。然而,采用自適應(yīng)阻抗控制算法雖然能夠消除系統(tǒng)的穩(wěn)態(tài)誤差,但是對系統(tǒng)的響應(yīng)時間和超調(diào)量沒有改善。
通過剛度參數(shù)k的在線調(diào)整,能夠有效地消除阻抗控制的穩(wěn)態(tài)誤差。為進一步改善阻抗控制的控制性能,考慮將慣性參數(shù)m和阻尼參數(shù)b通過離線優(yōu)化的方法進行參數(shù)尋優(yōu)。在剛度參數(shù)k在線調(diào)整算法的基礎(chǔ)上,分別采用粒子群算法和改進粒子群算法對慣性參數(shù)m、阻尼參數(shù)b進行離線優(yōu)化。兩種算法采用的粒子群規(guī)模均為80,迭代次數(shù)均為15 次,慣性參數(shù)m和阻尼參數(shù)b的迭代曲線如圖8和圖9 所示。
圖8 慣性參數(shù)迭代曲線
圖9 阻尼參數(shù)迭代曲線
由慣性參數(shù)m和阻尼參數(shù)b迭代曲線可以看出,使用傳統(tǒng)粒子群算法在第7 次迭代后找到了參數(shù)最優(yōu)解,使用改進粒子群算法在第5 次迭代后找到了參數(shù)最優(yōu)解。因此,使用改進粒子群算法進行阻抗參數(shù)優(yōu)化,所需的迭代次數(shù)更少,能夠更快地找到參數(shù)的最優(yōu)解。
使用通過改進粒子群算法離線優(yōu)化得到的阻抗參數(shù)最優(yōu)解(m=0.2,b=30),進行剛度參數(shù)在線調(diào)整的自適應(yīng)阻抗控制算法仿真,仿真結(jié)果如圖10所示。
圖10 阻抗參數(shù)在線調(diào)整與離線優(yōu)化結(jié)合方法仿真曲線
圖8~圖10 分別為傳統(tǒng)阻抗控制算法、剛度參數(shù)在線調(diào)整的自適應(yīng)阻抗控制算法、本文提出的阻抗參數(shù)在線調(diào)整和離線優(yōu)化結(jié)合的阻抗算法的仿真曲線,其控制性能指標比較見表1。
表1 控制性能指標比較
由表1 可知,采用剛度參數(shù)k在線調(diào)整的自適應(yīng)阻抗控制算法,能夠有效消除系統(tǒng)的穩(wěn)態(tài)誤差;采用改進粒子群算法對慣性參數(shù)m和阻尼參數(shù)b進行離線優(yōu)化,能夠有效改善系統(tǒng)的超調(diào)量和調(diào)節(jié)時間。將阻抗參數(shù)在線調(diào)整和離線優(yōu)化相結(jié)合進行阻抗控制,能夠有效地改善系統(tǒng)的綜合力控性能。
仿真分析可以有效驗證本文方法對力控性能的改善,但不能直接驗證本文方法對機器人實際打磨效果的改善。為進一步驗證本文方法對提高機器人打磨質(zhì)量的有效性,搭建了圖11 所示的機器人打磨實驗平臺。實驗機器人為COMAU 公司SMART5 NJ 165-3.0 型工業(yè)機器人,控制算法由C 語言程序?qū)崿F(xiàn)??刂扑惴ǜ鶕?jù)力傳感器數(shù)據(jù)計算得到期望位姿的修正量,并將修正后的期望位姿由C5GOpen開放框架寫入COMAU 機器人控制器,實現(xiàn)機器人的力和位置控制。由于改進粒子群算法優(yōu)化時間較長,難以在實時控制器中實現(xiàn)在線優(yōu)化。因此采取離線優(yōu)化方式,機器人執(zhí)行多次打磨任務(wù),每次打磨任務(wù)后計算適應(yīng)度值,由改進粒子群算法更新阻抗參數(shù)值,并寫入控制器。打磨軌跡設(shè)定為直線軌跡,期望接觸力設(shè)置為50 N。
分別使用傳統(tǒng)阻抗控制算法(阻抗參數(shù)k=8 000,b=1 500,m=20)、變剛度參數(shù)阻抗控制算法(阻抗參數(shù)b=1 500,m=20)、阻抗參數(shù)在線調(diào)整和離線結(jié)合的阻抗算法(優(yōu)化后阻抗參數(shù)b=2 478.5,m=11.3)進行打磨,打磨后的工件表面分別如圖12a~圖12c 所示。每次打磨后,在打磨工件表面等距離取10 個點測量表面粗糙度值,并計算粗糙度的平均值和標準差,結(jié)果見表2。
表2 打磨后工件表面粗糙度對比
圖12 打磨后工件表面對比
由圖12 可知,由于傳統(tǒng)阻抗控制算法不能消除穩(wěn)態(tài)誤差,圖12a 打磨表面軌跡全程具有明顯的磨削痕跡。圖12b 為變剛度參數(shù)阻抗控制的打磨表面,由于超調(diào)量的影響,在軌跡起始處有較為明顯的磨削痕跡。本文方法在消除穩(wěn)態(tài)誤差的同時進一步優(yōu)化了超調(diào)量和調(diào)節(jié)時間,圖12c 表現(xiàn)出了較好的打磨效果。
由表2 可知,相比于傳統(tǒng)阻抗控制和自適應(yīng)阻抗控制方法,本文方法能夠降低打磨工件的粗糙度均值和標準差值。結(jié)果表明,本文提出的阻抗參數(shù)在線調(diào)整和離線優(yōu)化相結(jié)合的阻抗控制方法應(yīng)用于機器人打磨,可以有效地改善工件打磨的表面粗糙度和一致性。
針對工業(yè)機器人打磨難以控制接觸力而影響打磨質(zhì)量的問題,本文設(shè)計了阻抗參數(shù)在線調(diào)整與離線優(yōu)化結(jié)合的阻抗控制算法實現(xiàn)機器人打磨的恒力控制。算法將剛度參數(shù)作為時變參數(shù),根據(jù)打磨接觸力實時在線調(diào)整,以消除打磨過程的穩(wěn)態(tài)誤差。針對阻尼參數(shù)和慣性參數(shù)難以整定的問題,以降低系統(tǒng)超調(diào)量和調(diào)整時間作為優(yōu)化目標,采用改進粒子群算法進行阻抗參數(shù)離線優(yōu)化。通過將阻抗參數(shù)在線調(diào)整方法與離線優(yōu)化方法結(jié)合,提高系統(tǒng)的綜合力控性能。為驗證本文方法對改善機器人打磨力控性能和提高打磨質(zhì)量的有效性,分別進行了機器人恒力打磨仿真和實驗。仿真結(jié)果表明,通過阻抗參數(shù)在線調(diào)整和離線優(yōu)化相結(jié)合的阻抗控制方法,能夠有效地消除系統(tǒng)的穩(wěn)態(tài)誤差,降低調(diào)整時間和超調(diào)量,可以綜合改善機器人打磨的恒力控制性能。實驗結(jié)果表明,相比于傳統(tǒng)阻抗控制算法和自適應(yīng)阻抗控制算法,本文方法可以有效地提高機器人打磨表面質(zhì)量。