陳光彪,付莊,張鐵鋒,沈運(yùn),王堯,施韋伊,費(fèi)健
(1.上海交通大學(xué)機(jī)械系統(tǒng)與振動國家重點(diǎn)實(shí)驗(yàn)室,200240,上海;2.上海市寶山區(qū)大場醫(yī)院,200436,上海;3.上海交通大學(xué)醫(yī)學(xué)院附屬瑞金醫(yī)院,200025,上海)
經(jīng)皮穿刺作為一種微創(chuàng)介入手術(shù),具有創(chuàng)傷小、靶向性強(qiáng)等優(yōu)點(diǎn)[1-3],被廣泛應(yīng)用于人體組織活檢及藥物定向治療等場合[4]。近年來,為了提高經(jīng)皮穿刺手術(shù)的精度并且改善醫(yī)生繁重且充滿X射線輻射的徒手穿刺操作,機(jī)器人輔助穿刺技術(shù)逐漸得到了更多的研究和實(shí)際臨床應(yīng)用[5-12]。機(jī)器人輔助穿刺包括病灶區(qū)域定位、穿刺針定位、穿刺針路徑規(guī)劃和穿刺進(jìn)給等步驟,其中,病灶區(qū)域和穿刺針的定位是穿刺中的關(guān)鍵技術(shù),是保證穿刺精度的基礎(chǔ)。
目前流行的病灶定位方式是通過商用的高精度無框架式立體定位系統(tǒng),如電磁、光學(xué)等定位系統(tǒng)[13-15],對機(jī)器人坐標(biāo)系與CT坐標(biāo)系的變換關(guān)系進(jìn)行自動或半自動標(biāo)定,從而實(shí)現(xiàn)病灶點(diǎn)在機(jī)器人坐標(biāo)系下的定位。但是,商用定位系統(tǒng)一方面價格昂貴且對手術(shù)室有特殊要求,另一方面安裝、操作復(fù)雜,操作者學(xué)習(xí)成本高,而穿刺針的術(shù)前定位則是基于遠(yuǎn)端運(yùn)動中心(remote center of motion,RCM)機(jī)構(gòu)實(shí)現(xiàn)[6,16],可機(jī)械式地保證穿刺針針尖繞進(jìn)針點(diǎn)轉(zhuǎn)動,從而調(diào)整穿刺針姿態(tài)至指向病灶點(diǎn),但RCM機(jī)構(gòu)結(jié)構(gòu)復(fù)雜并且標(biāo)定費(fèi)時費(fèi)力。
為了解決上述問題,本文在不借助外界定位系統(tǒng)的情況下,利用坐標(biāo)變換理論建立病灶區(qū)域定位方法,并搭建機(jī)器人輔助穿刺系統(tǒng)對該定位方法加以驗(yàn)證。本文病灶定位方法根據(jù)3個不共線標(biāo)記點(diǎn)在CT坐標(biāo)系及機(jī)器人坐標(biāo)系下的坐標(biāo),求解出2個坐標(biāo)系之間的坐標(biāo)變換矩陣,然后將CT坐標(biāo)系下病灶點(diǎn)映射至機(jī)器人坐標(biāo)系下,從而快速精確地實(shí)現(xiàn)病灶點(diǎn)在機(jī)器人坐標(biāo)系下的定位。在此基礎(chǔ)上,結(jié)合機(jī)器人運(yùn)動學(xué),通過軟件方法設(shè)計(jì)RCM結(jié)構(gòu)可實(shí)現(xiàn)的穿刺針的全向定位,即讓穿刺針保持指向病灶位置的姿態(tài),通過穿刺針的全向定位,可快速地確定安全、合適的進(jìn)針點(diǎn)和穿刺針角度。除特殊說明,本文所述機(jī)器人坐標(biāo)系均指機(jī)器人基座坐標(biāo)系。
(1)
圖1 病灶定位實(shí)現(xiàn)流程圖
當(dāng)患者平躺在CT床上進(jìn)行CT掃描時,先在患者體表選取不共線的3點(diǎn)M1、M2、M3并貼上磁片作為標(biāo)記點(diǎn)。然后,利用M1、M2、M3這3個標(biāo)記點(diǎn)建立過渡坐標(biāo)系M1-XMYMZM,如圖2所示:以M1為原點(diǎn);以點(diǎn)M1指向點(diǎn)M2的向量DM1M2為XM軸正方向,其單位矢量為e1;以向量DM1M2與由點(diǎn)M1指向點(diǎn)M3的向量DM1M3的向量積為ZM軸正方向,其單位矢量為e3;以e3與e1的向量積為YM軸正方向,其單位矢量為e2。{e1,e2,e3}在CT坐標(biāo)系OC-XCYCZC下的坐標(biāo)表示分別為
(2)
式中:|·|表示向量的模;
(3)
(4)
將{e1,e2,e3}在CT坐標(biāo)系OC-XCYCZC下的坐標(biāo)表示簡記為
(5)
圖2 標(biāo)記點(diǎn)及過渡坐標(biāo)系示意圖
由于{e1,e2,e3}是過渡坐標(biāo)系M1-XMYMZM的3個坐標(biāo)軸方向上的單位向量,根據(jù)式(5)可以確定過渡坐標(biāo)系M1-XMYMZM到CT坐標(biāo)系OC-XCYCZC的旋轉(zhuǎn)變換矩陣表示為[19]
(6)
同理可得過渡坐標(biāo)系M1-XMYMZM到機(jī)器人坐標(biāo)系OR-XRYRZR的旋轉(zhuǎn)變換矩陣為
(7)
(8)
(9)
基于前文病灶中心f在機(jī)器人坐標(biāo)系下的坐標(biāo),開展對穿刺針的全向定位方法的研究。首先,本文所述穿刺針的全向定位,指的是在穿刺針針尖與病灶區(qū)域中心保持一定距離r的情況下,盡管對穿刺針的穿刺角θ和方位角β有所調(diào)整,但穿刺針始終保持指向病灶區(qū)域中心f的姿態(tài),即病灶中心f與穿刺針始終保持共線。
圖3 穿刺針全向定位模型
如圖3所示的穿刺針全向定位模型中,NtopNtip表示穿刺針,其長度為l,其中Ntip為穿刺針的針尖,Ntop為穿刺針頂端。并且針尖Ntip與病灶中心f的距離為r,即針尖Ntip始終位于以病灶中心f為球心,半徑為r的球面上。以病灶中心f為原點(diǎn)建立局部坐標(biāo)系Of-XfYfZf,其3個坐標(biāo)軸的方向分別與CT坐標(biāo)系OC-XCYCZC的坐標(biāo)軸方向保持同向。N1,N2分別為針尖Ntip在Zf軸和OfXfYf平面的投影點(diǎn)。由點(diǎn)Of指向點(diǎn)Ntip的向量DOfNtip與Zf軸正向之間的夾角θ定義穿刺針的穿刺角,由點(diǎn)Of指向點(diǎn)N2的向量DOfN2與Xf軸正向之間的夾角β定義為穿刺針的方位角。
因此,針尖Ntip、穿刺針頂端Ntop在坐標(biāo)系Of-XfYfZf下的坐標(biāo)表示分別為
(10)
(11)
(12)
(13)
因此,針尖Ntip、穿刺針頂端Ntop在坐標(biāo)系OR-XRYRZR下的坐標(biāo)表示分別為
(14)
(15)
當(dāng)穿刺針處于全向模式時,由式(14)(15)可以求出此時針尖Ntip、穿刺針頂端Ntop在坐標(biāo)系OR-XRYRZR下的坐標(biāo),從而可以確定此時穿刺針在機(jī)器人坐標(biāo)系下的位置和姿態(tài)。最后,根據(jù)輔助機(jī)器人的逆運(yùn)動學(xué)的求解結(jié)果控制機(jī)器人使穿刺針到達(dá)對應(yīng)位姿,從而實(shí)現(xiàn)穿刺針的全向定位。全向定位的意義在于可方便地調(diào)整穿刺針的穿刺角和方位角以規(guī)避穿刺路徑中的重要組織和器官,為安全進(jìn)針點(diǎn)、穿刺角度的確定以及穿刺針的路徑規(guī)劃提供便利。
3.1.1 實(shí)驗(yàn)設(shè)備 實(shí)驗(yàn)設(shè)備主要包括CT機(jī)、UR3機(jī)械臂、患者模型(含標(biāo)記點(diǎn)和病灶)以及剛性穿刺針等。實(shí)驗(yàn)中使用的CT機(jī)由上海市寶山區(qū)大場醫(yī)院提供,型號為SIEMENS SOMATOM Emotion,是目前國際先進(jìn)的16層螺旋CT機(jī),如圖4a所示;使用的輔助穿刺機(jī)器人為UR3機(jī)械臂,具有6個自由度,其末端同軸安裝剛性穿刺針,如圖4b所示。
(a)SIEMENS CT機(jī) (b)UR3輔助穿刺機(jī)械臂圖4 實(shí)驗(yàn)設(shè)備圖
如圖5所示,實(shí)驗(yàn)中用規(guī)則的硬紙箱代表患者,在紙箱的上表面取3個點(diǎn)A、B、E以及側(cè)面取2個點(diǎn)C、D作為標(biāo)記點(diǎn)并貼上磁片。在活體實(shí)驗(yàn)時,可以在活體皮膚等相對位置較為固定的地方貼上3個不共線的磁片作為標(biāo)記點(diǎn)。在紙箱內(nèi)部安裝螺栓,以螺栓末端中心點(diǎn)作為病灶位置,如圖5a所示。其中,在紙箱內(nèi)部安裝有3個不同高度的螺栓,其末端中心點(diǎn)H、M和L分別代表3個不同的病灶位置。
(a)三維模型示意圖 (b)實(shí)物圖圖5 病灶區(qū)域及標(biāo)記點(diǎn)分布圖
病灶定位方法驗(yàn)證實(shí)驗(yàn)主要包括標(biāo)記點(diǎn)及病灶位置在CT以及機(jī)器人坐標(biāo)系下坐標(biāo)的獲取2部分。因?qū)嶒?yàn)條件有限,本實(shí)驗(yàn)中CT機(jī)未和UR3機(jī)械臂組成穿刺系統(tǒng),其中CT坐標(biāo)系下坐標(biāo)的獲取在醫(yī)院利用CT機(jī)完成,而機(jī)器人坐標(biāo)系下坐標(biāo)的獲取利用實(shí)驗(yàn)室UR機(jī)器人完成,但是并不影響實(shí)驗(yàn)數(shù)據(jù)的有效性以及病灶定位方法在活體實(shí)驗(yàn)中CT系統(tǒng)與機(jī)器人系統(tǒng)構(gòu)成在線穿刺系統(tǒng)下的適用性。
3.1.2 CT坐標(biāo)系下坐標(biāo)的獲取 由于本實(shí)驗(yàn)所使用的CT機(jī)沒有系統(tǒng)坐標(biāo)系,因此需外部建立CT坐標(biāo)系。如圖5所示,以紙箱內(nèi)腔的一個頂點(diǎn)為OC原點(diǎn),其所在的3條棱為坐標(biāo)軸建立CT坐標(biāo)系OC-XCYCZC,其中坐標(biāo)軸OCXC的方向與CT床的運(yùn)動方向平行?;铙w實(shí)驗(yàn)中,CT坐標(biāo)系可以是CT系統(tǒng)自帶的坐標(biāo)系或按此方法在外部物體上建立。
利用CT機(jī)對紙箱進(jìn)行CT掃描,得到一系列如圖6所示的沿坐標(biāo)軸OCXC方向的等距離CT掃描圖,且前后2張CT圖的間距為5 mm,并將首次出現(xiàn)平面OCYCZC的CT圖的序號設(shè)定為1。
標(biāo)記點(diǎn)A在CT坐標(biāo)系下坐標(biāo)的獲取方法如下:①序號1的CT圖的x軸坐標(biāo)為0,標(biāo)記點(diǎn)A出現(xiàn)在如圖6所示的CT圖中,該CT圖序號為3,因此A的x軸坐標(biāo)為10 mm;②通過CT圖像分析軟件提供的比例尺、測距功能來提取A的Y軸、Z軸坐標(biāo),分辨率為1 mm。如圖6所示,沿紙箱內(nèi)邊做出平面OCYCZC以及A點(diǎn)在YC軸和ZC軸上的垂足AZ和AY,測距得到線段AAZ和AAY的長度分別為20 mm和147 mm,故A點(diǎn)的Y軸、Z軸坐標(biāo)分別為20 mm和147 mm。
依照標(biāo)記點(diǎn)A的方法,可分別得到其他標(biāo)記點(diǎn)B、C、D、E以及3個病灶位置L、M、H在CT坐標(biāo)系下的坐標(biāo),如表1所示。
(a)A點(diǎn)所在的CT圖
(b)CT下A點(diǎn)坐標(biāo)獲取操作圖圖6 CT坐標(biāo)系下A標(biāo)記點(diǎn)坐標(biāo)獲取方法
坐標(biāo)標(biāo)記點(diǎn)ABCDE病灶位置LMHx/mm10110609020505050y/mm20120-10-10150150130120z/mm1471478020147396376
注:x軸坐標(biāo)分辨率為5 mm;y、z軸坐標(biāo)分辨率均為1 mm。
3.1.3 機(jī)器人坐標(biāo)系下坐標(biāo)的獲取及定位結(jié)果 標(biāo)記點(diǎn)及病灶點(diǎn)在UR3機(jī)械臂坐標(biāo)系下的坐標(biāo)利用“針尖觸碰法”采集,具體包含以下步驟:
(1)測量穿刺針針尖到機(jī)械臂末端法蘭端面的距離l=401 mm,將針尖設(shè)置為機(jī)械臂的工件中心點(diǎn)(TCP),其位置相對默認(rèn)TCP的偏置值為(0,0,401) mm,姿態(tài)保持默認(rèn)值,機(jī)械臂默認(rèn)的TCP點(diǎn)為端面法蘭中心;
(2)控制機(jī)械臂運(yùn)動使得針尖依次觸碰各標(biāo)記點(diǎn)及病灶位置,并從機(jī)器人控制界面讀取此時針尖在機(jī)器人坐標(biāo)系下的坐標(biāo)即為對應(yīng)標(biāo)記點(diǎn)或病灶位置在機(jī)器人坐標(biāo)系下的坐標(biāo)。
因此,將紙箱放置在機(jī)器人坐標(biāo)系下,利用上述“針尖觸碰法”可分別得到標(biāo)記點(diǎn)A、B、C、D、E以及3個病灶位置L、M、H在機(jī)器人坐標(biāo)系下的坐標(biāo)。通過3個標(biāo)記點(diǎn)和不同病灶位置點(diǎn)的不同組合方式,進(jìn)行了多組對比實(shí)驗(yàn)。第1組實(shí)驗(yàn)是選取A、B、C這3個標(biāo)記點(diǎn),分別對3個病灶位置L、M、H進(jìn)行定位,所記錄的坐標(biāo)數(shù)據(jù)如表2所示,病灶位置的定位結(jié)果如表3所示。第2組實(shí)驗(yàn)固定病灶位置為M,依次選取A-B-C、A-B-E以及A-C-D這3組標(biāo)記點(diǎn)進(jìn)行定位實(shí)驗(yàn),所記錄的坐標(biāo)數(shù)據(jù)如表4所示,病灶M的定位結(jié)果如表5所示。
表2 標(biāo)記點(diǎn)及病灶位置在機(jī)器人坐標(biāo)系下的真實(shí)坐標(biāo)
表3 A-B-C標(biāo)記點(diǎn)組合下病灶位置L、M、H的定位結(jié)果
注:各方向絕對定位誤差為各方向坐標(biāo)預(yù)測值與真實(shí)值之差的絕對值,總定位誤差為各方向絕對定位誤差平方和的算術(shù)平方根。
表4 3組標(biāo)記點(diǎn)組合中各標(biāo)記點(diǎn)及病灶M在機(jī)器人坐標(biāo)系下的真實(shí)坐標(biāo)
表5 3組標(biāo)記點(diǎn)組合下病灶M的定位結(jié)果
此外,以表4中A、B、C、D、E標(biāo)記點(diǎn),M病灶位置為例,對本文基于3個標(biāo)記點(diǎn)病灶定位方法和基于4個、5個標(biāo)記點(diǎn)的最小二乘法的定位精度進(jìn)行比較,其中A-B-C組合采用本文病灶定位方法,A-B-C-E及A-B-C-D-E組合采用最小二乘定位法,結(jié)果如表6所示。
由表6可知,隨著標(biāo)記點(diǎn)的增加,基于最小二乘定位方法定位誤差逐漸降低。本文病灶定位方法與基于5個標(biāo)記點(diǎn)的最小二乘定位方法定位精度相近,但定位效率約提升40%。
表6 本文定位方法和最小二乘定位方法的定位誤差
由表3、表5的數(shù)據(jù)可以看出:本文建立的病灶定位方法誤差在3 mm以內(nèi),其中表5中標(biāo)記點(diǎn)組合3(A-C-D)定位誤差較大,這是因?yàn)闃?biāo)記點(diǎn)A、C、D的位置接近一條直線,矩陣存在病態(tài)。因此,選取標(biāo)記點(diǎn)時應(yīng)避免標(biāo)記點(diǎn)分布在一條直線上及其附近區(qū)域,這一點(diǎn)在臨床上是容易滿足的;或者通過增加標(biāo)記點(diǎn)數(shù)量,通過其中3個標(biāo)記點(diǎn)的不同組合來減小因某3個標(biāo)記點(diǎn)共線造成的過大的定位誤差。
實(shí)驗(yàn)的誤差來源主要包括定位方法的計(jì)算誤差、機(jī)器人運(yùn)動控制誤差以及穿刺針變形、末端針尖抖動等外部因素造成的誤差3個部分。
ein=
(16)
以表2記錄的第1組實(shí)驗(yàn)中標(biāo)記點(diǎn)的坐標(biāo)數(shù)據(jù)為例,計(jì)算得到定位方法的計(jì)算誤差如表7所示。由表7及式(16)可知:基于3個不共線標(biāo)記點(diǎn)的病灶定位方法的計(jì)算誤差為各點(diǎn)計(jì)算誤差的均值,約為1.43 mm。因此,在保證一定精度的情況下,該病灶定位方法可以快速實(shí)現(xiàn)病灶區(qū)域的定位。
3.2.2 機(jī)器人運(yùn)動控制誤差 本實(shí)驗(yàn)所用UR3機(jī)械臂的運(yùn)動控制采用位置型阻抗控制方法:由機(jī)械臂末端的剛度系數(shù)矩陣、阻尼系數(shù)矩陣、位置偏差、速度偏差及雅可比矩陣得到各關(guān)節(jié)力矩控制量并求解關(guān)節(jié)動力學(xué)方程得到關(guān)節(jié)實(shí)際角度和速度,利用正運(yùn)動學(xué)和雅可比矩陣將其轉(zhuǎn)換為末端實(shí)際位置和速度并負(fù)反饋至末端期望位置和速度得到位置偏差和速度偏差。其中,動力學(xué)方程中慣量、阻尼等參數(shù)利用最小二乘法辨識。
因此,運(yùn)動控制誤差主要包括動力學(xué)參數(shù)辨識誤差以及基于偏差的負(fù)反饋控制方法的誤差。綜合而言,本實(shí)驗(yàn)所用UR3機(jī)械臂的控制誤差為0.1 mm。
3.2.3 穿刺針變形、抖動等外部因素 在針尖觸碰獲取標(biāo)記點(diǎn)及病灶位置在機(jī)器人坐標(biāo)系下的坐標(biāo)的過程中,針尖抖動及穿刺針變形都會使坐標(biāo)數(shù)據(jù)存在誤差。此外在臨床穿刺手術(shù)中,由患者呼吸等引起的病灶、標(biāo)記點(diǎn)的抖動也會造成標(biāo)記點(diǎn)和病灶相對位置的不穩(wěn)定性。這些外部因素都會給病灶定位帶來誤差。為了有效減小由外部因素造成的誤差,進(jìn)行病灶定位時,可以在患者皮膚表面加裝緊固裝置以及使用剛度更高的穿刺針。
根據(jù)表3,當(dāng)標(biāo)記點(diǎn)組合為A-B-C時,病灶位置M在機(jī)器人坐標(biāo)系下的預(yù)測坐標(biāo)為(528.96,-325.92,619.34) mm。以病灶M為例,介紹穿刺針全向定位在UR機(jī)械臂下的一種實(shí)現(xiàn),具體步驟如下。
(1)設(shè)定全向定位模式下進(jìn)針點(diǎn)即針尖Ntip與病灶位置M的安全距離r=150 mm;與穿刺針共線且遠(yuǎn)離機(jī)器人處的一虛擬點(diǎn)M′,M′點(diǎn)與針尖的距離為r。將虛擬點(diǎn)M′設(shè)置為機(jī)械臂的TCP點(diǎn),依據(jù)安全距離r與針尖到機(jī)械臂末端法蘭端面的距離l=401 mm,將其位置相對默認(rèn)TCP的偏置值定為(0,0,551) mm,姿態(tài)保持默認(rèn)值。
(2)控制機(jī)械臂運(yùn)動使得機(jī)械臂TCP點(diǎn)在機(jī)器人坐標(biāo)系下的坐標(biāo)為M的預(yù)測值,即與預(yù)測的病灶位置重合。
(3)控制UR機(jī)械臂保持TCP點(diǎn)的位置不變,通過改變TCP點(diǎn)的姿態(tài)來調(diào)節(jié)穿刺針的穿刺角θ及方位角β,從而實(shí)現(xiàn)穿刺針的全向定位。
活體實(shí)驗(yàn)時,安全的穿刺角θ及方位角β需結(jié)合CT影像中組織器官的分布及CT坐標(biāo)系綜合確定。假設(shè)安全穿刺角θ=10°,安全方位角β=45°,由式(14)(15)可得此時安全進(jìn)針點(diǎn)即針尖Ntip在機(jī)器人坐標(biāo)系下的坐標(biāo)為(554.75,-322.40,471.62) mm,穿刺針頂端Ntop在機(jī)器人坐標(biāo)系下的坐標(biāo)為(623.69,-313.01,76.70) mm,從而可確定安全的進(jìn)針點(diǎn)和進(jìn)針方向。
表7 本文病灶定位方法的計(jì)算誤差(以第1組實(shí)驗(yàn)為例)
(1)基于3個不共線標(biāo)記點(diǎn)建立了病灶定位方法,在此基礎(chǔ)上結(jié)合機(jī)器人運(yùn)動學(xué),利用軟件方法提出了一種穿刺針的全向定位技術(shù);利用UR機(jī)械臂搭建了輔助穿刺系統(tǒng),并進(jìn)行了病灶定位的驗(yàn)證實(shí)驗(yàn),同時利用UR機(jī)械臂實(shí)現(xiàn)了穿刺針的全向定位。
(2)在不借助外部定位系統(tǒng)的情況下,病灶定位誤差在3 mm以內(nèi),與基于5點(diǎn)的最小二乘定位法精度相當(dāng),但定位效率提高約40%,其中定位方法自身的計(jì)算誤差約為1.43 mm,驗(yàn)證了該方法的有效性和準(zhǔn)確性,可為穿刺手術(shù)提供良好的精度基礎(chǔ)。
(3)在臨床病灶定位中,采用緊固裝置或使用剛度更高的穿刺針等改進(jìn)措施,可減小患者呼吸、針尖抖動以及穿刺針變形等因素對標(biāo)記點(diǎn)及病灶點(diǎn)坐標(biāo)數(shù)據(jù)穩(wěn)定性的影響,從而保證病灶定位精度。