謝習華 李智勇 周烜亦 張志赟 范詩萌
(1.中南大學高性能復雜制造國家重點實驗室,長沙 410083;2.山河智能裝備股份有限公司,長沙 410100)
利用機械臂對物體進行轉載和定位已廣泛應用于國防、工業、醫療等領域,但隨著控制要求的不斷提高,機械結構越加復雜,機械臂控制模型的建立以及精度計算的難度也逐漸增加。目前廣泛應用的工業機器人其重復定位精度已達0.01mm[1],但由于受零件制造誤差、裝配誤差、負載變化等因素的影響,其絕對定位精度仍為毫米級[2],這極大限制了機械臂在高精度裝配、定位等任務中的應用。
機械臂運動學標定是一種提高機械臂定位精度的方法,它只對運動學控制模型的參數進行修改而不改變機械臂的硬件配置,因此具有良好的經濟性。運動學控制模型代表了笛卡爾坐標系與機械臂關節空間之間的對應關系,控制模型的準確性直接決定了機械臂的絕對定位精度的高低,因此,如何通過標定的方法得到準確的控制模型受到國內外研究學者的廣泛關注。根據標定方法的不同,運動學標定可分為基于模型的參數運動學標定、自標定和無參數運動學標定。本文針對每種標定方法的研究現狀、標定特性以及存在的問題進行了總結,并探討機械臂標定方法的發展方向。
基于模型的參數運動學標定是一種建立和求解運動學誤差模型的方法,實現笛卡爾空間與關節空間之間的精確轉換。基于模型的參數運動學標定過程,可分為運動學建模、末端執行器姿態測量、參數辨識和誤差補償四個步驟。
2.1運動學建模
機械臂標定的運動學模型需要具有三個特點:模型的完備性、模型的連續性以及參數的最少化。基于以上三個原則,通過對現有的運動學建模方法分析,可以將其分為兩大類:基于局部連桿坐標系(MLCS)的運動學標定模型和基于全局坐標系(MGCS) 的模型[3]。
基于局部連桿坐標系(MLCS)需要建立所有連桿坐標系,通過一系列相鄰坐標系之間的轉換實現基礎坐標系和末端執行器坐標系之間的轉換。MLCS方法基于DH方法,國內外學者開發了不同的建模方法,如改進的DH方法、S模型方法、CPC模型方法和MCPC模型方法。MCPC是MLCS中最先進的運動學標定方法之一,它具有完備性、連續性和非冗余參數的特點[4]。與建立DH方法的連桿坐標系相比,MCPC方法連桿坐標系的定義是任意的。
基于全局坐標系(MGCS)只需要建立基礎坐標系和末端執行器的坐標系,不需要建立每個連桿的坐標系。該方法是基于零參考系模型,并根據螺旋理論發展到POE模型。POE法是利用工件坐標系和基礎坐標系進行運動學建模,對建模過程進行了簡化,因此具有廣泛的適用性。和其他運動學建模方法相比,POE法在對連接參數修正的同時也對關節的零點進行標定,能有效的提高末端的姿態精度。王一等[6]以POE為基礎建立了6自由度機器人正向運動學模型,用映射法建立空間網格,利用PSO優化的神經網絡對機器人完成了標定。吳永強等[7]利用POE方法建立誤差模型,對MOTOMAN-MH80機器人進行標定,使其絕對定位精度提高了80%以上。

