2021 年 3 月出版

科儀新知 第 226 期

光學量測技術產業應用專題

0226024

光學視覺與機械手臂系統整合之校正方法介紹

A Systematic Literature Review on Eye-Hand Calibration

李俊則、張禎元

Chun-Tse Lee, Jen-Yuan Chang

在現代的機械手臂應用當中,與光學視覺系統搭配已經成為主流的趨勢,透過視覺回授伺服控制來達到機械手臂智慧化與自動化的目的。然而視覺回授控制仍需藉由手眼校正的演算法將相機座標系及機械手臂座標系對齊,根據相機的配置有分為 Eye in hand 以及 Eye to hand。此篇文章首先定義手眼校正的兩種配置與數學模型建立,接著依照兩種定義整理不同種類的手眼校正方法、應用場域及實際配置案例,讓讀者能夠根據不同配置以及場域進行參考。

In the modern application of robotic manipulators, collocation with an optical system has become mainstream. However, to achieve vision servo control, the alignment between the coordinate of the camera and the manipulator should be calibrated. According to the placement of the camera, the method of the eye-hand calibration can be divided into eye-in-hand and eye-to-hand. In this article, the mathematic models of these two methods are built and the literatures are arranged by the order of scenario, optimized algorithms and the placement of cameras.

一、前言

隨著工業技術的進步,工廠中自動化的比例逐漸的提升,許多的機構系統也因應而生,其中機械手臂則扮演相當重要的角色。機械手臂可大致分為並聯式機械手臂及串聯式機械手臂,並聯式機械手臂如 Delta Robot,使用史都華平台的概念來達到 XYZ 線性移動;串聯式機械手臂則以六軸機械手臂為最大宗,並廣泛應用於各種產業。不管是何種機械手臂都有一特色:重複精度高,因此機械手臂相當適合於從事重複的工作任務,位置控制的要求高。雖然機械手臂之重複精度是其優點,不過其最大的缺點是絕對精度,意即要與其他機器或座標系相互配合時就會出現問題,而目前機械手臂最常配合之儀器就是相機。當機械手臂需要與外界物體進行互動且該物體是隨機擺放的,此時藉由相機的取像以及後來的影像處理即可辨識出物體的位置,但是這時則面臨另外一個問題:相機座標與手臂座標的不一致性。

相機在取像時會產生出一張影像,此張影像由 n by m 個像素所構成,其中會有稱為像素座標系的座標來定義每個像素的描述方法,不過在這個座標系下的座標不能夠代表真實長度,而是會隨著真實物體的遠近而讓每個像素代表不同大小的距離。若是搭配上相機內部參數及物體與相機的距離,則可以計算出一個正交笛卡爾座標系 (Cartesian coordinate system),稱之為相機座標系。同一個物體在機器人座標系及相機座標系的座標值皆不相同,因此機械手臂是無法透過相機對該物體進行定位與其他工作任務,在這種情況下則需要一項關鍵技術:手眼校正。

手眼校正是一項能夠將相機座標系及機械手臂座標系對齊轉換的一項技術,通常是透過手臂移動多個姿態以及相機取像來達到計算兩者之間關連性的演算法,而校正板也是在此技術中常見的元素之一。手眼校正能夠應用的領域相當廣泛,工業中應用如焊接作業、隨機物堆疊夾取、鑽孔、噴塗等,而醫療產業中也有應用到手眼校正的技術,如胃鏡手術等。事實上不僅是機械手臂,只要是擁有座標概念的機構件與相機系統做搭配都會應用到手眼校正的概念,作為視覺伺服控制一項非常基本且重要的研究。

手眼校正於 1989 年開始第一篇的研究(1),其建立相當經典的問題形式:AX = XB,事實上往後的研究不僅限於這個等式,更是發展出不同形式與流程的手眼校正演算法。本篇文章則是要整理並探討各種類之手眼校正應用場合,主要以相機的固定方式分為兩大類,並以校正板類型、機械手臂種類、最佳化演算法等進行表格化整理。第二章節會詳細說明手眼校正的工作原理與模型建立;第三章則是整理目前手眼校正的各大分類及其論文;第四章則是總結手眼校正以及其未來發展性。

二、工作原理

在手眼校正的過程當中,通常都會有以下元件:機械手臂、相機與校正物。機械手臂可為三軸、四軸、六軸,但六軸通常為大宗;相機方面 2D 及 3D 都有人對其進行研究探討,且若為 2D 相機通常會搭配相機內部參數同時進行校正(2, 3);校正板最常見的形式為棋盤格(4, 5),也有一些研究強調不需要校正板(6) 或者是以開發校正物為主題(7)。但是無論如何手眼校正都是在找到相機與手臂座標系之間的關係,可能是相機座標系到手臂大地座標系亦或者是相機座標系到手臂法蘭座標系,圖 1 及圖 2 標示主要兩大手眼校正的類型及其在演算法中重要的矩陣轉換定義。

