田子建, 高學(xué)浩
(中國礦業(yè)大學(xué)(北京) 機電與信息工程學(xué)院, 北京 100083)
?
實驗研究
基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃
田子建,高學(xué)浩
(中國礦業(yè)大學(xué)(北京) 機電與信息工程學(xué)院, 北京100083)
針對礦井障礙物復(fù)雜多變、救災(zāi)機器人采用傳統(tǒng)人工勢場法進(jìn)行路徑規(guī)劃易陷入局部極小點的問題,提出一種基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃方法。該方法通過在引力場中加入擾動場來改變引力場函數(shù),使救災(zāi)機器人在陷入局部極小點時自主走出局部極小點;結(jié)合障礙填充法,通過對凹障礙物進(jìn)行虛擬填充,形成新的障礙物并產(chǎn)生相應(yīng)的斥力場函數(shù),避免救災(zāi)機器人再次陷入局部極小點。仿真及測試結(jié)果驗證了該方法的可行性及有效性。
救災(zāi)機器人; 路徑規(guī)劃; 人工勢場法; 擾動場; 勢場函數(shù); 障礙物填充法
網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/detail/32.1627.TP.20160902.1012.009.html
煤礦井下發(fā)生礦難時,采用機器人進(jìn)行探測和救援是可靠、有效的途徑,針對井下機器人供電、防爆、機器人步履機械柔性等關(guān)鍵問題的研究,通過科研人員長期不懈的努力,已取得了長足進(jìn)步[1-2]。煤礦井下環(huán)境特殊,巷道相互交叉,空間狹小封閉,機器人路徑規(guī)劃一直是制約機器人在煤礦井下應(yīng)用的難題。救災(zāi)機器人作為一種移動機器人,其路徑規(guī)劃的水平一定程度上決定了救災(zāi)效率。礦井救災(zāi)機器人的任務(wù)是在具有一定動態(tài)和靜態(tài)障礙物的未知環(huán)境中,尋找一條沒有碰撞的最佳路徑,同時要實現(xiàn)最短路徑、最短時間、最低能耗[3-4]等相應(yīng)參數(shù)的優(yōu)化。人工勢場法是傳統(tǒng)路徑規(guī)劃方法中較為成熟且簡潔高效的算法,其主要思路是通過目標(biāo)位置對機器人產(chǎn)生引力,障礙物對機器人產(chǎn)生斥力,以及機器人之間產(chǎn)生相互作用力,形成一個智能的人工勢場,對機器人進(jìn)行實時的路徑規(guī)劃[5-7]。但傳統(tǒng)的人工勢場法存在局部極小點問題,當(dāng)障礙物在目標(biāo)位置附近時,還會出現(xiàn)機器人在目標(biāo)位置周圍震蕩、無法到達(dá)目標(biāo)位置的情況。
簡單地用傳統(tǒng)人工勢場法很難完成路徑規(guī)劃任務(wù),因此需要對傳統(tǒng)人工勢場法進(jìn)行改進(jìn),或與其他方法結(jié)合來避免路徑規(guī)劃失敗。參考文獻(xiàn)[8]提出了Laplace勢場法,其基本著眼點是通過數(shù)學(xué)上合理地定義勢場方程,保證勢場中不存在局部極值,但沒有考察路徑是否最優(yōu)。參考文獻(xiàn)[9]提出了基于Fellow_wall的路徑規(guī)劃技術(shù),可以幫助機器人逃離局部極小點,但算法收斂速度慢,魯棒性差,需要耗費很長時間來完成路徑規(guī)劃,且無法選擇最優(yōu)路徑。參考文獻(xiàn)[10]提出了基于重力鏈方法來解決局部極小點問題,將起始點與目標(biāo)位置用虛擬的橡皮筋連接起來,通過橡皮筋來代替人工勢場產(chǎn)生轉(zhuǎn)向角,解決了局部極小點和目標(biāo)不可達(dá)的問題,但缺乏實際應(yīng)用條件,難以實現(xiàn)。
本文針對傳統(tǒng)人工勢場法存在的局部極小點問題,提出了擾動場概念,通過在引力場中增加擾動場,使機器人陷入局部極小點時能自主逃離;結(jié)合障礙物填充法[11],通過填充凹障礙物,形成新的斥力場函數(shù),使機器人在逃離局部極小點的同時,避免再次陷入局部極小點,重新規(guī)劃機器人路徑,最終完成救災(zāi)任務(wù)。仿真結(jié)果驗證了基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃方法能夠很好地解決礦井救災(zāi)機器人路徑規(guī)劃中的局部極小點問題。
傳統(tǒng)的人工勢場法是由Khabit[12]在1986年提出的一種虛擬牛頓引力方法,起初是為了使機器人在抓取物體時,其手臂可以不觸及工作臺,后來運用到機器人運動避障中。其主要思想是將機器人、目標(biāo)位置和障礙物簡化成點,目標(biāo)位置對機器人產(chǎn)生引力,障礙物對機器人產(chǎn)生斥力,在整個環(huán)境中,通過合力的作用控制機器人運動,進(jìn)行路徑規(guī)劃。傳統(tǒng)人工勢場定義如下。
假設(shè)機器人的位置X=(x,y),則目標(biāo)位置與機器人之間的引力場為
(1)
式中:Katt為引力場常數(shù);Xg為機器人的目標(biāo)位置。
定義引力場的負(fù)梯度為
(2)
定義斥力場為
(3)
式中:Krep為斥力場常數(shù);X0為障礙物的位置;X-X0為機器人到障礙物的距離;ρ0為障礙物產(chǎn)生的斥力場影響距離范圍。
定義斥力場的負(fù)梯度為
Frep(X)=-gradUrep(X)=
(4)
則機器人在人工勢場中的總勢場為
(5)
人工勢場對機器人的作用合力為
(6)
傳統(tǒng)人工勢場法原理簡單,算法簡潔,易于實現(xiàn),適用于較廣闊的地面場所,但在煤礦井下狹小區(qū)域[13-17]應(yīng)用時,由于機器人大部分是沿巷道直線行走,很容易產(chǎn)生局部極小點和震蕩等問題。如圖1(a)所示,當(dāng)障礙物、機器人和目標(biāo)位置在同一條直線上時,機器人接近目標(biāo)位置,引力變小,斥力變大,機器人會在某段路徑上產(chǎn)生震蕩,導(dǎo)致目標(biāo)位置不可達(dá)。如圖1(b)所示,當(dāng)障礙物斥力與引力的合力為0時,機器人將陷入局部極小點,此時還沒有到達(dá)目標(biāo)位置,最終導(dǎo)致避障失敗。為了解決該問題,本文提出基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃。