表1 各種運動學建模方法比較Tab.1 Comparison of various kinematics modeling methods
對常用的運動學建模方法進行比較,如表1所示。目前,國內大多數用于機械臂標定的運動學建模方法還是DH法,DH法只有4個連桿參數,當機械臂相鄰關節軸線平行時,其在軸線方向的微小誤差可能會導致在軸線的垂直方向較大變化,這些變化會導致機械臂的奇異性問題,從而導致運動學模型的不連續性。目前將MCPC法、POE法等高級運動學建模方法用于機械臂標定的還很少。
2.2末端執行器測量
在運動學標定過程中,末端執行器的姿態測量精度直接決定了標定精度。在大多數標定方法中使用外部測量設備來獲得所需的信息,如三坐標測量機、激光追蹤器、經緯儀、球桿儀、視覺或機械的設備,不同的測量裝置有不同的測量精度。此外,每個設備的操作復雜性也不同。常用的測量設備包括:
(1)三坐標測量機
三坐標測量機(CMMS)是一種可以測量物體的幾何特性的儀器,如圖1所示,它可以在移動軸上安裝探測器。該探頭可分為機械、光學、激光等多種類型,測量精度高,可靠性高,缺點是占地面積大,成本高。張立杰等[8]利用CMMS確定球面機構的近似球心,以此為原點建立了測量坐標系,完成了球面5R并聯機構的運動學標定。

圖1 Heaxgon三坐標測量儀 Fig.1 Heaxgon three coordinate measuring instrument

圖2 Leica激光跟蹤儀Fig.2 Leica Laser Tracker
(2)激光跟蹤儀
激光跟蹤儀是目前最為先進的末端姿態測量設備,由于其測量精度高、測量范圍大和無接觸式測量等優點被廣泛應用于機械臂的標定,如圖2所示。Newman[9]利用激光跟蹤儀對P8機器人進行標定,對其結構參數進行辨識修正,減小了31%的測量誤差。但因為兩方面的原因極大限制了激光跟蹤儀的應用,一是激光跟蹤儀是利用激光實現無接觸高精度測量,因此對于激光的連續性要求較高,但在實際使用過程中激光跟蹤儀很容易受各種影響而斷光,從而導致測量需從頭開始,降低了測量效率;二是目前激光跟蹤儀產品少、價格高,配置一套標定激光跟蹤儀設備需要近百萬元的費用,因此對于小規模標定實驗經濟性差。
(3)球桿儀
球桿儀主要被用于各種機床的標定,也可用于一些自由度較低的機械臂的標定。其工作原理是利用球桿儀連接移動末端和工作臺,通過測量得到的圓形軌跡與標準圓比較從而得到末端的移動精度以及誤差類型,如圖3所示。球桿儀測量系統操作簡單、精度高且成本低,但由于其接觸測量的特性,利用球桿儀的標定范圍小,且不適用與多自由度機械臂的標定。

圖3 REN-ISHAW球桿儀Fig.3 REN-ISHA Ballbar