圖 1. Eye in hand 手眼校正配置。

圖 2. Eye to hand 手眼校正配置。

在手眼校正的研究當中,主要有四個重要的座標系,分別為機械手臂大地座標系 {R};機械手臂工具座標系 {T};相機座標系 {C} 以及待測物座標系 {O}。大地座標系 {R} 到工具座標系 {T} 之間的關係可由各軸角度與正向運動學求出,其矩陣轉換關係為 B 矩陣,是個可以輕鬆求得之變數;而相機會對待測物進行取像,根據特殊的影像處理建立專屬於待測物的座標系 {O},通常會以特徵明顯的若干點建立直角座標系,如棋盤格之邊角點,而相機座標系 {C} 與待測物座標系 {O} 之間的轉換關係則以 A 矩陣來代表,在不同的角度取像都會改變 A 矩陣,因此在整個演算法當中會有多個 A 矩陣存在。X 矩陣在不同的相機配置下定義會有所不同,主要是定義為某個座標系與手臂的工具座標系間固定的矩陣轉換關係;Z矩陣則為某個座標系與手臂大地座標系間固定的矩陣轉換關係。

圖 1 為 Eye in hand 的關係配置,其顧名思義就是相機是固定於機械手臂上,在校正過程中亦或是校正完後的任務執行中相機都會跟著移動,在所有座標系中,唯一與相機座標系 {C} 沒有相對位移改變的就是機械手臂的工具座標系 {T},因此在這類問題當中欲求之解就是相機座標系到機械手臂工具座標系 {T} 之轉換矩陣 X。圖 2 為 Eye to hand 的關係配置,與圖 1 最大的不同點就是相機的擺放位置是固定於大地座標系中的某個位置,相機不隨著機械手臂移動而有所改變,就如同從某處看著機械手臂般,因此稱之為 Eye to hand。在圖 2 中可以看出,Z 矩陣的定義為相機座標系 {C} 到大地座標系 {R} 之間的轉換關係,也就是此配置下手眼校正欲求之解,而 X 矩陣則是待測物座標系與工具座標系之間的轉換,通常完成校正後均會移除校正板因此這個矩陣通常不重要。事實上每個研究之矩陣定義皆不盡相同,箭頭指向相反只要將矩陣取反矩陣就可以做到,因此主要的定義則是要以達成閉迴路為充要條件,若等式 AX = XB 的出發點一致且終點也一致,這樣的矩陣定義就合理,因此在實現各篇論文時要先將矩陣方向及順序定義完整。

在定義完各個矩陣之後,則是要找出一個閉迴路等式並且對其提出最佳化演算法求解,其閉迴路的表示式可大致分為兩種。第一種閉迴路的表示式為 AX = XB,如圖 3 與圖 4 所示。圖 3 為 Eye in hand 的相機配置,其 A 矩陣為 {C1} 至 {C2} 的轉換關係,可看成 {C1 } 到 {O} 再到 {C2},因此 A 可由等式 A = A1A21 計算而得;B 矩陣則為 {T1}至 {T2} 的轉換關係,可由等式 B = B1B21 取得。若以 {T1} 作為閉迴路之起點而 {C2} 為終點,則可以由兩條路線到達,分別為 AXXB。每兩個姿態間都存在一組 {A, B} 矩陣對,而通常會取 n ≥ 3 以上的量測組數作為輸入資料,手眼校正就是要透過最佳化的演算法找到矩陣 X,將所有的資料組 (A, B) 做最佳的配對。許多研究都是基於這樣的假設以及定義再去發展不同的解法,如使用奇異值分解 (singular value decomposition, SVD) 或者是四元數法 (quaternion),詳細作法會於下一章節再加以分類分析。

圖 3. Eye in hand 應用 AX = XB 示意圖

圖 4 則為 Eye to hand 配置下使用 AX = XB 的應用示意圖。在此配置下推導等式 AX = XB 不像圖 3 般直觀,因此需要一些技巧來證明。假設有一點 P 在校正物上,而點 P 在不同座標系下以不同的代號表示:Pt 代表點 P 在校正板座標系下的座標值,由於該點位於校正板上,因此無論機械手臂如何移動,由校正板座標系來觀察 Pt 皆為定值;Pg 代表在工具座標系 {T} 下的座標值,由於校正板與手臂法蘭面是固定的旋轉平移關係,因此 Pg 也是一個固定值;Pc 代表是在相機座標系 {C} 下的座標值,根據手臂不同的姿態會有所改變;Pb 代表是在手臂大地座標系 {R} 下的座標值,也是隨著姿態改變而不同。根據圖 4 的矩陣定義以及 P 點在各個座標系的表示法,有以下之等式成立:

i 代表不同姿態的編號,假設有另外一個姿態 j,則可由式 (1) 得到兩個姿態下相機座標系及大地座標系之 P 點座標值:

由式 (2) 可進行一些替換變數的操作,再經由矩陣 A 的定義及矩陣 B 的定義,可將 AiAj1 替換為 A;BiBj1 替換為 B,而 G 在替換過程中會抵消掉,可得到以下等式:

最後經由式 (3) 以及式 (4),可得到以下等式:

每兩個姿態間就會存在一組式 (4) 的資料,因此使手臂移動多組姿態並使用相機擷取座標點位,再利用不同的最佳化演算法取得矩陣 X 的最優解。

圖 4. Eye to hand 應用 AX = XB 示意圖。

除了 AX = XB 的閉迴路等式外,第二種解法則是 AX = ZB。在第一個閉迴路等式中,共有三個矩陣值,其中 AB 都是已知項,可由相機取像計算和手臂編碼器回授而得,唯一要求的未知項則為矩陣 X。但是在第二種解法中,矩陣 X 與矩陣 Z 皆為未知項,且不需要靠兩個姿態之間的差異來當作輸入資料,藉由第二種解法所得之解可以同時取得 X 矩陣以及 Z 矩陣,雖然 Z 矩陣在大多數場合不需要用到,因為校正板進行完校正就會取下。

第二種解法在 Eye in hand 或者是 Eye to hand 的相機配置下都有演算法可以解出相機與手臂之間的關係,其配置圖如圖 1、圖 2 所示。其閉迴路等式也相當直觀,皆是由工具座標系 {T} 開始而於待測物座標系 {O} 或是相機座標系 {C} 結束。不過比較不同的是每個姿態下皆要有一個完整的 AB 矩陣,因此相機觀察待測物不能再只是一個點,而是要多個點建立一個座標系統,以便後來的演算法計算。在這個章節中介紹不同的手眼校正類型與其數學模型,然而每個配置以及等式的解法都有不同的方式解決,下一章節則會將所有手眼校正種類細分並進行文獻回顧。

三、分類與進展

根據前一個章節的分類可得知,手眼校正根據相機的放置方式大致可分為兩大類,而每類都可細分為數個數學模型,且每個數學模型都有不同的解決方式,以下章節則會一一加以分析。

1. 手眼校正 - Eye in Hand

  AX = XB

在文獻回顧中,這類型的論文是最大宗的,也是最一開始發展的相機配置及數學模型。這類型的手眼校正通常會伴隨著相機校正,對校正板取像多張影像之後會先進行相機內部參數的優化,接著會再利用等式 AX = XB 求得手臂與相機系統之間的轉換關係,如圖 5 所示。應用範圍相當廣,從工業型手臂應用到醫療方面都有所研究,校正板的形式也大多以黑白的明顯圖案作為相機建立物體座標系使用。其對 AX = XB 的解法則不盡相同,從封閉解到迭代遞迴解都有,各項比較整理於表一中。

Cao et al. (2019) 利用 AX = XB 的等式來進行手眼校正,並利用類神經網路來進行 X 矩陣的求解,除了 2D 相機架設於手臂上之外,該論文還架設雷射量測裝置進行驗證,並對手臂本身的 DH table 做優化,讓手臂本身的絕對精度提升,以達到更好的誤差結果。

圖 5. Eye in hand 配置示意圖(8)

Heller et al. (2014) 則使用 3D 相機 Xtion Pro 作為手眼校正的光學系統,並且拍攝多張具有很多黑點的校正板進行演算法計算。該篇論文利用最小平方法的概念,將 AX = XB 分解成 Dual quaternion 的形式,並利用線性矩陣不等式 (linear matrix inequality, LMI) 的方式做優化,以得到 X 矩陣的解。

  AX = ZB

AX = ZB 作為主要問題的論文並不多,原因可能為矩陣 Z 不是那麼的重要,且在 3D 相機被研發且廣泛應用前,所有的 2D 相機都需要多個角度取景才能利用雙目視覺形成 3D 座標 (如圖 6 所示),因此在這樣的架構下則不是受歡迎的研究方式。不過其特色就是計算上較沒那麼複雜,許多封閉解也可以很快的找出答案,相關代表論文則一同整理於表 1 中。

圖 6. 3D 相機應用於 Eye in hand 手眼校正(9)

表 1. Eye in Hand 手眼校正論文分類。

Shah (2013) 利用 Kronecker product 的方式,將 AX = ZB 的旋轉部份等式以及平移部分等式結合,並且將 3 × 3 的矩陣攤平成單行向量,最後利用 SVD 找出旋轉及平移項的各項優化數值。在這項論文當中,沒有使用如棋盤格般明顯的校正板,取而代之的是直接使用加工件作為校正特徵點,並且搭配雷射追蹤進行驗證實驗 (如圖 7 所示)。

