本文針對機械臂末端安裝激光測距儀的手術機器人的手眼標定,設計了基于平面模板標定的方法,給出了平面模板的數學模型并推導了求解方法。針對實際系統中存在的測量誤差,提出了一種新的關于單平面數據優選的算法,可有效地剔除測量誤差大的數據,提高標定精度;在此基礎上,進一步提出使用立體正交平面改進標定精度的方法,應用非線性優化方法提高手眼標定精度。為驗證精度,使用激光測距儀從不同角度、位置對空間中的某些固定點和一個長方體的表面進行測量。結果表明,單平面方法標定的精度為(1.37±0.24)mm,使用立體正交平面得到的標定精度為(0.37±0.05)mm;測量三維空間點的平均 FRE 為 0.24 mm,平均 TRE 為 0.26 mm;角度的測量偏差最大為 0.4°。通過實驗驗證了本文方法的有效性,同時結果表明本方法的標定精度較高,能夠滿足手術機器人準確定位的需求。
引用本文: 曾柏偉, 孟繁樂, 丁輝, 劉文博, 吳迪, 王廣志. 一種基于平面的手術機器人手眼標定方法. 生物醫學工程學雜志, 2017, 34(2): 200-207. doi: 10.7507/1001-5515.201605050 復制
引言
隨著科技的發展,手術機器人在臨床治療中得到越來越廣泛的應用[1-3],其中用于術中定位定向引導的手術機器人得到廣泛關注[4]。該類手術機器人在顱腦神經外科手術中應用較多,比如 NeuroMate[5]和 Rosa[4]等手術機器人在立體定向腦電圖的電極植入、深部腦刺激、活檢和腫瘤切除等手術中已有一定的應用[6-7]。在這些應用中,當前大部分的醫院使用立體定向頭架或者光學跟蹤導航系統。其中頭架能引導鉆孔且精度高,但是使用時需要患者在清醒的狀態下用四個固定釘透過頭皮將頭架固定到顱骨上,然后患者戴著頭架進行核磁成像(magnetic resonance imaging,MRI)或者計算機斷層成像(computed tomography,CT)掃描,完成后患者繼續戴著頭架回到手術室進行手術,這個過程給患者帶來較大的痛苦[8]。光學跟蹤導航系統需要在頭皮上粘貼標志點,通過三維(three-dimensional,3D)定位探針拾取標志點,利用點配準方法實現患者坐標系到術前影像坐標系的配準,但是它存在標志點移位和在頭皮上鉆孔時不好準確控制方向的問題[9]。
為了解決上述問題,本研究組采用一種無框架無標志點的方法,構建一套定位定向引導的手術機器人系統。在使用時首先需要將機械臂坐標系和患者的影像坐標系進行注冊配準,從而將術前影像中規劃的手術引導路徑映射到機械臂坐標系中,以完成準確的定位定向。本文利用激光測距方法進行三維測量,可以將激光測距儀(laser range finder,LRF)的激光束看成是一個可變長度的探針,它與光學跟蹤導航系統的光學探針采集標志點具有相似性,符合醫生的操作習慣。使用激光測距儀和機械臂結合的手術機器人,不僅具備立體定向頭架的高精度和穩固定位定向引導的優點,還具有光學導航方法無框架的優勢。為了定位在機械臂坐標系中患者的空間位置,需要將掛載在機械臂末端的激光測距儀測到的一維距離信息轉換成機械臂坐標系下的三維空間點坐標,為此首先要對機械臂末端和激光測距儀之間的坐標變換關系進行標定,該問題被稱為手眼標定問題[10-11]。
針對機械臂末端安裝激光測距儀這類手眼標定問題,目前求解的方法主要是通過求解機械臂在特定幾何約束下運動的閉式解[12-13]。盧科青等[14]提出使用一種標定面方向可調的標定塊和高精度的三坐標測量機對激光束方向進行標定,該方法的主要缺點是需要昂貴的輔助標定設備且對標定塊的加工精度要求高。王勝華等[15]提出定點變位姿手-眼標定方法,該方法多次改變機器人位姿對同一目標點進行測量,利用機器人運動方程和最小二乘原理求解,該方法的優點是原理和實施都很簡單,但主要問題在于實際操作中對同一目標點從多個位姿進行測量,難免引入人為判斷誤差,標定結果的魯棒性難以保證。Zhou 等[16]使用專門設計的含有圓錐面和圓柱面的標定塊,提出一種新的求解串聯測量機和工具中心點(tool centre point,TCP)標定問題的方法,該方法主要適用于短量程的激光測距儀與機械臂末端關系標定。吳聊等[17]使用一種基于單個平面模板的標定方法,并對參數的控制策略提出了定性分析,但是該方法迭代優化環節,沒有利用標定平面的共面性,實際標定結果的魯棒性難以保證。袁康正等[18]應用基于平面和球面模板擬合的標定模型,提出一種近似最優測量姿態和最佳評價指數,來選擇合適的測量姿態,減少非建模誤差和測量誤差對標定結果的影響,該方法雖然提高了抗噪聲能力,但是其標定過程中由于需要對測量姿態的標定效率進行評估,導致實現起來較為復雜。
為此,本文針對安裝了一維激光測距儀的多自由度機械臂的手眼標定問題,設計了采用平面模板進行標定的方法。針對實施存在的測量誤差,提出一種新的關于單平面數據優選的算法來提高標定精度,并進一步提出使用立體正交平面改進標定精度的方法,應用非線性優化方法求解了手眼標定問題。
1 材料和方法
1.1 單平面模板標定方法的數學模型
本文將安裝在多自由度機械臂末端的一維激光測距儀的手眼標定問題歸納為如圖 1 所示的幾何模型,其中 Plane 是一個用于標定的反射平面,稱之為標定平面,要求平面具有良好的平整度,激光在平面上有良好的反射,使激光測距儀可以準確地測量反射點的距離,該平面相對于機械臂坐標系 的空間位置是固定的。假設機械臂末端坐標系為 ,激光測距儀的坐標系為 ,由于 的位置是可以任意指定的,為了便于計算,可以指定 的原點在激光束上,同時在不失一般性的情況下,選取 坐標軸的方向相對于 沒有旋轉只發生平移 r ,定義激光束的方向向量在 中為 v 。其中 r 和 v 就是待標定的手眼變換關系。

