朱其新,尹一伊,陳健亨,張國平,朱永紅
(1.蘇州科技大學 機械工程學院,蘇州 215009;2.蘇州科技大學 電子與信息工程學院,蘇州 215009;3.深圳市大族機器人有限公司,深圳 518058;4.景德鎮陶瓷大學 機電工程學院,景德鎮 333001)
精度是評價串聯機器人工作性能的一項重要指標。為提高精度,運動學標定通過一定的測量手段和基于模型的參數識別方法準確辨識機器人的結構參數,確定從關節變量到末端執行器在工作空間內真實位置的更為精確的函數關系,達到修正控制器中的模型參數的目的[1~3]。
運動學標定包括建模、測量、參數辨識,補償四個步驟。采用精密測試儀器測得機器人多點位置誤差,進而應用最小二乘法或其他各種方法辨識出各誤差源大小,最后通過更改控制算法來補償機器人的誤差,即傳統意義上的標定技術[4]。但外部測量裝置通常很昂貴且多需要專業人員操作,因此人們希望機器人系統能夠進行自標定。所以有學提出了構造封閉運動鏈進行機器人標定的方法。
Marco[5]提出一種單點接觸約束的標定方法。該方法通過一個球鉸將末端操作器固定在某一點,它要求構成的封閉運動鏈系統有一定的移動性,對于空間操作手要具備四個自由度;平面操作手要具備三個自由度。而且為確定標定模型的比例,必須至少知道末端操作器的坐標(x,y,z)中的一個。Rune[6]提出了一種基于封閉運動鏈的雙機標定方法。指出應用力控制方法取得機器人足夠的位置信息,但未提到使用何種力控制方法。在現有的自標定中,采點方式多為利用控制器進行間接示教[7],使機器人達到不同位姿,并記錄此時的關節角度值;或使機器人按規劃位姿運動[8],控制機器人轉動每個關節角度,然后根據機器人關節脈沖角度得到末端指令位姿和關節脈沖的映射關系[9,10]。但這些方法仍存在控制精度不夠、對關節造成剛性磨損等較大等問題。
基于以上討論,考慮在標定過程中引入一種人機交互控制方法:零力控制。零力控制是一種機器人的位置和力混合控制方式,使用者可自由牽引機器人[11]。這種控制方法具有系統成本小,復雜性低和計算量小等優點[12],由于可降低操作人員的使用門檻,簡化示教步驟,提高示教效率和減少機器人關節磨損等特點在實際生產過程中有著重要意義[13]。由于在現有文獻中較少提及標定過程中取得位置信息的方式,因此將零力控制與標定過程結合為關于標定方法的研究提供了可施行方案。
不同于以往在機器人標定過程中建立單機模型的方式,在構造封閉運動鏈后,為了更好地描述機器人在不同位姿下關節之間的幾何關系,本文首先建立了雙機D-H標定模型。隨后應用加入零力控制的標定方法,減少機器人標定過程中對關節的硬性磨損、提高標定效率,并最終提高機器人控制精度。
典型的串聯機器人由關節和連桿組成。每個關節包括一個自由度,或者是平動關節,或者是轉動關節。對擁有n個關節的機器人,就有從0到n的(n+1)個連桿。連桿0是機器人基座,通常是固定的,連桿n攜帶工具端。
為此,我們給每個連桿固定一個參考坐標系,確定從一個關節到另一個關節的變換步驟,最后得到末端執行器坐標系相對于基坐標系的等價齊次變換矩陣。
機器人相鄰連桿之間的相對關系可用四個參數表示[14],分別為描述兩相鄰關節軸線問相對位置關系的連桿長度ai和連桿扭角αi以及描述相鄰兩連桿之間位置關系的連桿距離di和連桿夾角(關節角)θi。

圖1 相鄰連桿參數示意圖
從i-1坐標系到i坐標系,只需完成下述變換:
1)沿Zi-1軸平移距離di,使得Xi-1軸與Xi軸相交;
2)繞Zi-1軸旋轉角度θi,使得Xi-1軸與Xi軸重合;
3)沿Xi軸平移距離ai,使得i-1坐標系的原點與i坐標系的原點重合;
4)最后繞Xi軸旋轉角度αi,使得兩坐標系完全重合。
根據鏈式法則,相鄰連桿之間的位姿轉換關系可用下式表示:

在機器人末端操作器運行到指定位置的同時,我們得到相應的機器人的一組關節值。期望關節值與實際關節值的差被用作誤差參數識別過程的輸入量。對于一個給定的機器人,關節值Q=[q1,q2,…,qn]T,與末端執行器位姿S的關系可以通過機器人運動學正解F(.)和反解I(.)來表示:

當我們要求機器人移動到指定位置Sd時,機器人末端執行器會移動到實際位置Sa:

其中,Qd是應用機器人幾何參數的名義值,Φd是對指定位姿Sd進行逆運動學求解得到的關節值,ΔΦ是幾何參數的誤差。則機器人末端操作器的誤差為:

當參數的誤差絕對小時,方程(6)可以線性化為:

其中J為雅克比矩陣,如果測量到足夠數量的ΔS(可以通過相應的空間坐標偏差ΔPx,ΔPy,ΔPz得到)就可以計算出機器人實際位姿與期望位姿誤差最小時的ΔΦ。大部分機器人的標定原理正是基于式(7)。
本文待標定機器人的參數信息如表1所示。單機由6個旋轉關節構成,可達到表中關節范圍以及關節范圍任意一點。

表1 標定機器人參數表
使用正方體連接塊連接兩個機器人的末端,將連接塊和雙機基座之間的直線距離分別看做兩個桿件,這樣就構造了一個虛擬封閉運動鏈。建立的模型具有14個關節,12個自由度。根據1.1節描述的建模規則建立坐標系,其中坐標系F7和F14分別固定在上文提到連接雙機的兩個連桿上。建立的雙機桿件坐標系如圖2所示,得到D-H參數表如表2所示。值得說明的是,由于連接塊并沒有旋轉自由度,所以表中θ7和θ14為定值。

圖2 雙機器人桿件坐標系

表2 D-H參數表

續(表2)
零力控制的實現方案如圖3所示。

圖3 零力控制方法
接下來我們討論零力控制精度問題。
力控制環的PID形式:

其中u(t)為PID輸出,Kp、KI、KD為反饋增益,e(t)是期望值與實際值的誤差。
經采樣周期T后的離散差分方程為:

其中K'p=Kp,K'I=KIT,K'D=KD/T。
在實際控制過程中,力噪聲會對力微分的計算造成影響,導致系統的不穩定,因此,當使用微分控制項K'D時,需應用濾波處理解決高頻干擾的問題,在機器人實際運動時,對機器人運動的最小修正量為,即機器人位置的最高精度為l/32mm,因而決定力控制最高精度如式(11)所示[15]。

其中Ke是剛度系數。當控制力誤差|ef|<δ時,就無法再提高精度,此時修正量Φ=0。在穩態情況下,

其中f=int(.)為取整函數。
則有:

這樣就得到了系統穩定的必要條件,只有K'p滿足上式,才能保證當力誤差|ef|<δ時,修正量為0[16]。
為了驗證上述標定模型正確性和加入零力控制后參數識別效果,我們進行了一次標定。圖4給出了標定流程圖。

圖4 機器人標定方法
將兩臺機器人連接一起后各自開啟零力示教模式,通過改變連接雙機的角度收集機器人的關節轉角信息,雙機連接實驗環境如圖5所示。
可使用伺服驅動器上位機軟件,觀測雙機開啟和關閉零力控制兩種模式下的運動三環波形圖。

圖5 雙機標定實驗環境
開啟零力示教模式,隨意牽引機器人運動以引起各關節角度變化,抓取運動軌跡如圖6(a)所示,可看出機器人本體在做無規則運動。觀測軌跡放大圖(圖6(c))可看到命令位置相對實際位置有延遲。即命令位置跟隨實際位置變化,這說明機器人此時只工作在電流環下。我們可以從圖6(e)中看到此時命令電流波形相對實際電流更平滑,這實際上是由于控制器沒有下發命令電流指令,在零力控制模式下,命令電流根據實際電流做了擬合處理所致。以上觀測說明機器人處于零力示教的模式。
關閉零力示教模式,使用點動示教的方法,利用示教器編程一段規律運動軌跡如圖6(b)所示,經放大(如圖6(d)所示,可看到實際位置相對命令位置有延遲,即機器人按控制器下發指令運動。觀測此時電流波形,可以發現實際電流緊緊跟隨命令電流變化,如圖6(f)所示。


圖6 零力控制模式與點動示教模式對比波形圖
接下來我們開始進行標定。在收集到雙機器人的關節轉角信息后,我們在MATLAB環境下進行建模計算。這樣可以更直觀表示機器人標定前后的狀態并檢驗標定是否正確,檢驗標準是雙機模型末端是否形成閉環。圖7是我們隨機選取標定時的六個不同位姿,圖8中則是經計算得到DH誤差并進行補償后每個位姿對應的模型。表3詳細表示出圖7中六個位姿下機器人標定后雙機關節角度,表4給出了標定結果,即經計算后雙機六軸的D-H誤差補償參數。標定完成后,選取一個位姿,獲取此時經補償后的關節位置數據,即為機器人的原點。


圖7 標定前雙機閉環圖例

圖8 標定后雙機閉環圖例
標定出的誤差參數如表3所示。

表3 雙機標定后D-H誤差補償參數
最后我們通過對比雙機標定前后直線軌跡精度來表示控制精度,由于篇幅限制,這里不贅述直線軌跡精度測量方法,只說明測量結果,即機器人以100%使能速度在Z方向上軌跡精度。通過對比,可發現改進的標定方法對末端的改善更為明顯。

表4 雙機直線軌跡精度
運動學標定作為一種提高機器人精度行之有效的手段正廣泛應用于工程實際中。為了避免高昂的代價去檢測末端位姿全集,并減少關節的剛性磨損,提高標定精度,本文提出將零力控制加入標定過程。該方法適合于一般精度串聯機器人的校準工作,可提高了標定精度,且易于在工程實際中推廣。進一步的研究將主要針對如何提高標定自動化程度,以及獲得標定位置信息更快速有效的方法。