(a)機器人震蕩(b)機器人陷入局部極小點
圖1傳統(tǒng)人工勢場法在井下應(yīng)用存在的問題
2.1擾動場的引入
當(dāng)機器人在路徑規(guī)劃中陷入局部極小點時,增加擾動場來使機器人逃離局部極小點。定義擾動場為
(7)
式中:Kdis為擾動場常數(shù);ρ(X,Xg)為機器人與目標(biāo)位置的距離;ρa為機器人是否到達(dá)目標(biāo)位置的評判距離。
引入擾動場后,當(dāng)機器人陷入局部極小點時,環(huán)境模型的總勢場為
Utotal(X)=Uatt(X)+Urep(X)+Udis(X)
(8)
救災(zāi)機器人進(jìn)行避障時,在每個采樣周期探測其可以到達(dá)的范圍,尋找整個可探范圍內(nèi)的勢場最低點,將該點稱為子目標(biāo)位置。采用矢量法對機器人所受引力和斥力進(jìn)行合成,判斷機器人是否處于局部極小點,如果是,則在總勢場中加入擾動場。
2.2基于障礙物填充法的機器人路徑規(guī)劃
[11]提出了一種通過填充凹障礙物來避免局部極小點的方法。在現(xiàn)實避障過程中,機器人一般不能及時發(fā)現(xiàn)凹障礙物,發(fā)現(xiàn)時可能已經(jīng)陷入局部極小點中,再通過填充障礙物并不一定能走出局部極小點。對于井下救災(zāi)機器人來說,巷道本身并不是障礙物,而移動救生艙、礦車、機械設(shè)備等是需要避開的障礙物。圖2展示了3種在井下巷道中的障礙物。當(dāng)機器人碰到類似圖2(a)或圖2(b)所示的3段或2段凹障礙物時,很難及時判別前方是否存在局部極小點,即使運用了障礙物填充法,也未必能逃出局部極小點。當(dāng)救災(zāi)機器人遇到圖2(c)所示的普通障礙物時,不會陷入局部極小點。
救災(zāi)機器人探測凹障礙物過程如圖3所示。救災(zāi)機器人裝有探測裝置,探測到障礙物時會產(chǎn)生相應(yīng)的探測角α。圖3(a)中,救災(zāi)機器人探測到前方為2個障礙物,此時探測角α<180°。當(dāng)救災(zāi)機器人運動到圖3(b)位置時,已陷入凹障礙物中,探測角α>180°,機器人探測到凹障礙物的另一端,通過探測裝置監(jiān)測到該障礙物與之前探測的障礙物相連,從而判斷為同一障礙物,但此時機器人已逐步陷入局部極小點,導(dǎo)致目標(biāo)點不可達(dá)。
考慮到煤礦井下障礙物多變的情況,本文將擾動場和參考文獻(xiàn)[11]提出的凹障礙物填充法相結(jié)合,提出一種新的救災(zāi)機器人路徑規(guī)劃方法。該方法主要思想:當(dāng)救災(zāi)機器人陷入局部極小點后,通過擾動場使機器人逃離局部極小點,并運用凹障礙物填充法來填充產(chǎn)生局部極小點的障礙物,構(gòu)造填充后的障礙物斥力函數(shù),使救災(zāi)機器人在逃離局部極小點的同時,避免再次陷入局部極小點,如圖4所示。

