徐魁伍,姚運(yùn)萍
(蘭州理工大學(xué)機(jī)電工程學(xué)院, 甘肅 蘭州 730050)
探索與研究治療癌癥的先進(jìn)方法對于挽救患者生命和提高患者生存質(zhì)量具有重要意義;重離子治療法是一種先進(jìn)的放射治療方法,具有療程短、副作用小和控制率高等優(yōu)點(diǎn)[1]。在重離子束加速器研發(fā)成功的基礎(chǔ)上,重離子治癌終端設(shè)備研制是實(shí)現(xiàn)重離子治療癌癥的重要環(huán)節(jié)。為實(shí)現(xiàn)病灶定位以及治療過程中病灶與重離子束輻照的聯(lián)動[2],需要提供安全可靠的擺位路徑,病灶擺位最優(yōu)路徑規(guī)劃將為研究設(shè)備運(yùn)動提供參考。文獻(xiàn)[3]通過方形柵格法對治療床環(huán)境進(jìn)行建模,利用蟻群算法優(yōu)化治療床的運(yùn)動路徑。針對治療床在方形柵格中運(yùn)動困難、病灶定位精度低的問題,本文利用扇形柵格法建立病灶的環(huán)境模型,利用改進(jìn)的蟻群算法對該數(shù)據(jù)模型進(jìn)行分析求解,以探索該模型的可行性和應(yīng)用優(yōu)勢。
重離子束具有能量高、速度快、速度方向不易改變的特點(diǎn),束流出射點(diǎn)的位置一旦確定就固定不變,常見的重離子束流射出方向有水平、豎直和傾斜3種情況;而激光定位儀是固定的定位輔助設(shè)備,因此治療床的運(yùn)動擺位是病灶運(yùn)動軌跡定位的核心問題。由于擺位過程中需要時(shí)刻追蹤病灶的空間位置,所以根據(jù)治療床的空間環(huán)境信息,利用機(jī)器人運(yùn)動學(xué)中D-H參數(shù)法[4]建立4個(gè)坐標(biāo)系進(jìn)行病灶定位,基坐標(biāo)系為{O0:x0,y0,z0},以等中心O0為原點(diǎn),以束流射線為x0軸、治療床的大回轉(zhuǎn)的豎直軸線為z0軸;第一個(gè)關(guān)節(jié)是等中心正下方大回轉(zhuǎn)的回轉(zhuǎn)中心O1;第二個(gè)關(guān)節(jié)是小回轉(zhuǎn)的回轉(zhuǎn)中心O2;第三個(gè)關(guān)節(jié)是治療床板電機(jī)輸出軸端位置O3。治療室空間如圖1所示,4個(gè)坐標(biāo)系關(guān)系如圖2所示。各個(gè)關(guān)節(jié)的參數(shù)見表1。
圖1 治療室空間環(huán)境簡圖
關(guān)節(jié)iθidiaiαi1θ1d1002θ2d20a230d30a3
圖2 治療床D-H坐標(biāo)系
各個(gè)關(guān)節(jié)的齊次矩陣為:
假定患者病灶是坐標(biāo)系O3中的某一點(diǎn)B,記Xb(xb,yb,zb),則病灶點(diǎn)B的移動矩陣為:
B點(diǎn)的運(yùn)動方程為:
(1)
病灶點(diǎn)B在動坐標(biāo)系{O3:x3,y3,z3}中的位置為Xb(xb,yb,zb),通過齊次坐標(biāo)變換得到其在固定坐標(biāo)系{O0:x0,y0,z0}中的坐標(biāo)X:
(2)
由圖2可知,d1和d2為固定值;zb為病灶在坐標(biāo)系中的高度,視患者具體情況而定;d3通過剛性鏈條調(diào)節(jié)。當(dāng)調(diào)節(jié)d3使得d1+d2+d3+zb=0時(shí),則病灶在固定坐標(biāo)系{O0:x0,y0,z0}的二維平面x0O0y0中,治療床的運(yùn)動空間從三維空間轉(zhuǎn)化到二維空間,病灶路徑規(guī)劃問題從三維空間轉(zhuǎn)化為二維平面的路徑規(guī)劃問題。
治療室內(nèi)束流輸出口、激光定位儀和C型臂X光機(jī)等障礙物的出現(xiàn),以及治療床床板尺寸的影響,使得病灶在平面坐標(biāo)系{O0:x0,y0}中無法完全自由運(yùn)動,因此必須對病灶不能到達(dá)的位置進(jìn)行標(biāo)記,定義為障礙物空間,反之為自由空間。
常見的柵格劃分方法有方形柵格法、四叉樹法[5]。方形柵格法不易提高病灶的定位精度,如果提高定位精度,則格柵密度必然變大,環(huán)境信息儲量變大,抗干擾能力減弱,算法的運(yùn)行時(shí)間變長;而四叉樹法通過減少柵格數(shù)、降低信息儲量來降低分辨率,從而提高算法運(yùn)行速度,適用于大空間環(huán)境的數(shù)據(jù)建模。本文針對重離子治癌治療床上病灶要在等中心的近端有較高的定位精度和遠(yuǎn)端有快速移動的要求,提出在平面坐標(biāo)系{O0:x0,y0}中利用扇形柵格法對病灶所處的運(yùn)動空間進(jìn)行分割,假定扇形柵格中的最小面積與病灶面積近似相等,扇形柵格中有障礙物空間的柵格定義為障礙柵格,記為黑格,在柵格數(shù)組中標(biāo)為1;其余為自由柵格,記為白格,在柵格數(shù)組中標(biāo)為0。扇形柵格法劃分的治療床工作空間的柵格模型如圖3所示,以數(shù)據(jù)形式存儲地圖信息的01矩陣如圖4所示。
圖3 治療床工作空間劃分圖
圖4 治療床空間的柵格數(shù)組表
圖3的表示方法為直角坐標(biāo)法,病灶在坐標(biāo)系{O0:x0,y0}中的坐標(biāo)由式(1)可得:
(3)
記l為任意柵格,設(shè)TS為柵格集合;記NK={n1,n2,…,nm},為障礙格柵集合,MK為可行格柵集合,令K={1,2,…,n},為格柵序號集合。設(shè)病灶初始點(diǎn)為lbegin,等中心點(diǎn)的序號1柵格設(shè)為目標(biāo)終點(diǎn)lend;lbegin,lend都屬于可行格柵集合[6]。任意自由格柵間的距離D按照格柵中心點(diǎn)的距離計(jì)算:
(4)
式中:S為位置矩陣,S=[s1,s2,…,si]
距離因子ηij計(jì)算公式為:
(5)
采用序號法和矩陣坐標(biāo)點(diǎn)法相結(jié)合的方式來構(gòu)建所有柵格的數(shù)據(jù)模型和編碼。
1)序號法: 如圖3所示,對每個(gè)柵格進(jìn)行編號,標(biāo)識的柵格記為ln,例如序號為1(目標(biāo)終點(diǎn))的柵格記為l1;病灶的位置序號si由式(6)決定。
(6)
2)矩陣坐標(biāo)點(diǎn)法:如圖3所示的坐標(biāo)系中的每一柵格中心Z坐標(biāo)值固定,可用直角坐標(biāo)表示法(x,y)唯一標(biāo)識,格柵的x坐標(biāo)值存儲到SS矩陣中,y坐標(biāo)值存儲到FF矩陣中。
n=a+Nxb
(7)
(8)
(9)
式中:n為某一柵格序號;Nx為圓弧劃分的柵格數(shù);Ny為最大半徑值;mod表示取n/Nx的余數(shù);int表示取n/Ny的整數(shù)。
上述模型就是重離子治癌治療床上的病灶環(huán)境模型,模型中等中心點(diǎn)附近分辨率高,有利于點(diǎn)B精確運(yùn)動到等中心附近,柵格外部為大柵格,分辨率低,有利于路徑快速搜索。
蟻群算法最早是由學(xué)者M(jìn)arco.Dorigo等提出的一種模擬螞蟻覓食行為的仿生算法,充分利用了蟻群能夠搜索到蟻巢到食物源之間最短路徑的集體尋優(yōu)特征來構(gòu)造最優(yōu)解,具有良好的并行和反饋機(jī)制[7]。針對病灶移動路徑優(yōu)化問題,利用該算法對病灶移動路徑進(jìn)行尋優(yōu)。
(10)
當(dāng)所有螞蟻都走完一次搜索路徑時(shí),就要對成功尋到終點(diǎn)的螞蟻經(jīng)過的路徑進(jìn)行信息素全局更新。過去的信息素逐漸消失,增加新的信息素。為了提高算法的收斂速度,利用式(11)~ (14)來改進(jìn)全局信息素的更新機(jī)制[9]。
(11)
(12)
(13)
τij(t+n)=(1-ρ)×τij(t)+Δτij(t)
(14)
算法中參數(shù)α,β和ρ對算法搜索能力以及收斂速度影響較大。針對算法初期信息素積累少、搜索速度慢,后期初始信息素作用小、信息素交換弱的問題[10],需要修改α,β值,規(guī)則如下:
(15)
(16)
式中:m為臨界次數(shù);q為當(dāng)前循環(huán)次數(shù);H為循環(huán)的最大次數(shù)。本算法中m=25,H=50。
改進(jìn)的蟻群算法在20×20的方形柵格中進(jìn)行路徑規(guī)劃,與改進(jìn)前的蟻群算法相比,收斂次數(shù)和路徑長度均顯著減少,如圖5所示。
圖5 算法在20×20柵格環(huán)境中收斂曲線
改進(jìn)的蟻群算法在模型中的應(yīng)用:將若干只螞蟻依次放在起始點(diǎn)lbegin,在柵格范圍內(nèi)尋找目標(biāo)終點(diǎn)lend,按輪盤賭法選擇路徑的下一個(gè)節(jié)點(diǎn),記錄本輪到達(dá)目標(biāo)終點(diǎn)所有螞蟻的路徑信息,更新全局信息素并保存,篩選出本輪路徑最短的那只螞蟻的路徑信息,即得到本輪的最優(yōu)路徑;進(jìn)行下一輪循環(huán),直到達(dá)到所設(shè)定的循環(huán)次數(shù),輸出最短路徑。算法流程如圖6所示。
圖6 蟻群算法流程圖
選取參數(shù)ρ為0.4、k為30、K為50進(jìn)行仿真;改進(jìn)后的算法在不同的柵格模型中得到的最優(yōu)路徑的路線圖如圖7~圖10所示,收斂曲線圖如圖11所示。由圖可知,扇形柵格模型路徑的路徑長度和收斂次數(shù)都呈現(xiàn)減少趨勢,且等中心點(diǎn)附近的扇形柵格密度高,因此扇形柵格有利于病灶定位;由于柵格密度的增大,10×10的扇形柵格的收斂次數(shù)比20×20少,但柵格密度增大,自由柵格數(shù)目增多,使得20×20的路徑長度比10×10的短,綜合考慮的情況下,建議選取10×10的扇形柵格模型,收斂時(shí)間短,路徑長度適中,有利于病灶快速準(zhǔn)確定位。由此可知,扇形柵格模型的蟻群算法在重離子治癌病灶定位的應(yīng)用是有效可行的。
圖7 10×10扇形柵格路徑圖
圖8 20×20扇形柵格路徑圖
圖9 10×10方形柵格路徑圖
圖10 20×20方形柵格路徑圖
圖11 收斂曲線圖
在路徑規(guī)劃中,采用扇形柵格法對重離子癌癥治療床進(jìn)行建模,可提高癌癥患者病灶在等中心的定位精度,扇形格柵有利于旋轉(zhuǎn)軸的運(yùn)動,便于實(shí)現(xiàn)控制運(yùn)動軸。本文用改進(jìn)的蟻群算法對重離子治癌治療床上的患者病灶進(jìn)行路徑規(guī)劃,得到優(yōu)化的最佳軌跡,有效縮短了患者擺位時(shí)間,提高了重離子治癌系統(tǒng)的治療效率,保證了重離子治療癌癥的質(zhì)量。MATLAB環(huán)境下對新的柵格蟻群算法進(jìn)行仿真,結(jié)果表明:該算法增強(qiáng)了選擇路徑的隨機(jī)性,減少了收斂次數(shù),為重離子治癌治療床運(yùn)送病人提供了可靠依據(jù),為后續(xù)的癌癥治療應(yīng)用奠定了堅(jiān)實(shí)的基礎(chǔ)。