孫夢哲 詹詩薇 韓文卿 陳驍俊 MOOI WEI JUN 陳偉 邱曉慧 ZIN MAR AUNG 唐榮高 柴崗
整形手術除了安全之外,精確是其重要內容[1]。在依靠經驗及直覺的傳統手術基礎上,近年來涌現出許多導航參與的提高手術精確度的方法,如手術導板引導截骨線以及基于夾板與標志板的光學導航等[2-4]。但前者對術野的暴露范圍有更高的要求且受軟組織影響較大,后者存在設備不夠輕巧及遮擋術野的問題[5]。磁導航以其靈巧輕便的裝置特點,在顱頜面整形外科手術的臨床應用中具有巨大潛力[6]。
增強現實(AR)技術也是近些年的熱點,增強現實系統把術前在計算機內規劃的手術方案疊加顯示在手術真實的視野中,指導手術過程[7]。但是,在虛擬圖像的投射和按照視覺圖像信息執行手術操作過程中,不可避免地會出現誤差以及反應時間上的延遲[8]。此外,投影設備所占空間也是手術中的一個不利因素。
外科手術中,機器人參與執行手術也是降低與術前規劃之間的誤差,減少手術創傷,縮短手術時間的有效方法。比如:腔鏡手術機器人可以用人手無法達到的關節靈活度快速高效地完成手術,同時通過細顫過濾降低手術誤差[9];骨科手術機器人在高應力條件下對精度的把控遠超傳統的徒手截骨[10]。
本實驗由機器人執行截骨平面鉆孔操作,省去術中呈現術前規劃并覆蓋于真實術野,以及按照該結果進行截骨的過程,可減少人為誤差,節省系統所需費用,并降低設備體積。考慮到安全性與實際術中的可行性,我們首先使用MATLAB軟件進行仿真模擬與手術預演,具體報道如下。
選取上海交通大學醫學院附屬第九人民醫院整復外科11例頦部前移手術患者的影像學數據,在CT三維平掃之后,將患者的影像學數據以DICOM格式保存。具體的掃描參數如下:Light Speed 16排螺旋CT(GE公司,美國)進行頭顱掃描(5 mm體積掃描),球管電流180 mA,電壓120 KV,矩陣512×512,厚0.625 mm,薄層三維重建。
在三維重建軟件(Mimics15.0,Materialise公司,比利時)中,導入患者的DICOM數據,利用CT的閾值將患者的下頜骨進行分離,以STL格式保存,并進行三維打印(Projet 660,3Dsystem,美國)。截骨方案設計:在該顱頜骨數據中,根據下頜孔到頦孔的閾值進行下牙槽神經的標記,由Frankling水平面和鼻根-蝶鞍-鼻基點垂直面進行擺正,在距離頦點下方4 mm并保證神經安全的情況下設計相應的截骨平面,并在截骨平面上按照相應的角度設計鉆孔路徑的引導方案(圖1)。
本實驗中,我們使用優傲機器人UR5來完成實驗(UR5,Universal Robot公司,丹麥)。 UR5 機器人可通過編程來移動工具,并使用電信號與其他機器進行通信。它是由擠壓鋁管和關節組成的手臂,在實際操作過程中可使用自帶編程界面 PolyScope,用戶可輕松對機器人進行編程,使其沿著所需的運動軌跡來移動工具。
基于MATLAB的建模,包括手術環境的搭建、機器人本體與末端的建模。該實驗中采用了UR5機器人的數據,并將機器人各關節之間幾何關系用DH參數表表述。D-H參數法即在每一個機械臂的關節上建立直角坐標系的矩陣方法。
根據術前規劃在控制軟件中選擇鉆孔路徑,把打孔路徑的起始點與終末點進行標記,即設置打孔路徑,然后拖動機器人末端執行器根據軌跡完成打孔,按照初始點-移至打孔路徑起始點及位資調整-沿路徑打孔至終末點-退回起始點-平移至下一打孔路徑起始點及位姿調整-循環上述打孔過程,停止后末端執行器離開手術環境。在此過程中,導航系統實時追蹤手術打孔的位置和方向實行導航監控,即通過機器人通訊的接口,實時接收機器人末端執行器的位置與角度信息,呈現于機器人控制軟件界面,當位姿誤差超過一定值后可手動啟動機械臂急停制動。
UR5機器人是有6個旋轉軸(自由度)的關節型機器人,其每一個關節的旋轉度均為360°(圖2)。
本實驗采用UR5機器人的數據,并將機器人各關節之間幾何關系用D-H參數表表述(圖3)。通過該表描述相鄰連桿關節坐標系的關系,以此定義各關節的坐標系,分析出機器人的結構,然后獲取DH參數表用于在MATLAB環境下進行建模(圖4)。
在MATLAB軟件環境下,利用 MATLAB ROBOICS仿真工具箱,根據以上D-H參數表使用Link()程序建立連桿,再用Robot()程序將連桿相連建模機械臂構建六自由度UR5機器人對象模型,命令如下:
L1=Link([0 0.89459 0 1.570796 0]);
L2=Link([0 0-0.425 0 0]);
L3=Link([0 0-0.39225 0 0]);
L4=Link([0 0.10915 0 1.570796 0]);
L5=Link([0 0.09465 0-1.570796 0]);
L6=Link([0 0.0823 0 0 0]);
robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','UR5');
D-H參數確定步驟如下:首先確定UR5機器人自由度為n=6,設定沿著Za軸移動距離d。d是代數變量,可正可負,設定Xa軸繞Za軸旋轉θ角度,得到Xb軸,然后沿Xb方向移動距離a,移動后坐標原點到達關節B的中心。由此可確定Xb軸的方向,Za軸繞Xb軸旋轉α角度,確定Z軸的方向。隨后重復直到6軸全部確定得到機械臂模型參數,即DH參數。UR5機器人的正運動學:機械臂的正向比于其他語言軟件,使完成相同的工作流程更加簡捷;并且MATLAB主要面對科學計算、可視化以及交互式程序設計的高科技計算環境,具有方便的數據可視化功能,圖形處理便捷高效,可用于科學計算和繪圖。本實驗選用MATLAB進行機械臂模擬以及對機器人運動路徑仿真,是因為其具有完備的圖形處理功能,還能實現計算結果和編程的可視化,將向動學是指己知各關節的參數,求末端執行器相對于基坐標系的位姿,其反映的是由關節空間向工作空間的映射關系。根據所求D-H參數,指定關節角為θ=[0,0,0,0,0,0]。通過MATLAB軟件求得正解末端執行器位姿P。機械臂的逆運動學是指已知末端執行器的位姿,通過末端執行器到達此位姿時各個關節形成的關節變量的大小。實質上是求位姿運動的反解,是從笛卡爾空間到關節空間的映射。在實現機器人末端有效控制環節逆運動學求解占有非常重要的位置。一般情況下,機器人的工作任務是在笛卡爾坐標系中表示的,從末端執行器運動控制到模擬軌跡規劃都需要逆運動學求得關節角,證實該機械臂可行性同時實現具體的控制,在MATLAB環境下通過程序指令可求得逆解,指令如下:q=robot.ikine(p)(圖 5)。