圖 7. 雷射追蹤儀與手眼校正架構(10)

2. 手眼校正 - Eye to Hand

  AX = XB

與 Eye in hand 的配置相比,Eye to hand 的相機是沒有位移的,因此在應用上會使用 3D 相機做為光學系統,發展的時間點也較 Eye in hand 晚,論文數量也不多。其概念與 Eye in hand 的 AX = XB 差不多,只是有些矩陣的定義與方向性會有所不同,且應用於醫療產業上的比例較高,其相關論文整理於表二中。Zhang et al. (2017) 將手眼校正的概念引入達文西外科手臂 (如圖 8 所示),在手術刀處安裝一個很小的點狀校正板,演算方法則是與使用 Dual quaternion 的分解再以迭代方法進行優化。在機器人手的手背上貼上特殊圖案校正板,以作為手眼校正的判斷依據 (如圖 9 所示)。

圖 8. 達文西手臂手眼校正實驗架設(24)

圖 9. ABB 雙臂機器人之手眼校正配置(2)

  AX = ZB

與 Eye in hand 的 AX = ZB 相同,其運用方法多為使用線性代數的方法推導出封閉解,有時也可以利用夾爪或是加工主軸等特徵作為相機取像的目標,這個一來也可以同時解決 TCP 校正的問題,許多擬人型機器人都可以應用此方法來做到手眼校正,其相關論文整理於表 2 當中。Lundberg et al. (2014) 使用 ABB 雙臂機器人搭配一台 2D 相機製作擬人機器人平台,其中在機器人手的手背上貼上特殊圖案校正板,以作為手眼校正的判斷依據。特殊的校正板為一黑方塊置於白色底中間,其明顯的差異很適合作為校正板的辨識使用,對於 AX = ZB 的解法則是使用推導線性代數的封閉解。

表 2. Eye to Hand 手眼校正論文分類。

  AXB = CYZ

這種類型的手眼校正相當特殊,總共會有兩個機器人,一個固定著相機,一個則固定著校正板。這樣的問題需要同時找出相機到第一個機器人的關係、校正板到第二個機器人的關係、第一個機器人到第二個機器人的關係。同時會有三個矩陣需要求解,因此問題複雜度會提高不少,如圖 10 所示。在該論文當中利用四元數分解旋轉矩陣,並利用推導封閉解的方式取得初始解,並利用線性近似法迭代優化更新找到更好的解。

圖 10. AXB = CYZ 關係示意圖(25)

  Points to Points

這類型的問題又比其他的數學模型更加直觀,但是通常都是建立在 3D 成像光學系統成熟的時期才會開始研究,因此論文發表年代都會比其他方法更晚。在機器人座標系可以藉由順向運動學取得點座標;而 3D 相機也能夠直接取得該點在相機座標系下的座標值,因此靠著各種方法將兩組點位進行配對,就可以直接找出相機與手臂之間的關係 (如圖 11 所示)。Wang (2018) 則提出使用類神經網路進行兩組點位的配對,由架設圖可以看出,文獻中所使用相機為深度相機,可以藉由內部參數及外部參數直接從像素座標系轉換為笛卡爾座標系,且校正物也不再是使用棋盤格等物品,而是任一可以藉由影像處理辨識出的物體即可,只需要單一點的資訊就可以進行更進一步的演算法運算。

圖 11. Point to Point 相機與手臂架設(26)

四、結論

本篇文章是一篇針對手眼校正演算法進行統整的文獻回顧,主要以相機擺放位置以及方式將論文分成 Eye in hand 與 Eye to hand 兩種進行整理。本文章首先對在手眼校正的重要元件及元件之間的關係進行描述,並對其進行數學模型的建立,依照其校正手法及流程主要可分為 AX = XBAX = ZB,前者旨在求得相機與手臂之間的轉換;後者則是會同時求得相機與手臂和手臂與校正板之間的關係。而在 Eye to hand 中又有兩種變形,分別為 AXB = CYZ 以及 Points to Points。本報告依序整理出數篇相關論文,以其年份、應用場域、相機種類、校正板、機械手臂、數學模型及其重要優化方法來作為分類依據,讀者只要根據自身需求,如應用的場域或者是相機擺放位置,就可以找到相關論文進行參考以及研究的目的。

手眼校正是一項相當重要的技術,在面對工業 4.0 的彈性製造需求下,機械手臂不能再只是靠著固定教導好的路徑移動執行任務,而是要根據當下的判斷臨機應變。伴隨著計算硬體的進步,許多技術如深度學習等都得以發展,使得影像辨識與決策判斷得到飛躍性的進步,因此機械手臂與光學系統的搭配更是應用於越來越多的產業中,然而對於手眼校正未來的挑戰,則是會在如何更快速地完成校正及動態補償誤差之技術。