田 靜,張煥梅
(太原工業(yè)學(xué)院機械工程系,山西 太原 030008)
以納米級醫(yī)學(xué)機器人為研究對象,對其在人體血管內(nèi)的路徑規(guī)劃進行設(shè)計,并用柵格法將三維物理環(huán)境進行抽象化處理,結(jié)合蟻群算法,制定路徑規(guī)劃方案和使用Matlab軟件進行建模實驗仿真并針對此方案的參數(shù)進行比較優(yōu)化。
路徑規(guī)劃是運動規(guī)劃的最主要的研究內(nèi)容之一[1]。運動規(guī)劃由路徑規(guī)劃和軌跡規(guī)劃兩部分組成,連接起點位置與終點位置的序列點或曲線被稱為路徑,這種構(gòu)成路徑的策略稱之為路徑規(guī)劃[1]。
簡單來說就是機器人從出發(fā)點到終點既能繞過障礙物,又用時最短并且走過的路程最短的研究方法[2]。
路徑優(yōu)化設(shè)計的第一步就是進行環(huán)境建模,將復(fù)雜的現(xiàn)實三維物理空間抽象簡化為二維平面。既降低了路徑規(guī)劃的難度,排除了其他不可控的影響因素,也便于算法編碼后被計算機識別。
1.1.1 建模方法的選擇
地圖環(huán)境建模的目的主要是使地圖環(huán)境信息便于計算機識別,再進行路徑規(guī)劃。一般的環(huán)境建模方法有:人工勢場法,可視圖法,柵格法等。
由于本文采用Matlab軟件仿真,為了方便建模以及盡量簡化地圖方便計算機識別,采用柵格法作為環(huán)境建模的方法。
柵格法,即用二進制編碼的柵格來表示地圖環(huán)境,把包含障礙物的柵格標(biāo)記為障礙柵格,沒有障礙物的柵格標(biāo)記為自由柵格,以此為基礎(chǔ)進行路徑規(guī)劃[1]。
如圖1所示,黑色柵格表示為障礙物,白色柵格表示為自由空間。在算法中,黑色柵格為1,白色柵格為0,如圖2所示。
圖1 平面建模示意圖
圖2 平面建模編碼示意圖
路徑優(yōu)化設(shè)計的最主要部分就是優(yōu)化算法的選擇,而優(yōu)化技術(shù)作為一種基于數(shù)學(xué)并且應(yīng)用于各種工程問題的優(yōu)化的技術(shù),在各個領(lǐng)域有著廣泛的研究。目前,研究路徑規(guī)劃問題的常用算法有:蟻群算法、神經(jīng)網(wǎng)絡(luò)算法、遺傳算法等[1]。
1.2.1 研究算法的選擇
目前最熱的研究算法是人工智能領(lǐng)域(AI領(lǐng)域)的神經(jīng)網(wǎng)絡(luò)算法,由于是對神經(jīng)網(wǎng)絡(luò)系統(tǒng)的模仿,所以對信息的分布式并行處理速度很快,適用于已知的多次使用的地圖并有自我學(xué)習(xí)功能,但是本論文研究的是納米級醫(yī)學(xué)機器人,所在的環(huán)境復(fù)雜多變,并且納米級醫(yī)學(xué)機器人用途是治療疾病,并不能多次使用地圖環(huán)境,泛化能力差。而遺傳算法是一種迭代算法,由于缺少蟻群算法的正反饋機制,運算效率低。因此,選用并行性、魯棒性好,易于用計算機實現(xiàn)的蟻群算法作為研究算法。
1.2.2 蟻群算法的步驟
第一步:初始化算法及地圖信息
初始起點為S點,并加入禁忌表TABUKm中(Km=1,2,3,……,m),禁忌表TABUKm記錄每一次機器人走過的柵格,每一次機器人的數(shù)目是M,K為機器人迭代次數(shù)。
第二步:按照蟻群算法選擇下一步移動
當(dāng)時間為t時,τxy(t)為柵格x到柵格y的信息素量(初始含量為τ0),Alpha(以下簡稱A)表征信息素重要程度的參數(shù),Beta(以下簡稱B)表征啟發(fā)式因子重要程度的參數(shù),每一次機器人下一步從柵格S點移動到柵格I點的概率如式(1)[3]:
(1)
其中,η是蟻群算法中的啟發(fā)因子,一般是機器人從柵格x移動到柵格y的期望程度,表示柵格x到柵格y的距離dxy的倒數(shù),即η=1/dxy。allowedkm={1,2,3,…,n}-TABUKm表示機器人下一步可以移動的所有柵格。
在機器人移動時,如果一直選擇上述式子所產(chǎn)生的概率大的柵格作為下一步前進的柵格,就會容易失去隨機性并且陷入大部分算法都有的局部最優(yōu)解的問題。因此,引入轉(zhuǎn)輪盤的方法增加選擇的隨機性,使路徑規(guī)劃更合理。
第三步:信息素的更新
一般來說,蟻群算法的信息素更新有三種不同的模型,分為Ant-Cycle System,Ant-Quantity System,Ant-Density System,它們的區(qū)別在于每次迭代時信息素的增量△τ的表達式不一樣[3]。
當(dāng)時間為t時,第K只機器人在路徑(S,I)上的信息素增量△τ:
Ant-Cycle System
(2)
Q表示信息素的強度,其強弱程度與算法的收斂程度有關(guān);LK表示第K只機器人在此次迭代中走過的路徑(S,I)的長度[4]。
由于本論文研究的納米級醫(yī)學(xué)機器人的路徑規(guī)劃問題類似于TSP(旅行商問題),所以采用Ant-Cycle System模型作為蟻群算法的信息素更新模型。
因此,蟻群算法中信息素的更新按式(3)進行:
τ(t+△t)=(1-Rho)*τ+△t.
(3)
其中,Rho表示信息素蒸發(fā)系數(shù)(為了防止信息素?zé)o限增加,一般Rho的取值范圍為[0,1)),1-Rho表示信息素的殘留系數(shù)[5]。
第四步:循環(huán)迭代過程,直到達到最大迭代次數(shù)K。
第五步:記錄并保存最優(yōu)路徑,繪制收斂曲線與路徑圖像,算法結(jié)束。
本論文使用Matlab軟件進行機器人的路徑規(guī)劃仿真。編寫Main.m程序,包含地圖信息、路徑規(guī)劃以及圖像輸出功能。
如圖3所示,最短納米機器人運動軌跡就是規(guī)劃出的最優(yōu)路徑。如圖4所示,當(dāng)算法迭代到50次左右時,最短路徑長度趨于平穩(wěn),即算法的收斂程度趨于穩(wěn)定。最短路徑長度為32.62。
圖3 最短納米機器人運動軌跡示意圖
圖4 算法收斂曲線圖
通常的路徑規(guī)劃設(shè)計只是單純的對路徑進行規(guī)劃設(shè)計,并不會去對規(guī)劃好的方案進一步優(yōu)化而本論文研究的方案是基于蟻群算法、使用Matlab軟件仿真的,所以可以通過修改編寫好的蟻群算法程序中影響算法性能的一些參數(shù)來提高算法性能,從而提高路徑規(guī)劃方案的效率。
在蟻群算法中,根據(jù)其特點,影響算法的參數(shù)主要有:機器人數(shù)目、信息素?fù)]發(fā)系數(shù)Rho、信息素重要程度的參數(shù)Alpha、啟發(fā)式因子重要程度的參數(shù)Beta、信息素增加強度系數(shù)Q。
通過控制變量的方法,依次改變上述參數(shù),根據(jù)Matlab軟件輸出的路徑規(guī)劃收斂曲線的數(shù)據(jù)畫出折線圖,再根據(jù)折線圖選擇最優(yōu)參數(shù)。初始參數(shù)為機器人數(shù)量為50、信息素?fù)]發(fā)系數(shù)Rho取值區(qū)間為0.3,信息素重要程度的參數(shù)Alpha的數(shù)值采取1,啟發(fā)式因子重要程度的參數(shù)Beta數(shù)值采用7,信息素增加強度系數(shù)Q的數(shù)值取1。
圖6 信息素?fù)]發(fā)系數(shù)Rho對算法優(yōu)化的影響數(shù)據(jù)折線圖
圖7 信息素重要程度的參數(shù)Alpha對算法優(yōu)化的影響數(shù)據(jù)折線圖
圖8 啟發(fā)式因子重要程度的參數(shù)Beta對算法優(yōu)化的影響數(shù)據(jù)折線圖
圖9 信息素增加強度系數(shù)Q對算法優(yōu)化的影響
如圖5、6、7、8、9所示,機器人數(shù)量為75、信息素?fù)]發(fā)系數(shù)Rho取值區(qū)間為[0.6,0.7],信息素重要程度的參數(shù)Alpha的數(shù)值采取[1,1.5],啟發(fā)式因子重要程度的參數(shù)Beta數(shù)值采用[4,5],信息素增加強度系數(shù)Q的數(shù)值取(0,20]時,路徑優(yōu)化結(jié)果最優(yōu)。
圖5 機器人數(shù)目對算法優(yōu)化的影響數(shù)據(jù)折線圖
本論文的仿真實驗證明了蟻群算法與柵格法在機器人路徑規(guī)劃中的可行性及優(yōu)勢。蟻群算法的優(yōu)勢在于信息素的引用,可以根據(jù)機器人留下的信息素濃度進行路徑更新,不斷地去優(yōu)化之前的路徑,直到得到最優(yōu)的路徑。而柵格法可以將客觀的環(huán)境清晰明朗的展現(xiàn)出來,在得出結(jié)果后可以得到路徑規(guī)劃的地圖。
這兩種算法的結(jié)合使用既可以簡單有效的在較短的時間內(nèi)規(guī)劃出一條最短的路徑,又避免了其他算法在這種情況下存在的一些缺點,提高了路徑規(guī)劃的效率。
論文針對納米級醫(yī)學(xué)機器人路徑規(guī)劃設(shè)計進行研究,提出了以柵格法為環(huán)境建模方法和此基礎(chǔ)上對實驗數(shù)據(jù)進一步篩選優(yōu)化,得出針對納米級醫(yī)學(xué)以蟻群算法為路徑規(guī)劃研究算法的組合優(yōu)化方案,并使用Matlab軟件進行仿真實驗,驗證此機器人路徑規(guī)劃設(shè)計的最優(yōu)方案。不僅提高了算法的響應(yīng)速度和性能,也為以后研究出更好的、由二維平面結(jié)構(gòu)向三維空間結(jié)構(gòu)推廣應(yīng)用提供了研究方向。