如圖 1 所示,在初始位置,設標定平面的單位法向量在 下為 ,在 下激光測距儀發射出的激光束照射到標定平面上的點為 ,激光測距儀測量該點得到的距離值為 ,則在 下標定平面的平面方程可表示為:
${{n}}_{m0}^T{{{x}}_{m0}} + {b_0} = 0 $ |
其中, 為在初始位置從 的原點到標定平面的距離。
機械臂末端發生旋轉和平移后,在第j 位置時,設在 下激光測距儀發射出的激光束照射到標定平面上的點為 ,激光測距儀測量該點得到的距離值為dj ,這時在 下的標定平面的單位法向量為 ,則在 下的標定平面有平面方程:
${{n}}_{mj}^T{{{x}}_{mj}} + {b_j} = 0$ |
其中,bj 為在第j 位置從 的原點到標定平面的距離。
在 下標定平面上的兩點有如下關系:
${{{x}}_{m0}} = {{{R}}_{m0j}}{{{x}}_{mj}} + {{{t}}_{m0j}} $ |
其中, 為 下從第j 位置到初始位置的旋轉矩陣, 為 下從第j 位置到初始位置的平移列向量。
根據 和 的關系,對于照射到標定平面上的點在 下可以表示成:
${{{x}}_{mj}} = {{r}} + {d_j}{{v}} $ |
由前面的式子整理后得到:
${{n}}_{m0}^T{{{R}}_{m0j}}{{r}} + {d_j}{{n}}_{m0}^T{{{R}}_{m0j}}{{v}} + {{n}}_{m0}^T{{{t}}_{m0j}}{\rm{ + }}{b_0} = 0$ |
在式(5)中的未知變量 r 和 v 是標定空間變換關系的關鍵變量,如果能夠確定 r 和 v ,則可完成對機械臂末端和激光測距儀的空間變換關系的標定。同時在式(5)中 、 、 和 等變量也是待求解的,其中 與 可以通過讀取機械臂的空間姿態而計算得到。在得到 和 后,可求解出 r 和 v ,從而完成手眼標定。
1.2 求解旋轉分量 和平移分量
在圖 1 中,記在初始位置,從 相對于 的旋轉矩陣為 ,平移列向量為 。對于激光測距儀發出的激光光束照射在標定平面上的激光點,在 下記為 ,在 下記為 ,則該點從 到 的變換關系為:
$\left[ {\begin{array}{*{20}{c}}{{{{x}}_{b0}}}\\1\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}{{{{R}}_{b0}}}&{{{{t}}_{b0}}}\\{{0}}&1\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{{{x}}_{m0}}}\\1\end{array}} \right]$ |
機械臂末端發生旋轉和平移后,在第j 位置時,激光點從 到 的變換關系為:
$\left[ {\begin{array}{*{20}{c}}{{{{x}}_{bj}}}\\1\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}{{{{R}}_{bj}}}&{{{{t}}_{bj}}}\\{{0}}&1\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{{{x}}_{mj}}}\\1\end{array}} \right]$ |
整理可得:
${{{x}}_{m0}} = {{R}}_{b0}^{ - 1}{{{R}}_{bj}}{{{x}}_{mj}} + {{R}}_{b0}^{ - 1}({{{t}}_{bj}} - {{{t}}_{b0}})$ |
比較式(3)和式(8)可得:
${{{R}}_{m0j}}{\rm{ = }}{{R}}_{b0}^{ - 1}{{{R}}_{bj}}$ |
${{{t}}_{m0j}} = {{R}}_{b0}^{ - 1}({{{t}}_{bj}} - {{{t}}_{b0}})$ |
其中 、 、 和 都可以通過機械臂控制器讀取,故由式(9)(10)可以得到 和 。
1.3 手眼平移關系 和激光光束方向 的標定
假設機械臂的末端只有平移運動,即 ,代入式(5)中可以得到:
${{n}}_{m0}^T{{r}} + {d_j}{{n}}_{m0}^T{{v}} + {{n}}_{m0}^T{{{t}}_{m0j}}{\rm{ + }}{b_0} = 0$ |
當j=0 時,即還未產生相對的旋轉和平移運動,這時的 ,則代入式(11)有:
${{n}}_{m0}^T{{r}} + {d_0}{{n}}_{m0}^T{{v}}{\rm{ + }}{b_0} = 0$ |
由式(11)—式(12)得:
$({d_j} - {d_0}){{n}}_{m0}^T{{v}} = - {{n}}_{m0}^T{{{t}}_{m0j}}$ |
接下來求解式(13),假設令 ,其中 為單位向量,即有等式 ,且有方向約束,其中 軸分量是沿著機械臂末端坐標系的 軸正方向,即 。這樣對于式(13),最少通過2次測量(即初始位置和第j 位置)就可以求出 ,且同時可以求得p。將其結果代回式(13),可以得到 v 的一組約束。
接下來,用同樣的方法,控制機械臂通過旋轉平移復合運動到達一個新的初始位置,采集數據計算得到另外兩組 v 的約束,最后由這三組關于 v 的方程解出激光束方向向量 v 。
為了降低采集數據的各種噪聲和誤差的影響,可以進一步增加采集數據的數量,對多次測量得到的數據,使用最小二乘法計算可得:
${{{n}}_{m0}} \!=\!\! -\! {\left[ {\sum\limits_j {{{{t}}_{m0j}}{{t}}_{m0j}^T{ 1} } } \right]^{ - 1}} \!\! \left[ {\sum\limits_j {{{{t}}_{m0j}}({d_j} - {d_0})} } \right] \! p $ |
其中,j≥2,即需控制機械臂末端至少平移兩次。
在完成對 和 v 的求解后,式(5)中還有 r 和 是未知的。
由式(5)—式(12)得:
$\begin{aligned}\!\! {{n}}_{m\!0}^T({{{R}}_{m0j}} \! \! - \! \! {{I}}){{r}} \!\!+\!\! ({d_j}{{n}}_{m\!0}^T{{{R}}_{m\!0j}} \! \! - \! \! {d_0}{{n}}_{m\!0}^T){{v}} \! \! + \! \! {{n}}_{m\!0}^T{{{t}}_{m\!0j}} \! \! =\! \! 0 \;\;\;\;\;\end{aligned}$ |
在式(15)中只有 r 未知,由于每次測量只能求得一個關于 r 的約束方程,所以至少需要測量三次旋轉平移數據,才能夠將 r 完整解出。至此,可以求解全部待定參數,完成手眼標定。
1.4 單平面模板的改進方法
理想情況下,沒有測量噪聲和運動誤差,標定板絕對平整,前面推導的公式具有閉式解,用單一的標定平面就可以得到精確的手眼標定結果。但是實際系統中存在機械臂的運動誤差、激光測距儀的測量噪聲、標定平面不平整等干擾,為提高手眼標定的精度,可以通過選取合適的數據、增加標定平面的數量和優化算法等改進其性能。
在獲得標定平面數據后,每次先求得使用單平面數據得到的手眼標定參數,給定一個標準評價當前標定參數的精度;再選擇一種原則,淘汰一些數據,期望利用剩下的數據求解手眼參數能得到更高精度,不斷循環迭代,直到符合停止條件。依據這種思路,可以獲得在單個標定平面情況下最優的手眼標定參數。
此外,本文進一步使用三個相互正交的平面分別對激光測距儀和機械臂末端的手眼關系進行標定,如圖 2 所示。取三個平面標定結果的均值及機械臂末端在初始位置時各標定平面的法向量作為非線性優化方法的初值,使用三個標定平面的原始數據,將平面法向量和激光束方向向量的模以及平面法向量的 軸方向大于0等作為約束條件,將采樣點的共面性和閉式解的二范數作為目標函數,如式(16)所示:
$f(x) = {f_1} + {f_2} + {f_3}$ |
其中,x 為自變量, 為與第一標定平面 P1 相關的目標函數, 為與第二標定平面 P2 相關的目標函數, 為與第三標定平面 P3 相關的目標函數,它們有類似的表達式。現只給出 的表達式:
${f_1} = {c_{11}}{f_{11}} + {c_{12}}{f_{12}} + {c_{13}}{f_{13}} + {c_{14}}{f_{14}}$ |
其中 、 、 和 是權重系數, 、 、 和 是第一標定平面 P1 的三組平移和一組旋轉平移數據的最小二乘表達式,它們也有類似的表達式。接下來給出 的表達式:
${f_{11}} = \alpha {\left\| {{{n}}_{m0}^{11} + {{\left[ {\sum\limits_j {{{t}}_{m0j}^{11}{{({{t}}_{m0j}^{11})}^T} } } \right]}^{ - 1}}\left[ {\sum\limits_j {{{t}}_{m0j}^{11}(d_j^{11} - d_0^{11})} } \right]{p^{11}} } \right\|^2} + \beta {\left\| {{{{X}}^{11}} - {{X}}_{fit}^{11}} \right\|^2}$ |
其中 和 為權重系數。式(18)的第一部分是由式(14)變形得到,其突出對單點準確性的約束;第二部分則是對測量點共面性的描述, X 11 為測量得到的點組成的矩陣,即 , 是對 X 11 使用主成分分析方法得到的主平面上對應的點組成的矩陣[19],突出對平面平整性的約束。迭代優化過程是在約束條件下,求式(16)的最小化過程,可以選擇合適的非線性優化算法,比如 L-M 算法[20],求解得到最終的手眼標定參數。使用三個相互正交平面的好處在于:一方面相比于使用單平面標定,它的抗噪聲能力將會得到有效增強;另一方面相比于使用多于三個平面的情況,它是能夠將三維空間各方向都進行有效約束的最少平面數組合,達到標定過程簡便性與標定性能可靠性的有效平衡。