圖4 AVT工業攝像機Fig.4 AVT Industrial View Camera
(4)攝像機
攝像機是機器人運動學標定的一種常用測量裝置,如圖4所示。由于其成本低、操作簡單、精度高,在工業領域得到了廣泛的應用。隨著相機的測量技術的成熟,越來越多的學者選擇相機作為運動學校準的測量儀器。
此外,還有6D測量系統,如光學追蹤器,以及6D探針。然而,這些系統的成本極大地限制了其應用,而且所提供的精度與CMMS的精度沒有可比性[10]。在某些情況下,由于實驗條件和設備的限制,只能獲得位置數據。使用多組位置數據,可以計算姿態數據,從而實現運動學標定。
2.3參數辨識
運動學識別是根據末端執行器位姿測量值以及相應關節位置測量值來計算機器人運動學模型參數的過程。參數辨識一般是用于線性誤差模型的求解,但機械臂的運動學模型參數誤差是高度非線性的,因此參數辨識的結果往往存在偏差,但通過多次迭代的方法可以提高參數辨識的精度。
最小二乘法作為一種優化方法也被廣泛地應用于運動學模型的參數辨識中,但由于其收斂速度慢、迭代次數多導致計算量大,因而在使用中也具有一定的局限性。擴展卡爾曼濾波法也被用于參數辨識,它是一種經典的非線性系統求解方法,能夠較好的處理參數辨識中的不確定性問題,但擴展卡爾曼濾波法在辨識中容易發散,且辨識精度相對較低。廣義逆法[11]將優化函數線性化,并通過計算系數矩陣的廣義逆矩陣的方式求解方程,計算較為簡單快捷,但需進行近似處理。羅天洪等[12]基于擴展卡爾曼濾波和配準算法對SCARA機器人進行了參數辨識和誤差補償,利用擴展卡爾曼濾波器對所有影響機器人末端軌跡精度誤差因素進行綜合考慮,對采集的數據進行濾波,避免了采集數據的誤差。Renders[13]在運動學參數識別中應用了一種參數估計方法:極大似然估計法。白云飛等[14]針對運動學模型參數辨識過程中存在的參數不連續和計算收斂速度慢的問題,利用公差限制參數的范圍,準確快速地完成了對6參數模型的6R機器人的參數辨識。R.Furutain等[15]利用裝有多個標準球的金屬板對關節式坐標測量機進行運動學參數辨識。
2.4誤差補償
機械臂運動學標定的目標是實現誤差補償,誤差補償是利用高精度測量工具的測量數據對運動學模型中的參數偏差進行修正。由于機械臂的定位精度受多種誤差因素的影響,因此其誤差補償算法也不相同。廣泛應用的誤差補償算法主要有以下幾種[16]:
(1)基于微分算法的定位誤差補償方法:通過微分變換將機械臂的目標姿態向與誤差相反的方向進行特定的微分變換,重新計算得到機器人的名義位姿,最后求取名義位姿下的運動學逆解,得到工業機器人實際的連桿參數。
(2)基于N-R算法的定位誤差補償方法:核心思想是利用N-R算法迭代求解工業機器人關節角的補償角度,最終將得到的關節補償角作用于機器人控制器,以實現對機器人的定位誤差補償。
(3)基于相鄰位姿誤差的空間插值算法進行定位誤差補償:將給定的樣本點按特定的規劃方法,在一定的區間內分割為若干網格點,首先進行區域誤差補償,最終采用插值擬合的算法對彼此相鄰的網格點乃至整個區間進行誤差補償,實現對機器人末端位姿的校正。
基于模型的參數標定和無參數標定方法對測量的數據具有很強的依賴性,數據的準確性對標定結果具有顯著的影響,因此要有較好的標定效果必須使用高精度的測量設備,但此類設備一般較為昂貴,而且使用環境有一定的要求,以空間機器人為例,在無重力情況下,地面上常用的測量設備由于失效等問題而無法使用。
針對上述提到的問題,重點研究自動測量和自主計算的問題,提出了自標定方法,自標定也稱為閉環標定。目前主要采用的自標定方式有兩種:一種是基于物理約束的自標定;一種是利用視覺實現機械臂自標定。
3.1基于物理約束的標定方法
施加物理約束主要是通過在末端執行器上安裝一個探針,機械臂在操作空間運動,只有當探測器的前端接觸到約束平面時,才會記錄下機械臂的關節讀數和笛卡爾坐標值。通過一系列與約束平面有關的數據進行求反,可以計算出機械臂的運動學參數。這個過程中,既不需要外部傳感器測量,也不需要人為干預,完全通過機械臂的自主測量和自主計算完成標定。Joubair[17]還對方法進行了優化,在約束平面的基礎上還加入了距離約束,利用一個安裝了3個直徑300mm球體的三角板來采集數據,對FANUC-200iC機器人進行了標定,如圖5所示,成功將機械臂絕對定位誤差從0.698mm縮小到0.086mm。

圖5 FANUC-200iC機器人自標定實驗Fig.5 FANUC-200iC robot self-calibration experiment
3.2基于視覺的標定方法
隨著硬件技術和圖像處理技術的高速發展,機器視覺被廣泛應用于各個行業,其中視覺測量也是一大研究熱點,利用視覺測量具有非接觸式測量和速度快等優點。根據攝像機安裝位置的不同,可以將視覺標定分為手眼標定和固定視覺系統標定。手眼標定是將攝像機安裝在機械臂末端,隨末端執行器一起運動,而固定視覺系統標定是將攝像機安裝在空間一固定位置,其位置不隨機械臂運動而改變。比如, Kavita Ravi[18]等人在機械臂的末端安裝攝像機,通過處理采集的圖像獲取機械臂的關節角度信息,從而完成機械臂的運動學參數標定,如圖6所示。

