馬曉璐,張持健,鄭奎昂,鄒鵬飛
(安徽師范大學(xué)物理與電子信息學(xué)院,安徽蕪湖241000)
在移動(dòng)機(jī)器人研究領(lǐng)域,路徑規(guī)劃是一個(gè)主要組成部分[1],是機(jī)器人導(dǎo)航中最重要的任務(wù)之一。蔣新松在文獻(xiàn)[2]中為路徑規(guī)劃下的定義為:路徑規(guī)劃是自治式移動(dòng)機(jī)器人的一個(gè)重要構(gòu)成部分,它的目的就是在具有障礙物的環(huán)境內(nèi)憑據(jù)相應(yīng)的評定準(zhǔn)則,找到一條從初始狀態(tài)(包含位置和姿態(tài))抵達(dá)目標(biāo)狀態(tài)(包含位置和姿態(tài))沒有發(fā)生碰撞的路徑。在過去的幾十年里,路徑規(guī)劃在相關(guān)領(lǐng)域內(nèi)取得越來越多的眷顧。按照機(jī)器人獲取環(huán)境信息的不同情況,路徑規(guī)劃問題大致劃分為兩類,一是基于環(huán)境先驗(yàn)信息的全局路徑規(guī)劃,其方法主要有距離轉(zhuǎn)換法,構(gòu)型空間法、拓?fù)浞ǖ取6莻鞲衅餍畔⒁龑?dǎo)的局部路徑規(guī)劃,其主要有模糊邏輯法、啟發(fā)式搜索法、人工勢場法等方法。
人工勢場法相對其他算法具有反應(yīng)快、計(jì)算速度快、硬件要求低、易于理解等優(yōu)勢,但傳統(tǒng)的勢場法也容易出現(xiàn)陷入陷阱區(qū)域,無法完全在動(dòng)態(tài)環(huán)境中適應(yīng)等固有問題,在路徑規(guī)劃中大大的影響勢場法的使用。針對人工勢場法路徑規(guī)劃失敗問題,一部分研究者將改進(jìn)人工勢場法結(jié)合遺傳算法、模糊算法、稀疏搜索算法等規(guī)劃出正確的路徑,但此類算法計(jì)算量大且復(fù)雜耗時(shí),作為后續(xù)的路徑優(yōu)化尚可,另一部分研究者通過調(diào)整算法策略,即在不改變參數(shù)的前提下,基于人工勢場法采用相對簡單的策略來解決,文獻(xiàn)[3]提出一種帶記憶功能的“沿邊法”,通過沿著障礙物邊緣行走來逃離局部最小值點(diǎn),但會(huì)造成路徑變長,不能實(shí)現(xiàn)最優(yōu)路徑;文獻(xiàn)[4]中筆者對于局部最小值點(diǎn)的問題的解決是利用隨機(jī)力的方法來構(gòu)造新的人工勢場法函數(shù),所依據(jù)的環(huán)境信息是局部的,隨機(jī)性較高,缺乏全局環(huán)境上的自我調(diào)節(jié)能力;文獻(xiàn)[5]中作者通過采用入侵雜草法獲得最優(yōu)臨時(shí)目的地,場區(qū)內(nèi)的引力勢的臨時(shí)目的地將會(huì)被從新搭配,引導(dǎo)機(jī)器人走出局部最小值點(diǎn),但此算法過于繁瑣。文獻(xiàn)[6]中作者采取作為最優(yōu)解的先驗(yàn)知識(shí)來初始化蟻群的相關(guān)參考因數(shù),單獨(dú)蟻群算法的優(yōu)化計(jì)算速度能夠大大的提高,但容易出現(xiàn)早熟現(xiàn)象,且計(jì)算開銷較大,對機(jī)器人運(yùn)動(dòng)的實(shí)時(shí)性會(huì)產(chǎn)生影響。
針對移動(dòng)機(jī)器人無法抵達(dá)目標(biāo)點(diǎn)的問題,本文將重新構(gòu)建引力和斥力函數(shù),使得斥力勢函數(shù)取值不僅受到障礙物與移動(dòng)機(jī)器人空間關(guān)系的影響,同時(shí)也受到目的地與移動(dòng)機(jī)器人的空間相對位置影響,從而使得障礙物、移動(dòng)機(jī)器人與目的地三者互相影響,當(dāng)障礙物靠近目標(biāo)點(diǎn)時(shí),引力勢與斥力勢會(huì)按照一定的規(guī)則向著削弱的方向發(fā)生改變直到?jīng)]有。仿真結(jié)果表明,經(jīng)過對人工勢場法的修改,機(jī)器人能夠更好地克服目標(biāo)不可達(dá)以及局部最小值點(diǎn)的不足,并且在最優(yōu)路徑選擇方面提升了效率,在全局環(huán)境中具有較高的指導(dǎo)性。
經(jīng)過多年的發(fā)展由Khatib于1986年最先提出的人工勢場法概念,已經(jīng)成為路徑規(guī)劃中較為高效、成熟的規(guī)劃方法,其方法是用勢場來定義移動(dòng)機(jī)器人當(dāng)前所在環(huán)境,假設(shè)機(jī)器人在二維的區(qū)域里運(yùn)動(dòng),定義人工勢場法引力場和斥力場,引力場是由目標(biāo)點(diǎn)產(chǎn)生,對機(jī)器人產(chǎn)生的引力隨機(jī)器人與目標(biāo)點(diǎn)間距離的減小而減小,方向指向目標(biāo)點(diǎn)。斥力場是由障礙物產(chǎn)生的,對機(jī)器人產(chǎn)生的斥力隨機(jī)器人與障礙物間距離的不斷縮小而增大,方向背離障礙物,引力場和斥力場共同決定機(jī)器人的運(yùn)動(dòng)方向,合力為斥力引力之和。
圖1 傳統(tǒng)人工勢場示意圖
本文使用的引力場函數(shù)模型為[8]為改進(jìn)后的人工勢場函數(shù),依然包括引力場函數(shù)和斥力場函數(shù)。
式中,ka為引力場增益函數(shù),X為移動(dòng)機(jī)器人在當(dāng)前所在的坐標(biāo),Xg是終點(diǎn)的坐標(biāo),
ρ(X-Xg)為移動(dòng)機(jī)器人與終點(diǎn)的距離。
本文采用的斥力勢函數(shù)模型為[9]
上式中,kr為斥力場增益系數(shù),Xb是障礙物所在位置坐標(biāo)是移動(dòng)機(jī)器人與障礙物的之間的長度為移動(dòng)機(jī)器人與終點(diǎn)位置之間的距離中的指數(shù)2的選擇依照文獻(xiàn)[9]中公式(3-9)對指數(shù)的要求,ρ0為障礙物的影響距離。
改進(jìn)人工勢場法中移動(dòng)機(jī)器人的改合力勢為
本文在移動(dòng)機(jī)器人上均勻安裝超聲波探頭,使用檢測障礙物的相對位置來確定合力勢從而確定移動(dòng)機(jī)器人的下一時(shí)刻的方向。
1)超聲波探頭位置的確定
2)超聲波探頭引力場
3)超聲波探頭斥力場
4)超聲波探頭的合力勢場
5)最小合力勢場的探頭角度
6)下一時(shí)刻到達(dá)的位置
為了證明此算法的實(shí)用性,用傳統(tǒng)人工勢場法和本文改進(jìn)的方法對復(fù)雜環(huán)境的機(jī)器人路徑進(jìn)行規(guī)劃仿真測驗(yàn),運(yùn)動(dòng)軌跡用matlab軟件進(jìn)行仿真,改進(jìn)后的勢場法運(yùn)算步驟如下:
第1步:建立機(jī)器人定位坐標(biāo)系;
第2步:給出障礙物點(diǎn),移動(dòng)機(jī)器人坐標(biāo)點(diǎn)、終點(diǎn)的位置和事先定義的移動(dòng)步長;
第3步:計(jì)算機(jī)器人與目標(biāo)點(diǎn)之間的引力,以及引力在水平方向和豎直方向上的數(shù)值;
第4步:建立臨時(shí)的目標(biāo)點(diǎn);
第5步:計(jì)算機(jī)器人與各障礙物之間的斥力,求出合力,以及在數(shù)軸X、Y方向上的分量;
第6步:計(jì)算引力與斥力共同產(chǎn)生的合力,以及合力與水平方向上存在夾角θ;
第8步:判斷機(jī)器人與目標(biāo)點(diǎn)距離是否能完成避障規(guī)劃,若不能則轉(zhuǎn)到第4步進(jìn)行計(jì)算。
算法流程圖,如圖2所示。
圖2 流程圖
分別采用傳統(tǒng)的人工勢場法和改進(jìn)后的人工勢場法對機(jī)器人無法達(dá)到目標(biāo)點(diǎn)的問題進(jìn)行仿真測驗(yàn),得出的結(jié)果如圖3~4所示,對比可以看到,當(dāng)目標(biāo)點(diǎn)周圍有障礙物存在時(shí),使用傳統(tǒng)人工勢場法無法使機(jī)器人抵達(dá)目標(biāo)點(diǎn),當(dāng)采用本文提出的人工勢場法時(shí),機(jī)器人能夠順利躲避障礙物,精準(zhǔn)無誤地抵達(dá)最終位置。(圖中無規(guī)則方塊表示障礙物,五角星表示目標(biāo)點(diǎn)的位置,三角形表示起始點(diǎn)位置,下圖同)
圖3 傳統(tǒng)人工勢場法
圖4 改進(jìn)后的人工勢場法
對于機(jī)器人存在局部極小值問題,運(yùn)用傳統(tǒng)人工勢場法,運(yùn)行結(jié)果的行走路線如圖5所示,從圖中不難看出,當(dāng)機(jī)器人在運(yùn)動(dòng)中所受的合力為零時(shí),使用傳統(tǒng)的人工勢場法,機(jī)器人會(huì)出現(xiàn)踟躕不前,在小范圍內(nèi)來回移動(dòng),無法走出陷阱區(qū)域,陷入局部最小值點(diǎn)的困境。
圖5 采用傳統(tǒng)算法復(fù)雜環(huán)境下機(jī)器人陷入局部最小值點(diǎn)
采用文獻(xiàn)[3]提出的算法,仿真結(jié)果的機(jī)器人行動(dòng)路徑如圖6所示,機(jī)器人沿著邊沿移動(dòng),跳出局部最小點(diǎn),最終到達(dá)目標(biāo)點(diǎn)。
通過實(shí)驗(yàn)可以看出,在本文中所采用的勢場法對障礙物有一定的規(guī)避能力(如圖7),從規(guī)劃路徑來看,機(jī)器人避開所有障礙物,并且跳出所遇到的局部最小值點(diǎn),準(zhǔn)確地到達(dá)目標(biāo)點(diǎn),對比文獻(xiàn)[3]的算法,其路徑長度相對更短,更能滿足路徑規(guī)劃的實(shí)時(shí)性要求。
圖6 采用文獻(xiàn)[3]算法復(fù)雜環(huán)境下機(jī)器人的行動(dòng)路徑
圖7 采用本文算法復(fù)雜環(huán)境下機(jī)器人的行動(dòng)路徑
在機(jī)器人路徑規(guī)劃方法中,人工勢場法對于障礙物環(huán)境變化較快的情況具有很好的實(shí)時(shí)性,但也存在目標(biāo)不可達(dá)和局部最小值點(diǎn)的問題?;诒疚难芯康膫鹘y(tǒng)人工勢場法原理,對于這些存在的一些問題,重新定義勢力場函數(shù),并且增加入了運(yùn)動(dòng)因子,將算法編寫了仿真程序,研究結(jié)果表明,相對于傳統(tǒng)的人工勢場法,改進(jìn)后的人工勢場法在復(fù)雜環(huán)境下進(jìn)行避障規(guī)劃時(shí),機(jī)器人克服了勢場法容易產(chǎn)生局部最優(yōu)而找不到可行解缺陷,提高了算法效率以及適應(yīng)性,滿足避障路徑規(guī)劃的要求。但在現(xiàn)實(shí)應(yīng)用中還要考慮路徑規(guī)劃的實(shí)時(shí)性,以及移動(dòng)障礙物、多機(jī)器人運(yùn)動(dòng)存在的特殊碰撞問題。這些工作還需進(jìn)一步研究。
[1]歐青力,何克忠.室外智能移動(dòng)機(jī)器人的發(fā)展及其關(guān)鍵技術(shù)研究[J].機(jī)器人,2000,22(6):519-526.
[2]蔣新松.機(jī)器人學(xué)導(dǎo)論[M].遼寧科學(xué)技術(shù)出版社,1994.
[3]Huang Y ,Hu H,Liu X.Obstacles avoidance of artificialpotentialfield method with memory function in complex environment:proceedings of the 8thWorld Congress on Intelligent Control and Automation,Jinan,July 7-9,2010[C].[S.1.]:IEEE,2010.
[4]Lee,J(Lee,Jinseok),Nam,Y(Nam,Yunyoung),Hong,S(Hong,Sangjin),Cho,W(Cho,Weduke).New PotentialFunction swith Random Force Algorithms Using Potential Field Method[J].Journal of Intelligent&Robotic Systems,2012,66(3):303-319.
[5]李海峰,馬斌等.基于人工勢場法與入侵雜草法路徑規(guī)劃研究[J].控制工程,2015,22(1):38-44.
[6]李奕銘.基于人工勢場法的移動(dòng)機(jī)器人避障研究[D].合肥:合肥工業(yè)大學(xué),2013.
[7]Khatib O.Real-time obstacle avoidance for manipulators and mobile robots[J].Internationgal Journal of Robotics Research,1986,5(1):90-98.
[8]于振中,閆繼紅.改進(jìn)人工勢場法的移動(dòng)機(jī)器人路徑規(guī)劃[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2011,43(1):50-55.
[9]劉亮.基于勢場蟻群算法的移動(dòng)機(jī)器人路徑規(guī)劃研究[D].廣州:暨南大學(xué),2009.
[10]王會(huì)麗,傅衛(wèi)平.基于改進(jìn)的勢場函數(shù)的移動(dòng)機(jī)器人路徑規(guī)劃[J].機(jī)床與液壓,2002(6):67-68.
[11]丁家如,杜昌平,趙耀,等.基于改進(jìn)人工勢場法的無人機(jī)路徑規(guī)劃算法[J].計(jì)算機(jī)應(yīng)用,2016,36(1):287-290.
[12]孫紹杰,齊曉慧,蘇立軍.基于人工勢場-遺傳算法的機(jī)械臂避障方法的研究[J].計(jì)算機(jī)測量與控制,2011,19(12):3078-3081.
[13]Yuanchang Liu,Rui Song,Richard Bucknall.A practical path planning and navigation algorithm for an unmanned surface vehicle using the fast marchinh algorithm[J].Oceans,2015:1-7.
[14]單寶明,周培培.基于改進(jìn)人工勢場法的機(jī)器人路徑規(guī)劃研究[J].信息技術(shù),2014,1(4):170-173.
[15]王芳,李昆鵬,袁明新.一種人工勢場導(dǎo)向的蟻群路徑規(guī)劃算法[J].計(jì)算機(jī)科學(xué),2014,41(11A):47-50.
[16]羅乾又,張華,王妲,等.改進(jìn)人工勢場法在機(jī)器人路徑軌劃中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(4):1411-1418.
[17]Gómez J V,Lumbier A,Garrido S,et al.Planning robot formations with fast marching square including uncertainty conditions[J].Robotics and Autonomous Systems,2013,61(2):137-152.