標定完成以后,可以利用安裝在機械臂末端的激光測距儀進行三維表面測量和點云數據重建,當使用激光測距儀測量三維表面上的某個點,由它的距離值dj 和機械臂控制器中的讀數 和 ,就可以從式(4)和(7)推導得到:
${{{x}}_{bj}} = {{{R}}_{bj}}\left( {{{r}} + {d_j}{{v}}} \right) + {{{t}}_{bj}}$ |
從而求得該點在 下的空間坐標值 。如果對某個物體的表面進行逐點的掃描測量,則可以得到該物體表面的一組點云數據。
2 結果
2.1 實驗環境搭建
實驗中選用的機械臂為 6R 型的串聯機械臂(VS060A3,Denso Co. Ltd.,日本,重復精度 0.02 mm),采用 IL-600 激光測量頭及其相應的放大與通信部件 [KEYENCE,日本,有效測量范圍(600±400) mm,重復精度 0.05 mm] 進行測距。使用自制的連結件將激光測距儀固定在機械臂末端法蘭盤上,將自制的立體正交平面(使用有機玻璃搭建而成,其表面覆有亞光灰白色貼膜)放置在一個合適的位置,通過控制機械臂進行規定的運動,使用計算機采集機械臂末端位姿和激光測距的數據,對采集得到的數據使用 Matlab8.3 進行處理。標定實驗環境如圖 3 所示。

2.2 手眼參數求解
使用圖 3 所示意的實驗環境采集標定數據,在實驗中為了使得采集的數據較廣泛地分布在標定平面上,將每個標定平面劃分為 15 個面積近似的區塊,三組平移和一組旋轉平移運動都在每個區塊內采集 1 次,則一個平面共采集 60 個數據點,三個平面總計有 180 個位姿和對應的距離數據,根據第 1.3 節中提到的標定方法,依次求得分別使用 P1、P2、P3 三個平面單獨標定的參數值,即完成手眼標定參數求解。
為了剔除標定平面數據中噪聲較大的點,對于單獨的每個平面數據,每次迭代淘汰掉一個離主平面(由標定平面數據使用主成分分析方法重建得到)最遠的點,直到數據太少不滿足閉式解為止。
受機械臂末端工具標定常采用的四點法的啟發[21],對在循環迭代中產生的每一組手眼標定參數進行評估。方法是將一塊尺寸為 500 mm×500 mm 的平面劃分為 10 個面積近似的區塊,選取每個區塊的中心作為目標點,對每個目標點從 5 個姿態進行測量,利用得到的手眼參數計算各姿態測量得到的空間坐標,并計算每一個目標點坐標值的標準差,求得 10 個目標點標準差均值,這些均值隨迭代過程的變化如圖 4 所示。選擇使得標準差最小的那組手眼參數為該平面標定的最優手眼標定參數,列于表 1。

圖 4 中 10 條不同顏色的曲線依次表示點 S(1)~S(10)。圖 4 不同標定平面 P1、P2 和 P3 的數據依次在第 7、4 和 10 次迭代中取得最小值,其標準差整體上先減小后增大,說明隨著迭代的進行噪聲較大的點(遠離主平面的點)不斷被淘汰掉,手眼參數越來越接近真值,但是隨著迭代進一步地繼續,由于參與標定的數據越來越少,數據點的隨機噪聲對標定結果產生的影響越來越大,故標準差在不斷地增加,直到數據太少不滿足閉式解為止。圖 4 的整體先減后增趨勢表明需要多測量一些冗余數據以降低測量的隨機噪聲的影響,同時也需要對采集的數據進行優選,以提高手眼標定的精度。
最后將前面三組最優標定參數的均值作為初始值,利用 L-M 算法求解式(16),得到對于三個平面來說總體最優的標定參數,因為每一組采集的數據理論上對最終優化的結果具有同等的貢獻,故式(17)其中權重參數 、 、 和 都設置為1,由于每一組的數據都是在同一個平面下采集的,故希望提高共面性的權重,為此式(18)中的權重參數在本次實驗中為 。結果如表 1 所示。表 1 中的 、 和 是 v 在 下的XL 、YL 和ZL 各軸的分量, 、 和 是 r 在 下 、 和 各軸的分量。