(a) 3段凹障礙物

(b) 2段凹障礙物

(c) 普通障礙物

(a)機器人未進(jìn)入凹障礙物(b)機器人進(jìn)入凹障礙物
圖3救災(zāi)機器人探測凹障礙物過程

圖4 基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃方法
采用該救災(zāi)機器人路徑規(guī)劃方法后,可能產(chǎn)生局部極小點的區(qū)域被填充,形成一個面積更大的障礙物。被填充區(qū)域的斥力場為
(9)
式中:klocal為填充區(qū)域斥力場比例系數(shù);x-xlocal為救災(zāi)機器人退出局部極小點時與局部極小點的距離;ρl為填充區(qū)域的影響范圍。
完成凹障礙物填充后,填充后的勢場強度為
(10)
當(dāng)機器人完全退出可能產(chǎn)生局部極小點的凹障礙物區(qū)域,即凹障礙物區(qū)域被填充完畢時,機器人受到的總勢場為
(11)
為了驗證基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃方法的性能,選用2種3段凹障礙物,在Matlab7.0.4環(huán)境下,分別對機器人路徑軌跡和算法的空間復(fù)雜度進(jìn)行了仿真。
3.1救災(zāi)機器人運行軌跡
首先采用增加擾動場的機器人路徑規(guī)劃方法(簡稱擾動場法),對救災(zāi)機器人在障礙物a和障礙物b中的路徑規(guī)劃進(jìn)行仿真,結(jié)果如圖5所示。圖5(a)中目標(biāo)位置坐標(biāo)為(0.45,0.2),圖5(b)中目標(biāo)位置坐標(biāo)為(0.45,0.05)。圖5(a)中,救災(zāi)機器人陷入局部極小點后,機器人受到的總勢場為0,但并未到達(dá)目標(biāo)位置,此時在勢場函數(shù)中加入擾動場,并重新規(guī)劃路徑。經(jīng)過2次路徑重新規(guī)劃,機器人并沒有逃離局部極小點,而是陷入了另一個局部極小點,最終沒能走出凹障礙物區(qū)域。圖5(b)中,救災(zāi)機器人經(jīng)歷了2次局部極小點,最終走出了局部極小點,成功避開了凹障礙物。可看出圖5(a)中救災(zāi)機器人陷入局部極小點時,機器人與目標(biāo)位置的距離遠(yuǎn)小于圖5(b)中機器人與目標(biāo)位置的距離,即圖5(b)情況下的值更大,擾動場產(chǎn)生的斥力更大,更容易偏離原來的軌跡,便于重新規(guī)劃路徑。但圖5(b)中機器人避障花費了更多的時間和路程,增加了算法難度,導(dǎo)致算法可靠性下降。
接下來采用基于擾動場和障礙物填充法的機器人路徑規(guī)劃方法(簡稱擾動場結(jié)合填充法),對救災(zāi)機器人在障礙物a的路徑規(guī)劃進(jìn)行仿真,結(jié)果如圖6所示。目標(biāo)位置坐標(biāo)為(0.45,0.05)。可看出當(dāng)救災(zāi)機器人陷入局部極小點時,擾動場結(jié)合填充法通過擾動場使機器人逃離局部極小點;由于填充了凹障礙物,勢場函數(shù)中斥力場增大,使機器人的軌跡更為陡峭,且隨著填充面積的增大,機器人逐漸逃離凹障礙物,重新規(guī)劃路徑后很快到達(dá)了目標(biāo)位置。