圖6 基于視覺的手眼標定系統Fig.6 Visual hand-eye calibration system
而固定視覺系統標定是將攝像機安裝在空間一固定位置,其位置不隨機械臂運動而改變。比如L.Richter等[19]將紅外相機固定在三角架上,在機械臂上設置標記點,由相機得到標記點的位移,利用最小二乘法進行參數辨識,實現機器人標定。Nicolas等[20]利用相機作為外部視覺傳感器,將標定板固定在6軸并聯機器人平臺上,完成了對機器人標定并減少了運動學參數的數量,如圖7所示。

圖7 固定視覺標定系統Fig.7 Fixed visual calibration system
然而,與其他復雜的測量設備相比,在覆蓋較大的工作空間時,相機獲得的測量數據精度較低。
基于模型的運動學標定可以得到精確的運動學參數,從而得到準確的正運動學模型和逆運動學模型。運動學參數的標定是運動學標定的中間過程,國外一些學者提出了一些不考慮運動學參數的運動學標定方法。在笛卡爾空間中補償末端執行器位置的正運動學標定,以及在關節空間中補償關節變量的逆運動學標定,它們被統稱為非參數運動學標定。同時,由于基于模型的運動學標定方法的復雜性,通過開發無參數誤差模型來近似誤差而不是直接建模是一種很好的方法。下面詳細介紹用于建立誤差映射關系的各種算法。
4.1插值
雙線性插值作為一種常用的插值方法,在機器人非參數運動學標定中得到了廣泛的應用。雙線性插值法的應用是建立在末端位置誤差為均勻分布的情況下,但實際過程中是不存在的,從而導致利用雙線性插值法得到的映射關系函數不太準確,補償精度較低。為了解決這一問題,王勝千[21]將模糊理論引入到插值方法中,通過建立控制表來存儲預先定義好的輸入-輸出關系,根據控制表設計一模糊邏輯控制器,從而 實現模糊離線插值。Bai Y等[22]對各種插值方法進行了比較研究,如雙線性、三次樣條和模糊誤差插值技術。仿真結果表明,采用模糊誤差插值技術與雙線性和三次樣條相比較,可以得到更準確的補償結果。
由于末端執行器的位置誤差在模糊插值中作為輸入,采用模糊插值法進行補償的精度仍然較低。此外,構建一個模糊插值的查詢表需要花費很長時間和大量存儲空間。為了克服這一缺點,Bai Y[23]提出了一種新的在線模糊插值方法,通過與傳統的基于模型的離線插值方法比較,在相對緊湊的工作空間中,其精度和對復雜模型的適用性方面都優于傳統的離線模糊插值方法。
4.2神經網絡
算法隨著計算機技術的提高已發展得相當成熟,包括神經網絡、模糊邏輯和遺傳算法等,已廣泛應用于各行業。機器人控制系統通常是高度非線性和多耦合的復雜系統,它們精確的運動控制模型很難獲得。神經網絡可以通過調節參數不斷逼近復雜的非線性函數,因此利用神經網絡來進行非參數運動學標定是一種可行的標定方法。
神經網絡建立的模型可以考慮機械臂末端執行器位置誤差的所有因素[24]。基于模型的運動學標定方法的優點是可以量化誤差因素的權重,但并不是所有誤差因素都能反映在誤差模型中,然而神經網絡很擅長處理這類問題。利用神經網絡處理標定問題有兩種方式:
一種是直接利用神經網絡建立末端執行器實際位置與關節角度之間的關系,實現關節角度空間到笛卡爾坐標系空間的直接轉換,如圖8所示。該方法無需建立機械臂的運動學模型,能夠避免機械臂自身參數誤差對定位精度的影響,從而簡化了標定過程,但此種方法需要大量的實驗數據,機械臂在未投入工作前很難獲取大量的數據。而且神經網絡對數據的依賴很強,網絡訓練的好壞與訓練數據有直接的關系。因此,如何在數據量有限的情況下能夠獲得較好的訓練效果成為廣泛研究的熱點。