2.3 精度驗證實驗與結果
為驗證利用所標定的參數進行三維表面上目標點測量的精度,先使用前面四組手眼標定參數,對被測對象上同一目標點從不同方向進行照射測量,得到各次測量的空間位置并計算標準差,以評估表 1 中各個手眼標定參數的準確度。同時使用激光測距儀和高精度光學測量儀器(Optotrak Certus,Northern Digital Inc,加拿大,三維空間精度 0.1 mm)拾取相同目標點的空間坐標,并以 Optotrak Certus 光學測量儀的結果作為標準來評估手眼系統的測量精度。
2.3.1 手眼標定準確度實驗 為評估手眼標定參數結果的準確度,在一塊大小為 300 mm×400 mm 的平面上使用與 2.2 節相同的方法得到 10 個被測點,使用激光測距儀對每個測量點依次從 5 個不同方向(點所在平面的法向量方向,及與法向量近似成 45° 相互之間依次繞法向量方向相差 90° 的另外 4 個方向)測量,采集得到一組機械臂末端的位姿和激光測距儀的距離數據,再分別使用前面四組手眼標定參數,依據式(19)計算其在 下的空間坐標并計算同一點的重建坐標的標準差,結果如圖 5 所示。對所有測量點使用三個單平面 P1、P2 和 P3 對應的手眼標定參數進行計算,可得單平面方法標定的精度為(1.37±0.24)mm,使用立體正交平面對應的手眼參數計算得到其標定精度為(0.37±0.05)mm。

比較圖 5 中的前三組數據,發現使用單平面方法得到的標定參數經過前面迭代優選之后,其性能基本相當。而四組橫向比較可以發現,使用立體正交平面優化計算的結果最好,能保證在單平面不是很好的情況下優化得到一個最優的結果,相比于單平面標定方法更加準確與穩定可靠。
2.3.2 測量三維點的精確度 為了驗證使用機械臂結合激光測距儀所重建的三維點的精確度,對 2.3.1 節中同一塊平面用相同方法確定 20 個測量點,使用本文方法和 Optotrak Certus 光學測量儀分別測量這 20 個點的空間位置,每個點測量 10 次,取其平均值,再以 Optotrak Certus 光學測量儀的測量結果為標準,將激光測距儀測量重建的結果(使用立體正交平面優化的手眼參數計算得到)剛性配準到 Optotrak Certus 光學測量儀的測量結果,使用留一法計算參考點的配準誤差(fiducial registration error,FRE)和目標點配準誤差(target registration error,TRE)。其結果如圖 6 所示。

在圖 6 中 FRE 均值為 0.24 mm,TRE 的均值為 0.26 mm。圖 6 中不同點的 TRE 值相對于 FRE 有較大的波動,其波動標準差為 0.10 mm。
2.3.3 表面法向量的準確度 對一塊 90 mm×55 mm×45 mm 的長方體鋁塊,在緊鄰的三個平面上每個平面依次采集 15 個點,接著使用主成分分析法求出每個平面的法向量,進而求出相鄰兩個平面的夾角,并與鋁塊平面夾角的理論值(由高精密的加工精度保證)比較,結果如表 2 所示。由表 2 可知,最大的角度誤差不超過 0.4°。

2.3.4 獲取三維表面的點云 為驗證所構建的系統進行三維測量的可行性,對一個基于 CT 掃描重建出的頭顱三維表面進行多點掃描,得到離散的三維坐標點云。實驗中通過編程控制機械臂運動,使激光測距儀對一個頭模型的前額、兩側顳部和頭頂進行掃描,并采集頭模型內部的 13 個驗證點,利用上述立體正交平面標定得到的參數,對拾取的各個測點依據式(19)計算得到在 下三維點的空間坐標值,并與 CT 掃描重建的模型表面在軟件(Cloud Compare)中做了配準,其結果如圖 7 所示。其中藍色點云為激光測量數據,頭模型為 CT 數據重建表面,點到面的距離均值為 0.3 mm,標準差為 0.2 mm。

對圖 8 所示的模型內部 13 個已知位置的驗證點,計算其配準到影像中對應點的誤差,其最小值為 0.76 mm,最大值為 1.96 mm,均值為 1.23 mm,標準差為 0.43 mm。本實驗結果說明了本文方法獲取三維表面點云用于手術機器人注冊配準的可行性,能夠滿足臨床應用的精度需求。

