本發(fā)明涉及一種交互控制系統(tǒng),具體涉及一種開顱機器人的協(xié)同交互控制系統(tǒng)。
背景技術(shù):
神經(jīng)外科疾病治療方法主要以手術(shù)為主。目前,神經(jīng)外科手術(shù)中開顱手術(shù)所占比例最高,僅解放軍總醫(yī)院每年開顱手術(shù)達三千例以上。而且神經(jīng)外科手術(shù)為外科手術(shù)中最費時費力的手術(shù)之一,尤其是開顱手術(shù)。傳統(tǒng)開顱手術(shù)均為人來完成,醫(yī)生在開顱手術(shù)中所使用的顱鉆/顱銑有兩類:一類是電動氣動式,另一類是手動式?,F(xiàn)有的顱鉆/顱銑均為手持進鉆設(shè)備,重量在1kg左右,醫(yī)生長時間負重操作,并且需要保證鉆銑的高精度,保障手術(shù)安全,這種傳統(tǒng)的開顱方法大大消耗醫(yī)生的體力與精力,并且還需要有經(jīng)驗的醫(yī)生方可實施。一般開顱需要1小時,清除腫瘤需要2小時,由此可見開顱在神經(jīng)外科手術(shù)中無論是時間還是數(shù)量上都占據(jù)較大比重,消耗醫(yī)生精力很多,更何況在開顱之后尚需完成更復(fù)雜、精細及耗時的進一步手術(shù)操作。因此把開顱這項兼具復(fù)雜性與高風險性的任務(wù)由機器人來輔助執(zhí)行,通過人機協(xié)同控制算法來提高安全性和時效性,具有十分重要的意義。
協(xié)同交互控制主要體現(xiàn)在機械臂的逆向驅(qū)動上,即機械臂能對外界施加的力做出相應(yīng)的運動。目前實現(xiàn)機械臂逆向驅(qū)動的方式有以下幾種:(1)通過檢測電機的電流突變來實現(xiàn),但該方式需要比較精確的動力學(xué)模型和關(guān)節(jié)的摩擦力補償,對于輕型機械臂(慣性小,關(guān)節(jié)摩擦力小)一般采用該方法,如巴瑞特全絲傳動機械臂能達到較好的交互控制效果(絲傳動摩擦力的影響可忽略不計),但對于傳統(tǒng)結(jié)構(gòu)的機械臂效果較差;(2)通過在每個關(guān)節(jié)增加扭矩傳感器,直接避開了對減速器、電機轉(zhuǎn)子的建模,可以精確的檢測關(guān)節(jié)力矩,并且效果較好,如kukaiiwa的七自由度機械臂,但是成本較高。(3)僅使用電機編碼器,通過編碼返回的關(guān)節(jié)角度的變化,從而預(yù)測施加在機械臂上的力,驅(qū)動機械臂運動;(4)通過在末端加力傳感器,該方式能在不需要知道機械臂動力學(xué)的情況下直接實現(xiàn)其逆向驅(qū)動,而且不受末端負載的影響。
然而在現(xiàn)有的技術(shù)中,側(cè)重于單方面的交互控制,前三種實現(xiàn)交互操作的方式多用于拖動示教或者碰撞檢測,但當末端負載變化時,負載對機械臂施加的力和人對機械臂施加的力直接耦合在一起,無法分辨,第四種方式也只用于機器人柔性裝配或者拖動示教上,使用場景比較受限制。對于開顱手術(shù)機器人人,不僅僅需要解決醫(yī)生和機器人之間的交互,而且需要解決機器人和患者以及患者和醫(yī)生的交互,這對算法的安全性以及功能實現(xiàn)的要求更加苛刻,是現(xiàn)有的技術(shù)難以解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對現(xiàn)有交互控制算法的不足,提供了一種開顱機器人的協(xié)同交互控制系統(tǒng),系統(tǒng)通過力/位/阻抗混合控制的方式實現(xiàn)開顱手術(shù)機器人、醫(yī)生以及病患三者之間的安全交互控制,手術(shù)過程中醫(yī)生通過操控手把來實現(xiàn)對機器人的牽引并進行顱骨切割鉆銑,綜合醫(yī)生靈活度高與機器人精度高的優(yōu)點,提高手術(shù)安全性的同時提高手術(shù)效率與質(zhì)量,最大程度降低醫(yī)生開顱手術(shù)疲勞程度。
一種開顱機器人的協(xié)同交互控制系統(tǒng),該系統(tǒng)包括運動限制模塊、醫(yī)生-機器人交互模塊、機器人-患者交互模塊和求解器;其中,所述運動限制模塊用于實時追蹤機器人的位置,并和限定的區(qū)域進行對比,從而將機器人限制在一定區(qū)域內(nèi)運動;所述醫(yī)生-機器人交互模塊用于完成醫(yī)生對機器人的實時速度控制,即醫(yī)生拖動機器人進行運動;所述機器人-患者交互模塊在顱骨銑削過程中,銑刀的末端和顱骨底面保持一定的接觸力,以及在顱骨鉆孔的過程中保持一定的鉆進力;所述求解器用于完成機器人的逆運動學(xué)解算,輸入為機器人運動的速度,輸出為機器人的關(guān)節(jié)運動速度,從而驅(qū)動機器人運動。
進一步地,所述運動限制模塊的輸入為術(shù)前或術(shù)中實時規(guī)劃的安全區(qū)域范圍yr以及安全姿態(tài)角θr,θr為顱銑或顱鉆的軸線方向和接觸面法向的夾角,通過求和運算器與實時的機器人的位置姿態(tài)進行對比,從而由控制器cr生成控制速度
醫(yī)生-機器人交互模塊的輸入fh為醫(yī)生施加在機器人操作手把上的操作力,通過與剛度矩陣kh相乘,從而得到由醫(yī)生的操作力所產(chǎn)生的速度
機器人-患者交互模塊的輸入為接觸力fc_d,通過求和運算器完與實時反饋力fc對比,從而得到控制的偏差,將控制偏差輸入到比例控制器kpcy中,其中cy為系統(tǒng)柔順度,用于建立起速度和接觸力的關(guān)系,kp為比例控制系數(shù)矩陣,然后將輸出的速度通過射影算子pf進行法向上的分解,最后輸出的速度與其它速度進行求和,另外控制偏差通過微分運算器d/dt得到偏差的導(dǎo)數(shù),將導(dǎo)數(shù)輸入到微分控制器中kdcy,kd為微分控制系數(shù)矩陣,然后將輸出的速度通過射影算子pf進行法向上的分解,最后輸出的速度與運動限制模塊和醫(yī)生-機器人交互模塊的輸出速度進行求和得到速度
進一步地,當權(quán)重矩陣w=1時,機器人由醫(yī)生的施加的力控制,其控制剛度為kh,即機器人跟隨人手的運動;當w=0時,機器人為純位置控制,其剛度可認為無窮大;當機器人末端偏離安全區(qū)域越遠時,w的值越小,此時速度
進一步地,在顱骨銑削的過程共有三個控制任務(wù)同時進行,一是根據(jù)術(shù)前的醫(yī)學(xué)圖像采集到的顱骨三維數(shù)據(jù)實時計算出當前顱骨表面的法線矢量,從而控制銑刀和顱骨表面垂直,安全姿態(tài)角θr為0°;二是在法線方向上實現(xiàn)對機器人的力矩控制,保持銑刀末端和顱骨一定的接觸力,分開粘合在一起的硬膜;三是醫(yī)生通過把持末端實現(xiàn)銑刀在顱骨表面切向上的運動控制;每個控制任務(wù)都會生成一條實時運動軌跡,最后基于安全區(qū)域的約束帶完成這三條軌跡的疊加得;
從醫(yī)學(xué)圖像上可以得到顱骨表面的法線矢量為n,因此可以得到力控的射影算子為pp=nnt,位置控制的射影算子為pf=i-nnt,位置控制和力控任務(wù)可以被解耦為:
其中
進一步地,在顱骨鉆孔的過程中有三個控制任務(wù)同時進行,一是為了保證孔的位置不偏,需要控制鉆頭的軸線與顱骨表面垂直,設(shè)定安全姿態(tài)角θr為0°;二是通過設(shè)定接觸力fc_d,由機器人來控制進鉆力的大小;三是將醫(yī)生實時對機器人的控制產(chǎn)生的速度沿著顱骨表面法線的方向上進行分解;此時pp=pf=nnt,位置控制和力控通過解耦進行疊加;為了防止鉆透硬膜,當顱骨鉆透后令求解器的輸入速度
有益效果:
1.本發(fā)明的控制系統(tǒng)能實現(xiàn)醫(yī)生與機器人的良好交互,形成醫(yī)生在環(huán)的控制模式,解決了醫(yī)生在機器人輔助手術(shù)中所處控制地位的問題。
2.本發(fā)明的控制系統(tǒng)綜合了醫(yī)生靈活度高與機器人精度高的優(yōu)點,提高手術(shù)安全性的同時提高手術(shù)效率與質(zhì)量,降低醫(yī)療機器人本身的復(fù)雜程度,充分利用人機交互模式,最大程度降低醫(yī)生開顱手術(shù)疲勞程度,減少醫(yī)生對經(jīng)驗的依賴。
3.先前手術(shù)機器人少有輔助完成開顱手術(shù)的功能,本發(fā)明技術(shù)方案實現(xiàn)了手術(shù)機器人復(fù)雜危險性高的開顱手術(shù)任務(wù),減輕醫(yī)生手術(shù)的負擔,提高手術(shù)精度與效率,實現(xiàn)了醫(yī)療機器人的創(chuàng)新。
附圖說明
圖1為本發(fā)明的控制邏輯框圖。
具體實施方式
下面結(jié)合附圖并舉實施例,對本發(fā)明進行詳細描述。
如附圖1所示,本發(fā)明提供了一種開顱機器人的協(xié)同交互控制系統(tǒng),該系統(tǒng)包括虛線中的四個模塊,分別是:運動限制模塊ⅰ、醫(yī)生-機器人交互模塊ⅱ、機器人-患者交互模塊ⅲ和求解器ⅳ;
其中,運動限制模塊ⅰ用于實時追蹤機器人的位置,并和限定的區(qū)域進行對比,從而將機器人限制在一定區(qū)域內(nèi)運動;醫(yī)生-機器人交互模塊ⅱ用于完成醫(yī)生對機器人的實時速度控制,即醫(yī)生拖動機器人進行運動;機器人-患者交互模塊ⅲ在顱骨銑削過程中,銑刀的末端和顱骨底面保持一定的接觸力,以及在顱骨鉆孔的過程中保持一定的鉆進力;求解器ⅳ用于完成機器人的逆運動學(xué)解算,輸入為機器人運動的速度,輸出為機器人的關(guān)節(jié)運動速度,從而驅(qū)動機器人運動。
第一部分運動限制模塊ⅰ的控制輸入為術(shù)前或術(shù)中實時規(guī)劃的安全區(qū)域范圍yr以及安全姿態(tài)角θr(即為顱銑或顱鉆的軸線方向和接觸面法向的夾角),通過求和運算器來與實時的機器人的位置姿態(tài)進行對比,從而由控制器cr生成控制速度
中間部分醫(yī)生-機器人交互模塊ⅱ的控制輸入fh為醫(yī)生施加在機器人操作手把上的操作力,通過與剛度矩陣kh相乘,從而得到由醫(yī)生的操作力所產(chǎn)生的速度
第三部分機器人-患者交互模塊ⅲ的控制用于完成機器人和患者之間接觸力的控制,控制輸入為接觸力fc_d,通過求和運算器完與實時反饋力fc對比,從而得到控制的偏差,將控制偏差輸入到比例控制器kpcy中(其中cy為系統(tǒng)柔順度,用于建立起速度和接觸力的關(guān)系,kp為比例控制系數(shù)矩陣),然后將輸出的速度通過射影算子pf進行法向上的分解,最后輸出的速度與其它速度進行求和,另外控制偏差通過微分運算器d/dt得到偏差的導(dǎo)數(shù),將導(dǎo)數(shù)輸入到微分控制器中kdcy(其中kd為微分控制系數(shù)矩陣),然后將輸出的速度通過射影算子pf進行法向上的分解,最后輸出的速度與其它速度進行求和。最后將i、ii、iii部分輸出的速度進行求和得到速度
當權(quán)重矩陣w=1時,機器人由醫(yī)生的施加的力控制,其控制剛度為kh,即機器人跟隨人手的運動。當w=0時,機器人為純位置控制,其剛度可認為無窮大。當機器人末端偏離安全區(qū)域越遠時,w的值越小,此時速度
在顱骨銑削的過程共有三個控制任務(wù)同時進行。一是根據(jù)術(shù)前的醫(yī)學(xué)圖像采集到的顱骨三維數(shù)據(jù)實時計算出當前顱骨表面的法線矢量,從而控制銑刀和顱骨表面垂直(安全姿態(tài)角θr為0°);二是在法線方向上實現(xiàn)對機器人的力矩控制,保持銑刀末端和顱骨一定的接觸力,分開粘合在一起的硬膜;三是,醫(yī)生通過把持末端實現(xiàn)銑刀在顱骨表面切向上的運動控制。每個控制任務(wù)都會生成一條實時運動軌跡,最后基于安全區(qū)域的約束帶完成這三條軌跡的疊加得。
從醫(yī)學(xué)圖像上可以得到顱骨表面的法線矢量為n,因此可以得到力控的射影算子為pp=nnt,位置控制的射影算子為pf=i-nnt,位置控制和力控任務(wù)可以被解耦為:
其中
在顱骨鉆孔的過程中有三個控制任務(wù)同時進行。一是為了保證孔的位置不偏,需要控制鉆頭的軸線與顱骨表面垂直(設(shè)定安全姿態(tài)角θr為0°);二是通過設(shè)定接觸力fc_d,由機器人來控制進鉆力的大??;三是將醫(yī)生實時對機器人的控制產(chǎn)生的速度沿著顱骨表面法線的方向上進行分解。此時pp=pf=nnt,位置控制和力控通過解耦進行疊加,與顱骨的銑削控制過程類似。當顱骨鉆透后,反饋力fc瞬間減小,此時令求解器ⅳ的輸入速度
綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。