圖1 術前設計方案Fig.1 Preoperative design

圖4 實驗平臺建模示意圖(RoboDK)Fig.4 Experimental platform modeling schematic(RoboDK)

圖2 UR機器人結構Fig.2 Structure of UR robot

圖3 UR5機器人D-H參數Fig.3 D-H parameters of UR5 robot

圖5 手術軌跡仿真截圖(局部放大圖),機器人手臂夾持鉆頭沿術前設計軌跡自動鉆孔Fig.5 Partial enlarged screenshot of surgical trajectory simulation,automatic drilling along the preoperative designed trajectory with the drill bit clamped by the robot arm
基于影像學數據,進行個性化手術方案的精確設計已在臨床廣泛使用。使用手術導板或各式導航設備可幫助執行精確操作,以實現規劃的手術效果。相比于傳統依靠經驗的術式,在精準性和手術效率上都有提高。
本實驗計劃在軟件中進行手術軌跡仿真預演后,由機器人執行截骨鉆孔。機器人自動定位打孔在消除人為誤差、提高精確度的基礎上,可有效縮短手術時間與創面暴露時間,利于減少術中出血,降低感染風險,可降低術后疼痛感,恢復更快。簡潔的設備組成使操作簡便,降低了出錯幾率,可最大限度地降低術中誤差。
用MATLAB來解決數學問題和建立坐標系相量和矩陣用圖形表現出來,作圖包含二維和三維圖像,可以使圖像可視化、對圖像進行處理、用動畫的方式表達軌跡等;而且在開發環境中,使用者可以方便地控制多個文件和圖形窗口。編程方面支持函數嵌套和條件中斷等,為前期編程和程序修改提供便捷。
MATLAB軟件環境下進行手術規劃與仿真模擬,預演證實可行性后,由多自由度機器人機械臂執行操作,相較于組成結構復雜、末端負荷大的設備系統,不僅靈活性好,也擁有更高的精確度,且尤為適用于術野較小的手術(如顱頜面手術等)。通過手術仿真,可以提前預測機械臂執行操作中動作是否順暢、連貫,沿預設路徑是否發生與手術床和術者的阻擋。手術仿真的意義在于保障機械臂執行操作的可行性,提高機器人參與手術的安全性。
雖然目前仍未真正實行機器人操作,但在證明其可行性后,模型實驗、動物實驗甚至臨床實驗就有了實現的可能。我們希望在解決機械臂的承受力問題后,使完全由機器人執行截骨手術成為可能。