3 討論
在循環迭代求解參數的過程中,對同一個點從 5 個不同方向照射,重建得到該點的 5 個三維坐標點,計算標準差,用所得標準差作為指標對標定參數的優化情況進行評價。該方法的好處在于:不需要知道該點在 下的真實位置,在沒有測量誤差的情況下,求解的手眼標定參數越接近真值,則從 5 個不同方向對該點進行測量,計算得到的坐標值誤差越小。因此可以根據重建點誤差的大小判斷手眼標定結果的好壞,從而剔除標定中測量誤差大的點。
需要注意的是,對于手眼標定參數的求解,在理論上和具體實施中都可以不進行數據優選,直接對從標定平面中采集的點使用非線性優化的算法來求解。但為剔除一些可能存在的測量誤差較大的點(比如激光束太過傾斜照射到標定板上),以便獲得更好的標定結果,建議對覆蓋手術機器人工作空間內的多個目標點從多個角度進行測量。即使對同一個點的測量結果存在一定的人為判斷誤差也沒有關系,因為計算的是這些目標點從多個角度重建的空間坐標的標準差,求解的手眼標定參數越準確,則標準差越小。
在手眼標定準確度實驗中使用的激光測距儀發出的光斑在有效測量范圍之內平均直徑約為 1.6 mm,在實驗中的待測量點的直徑約為 0.8 mm,盡管每次測量時盡量使得激光光斑和被測點的中心重合,但是必定會引入一定量的人為判斷誤差,約為點的半徑,即 0.4 mm 左右。圖 5 中標準差平均最小的一組為最后一組,其均值約為 0.375 mm。可以看出二者為同一量級。由此結果可以看出:如果手眼標定的參數足夠準確,從不同方向照射對測量結果的影響很小。但是在實際應用中為了保證更加準確的測量結果,建議激光光束方向和點所在平面的法向量夾角越小越好,一方面有利于減少由于夾角太大導致光斑呈橢圓形帶來的人為判讀誤差;另一方面根據激光測距儀的三角測距原理可知,光斑越大越偏離圓形,在提取光斑中心時的誤差則越大,導致測量精度下降。
圖 6 中的數據在采集時盡可能地使激光光束方向和待測點所在平面的法向量平行,不論是 FRE 和 TRE 都小于 0.3 mm,說明本方法重建的三維點精度可以滿足手術中定位測量小于 1 mm 的要求。
在本研究的最后給出了一個三維掃描的點云并用于配準的例子,其驗證點的配準誤差不僅與標定的精度及配準有關,還與在圖像中選取驗證點的精度有關,由于模型的 CT 數據層厚為 0.8 mm,故在選取驗證點時會有一定的人為誤差。在具體實施采集數據中為了保證較高的精度,機械臂不能運動太快,所以掃描 1 000 個點左右的數據大概需要 10 min,因此考慮下一步的研究方向是提高每一次采集點的數量,比如使用基于雙目立體視覺、線結構光或面結構光等方法,從而縮短數據采集時間,但是本文提出的這種方法在標定的簡便性和易用性上依然具有優勢。
4 結論
本文針對手術機器人注冊配準遇到的手眼標定問題,對安裝在六自由度機械臂末端的激光測距儀所構成的三維測量系統構建數學模型,利用平面作為標定靶,建立了手眼標定方程。根據實施中存在一定測量誤差的情況,提出采用單平面優選數據提高精度和使用立體正交面改進標定精度的方法,應用非線性優化方法提高標定結果的魯棒性。本文通過實驗評估標定結果的準確性和精度,其能夠滿足手術中定位定向測量精度的要求,最后展示了使用該測量系統對頭模型掃描的結果,可以正確獲取表面的三維點云數據,驗證了本文方法的有效性。
引言
隨著科技的發展,手術機器人在臨床治療中得到越來越廣泛的應用[1-3],其中用于術中定位定向引導的手術機器人得到廣泛關注[4]。該類手術機器人在顱腦神經外科手術中應用較多,比如 NeuroMate[5]和 Rosa[4]等手術機器人在立體定向腦電圖的電極植入、深部腦刺激、活檢和腫瘤切除等手術中已有一定的應用[6-7]。在這些應用中,當前大部分的醫院使用立體定向頭架或者光學跟蹤導航系統。其中頭架能引導鉆孔且精度高,但是使用時需要患者在清醒的狀態下用四個固定釘透過頭皮將頭架固定到顱骨上,然后患者戴著頭架進行核磁成像(magnetic resonance imaging,MRI)或者計算機斷層成像(computed tomography,CT)掃描,完成后患者繼續戴著頭架回到手術室進行手術,這個過程給患者帶來較大的痛苦[8]。光學跟蹤導航系統需要在頭皮上粘貼標志點,通過三維(three-dimensional,3D)定位探針拾取標志點,利用點配準方法實現患者坐標系到術前影像坐標系的配準,但是它存在標志點移位和在頭皮上鉆孔時不好準確控制方向的問題[9]。
為了解決上述問題,本研究組采用一種無框架無標志點的方法,構建一套定位定向引導的手術機器人系統。在使用時首先需要將機械臂坐標系和患者的影像坐標系進行注冊配準,從而將術前影像中規劃的手術引導路徑映射到機械臂坐標系中,以完成準確的定位定向。本文利用激光測距方法進行三維測量,可以將激光測距儀(laser range finder,LRF)的激光束看成是一個可變長度的探針,它與光學跟蹤導航系統的光學探針采集標志點具有相似性,符合醫生的操作習慣。使用激光測距儀和機械臂結合的手術機器人,不僅具備立體定向頭架的高精度和穩固定位定向引導的優點,還具有光學導航方法無框架的優勢。為了定位在機械臂坐標系中患者的空間位置,需要將掛載在機械臂末端的激光測距儀測到的一維距離信息轉換成機械臂坐標系下的三維空間點坐標,為此首先要對機械臂末端和激光測距儀之間的坐標變換關系進行標定,該問題被稱為手眼標定問題[10-11]。
針對機械臂末端安裝激光測距儀這類手眼標定問題,目前求解的方法主要是通過求解機械臂在特定幾何約束下運動的閉式解[12-13]。盧科青等[14]提出使用一種標定面方向可調的標定塊和高精度的三坐標測量機對激光束方向進行標定,該方法的主要缺點是需要昂貴的輔助標定設備且對標定塊的加工精度要求高。王勝華等[15]提出定點變位姿手-眼標定方法,該方法多次改變機器人位姿對同一目標點進行測量,利用機器人運動方程和最小二乘原理求解,該方法的優點是原理和實施都很簡單,但主要問題在于實際操作中對同一目標點從多個位姿進行測量,難免引入人為判斷誤差,標定結果的魯棒性難以保證。Zhou 等[16]使用專門設計的含有圓錐面和圓柱面的標定塊,提出一種新的求解串聯測量機和工具中心點(tool centre point,TCP)標定問題的方法,該方法主要適用于短量程的激光測距儀與機械臂末端關系標定。吳聊等[17]使用一種基于單個平面模板的標定方法,并對參數的控制策略提出了定性分析,但是該方法迭代優化環節,沒有利用標定平面的共面性,實際標定結果的魯棒性難以保證。袁康正等[18]應用基于平面和球面模板擬合的標定模型,提出一種近似最優測量姿態和最佳評價指數,來選擇合適的測量姿態,減少非建模誤差和測量誤差對標定結果的影響,該方法雖然提高了抗噪聲能力,但是其標定過程中由于需要對測量姿態的標定效率進行評估,導致實現起來較為復雜。
為此,本文針對安裝了一維激光測距儀的多自由度機械臂的手眼標定問題,設計了采用平面模板進行標定的方法。針對實施存在的測量誤差,提出一種新的關于單平面數據優選的算法來提高標定精度,并進一步提出使用立體正交平面改進標定精度的方法,應用非線性優化方法求解了手眼標定問題。
1 材料和方法
1.1 單平面模板標定方法的數學模型
本文將安裝在多自由度機械臂末端的一維激光測距儀的手眼標定問題歸納為如圖 1 所示的幾何模型,其中 Plane 是一個用于標定的反射平面,稱之為標定平面,要求平面具有良好的平整度,激光在平面上有良好的反射,使激光測距儀可以準確地測量反射點的距離,該平面相對于機械臂坐標系 的空間位置是固定的。假設機械臂末端坐標系為 ,激光測距儀的坐標系為 ,由于 的位置是可以任意指定的,為了便于計算,可以指定 的原點在激光束上,同時在不失一般性的情況下,選取 坐標軸的方向相對于 沒有旋轉只發生平移 r ,定義激光束的方向向量在 中為 v 。其中 r 和 v 就是待標定的手眼變換關系。