(a) 障礙物a

(b) 障礙物b

圖6 基于擾動場結(jié)合填充法的救災(zāi)機器人運行軌跡
3.2算法的空間復(fù)雜度
在全屬性運行狀態(tài)下,對擾動場法和擾動場結(jié)合填充法進(jìn)行空間復(fù)雜度對比,以獲得算法的運行時間、算法運行時內(nèi)存占用率等。仿真結(jié)果如圖7所示。可看出2種算法在樣本數(shù)不大于500 000時,算法運行時間和系統(tǒng)內(nèi)存占用率差別不大。隨著樣本數(shù)量的增加,擾動場結(jié)合填充法在運行時間和系統(tǒng)內(nèi)存占用率上體現(xiàn)出很大優(yōu)勢:當(dāng)仿真樣本數(shù)目一定時,擾動場結(jié)合填充法的算法時間比單一的擾動場法少很多;擾動場法的內(nèi)存使用率逼近59.5%,而擾動場結(jié)合填充法的內(nèi)存使用率逼近43.5%,后者內(nèi)存占用率更低。

(a) 運行時間

(b) 系統(tǒng)內(nèi)存占用率
采用ZY08-C-G型避障小車,結(jié)合VisualC++編程進(jìn)行現(xiàn)場模擬避障實驗。避障小車運行流程如圖8所示。

圖8 避障小車運行流程
現(xiàn)場設(shè)置及實驗結(jié)果如圖9所示。可看出小車很好地完成了避障任務(wù),并最終到達(dá)設(shè)定的目標(biāo)位置,驗證了基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃方法的可行性和有效性。