圖8 神經網絡直接標定Fig.8 Direct calibration based on neural network
另一種是利用神經網絡得到機械臂控制的誤差模型,再結合運動學模型得到實際控制模型。當神經網絡與運動學正解結合用于正運動學標定時,期望的坐標位置是作為神經網絡的輸入,經過訓練的神經網絡模型可以得到期望位置與實際位置的誤差,從而得到實際的位置坐標,如圖9所示。

圖9 神經網絡正運動學標定Fig.9 Forward kinematics calibration based on neural network
當神經網絡與運動學逆解結合用于逆運動學標定時,理論關節變量是作為神經網絡的輸入,經過訓練的神經網絡模型可以得到關節變量誤差,從而得到實際關節變量,如圖10所示。根據神經網絡所使用的條件,確定輸入層和隱藏層的節點數。王戰中等[25]利用基于神經網絡的機器人逆運動學標定法對一6自由度機器人進行了標定,并利用遺傳算法優化了神經網絡的權值與閾值,結果證明該方法可以進一步提高標定精度。

圖10 神經網絡逆運動學標定Fig.10 Inverse kinematics calibration based on neural network
機械臂在未投入工作前很難獲取大量的數據。而且神經網絡對數據的依賴很強,網絡訓練的好壞與訓練數據有直接的關系[26]。因此,如何在數據量有限的情況下能夠獲得較好的訓練效果成為廣泛研究的熱點。
對以上各種機械臂運動學標定方法進行比較,如表2所示。

表2 機械臂各種運動學標定方法比較Tab.2 Comparison of various kinematics calibration methods of manipulator
到目前為止,國內外諸多學者對運動學標定進行了大量研究,并取得了許多研究成果,部分研究成果已成功應用于機器人標定。然而,在運動學標定中仍存在許多問題,有待進一步研究和探討。
5.1 對于基于模型的運動學參數標定,在建立誤差模型的過程中,經常忽略或假定傳感器的關節角誤差。然而,在實際應用中,由于傳感器精度的問題,關節角測量的誤差對運動學參數誤差有較大的影響。因此,如何將關節角測量誤差引入到運動學參數標定模型中,建立一個完整的運動學誤差模型,需要進一步研究。
5.2 在機器人運動學參數標定過程中,由于重力效應,連桿會變形,特別是對于具有較大跨度的機器人,它將產生關節傳動系統的扭轉變形。由于在測量過程中每個角度都是不同的,因此由重力和重力轉矩引起的變形也不一樣,這給運動學參數的標定帶來了隨機性。因此,如何采取有效措施消除重力和重力轉矩對運動學參數標定的影響是非常重要的。
5.3 對于現有的自標定技術,其工作空間受校準板的限制。同時,校準板的加工精度和算法的迭代精度對運動學標定精度有很大的影響。為了擴大自標定的應用,可以用數字電子校準板代替傳統校準板,也可以避免標準單位網格點的加工誤差對校準精度的影響。另外,現有的標定方法非常復雜,計算復雜度高,處理時間長,因此實時校準和快速校準是進一步的研究趨勢。
5.4 各種機器人與機械臂越來越多應用于各個行業,其運動學精度的要求也越來越高,因此機械臂運動學的實時標定成為未來的研究趨勢。神經網絡作為一種智能算法,不僅可以精確地逼近任意連續非線性函數,而且具有很強的魯棒性和獨立學習能力,為網絡自適應重建提供了方便。視覺作為一種簡單的測量方法,能夠實時的得到機械臂任意時刻的末端位置,同時也能證明機器人的高度自適應。隨著神經網絡收斂效率的提高和視覺測量系統精度的提高,該組合在自適應和實時方面具有相當大的優勢,將成為未來機器人運動學標定的主要研究趨勢。