如圖 1 所示,在初始位置,設標定平面的單位法向量在 下為 ,在 下激光測距儀發射出的激光束照射到標定平面上的點為 ,激光測距儀測量該點得到的距離值為 ,則在 下標定平面的平面方程可表示為:
${{n}}_{m0}^T{{{x}}_{m0}} + {b_0} = 0 $ |
其中, 為在初始位置從 的原點到標定平面的距離。
機械臂末端發生旋轉和平移后,在第j 位置時,設在 下激光測距儀發射出的激光束照射到標定平面上的點為 ,激光測距儀測量該點得到的距離值為dj ,這時在 下的標定平面的單位法向量為 ,則在 下的標定平面有平面方程:
${{n}}_{mj}^T{{{x}}_{mj}} + {b_j} = 0$ |
其中,bj 為在第j 位置從 的原點到標定平面的距離。
在 下標定平面上的兩點有如下關系:
${{{x}}_{m0}} = {{{R}}_{m0j}}{{{x}}_{mj}} + {{{t}}_{m0j}} $ |
其中, 為 下從第j 位置到初始位置的旋轉矩陣, 為 下從第j 位置到初始位置的平移列向量。
根據 和 的關系,對于照射到標定平面上的點在 下可以表示成:
${{{x}}_{mj}} = {{r}} + {d_j}{{v}} $ |
由前面的式子整理后得到:
${{n}}_{m0}^T{{{R}}_{m0j}}{{r}} + {d_j}{{n}}_{m0}^T{{{R}}_{m0j}}{{v}} + {{n}}_{m0}^T{{{t}}_{m0j}}{\rm{ + }}{b_0} = 0$ |
在式(5)中的未知變量 r 和 v 是標定空間變換關系的關鍵變量,如果能夠確定 r 和 v ,則可完成對機械臂末端和激光測距儀的空間變換關系的標定。同時在式(5)中 、 、 和 等變量也是待求解的,其中 與 可以通過讀取機械臂的空間姿態而計算得到。在得到 和 后,可求解出 r 和 v ,從而完成手眼標定。
1.2 求解旋轉分量 和平移分量
在圖 1 中,記在初始位置,從 相對于 的旋轉矩陣為 ,平移列向量為 。對于激光測距儀發出的激光光束照射在標定平面上的激光點,在 下記為 ,在 下記為 ,則該點從 到 的變換關系為:
$\left[ {\begin{array}{*{20}{c}}{{{{x}}_{b0}}}\\1\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}{{{{R}}_{b0}}}&{{{{t}}_{b0}}}\\{{0}}&1\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{{{x}}_{m0}}}\\1\end{array}} \right]$ |
機械臂末端發生旋轉和平移后,在第j 位置時,激光點從 到 的變換關系為:
$\left[ {\begin{array}{*{20}{c}}{{{{x}}_{bj}}}\\1\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}{{{{R}}_{bj}}}&{{{{t}}_{bj}}}\\{{0}}&1\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{{{x}}_{mj}}}\\1\end{array}} \right]$ |
整理可得:
${{{x}}_{m0}} = {{R}}_{b0}^{ - 1}{{{R}}_{bj}}{{{x}}_{mj}} + {{R}}_{b0}^{ - 1}({{{t}}_{bj}} - {{{t}}_{b0}})$ |
比較式(3)和式(8)可得:
${{{R}}_{m0j}}{\rm{ = }}{{R}}_{b0}^{ - 1}{{{R}}_{bj}}$ |
${{{t}}_{m0j}} = {{R}}_{b0}^{ - 1}({{{t}}_{bj}} - {{{t}}_{b0}})$ |
其中 、 、 和 都可以通過機械臂控制器讀取,故由式(9)(10)可以得到 和 。
1.3 手眼平移關系 和激光光束方向 的標定
假設機械臂的末端只有平移運動,即 ,代入式(5)中可以得到:
${{n}}_{m0}^T{{r}} + {d_j}{{n}}_{m0}^T{{v}} + {{n}}_{m0}^T{{{t}}_{m0j}}{\rm{ + }}{b_0} = 0$ |
當j=0 時,即還未產生相對的旋轉和平移運動,這時的 ,則代入式(11)有:
${{n}}_{m0}^T{{r}} + {d_0}{{n}}_{m0}^T{{v}}{\rm{ + }}{b_0} = 0$ |
由式(11)—式(12)得:
$({d_j} - {d_0}){{n}}_{m0}^T{{v}} = - {{n}}_{m0}^T{{{t}}_{m0j}}$ |
接下來求解式(13),假設令 ,其中 為單位向量,即有等式 ,且有方向約束,其中 軸分量是沿著機械臂末端坐標系的 軸正方向,即 。這樣對于式(13),最少通過2次測量(即初始位置和第j 位置)就可以求出 ,且同時可以求得p。將其結果代回式(13),可以得到 v 的一組約束。
接下來,用同樣的方法,控制機械臂通過旋轉平移復合運動到達一個新的初始位置,采集數據計算得到另外兩組 v 的約束,最后由這三組關于 v 的方程解出激光束方向向量 v 。
為了降低采集數據的各種噪聲和誤差的影響,可以進一步增加采集數據的數量,對多次測量得到的數據,使用最小二乘法計算可得:
${{{n}}_{m0}} \!=\!\! -\! {\left[ {\sum\limits_j {{{{t}}_{m0j}}{{t}}_{m0j}^T{ 1} } } \right]^{ - 1}} \!\! \left[ {\sum\limits_j {{{{t}}_{m0j}}({d_j} - {d_0})} } \right] \! p $ |
其中,j≥2,即需控制機械臂末端至少平移兩次。
在完成對 和 v 的求解后,式(5)中還有 r 和 是未知的。
由式(5)—式(12)得:
$\begin{aligned}\!\! {{n}}_{m\!0}^T({{{R}}_{m0j}} \! \! - \! \! {{I}}){{r}} \!\!+\!\! ({d_j}{{n}}_{m\!0}^T{{{R}}_{m\!0j}} \! \! - \! \! {d_0}{{n}}_{m\!0}^T){{v}} \! \! + \! \! {{n}}_{m\!0}^T{{{t}}_{m\!0j}} \! \! =\! \! 0 \;\;\;\;\;\end{aligned}$ |
在式(15)中只有 r 未知,由于每次測量只能求得一個關于 r 的約束方程,所以至少需要測量三次旋轉平移數據,才能夠將 r 完整解出。至此,可以求解全部待定參數,完成手眼標定。
1.4 單平面模板的改進方法
理想情況下,沒有測量噪聲和運動誤差,標定板絕對平整,前面推導的公式具有閉式解,用單一的標定平面就可以得到精確的手眼標定結果。但是實際系統中存在機械臂的運動誤差、激光測距儀的測量噪聲、標定平面不平整等干擾,為提高手眼標定的精度,可以通過選取合適的數據、增加標定平面的數量和優化算法等改進其性能。
在獲得標定平面數據后,每次先求得使用單平面數據得到的手眼標定參數,給定一個標準評價當前標定參數的精度;再選擇一種原則,淘汰一些數據,期望利用剩下的數據求解手眼參數能得到更高精度,不斷循環迭代,直到符合停止條件。依據這種思路,可以獲得在單個標定平面情況下最優的手眼標定參數。
此外,本文進一步使用三個相互正交的平面分別對激光測距儀和機械臂末端的手眼關系進行標定,如圖 2 所示。取三個平面標定結果的均值及機械臂末端在初始位置時各標定平面的法向量作為非線性優化方法的初值,使用三個標定平面的原始數據,將平面法向量和激光束方向向量的模以及平面法向量的 軸方向大于0等作為約束條件,將采樣點的共面性和閉式解的二范數作為目標函數,如式(16)所示:
$f(x) = {f_1} + {f_2} + {f_3}$ |
其中,x 為自變量, 為與第一標定平面 P1 相關的目標函數, 為與第二標定平面 P2 相關的目標函數, 為與第三標定平面 P3 相關的目標函數,它們有類似的表達式。現只給出 的表達式:
${f_1} = {c_{11}}{f_{11}} + {c_{12}}{f_{12}} + {c_{13}}{f_{13}} + {c_{14}}{f_{14}}$ |
其中 、 、 和 是權重系數, 、 、 和 是第一標定平面 P1 的三組平移和一組旋轉平移數據的最小二乘表達式,它們也有類似的表達式。接下來給出 的表達式:
${f_{11}} = \alpha {\left\| {{{n}}_{m0}^{11} + {{\left[ {\sum\limits_j {{{t}}_{m0j}^{11}{{({{t}}_{m0j}^{11})}^T} } } \right]}^{ - 1}}\left[ {\sum\limits_j {{{t}}_{m0j}^{11}(d_j^{11} - d_0^{11})} } \right]{p^{11}} } \right\|^2} + \beta {\left\| {{{{X}}^{11}} - {{X}}_{fit}^{11}} \right\|^2}$ |
其中 和 為權重系數。式(18)的第一部分是由式(14)變形得到,其突出對單點準確性的約束;第二部分則是對測量點共面性的描述, X 11 為測量得到的點組成的矩陣,即 , 是對 X 11 使用主成分分析方法得到的主平面上對應的點組成的矩陣[19],突出對平面平整性的約束。迭代優化過程是在約束條件下,求式(16)的最小化過程,可以選擇合適的非線性優化算法,比如 L-M 算法[20],求解得到最終的手眼標定參數。使用三個相互正交平面的好處在于:一方面相比于使用單平面標定,它的抗噪聲能力將會得到有效增強;另一方面相比于使用多于三個平面的情況,它是能夠將三維空間各方向都進行有效約束的最少平面數組合,達到標定過程簡便性與標定性能可靠性的有效平衡。