圖9 現(xiàn)場設(shè)置及實驗結(jié)果
基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃方法在救災(zāi)機器人陷入井下凹障礙物的局部極小點時,通過在勢場函數(shù)中增加擾動場,能夠使救災(zāi)機器人成功逃離局部極小點;結(jié)合障礙物填充法形成新的斥力場函數(shù),使救災(zāi)機器人重新規(guī)劃路徑,避免再次陷入同一障礙物的其他局部極小點。仿真和實測驗證了該方法的可行性和有效性。
參考文獻(xiàn):
[1]王忠民,劉軍,竇智,等.礦難救援機器人的研究應(yīng)用現(xiàn)狀與開發(fā)[J].煤礦機械,2007,28(11):6-8.
[2]TIANZijian,ZHANGLiya,CHENWei.Improvedalgorithmfornavigationofrescuerobotsinundergroundmines[J].ComputersandElectricalEngineering,2013,39(4):1088-1094.
[3]朱磊,樊繼壯,趙杰,等.基于柵格法的礦難搜索機器人全局路徑規(guī)劃與局部避障[J].中南大學(xué)學(xué)報(自然科學(xué)版),2011,42(11):3421-3428.
[4]張志超,鄭之增,方海峰,等.礦井救災(zāi)機器人的導(dǎo)航定位研究[J].煤礦機械,2008,29(11):41-43.
[5]MINGP,JEONJH,MINCL.Obstacleavoidanceformobilerobotsusingartificialpotentialfieldapproachwithsimulatedannealing[C]//ProceedingsofIEEEInternationalSymposiumonIndustrialElectronics,Pusan,2001:1530-1535.
[6]KITAMURAY,TANAKAT,KISHINOF,etal. 3-Dpathplanninginadynamicenvironmentusinganoctreeandanartificialpotentialfield[C]//ProceedingsofIEEEInternationalConferenceonIntelligentRobotsandSystems,Piscataway,1995:2474-2481.
[7]JANABI-SHARIFIF,VINKED.Integrationoftheartificialpotentialfieldapproachwithsimulatedannealingforrobotpathplanning[C]//ProceedingsofIEEEInternationalSymposiumonIntelligentControl,Piscataway,1993:536-541.
[8]SATOK.Deadlock-freemotionplanningusingtheLaplacepotentialfield[J].AdvancedRobotics,1993,7(5): 449-461.
[9]譚民,王碩,曹志強.多機器人系統(tǒng)[M].北京:清華大學(xué)出版社,2005:42-46.
[10]TANGL,DIANS,GUG,etal.Anovelpotentialfieldmethodforobstacleavoidanceandpathplanningofmobilerobot[C]//ProceedingsofIEEEInternationalConferenceonComputerScienceandTechnology,Chengdu,2010:633-637.
[11]王佳,吳曉蓓,徐志良.避免人工勢場中一類局部極小值的規(guī)劃方法[J].計算機仿真,2007,24(11):151-154.
[12]KHATIBO.Real-timeobstacleavoidanceformanipulatorsandmo-bilerobots[C]//ProceedingsofIEEEInternationalConferenceonRoboticsandAutomation,Washington, 1990:500-505.
[13]石為人,黃興華,周偉.基于改進(jìn)人工勢場法的移動機器人路徑規(guī)劃[J],計算機應(yīng)用,2010, 30(8):2021-2023.
[14]肖本賢,余雷,李善壽,等.逃逸人工勢場法局部極小值策略的研究[J].系統(tǒng)仿真學(xué)報,2007,19(19):4495-4503.
[15]孫繼平.現(xiàn)代化礦井通信技術(shù)與系統(tǒng)[J].工礦自動化,2013,39 (3):1-5.
[16]莊曉東,孟慶春,高云,等.復(fù)雜環(huán)境中基于人工勢場優(yōu)化算法的最優(yōu)路徑規(guī)劃[J].機器人,2003,25(6):531-535.
[17]方華京,魏然.人工勢場法在多機器人運動中的研究[J].控制工程,2007,14(3):115-118.
Path planning of rescuing robot based on improved artificial potential field method
TIAN Zijian,GAO Xuehao
(SchoolofMechanicalElectronicandInformationEngineering,ChinaUniversityofMiningandTechnology(Beijing),Beijing100083,China)
Foraproblemthatrescuingrobotwaseasilystackedintolocalminimalpointbyusingtraditionalartificialpotentialfieldmethodtoplanpathincoalmineundergroundwithcomplexobstacles,apathplanningmethodofrescuingrobotbasedonimprovedartificialpotentialfieldmethodwasproposed.Inthemethod,perturbationfieldisaddedintogravitationfieldtochangegravitationfieldfunction,soastomakerescuingrobotgooutoflocalminimumpointautonomouslywhentherobotstacksintothelocalminimumpoint.Meanwhile,obstacleisfilledvirtuallythroughanobstaclefillingmethod,thusanewobstacleisformedandacorrespondingrepulsivepotentialfieldfunctionisgeneratedtoavoidrescuingrobottostackintolocalminimalpointagain.Thesimulationandtestresultsverifyfeasibilityandvalidityofthemethod.
rescuingrobot;pathplanning;artificialpotentialfieldmethod;perturbationfield;potentialfieldfunction;obstaclefillingmethod
1671-251X(2016)09-0037-06DOI:10.13272/j.issn.1671-251x.2016.09.009
2016-03-25;
2016-07-19;責(zé)任編輯:李明。
國家自然科學(xué)基金重點資助項目(51134024);國家自然科學(xué)基金資助項目(U1261125)。
田子建(1964-),男,湖南望城人,教授,博士,主要從事煤礦井下安全檢測方面的研究工作,E-mail:tianzj0726@126.com。
TD67
A網(wǎng)絡(luò)出版時間:2016-09-02 10:12
田子建,高學(xué)浩.基于改進(jìn)人工勢場法的救災(zāi)機器人路徑規(guī)劃[J].工礦自動化,2016,42(9):37-42.