單麗君,張峰
(大連交通大學(xué) 機械工程學(xué)院,遼寧 大連 116028)
脊柱外科手術(shù)是一種高風(fēng)險手術(shù),手術(shù)中稍有差錯就可能導(dǎo)致患者癱瘓甚至死亡.以往脊柱外科手術(shù)都是手動執(zhí)行的,由于手術(shù)時間長,會引起外科醫(yī)生的疲勞,而降低手術(shù)質(zhì)量.隨著微創(chuàng)技術(shù)(MIS)的出現(xiàn),手術(shù)的精準度和安全性得到了較大的提高.脊柱微創(chuàng)手術(shù)是在機器人的輔助下,通過幾個小切口或穿刺部位進行的手術(shù),手術(shù)切口直徑不到一英寸,減少組織創(chuàng)傷和恢復(fù)時間.研制高精度脊柱手術(shù)機器人成為了當(dāng)今的熱點.
國外脊柱手術(shù)機器人發(fā)展比較快,出現(xiàn)了一些成形的產(chǎn)品.澳大利亞ARC Seiberdor實驗室開發(fā)了兩代經(jīng)皮穿刺系統(tǒng)機器人,分別命名為B-Rob1和B-Rob2.以色列MAZOR公司已經(jīng)推出了一個并聯(lián)機器人Spine Assist幫助外科醫(yī)生協(xié)助脊柱手術(shù),目前已經(jīng)投入臨床實用.德國開發(fā)的WISA RoMed的脊柱手術(shù)機器人是由SCARA串聯(lián)手臂加stewart并聯(lián)機器人構(gòu)成的[1].國內(nèi)的脊柱手術(shù)機器人發(fā)展比較滯后,研發(fā)單位較少,鄭州大學(xué)研發(fā)了一款引導(dǎo)腰椎弓跟置針脊柱手術(shù)機器人.中科院沈自所與第三軍醫(yī)大學(xué)聯(lián)合開發(fā)了中國第一臺遙控操作的脊柱微創(chuàng)手術(shù)機器人[2].這兩款脊柱手術(shù)機器人都是6自由度的,還處于研究階段,沒有投入臨床應(yīng)用.從先進性來看國內(nèi)脊柱手術(shù)機器人與國外脊柱手術(shù)機器人存在較大的差距,依然有很大的發(fā)展空間.本文依據(jù)脊柱手術(shù)原理設(shè)計了一款7自由度串聯(lián)脊柱手術(shù)機器人.
脊柱手術(shù)機器人結(jié)構(gòu)如圖1所示,機器人可以按照醫(yī)生的指令達到工作空間的任意位置.機器人具有與2個直線移動關(guān)節(jié)和5個旋轉(zhuǎn)關(guān)節(jié).其中,直線移動關(guān)節(jié)用于粗調(diào)機械臂的末端點高度,實現(xiàn)整個機械臂沿Z軸的垂直上下移動.移動關(guān)節(jié)用來微調(diào)機械臂離人體的距離,實現(xiàn)精準調(diào)節(jié),保證脊柱手術(shù)機器人的精度.兩個擺動關(guān)節(jié)平行,并且它們的旋轉(zhuǎn)關(guān)節(jié)軸線垂直于地面,與重力的方向平行,可以減少重力對脊柱手術(shù)機器人的影響.回轉(zhuǎn)關(guān)節(jié)、俯仰關(guān)節(jié)和末端旋轉(zhuǎn)關(guān)節(jié)構(gòu)成了機器人的腕關(guān)節(jié),這三個關(guān)節(jié)相互正交,可以實現(xiàn)末端執(zhí)行器的任意姿態(tài).末端旋轉(zhuǎn)關(guān)節(jié)用來連接手術(shù)器具.機器人在直線升降關(guān)節(jié)加入了緊急自鎖裝置,充分考慮了手術(shù)機器人的安全性,可以減少機械臂因意外墜落對病人造成的傷害.
圖1 機器人結(jié)構(gòu)圖
采用DH(Denauit Hartenbery)方法對機器人進行運動學(xué)分析.DH(Denauit Hartenbery)方法是由Denauit和Hartenbery在1955年提出的,它對每個坐標系的坐標軸都進行了嚴格定義,對于連桿和關(guān)節(jié)定義了四個參數(shù).首先建立機器人各桿件的坐標系,從而得出齊次坐標變化矩陣Ai.Ai能描述連桿坐標系之間相對平移和旋轉(zhuǎn)的齊次變換.機器人末端執(zhí)行器坐標系相對于連桿i-1坐標系的變換矩陣i-1T7表示[3],即:
i-1T7=AiA1……A7
(1)
機器人末端執(zhí)行器相對于機身坐標系的齊次變換矩陣為,
0T7=A1A2……A7
(2)
按照D-H(Denauit Hartenbery)方法建立各連桿坐標系,如圖2所示.由機器人連桿坐標系變換可得到機器人D-H(Denauit Hartenbery)參數(shù)表,如表1所示.
圖2 脊柱手術(shù)機器人DH坐標系
關(guān)節(jié)iαi-1/(°)ai-1/mmθi/(°)di/mm100070020180θ2030300θ3-9004-900θ4-902005-900θ5-90069013000700θ70
機器人復(fù)合變換矩陣為,
(3)
由各個連桿坐標系的復(fù)合變換矩陣相乘可以得到機械臂末端連桿的變換矩陣為:
(4)
把各個連桿坐標系復(fù)合變換矩陣輸入到MATLAB軟件,運用MATLAB軟件的矩陣運算模塊計算出機器人末端的位姿矩陣.P為末端執(zhí)行器相對于基準坐標系的位置矢量.P矢量的分量如式(5)、(6)、(7)所示.
式中,si=sinθi,ci=cosθi,i=1-7.
采用MATLAB里面的Robotic Toolbox工具箱求串聯(lián)機械臂0T7的正解.運用工具箱里的Link函數(shù)編寫機器人程序來建立脊柱手術(shù)機器人仿真分析模型,如圖3所示.Link函數(shù)包括5個參數(shù),分別是α、a、θ、d,其中第五個參數(shù)“0”表示旋轉(zhuǎn)關(guān)節(jié),“1”表示移動關(guān)節(jié).“standard”表示標準的D-H法,“modified”表示改進過的D-H法[4].具體程序如下:
L1=link([0 0 0 700 1],′modified′);
L2=link([0 180 0 0 0],′modified′);
L3=link([0 300 -pi/2 0 0],′modified′);
L4=link([-pi/2 0 -pi/2 200 0],′modified′);
L5=link([-pi/2 0 -pi 0 0],′modified′);
L6=link([pi/2 130 0 0 1],′modified′);
L7=link([0 0 0 0 0],′modified′);
r=robot({L1 L2 L3 L4 L5 L6 L7 L8},′jizhu′)
r.name=′jizhu′
drivebot(r)
通過控制關(guān)節(jié)變量控制面板可以調(diào)節(jié)各關(guān)節(jié)的轉(zhuǎn)角,如圖4所示,圖中x、y、z表達機器人末端的位置,ax、ay、az表示采用RPY歐拉角描述的末端姿態(tài),q1到q7到表示的是各個關(guān)節(jié)的轉(zhuǎn)角,可以調(diào)節(jié)各個轉(zhuǎn)角的值得到新的位姿.
圖3 脊柱手術(shù)機器人三維模型及局部放大圖
圖4 關(guān)節(jié)變量控制板
軌跡規(guī)劃仿真能夠直觀的來表達脊柱手術(shù)機器人的運動過程,根據(jù)手術(shù)操作要求提前安排機器人的操作過程和路徑規(guī)劃.規(guī)劃有兩種方式,一種是在關(guān)節(jié)空間內(nèi)進行,另一種是在操作空間內(nèi)進行.軌跡規(guī)劃又分為點運動(PTP)和連續(xù)路徑運動:第一種只需要指明起始點和終止點,第二種不僅要指明起始點和終止點,還要規(guī)定中間路徑的若干點[5].本文采用了關(guān)節(jié)空間中點到點的路徑規(guī)劃方式,假設(shè)機器人末端執(zhí)行器從A點運動到B點,設(shè)起始點q0=[0 0 0 0 0 0 0],終止點q1=[20 -pi/2 -pi/3 0pi/3 -20pi/2 0],并且在機器人的起始點和終止點初、末速度都為零.仿真時間為10 s,采樣時間為0.01 s.程序如下:
t=[0:0.01:10];
q0=[0 0 0 0 0 0 0 0];
q1=[20 -pi/2 -pi/3 0 pi/3 -20 pi/2 0];
[q,qd,qdd]=jtraj(q0,q1,t);
T=fkine(r,q)
plot(r,q);
運行程序可以動態(tài)顯示機器人位姿變換的全過程.調(diào)用函數(shù)plot(t,squeeze(T(:,4,:)))繪制機器人末端的運動軌跡曲線,如圖5所示.機器人末端軌跡偏移量曲線,如圖6所示.由圖5和圖6可以看出曲線比較光滑,沒有斷點,表明機器人各個關(guān)節(jié)運行平穩(wěn),連桿之間沒有錯位沖突的情況,表明機器人結(jié)構(gòu)設(shè)計是合理的和運動過程是穩(wěn)定的.
調(diào)用函數(shù)plot(t,qdd(:,i))繪制出整個運行過程中每個關(guān)節(jié)的角加速度曲線,函數(shù)中q表示位移,i表示關(guān)節(jié)編號.由于前三個關(guān)節(jié)對脊柱手術(shù)機器人末端執(zhí)行器的影響較大,所以本文給出了前三個關(guān)節(jié)的角加速度曲線,如圖7所示.從圖中可以看出機器人各個關(guān)節(jié)的角加速度曲線平穩(wěn),在整個時間段內(nèi)曲線連續(xù),沒有出現(xiàn)斷點.表明關(guān)節(jié)在運動過程中沒有產(chǎn)生較大的震動和沖擊.
圖5 機器人末端曲線
圖6 機器人末端軌跡偏移量
(a) 第一移動關(guān)節(jié)
(b) 第二旋轉(zhuǎn)關(guān)節(jié)
(c) 第三旋轉(zhuǎn)關(guān)節(jié)
工作空間是描述機器人手臂末端執(zhí)行器所能達到的空間的所有點的集合,是評價脊柱手術(shù)機器人工作性能好壞的指標之一,在設(shè)計脊柱手術(shù)機器人時必須加以研究.常用的研究機器人工作空間的方法主要有三種,解析法、圖解法和數(shù)值法.相對于解析法和圖解法,數(shù)值法能夠詳細準確的描述機器人的工作空間,并且坐標點的數(shù)量越多,工作空間越接近實際的工作空間[6].本文采用數(shù)值法中的蒙特卡洛法對脊柱手術(shù)機器人的工作空間進行仿真.
該方法可以快速的計算出可行點,能夠?qū)崿F(xiàn)計算機圖形的可視化,適用于多關(guān)節(jié)串聯(lián)手術(shù)機器人工作空間的求解.具體的求解步驟如下:
(1)利用運動學(xué)正解計算出機械手末端執(zhí)行器相對于基準坐標系的位置向量P=[Px、Py、Pz]T;
(2)然后應(yīng)用matlab中的隨機函數(shù)rand(j)(j=1,2,…,N)產(chǎn)生大量[0,1]之間均勻分布的偽隨機數(shù),得到隨機步長(θimax-θimin)·rand(j),最后可以得出各個關(guān)節(jié)變量的隨機值:
θi=θimin+(θimax-θimin) rand(j)
在上式中,關(guān)節(jié)變量的上下限分別為θimax和θimin,i代表關(guān)節(jié)數(shù)目,取值為1~7;
(3)將N個關(guān)節(jié)變量偽隨機值組合代入末端執(zhí)行器的位置向量P=[Px、Py、Pz]T,然后將對應(yīng)的x,y,z坐標分別儲存在矩陣X,Y和Z中;
(4)將所得位置向量的值用matlab軟件通過描點的方式畫出來,坐標數(shù)目越大,越接近實際的工作空間.
取100 000個隨機點,得到脊柱手術(shù)機器人的工作空間,如圖8所示.機器人的可達工作空間是一個環(huán)形柱體,符合機器人實際工作空間.
(a) 脊柱機器人三維空間
(b) 脊柱機器人XY空間
(1)根據(jù)脊柱手術(shù)特點及要求設(shè)計了一款定位精度高,運行平穩(wěn)的脊柱手術(shù)機器人.運用Creo三維建模軟件建立了脊柱手術(shù)機器人的三維模型;
(2)運用DH法建立了脊柱手術(shù)機器人的連桿坐標系,采用軟件MATLAB Robotics Tool對機器人進行運動學(xué)和軌跡仿真,結(jié)果表明脊柱手術(shù)機器人運行平穩(wěn),沒有沖擊和震動;
(3)運用蒙特卡洛法對脊柱手術(shù)機器人的工作空間進行仿真,仿真結(jié)果符合脊柱手術(shù)機器人的手術(shù)實際工作空間.
參考文獻:
[1]鄭小麗.脊柱手術(shù)機器人的柔順控制及骨削手術(shù)規(guī)劃[D].長沙:湖南大學(xué),2013.
[2]趙玉果. 脊柱微創(chuàng)手術(shù)機器人機械手軸位引導(dǎo)腰椎弓根置針及精度分析[D].鄭州:鄭州大學(xué),2009.
[3]劉極峰,易際明.機器人技術(shù)基礎(chǔ)(附光盤)[M].北京:高等教育出版社, 2006.
[4]李瑞霞,李粉霞,楊潔明,等.基于D-H法的串聯(lián)機械手臂工作空間分析[J].機床與液壓,2015(21):70- 73.
[5]孫光亞,岳建鋒,鐘蒲.基于MATLAB的焊接機器人工作空間及軌跡規(guī)劃仿真[J].機電信息,2016(27):81- 83.
[6]蔡蒂,謝存禧,張鐵,等.基于蒙特卡洛法的噴涂機器人工作空間分析及仿真[J].機械設(shè)計與制造,2009(3):161- 162.