標定完成以后,可以利用安裝在機械臂末端的激光測距儀進行三維表面測量和點云數據重建,當使用激光測距儀測量三維表面上的某個點,由它的距離值dj 和機械臂控制器中的讀數 和 ,就可以從式(4)和(7)推導得到:
${{{x}}_{bj}} = {{{R}}_{bj}}\left( {{{r}} + {d_j}{{v}}} \right) + {{{t}}_{bj}}$ |
從而求得該點在 下的空間坐標值 。如果對某個物體的表面進行逐點的掃描測量,則可以得到該物體表面的一組點云數據。
2 結果
2.1 實驗環境搭建
實驗中選用的機械臂為 6R 型的串聯機械臂(VS060A3,Denso Co. Ltd.,日本,重復精度 0.02 mm),采用 IL-600 激光測量頭及其相應的放大與通信部件 [KEYENCE,日本,有效測量范圍(600±400) mm,重復精度 0.05 mm] 進行測距。使用自制的連結件將激光測距儀固定在機械臂末端法蘭盤上,將自制的立體正交平面(使用有機玻璃搭建而成,其表面覆有亞光灰白色貼膜)放置在一個合適的位置,通過控制機械臂進行規定的運動,使用計算機采集機械臂末端位姿和激光測距的數據,對采集得到的數據使用 Matlab8.3 進行處理。標定實驗環境如圖 3 所示。

2.2 手眼參數求解
使用圖 3 所示意的實驗環境采集標定數據,在實驗中為了使得采集的數據較廣泛地分布在標定平面上,將每個標定平面劃分為 15 個面積近似的區塊,三組平移和一組旋轉平移運動都在每個區塊內采集 1 次,則一個平面共采集 60 個數據點,三個平面總計有 180 個位姿和對應的距離數據,根據第 1.3 節中提到的標定方法,依次求得分別使用 P1、P2、P3 三個平面單獨標定的參數值,即完成手眼標定參數求解。
為了剔除標定平面數據中噪聲較大的點,對于單獨的每個平面數據,每次迭代淘汰掉一個離主平面(由標定平面數據使用主成分分析方法重建得到)最遠的點,直到數據太少不滿足閉式解為止。
受機械臂末端工具標定常采用的四點法的啟發[21],對在循環迭代中產生的每一組手眼標定參數進行評估。方法是將一塊尺寸為 500 mm×500 mm 的平面劃分為 10 個面積近似的區塊,選取每個區塊的中心作為目標點,對每個目標點從 5 個姿態進行測量,利用得到的手眼參數計算各姿態測量得到的空間坐標,并計算每一個目標點坐標值的標準差,求得 10 個目標點標準差均值,這些均值隨迭代過程的變化如圖 4 所示。選擇使得標準差最小的那組手眼參數為該平面標定的最優手眼標定參數,列于表 1。

圖 4 中 10 條不同顏色的曲線依次表示點 S(1)~S(10)。圖 4 不同標定平面 P1、P2 和 P3 的數據依次在第 7、4 和 10 次迭代中取得最小值,其標準差整體上先減小后增大,說明隨著迭代的進行噪聲較大的點(遠離主平面的點)不斷被淘汰掉,手眼參數越來越接近真值,但是隨著迭代進一步地繼續,由于參與標定的數據越來越少,數據點的隨機噪聲對標定結果產生的影響越來越大,故標準差在不斷地增加,直到數據太少不滿足閉式解為止。圖 4 的整體先減后增趨勢表明需要多測量一些冗余數據以降低測量的隨機噪聲的影響,同時也需要對采集的數據進行優選,以提高手眼標定的精度。
最后將前面三組最優標定參數的均值作為初始值,利用 L-M 算法求解式(16),得到對于三個平面來說總體最優的標定參數,因為每一組采集的數據理論上對最終優化的結果具有同等的貢獻,故式(17)其中權重參數 、 、 和 都設置為1,由于每一組的數據都是在同一個平面下采集的,故希望提高共面性的權重,為此式(18)中的權重參數在本次實驗中為 。結果如表 1 所示。表 1 中的 、 和 是 v 在 下的XL 、YL 和ZL 各軸的分量, 、 和 是 r 在 下 、 和 各軸的分量。

2.3 精度驗證實驗與結果
為驗證利用所標定的參數進行三維表面上目標點測量的精度,先使用前面四組手眼標定參數,對被測對象上同一目標點從不同方向進行照射測量,得到各次測量的空間位置并計算標準差,以評估表 1 中各個手眼標定參數的準確度。同時使用激光測距儀和高精度光學測量儀器(Optotrak Certus,Northern Digital Inc,加拿大,三維空間精度 0.1 mm)拾取相同目標點的空間坐標,并以 Optotrak Certus 光學測量儀的結果作為標準來評估手眼系統的測量精度。
2.3.1 手眼標定準確度實驗 為評估手眼標定參數結果的準確度,在一塊大小為 300 mm×400 mm 的平面上使用與 2.2 節相同的方法得到 10 個被測點,使用激光測距儀對每個測量點依次從 5 個不同方向(點所在平面的法向量方向,及與法向量近似成 45° 相互之間依次繞法向量方向相差 90° 的另外 4 個方向)測量,采集得到一組機械臂末端的位姿和激光測距儀的距離數據,再分別使用前面四組手眼標定參數,依據式(19)計算其在 下的空間坐標并計算同一點的重建坐標的標準差,結果如圖 5 所示。對所有測量點使用三個單平面 P1、P2 和 P3 對應的手眼標定參數進行計算,可得單平面方法標定的精度為(1.37±0.24)mm,使用立體正交平面對應的手眼參數計算得到其標定精度為(0.37±0.05)mm。

比較圖 5 中的前三組數據,發現使用單平面方法得到的標定參數經過前面迭代優選之后,其性能基本相當。而四組橫向比較可以發現,使用立體正交平面優化計算的結果最好,能保證在單平面不是很好的情況下優化得到一個最優的結果,相比于單平面標定方法更加準確與穩定可靠。
2.3.2 測量三維點的精確度 為了驗證使用機械臂結合激光測距儀所重建的三維點的精確度,對 2.3.1 節中同一塊平面用相同方法確定 20 個測量點,使用本文方法和 Optotrak Certus 光學測量儀分別測量這 20 個點的空間位置,每個點測量 10 次,取其平均值,再以 Optotrak Certus 光學測量儀的測量結果為標準,將激光測距儀測量重建的結果(使用立體正交平面優化的手眼參數計算得到)剛性配準到 Optotrak Certus 光學測量儀的測量結果,使用留一法計算參考點的配準誤差(fiducial registration error,FRE)和目標點配準誤差(target registration error,TRE)。其結果如圖 6 所示。

在圖 6 中 FRE 均值為 0.24 mm,TRE 的均值為 0.26 mm。圖 6 中不同點的 TRE 值相對于 FRE 有較大的波動,其波動標準差為 0.10 mm。
2.3.3 表面法向量的準確度 對一塊 90 mm×55 mm×45 mm 的長方體鋁塊,在緊鄰的三個平面上每個平面依次采集 15 個點,接著使用主成分分析法求出每個平面的法向量,進而求出相鄰兩個平面的夾角,并與鋁塊平面夾角的理論值(由高精密的加工精度保證)比較,結果如表 2 所示。由表 2 可知,最大的角度誤差不超過 0.4°。

2.3.4 獲取三維表面的點云 為驗證所構建的系統進行三維測量的可行性,對一個基于 CT 掃描重建出的頭顱三維表面進行多點掃描,得到離散的三維坐標點云。實驗中通過編程控制機械臂運動,使激光測距儀對一個頭模型的前額、兩側顳部和頭頂進行掃描,并采集頭模型內部的 13 個驗證點,利用上述立體正交平面標定得到的參數,對拾取的各個測點依據式(19)計算得到在 下三維點的空間坐標值,并與 CT 掃描重建的模型表面在軟件(Cloud Compare)中做了配準,其結果如圖 7 所示。其中藍色點云為激光測量數據,頭模型為 CT 數據重建表面,點到面的距離均值為 0.3 mm,標準差為 0.2 mm。

對圖 8 所示的模型內部 13 個已知位置的驗證點,計算其配準到影像中對應點的誤差,其最小值為 0.76 mm,最大值為 1.96 mm,均值為 1.23 mm,標準差為 0.43 mm。本實驗結果說明了本文方法獲取三維表面點云用于手術機器人注冊配準的可行性,能夠滿足臨床應用的精度需求。

3 討論
在循環迭代求解參數的過程中,對同一個點從 5 個不同方向照射,重建得到該點的 5 個三維坐標點,計算標準差,用所得標準差作為指標對標定參數的優化情況進行評價。該方法的好處在于:不需要知道該點在 下的真實位置,在沒有測量誤差的情況下,求解的手眼標定參數越接近真值,則從 5 個不同方向對該點進行測量,計算得到的坐標值誤差越小。因此可以根據重建點誤差的大小判斷手眼標定結果的好壞,從而剔除標定中測量誤差大的點。
需要注意的是,對于手眼標定參數的求解,在理論上和具體實施中都可以不進行數據優選,直接對從標定平面中采集的點使用非線性優化的算法來求解。但為剔除一些可能存在的測量誤差較大的點(比如激光束太過傾斜照射到標定板上),以便獲得更好的標定結果,建議對覆蓋手術機器人工作空間內的多個目標點從多個角度進行測量。即使對同一個點的測量結果存在一定的人為判斷誤差也沒有關系,因為計算的是這些目標點從多個角度重建的空間坐標的標準差,求解的手眼標定參數越準確,則標準差越小。
在手眼標定準確度實驗中使用的激光測距儀發出的光斑在有效測量范圍之內平均直徑約為 1.6 mm,在實驗中的待測量點的直徑約為 0.8 mm,盡管每次測量時盡量使得激光光斑和被測點的中心重合,但是必定會引入一定量的人為判斷誤差,約為點的半徑,即 0.4 mm 左右。圖 5 中標準差平均最小的一組為最后一組,其均值約為 0.375 mm。可以看出二者為同一量級。由此結果可以看出:如果手眼標定的參數足夠準確,從不同方向照射對測量結果的影響很小。但是在實際應用中為了保證更加準確的測量結果,建議激光光束方向和點所在平面的法向量夾角越小越好,一方面有利于減少由于夾角太大導致光斑呈橢圓形帶來的人為判讀誤差;另一方面根據激光測距儀的三角測距原理可知,光斑越大越偏離圓形,在提取光斑中心時的誤差則越大,導致測量精度下降。
圖 6 中的數據在采集時盡可能地使激光光束方向和待測點所在平面的法向量平行,不論是 FRE 和 TRE 都小于 0.3 mm,說明本方法重建的三維點精度可以滿足手術中定位測量小于 1 mm 的要求。
在本研究的最后給出了一個三維掃描的點云并用于配準的例子,其驗證點的配準誤差不僅與標定的精度及配準有關,還與在圖像中選取驗證點的精度有關,由于模型的 CT 數據層厚為 0.8 mm,故在選取驗證點時會有一定的人為誤差。在具體實施采集數據中為了保證較高的精度,機械臂不能運動太快,所以掃描 1 000 個點左右的數據大概需要 10 min,因此考慮下一步的研究方向是提高每一次采集點的數量,比如使用基于雙目立體視覺、線結構光或面結構光等方法,從而縮短數據采集時間,但是本文提出的這種方法在標定的簡便性和易用性上依然具有優勢。
4 結論
本文針對手術機器人注冊配準遇到的手眼標定問題,對安裝在六自由度機械臂末端的激光測距儀所構成的三維測量系統構建數學模型,利用平面作為標定靶,建立了手眼標定方程。根據實施中存在一定測量誤差的情況,提出采用單平面優選數據提高精度和使用立體正交面改進標定精度的方法,應用非線性優化方法提高標定結果的魯棒性。本文通過實驗評估標定結果的準確性和精度,其能夠滿足手術中定位定向測量精度的要求,最后展示了使用該測量系統對頭模型掃描的結果,可以正確獲取表面的三維點云數據,驗證了本文方法的有效性。