游文洋, 章 政, 黃衛(wèi)華
(武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢 430080)
?
基于模糊改進(jìn)人工勢場法的機(jī)器人避障方法研究*
游文洋, 章政, 黃衛(wèi)華
(武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢 430080)
摘要:在內(nèi)部密封、狹窄、多障礙的船艙環(huán)境中,障礙物的分布具有隨機(jī)性和不確定性,對于移動(dòng)機(jī)器人的避障方法而言,傳統(tǒng)人工勢場法存在目標(biāo)不可達(dá)、局部極小值等問題。設(shè)計(jì)了一種基于模糊邏輯的改進(jìn)人工勢場法,在避障算法的局部極小值附近,基于模糊邏輯給予移動(dòng)機(jī)器人輔助控制力,幫助機(jī)器人逃離局部極小值點(diǎn),避免機(jī)器人在避障過程中陷入局部極小值點(diǎn)的問題,并且優(yōu)化路徑。仿真實(shí)驗(yàn)表明:在多障礙復(fù)雜環(huán)境下,該算法能實(shí)現(xiàn)機(jī)器人實(shí)時(shí)、安全的避障。
關(guān)鍵詞:模糊邏輯; 人工勢場法; 實(shí)時(shí)避障; 機(jī)器人
0引言
對于保證船舶在海上運(yùn)輸?shù)陌踩远裕?船艙環(huán)境的實(shí)時(shí)監(jiān)測是十分有必要的。通過傳統(tǒng)的人工監(jiān)測不僅效率低、可靠性不強(qiáng),而且監(jiān)測的范圍還會受到環(huán)境條件的限制。盡管采用大量監(jiān)控設(shè)備可以獲得更大的監(jiān)測范圍,但這也增大了成本,且視角有限。通過機(jī)器人對船艙進(jìn)行監(jiān)測不僅可以降低監(jiān)測成本、擴(kuò)大監(jiān)測范圍,還能夠有效地提高監(jiān)測的實(shí)時(shí)性和可靠性。由于船艙內(nèi)結(jié)構(gòu)復(fù)雜,存在很多障礙物,比如:艙壁與頂部的肋骨、艙內(nèi)的設(shè)備、貨物等,因此,機(jī)器人必須具備一定的避障能力。
目前廣泛使用的避障方法主要有:人工勢場法[1],遺傳算法[2],柵格法[3],蟻群算法[4],模糊邏輯算法,神經(jīng)網(wǎng)絡(luò)算法[5]等。由于在船艙結(jié)構(gòu)復(fù)雜,環(huán)境多變,所以,機(jī)器人需要在對艙內(nèi)環(huán)境完全未知或部分未知的情況下仍然能夠有效的避障,因此,在避障過程中只能采用局部避障算法。其中,人工勢場法就是一種局部避障算法,相對于其他算法而言,它實(shí)時(shí)性強(qiáng)、計(jì)算量小、安全可靠,應(yīng)用也最為廣泛。但傳統(tǒng)人工勢場法存在局部極小值和目標(biāo)不可達(dá)的問題。為此,文獻(xiàn)[6]提出一種將人工勢場法與指導(dǎo)性RRT算法相結(jié)合的改進(jìn)算法,通過RRT算法搜索未知區(qū)域,從而使人工勢場法擺脫局部極小值。但RRT算法隨機(jī)性較大,改進(jìn)后算法的計(jì)算量會相應(yīng)增加。文獻(xiàn)[7]通過使用量子粒子群算法來修改人工勢場模型中的參數(shù),進(jìn)而克服人工勢場法中局部極小值和目標(biāo)不可達(dá)的問題。文獻(xiàn)[8]中重新定義了兩個(gè)斥力分量的方向:一個(gè)斥力方向與斥力勢場相切,另一個(gè)斥力方向與引力方向一致,并規(guī)定斥力與引力的內(nèi)積大于或等于零,從而避免了局部極小值的問題。
本文針對船舶監(jiān)測機(jī)器人在實(shí)時(shí)監(jiān)測過程中遇到的避障問題,提出了一種模糊改進(jìn)人工勢場的方法幫助機(jī)器人進(jìn)行實(shí)時(shí)避障。在船艙復(fù)雜環(huán)境下,模糊邏輯能夠幫助人工勢場法擺脫局部極小值點(diǎn)并且優(yōu)化避障路徑。
1傳統(tǒng)人工勢場法
傳統(tǒng)人工勢場法最早是由Khatib提出來的,它的基本思想是將機(jī)器人在空間中的運(yùn)動(dòng)虛擬成一個(gè)質(zhì)點(diǎn)在人工勢場中的運(yùn)動(dòng),目標(biāo)點(diǎn)會對機(jī)器人產(chǎn)生吸引力,而障礙點(diǎn)會對機(jī)器人產(chǎn)生排斥力,機(jī)器人的運(yùn)動(dòng)由引力和斥力的合力控制。如圖1,機(jī)器人離障礙越近斥力越大;反之,越遠(yuǎn)斥力越小。當(dāng)機(jī)器人離目標(biāo)點(diǎn)越近引力就越小;反之,離目標(biāo)點(diǎn)越遠(yuǎn)引力越大。
圖1 傳統(tǒng)人工勢場法分析Fig 1 Analysis of traditional artificial potential field method
1.1傳統(tǒng)人工勢場法簡介
假定機(jī)器人為一個(gè)質(zhì)點(diǎn),機(jī)器人的運(yùn)動(dòng)空間為一個(gè)二維空間,機(jī)器人在二維工作空間的坐標(biāo)為(x,y),目標(biāo)點(diǎn)的坐標(biāo)為(xg,yg),目標(biāo)點(diǎn)對機(jī)器人產(chǎn)生的引力勢場Uatt為
(1)
式中k為引力系數(shù),X為機(jī)器人的坐標(biāo)(x,y),Xgoal為目標(biāo)點(diǎn)的坐標(biāo)(xg,yg),X-Xgoal為機(jī)器人與目標(biāo)點(diǎn)之間的相對距離pg
(2)
根據(jù)引力勢場的負(fù)梯度可以得到引力Fatt為
(3)
障礙物的斥力勢場Urep可以表示為
(4)
式中η為斥力系數(shù),p0為障礙物的斥力影響距離,pob為目標(biāo)與障礙物之間的距離。
斥力為斥力勢場的負(fù)梯度函數(shù)
(5)
當(dāng)機(jī)器人周圍存在n個(gè)障礙物時(shí),機(jī)器人所受到的總合力Ftoal為
(6)
1.2傳統(tǒng)人工勢場法局限性分析
傳統(tǒng)人工勢場法的局限性主要體現(xiàn)在以下兩點(diǎn):
1)目標(biāo)不可達(dá):由式(3)和式(5)可知,機(jī)器人離目標(biāo)點(diǎn)越近受到的斥力越大,引力越少。當(dāng)目標(biāo)點(diǎn)附近存在障礙物時(shí),機(jī)器人在目標(biāo)點(diǎn)附近所受到的斥力大于引力,可能會導(dǎo)致機(jī)器人一直在目標(biāo)點(diǎn)附近徘徊,無法到達(dá)目標(biāo)點(diǎn)。
2)局部極小值的問題:在多障礙的復(fù)雜環(huán)境下,機(jī)器人在避障過程中受到的斥力的大小方向都是隨機(jī)的。當(dāng)機(jī)器人在某一點(diǎn)所受到的斥力和引力的大小相等且方向相反時(shí),由于合力為零,機(jī)器人無法確定下一步的前進(jìn)方向,可能會出現(xiàn)停止或者徘徊的情況。
2基于模糊邏輯的改進(jìn)人工勢場法
2.1改進(jìn)人工斥力勢場函數(shù)設(shè)計(jì)
為了解決人工勢場法中的問題,楊一波等人[9]在傳統(tǒng)斥力勢場基礎(chǔ)上進(jìn)行了改進(jìn),將機(jī)器人與目標(biāo)點(diǎn)之間的距離加入斥力勢場函數(shù)中,以保證斥力也能夠隨著機(jī)器人與目標(biāo)之間距離的減少而減小。改進(jìn)后的斥力勢場函數(shù)為
(7)
式中η為斥力系數(shù),p0為障礙物的斥力影響距離,pob為機(jī)器人與障礙物之間的距離,X-Xgoal為機(jī)器人與目標(biāo)之間的距離,n為大于零的實(shí)數(shù)。
根據(jù)上式可以得出新的斥力函數(shù)為
(8)
其中
(9)
(10)
修改后的斥力有兩個(gè)分量,分量F1與原斥力方向一致,分量F2與引力方向一致,如圖2所示。
圖2 改進(jìn)人工勢場法斥力方向Fig 2 Repulsion direction of improved artificialpotential field method
2.2基于模糊邏輯的改進(jìn)人工勢場法設(shè)計(jì)
改進(jìn)斥力勢場函數(shù)后,目標(biāo)不可達(dá)與部分局部極小值的問題得到了解決,但在一些特殊情況下,機(jī)器人的避障過程仍然存在局部極小值的問題。如圖3(a)所示,當(dāng)機(jī)器人、障礙物以及目標(biāo)點(diǎn)在同一條直線上,且障礙物處于機(jī)器人與目標(biāo)點(diǎn)之間時(shí),由于修改后的斥力Frep與引力Fatt的方向始終在一條直線上,因此,合力Ftotal方向也只能沿著這條直線。在沒有其他控制力輔助的情況下,機(jī)器人由于無法越過障礙物,最終將會無法到達(dá)目標(biāo)點(diǎn)。
為了避免出現(xiàn)上述情況出現(xiàn),避障算法需要在遇到局部極小值時(shí)給機(jī)器人一個(gè)輔助的控制力,幫助機(jī)器人逃離局部極小值點(diǎn)。由于船艙復(fù)雜環(huán)境下的避障過程中,障礙物的分布具有隨機(jī)性和不確定性。而模糊理論對不確定的信息有很強(qiáng)的處理能力。為此,本文采用模糊邏輯的方法改進(jìn)人工勢場法以克服上述問題,其受力分析如圖3(b)所示,其Ffuzzy為模糊合力。
圖3 受力分析Fig 3 Force analysis
當(dāng)機(jī)器人處于局部極小值點(diǎn)或接近局部極小值點(diǎn)時(shí),通過根據(jù)經(jīng)驗(yàn)制定的模糊規(guī)則計(jì)算出機(jī)器人的模糊合力Ffuzzy,幫助機(jī)器人脫離局部極小值點(diǎn)。在機(jī)器人沒有處于局部極小值點(diǎn)時(shí),模糊模塊能夠優(yōu)化人工勢場法的避障路徑,使避障軌跡更加平滑。本文設(shè)計(jì)了一個(gè)雙輸入單輸出的模糊邏輯模塊來對人工勢場法進(jìn)行改進(jìn)。模糊改進(jìn)人工勢場法的算法流程如圖4所示。
圖4 算法流程圖Fig 4 Flow chart of algorithm
2.3模糊避障模塊的設(shè)計(jì)
為了避免機(jī)器人陷入局部極小值點(diǎn),優(yōu)化避障路徑,模糊模塊的輸入量必須能夠準(zhǔn)確地反映機(jī)器人的狀態(tài),輸出量需要能夠及時(shí)地幫助機(jī)器人脫離局部極小值點(diǎn)。因此,選取斥力Frep與引力Fatt之間的夾角θ以及斥力Frep與引力Fatt之差和斥力Fatt與引力Fatt的最大值之比F作為模糊模塊的兩個(gè)輸入變量,機(jī)器人運(yùn)動(dòng)方向與引力方向之間的偏移角度φ作為模糊模塊的輸出變量。模糊模塊中的變量采用連續(xù)論域。夾角θ的論域?yàn)閇-π,π],模糊化后為A={NB,NM,NS,PS,PM,PB},考慮到當(dāng)夾角θ處于零點(diǎn)附近時(shí)在一些特殊情況下可能會造成震蕩,因此,夾角θ在零點(diǎn)附近沒有進(jìn)行模糊化。隸屬函數(shù)選取三角形隸屬函數(shù),如圖5所示。
圖5 θ的隸屬函數(shù)Fig 5 Membership function of θ
斥力Frep與引力Fatt之差與斥力Frep和引力Fatt的最大值之比F為
F=(Frep-Fatt)/max(Frep,F(xiàn)att).
(11)
F的論域?yàn)閇-1,1],模糊化后為B={NB,NM,NS,ZO,PS,PM,PB},隸屬函數(shù)分布如圖6所示。
圖6 F的隸屬函數(shù)Fig 6 Membership function of F
圖7 φ的隸屬函數(shù)Fig 7 Membership function of φ
本文的單輸出模糊模塊具有以下形
Ri:IfθisAi,FisBi,ThenφisYi.i=1,2,…,N.
模糊模塊的輸入變量分別擁有6個(gè)和7個(gè)模糊子集,輸出量φ有7個(gè)模糊子集,根據(jù)經(jīng)驗(yàn),模糊規(guī)則如表1。
表1 模糊規(guī)則
3仿真實(shí)驗(yàn)與結(jié)果
為了驗(yàn)證模糊改進(jìn)人工勢場算法在機(jī)器人實(shí)時(shí)避障中的可行性。本文通過Matlab軟件對機(jī)器人實(shí)時(shí)避障時(shí)可能會遇到的一些情況進(jìn)行了建模仿真實(shí)驗(yàn)。
1)目標(biāo)點(diǎn)處于障礙物作用范圍內(nèi),傳統(tǒng)勢場法中目標(biāo)點(diǎn)不可達(dá)的情況。仿真環(huán)境下機(jī)器人的起點(diǎn)坐標(biāo)為(0,0)m,目標(biāo)點(diǎn)坐標(biāo)為(130,130)m,障礙物半徑為3 m,障礙物的斥力影響半徑為20 m,步長為0.5 m。
圖8是傳統(tǒng)人工勢場法在目標(biāo)不可達(dá)情況下的仿真結(jié)果,由于目標(biāo)點(diǎn)處斥力較大,在快要到達(dá)目標(biāo)點(diǎn)時(shí),機(jī)器人出現(xiàn)徘徊的情況,無法到達(dá)目標(biāo)點(diǎn)。圖9中通過模糊改進(jìn)人工勢場法能夠有效地解決目標(biāo)不可達(dá)的問題,避障路徑也比較平滑。
圖8 傳統(tǒng)人工勢場法Fig 8 Traditional artificial potential field method
圖9 模糊改進(jìn)人工勢場法Fig 9 Fuzzy improved artificial potential field method
2)障礙物與機(jī)器人以及目標(biāo)點(diǎn)處于同一直線,且障礙物在中間的情況。目標(biāo)點(diǎn)坐標(biāo)為(40,40)m。
在圖10的仿真結(jié)果中,改進(jìn)斥力勢場函數(shù)后,在遇到這種特殊情況時(shí),由于引力與斥力一直處于同一直線,使得機(jī)器人無法有效地避開障礙,一直在障礙物附近徘徊。如圖11所示,在加入模糊模塊后,機(jī)器人在遇到同樣的情況時(shí)能夠合理地改變運(yùn)動(dòng)方向,及時(shí)避免自身陷入局部極小值點(diǎn),順利地避開障礙物。
圖10 改進(jìn)斥力勢場函數(shù)Fig 10 Improved repulsion potential field function
圖11 模糊改進(jìn)人工勢場法Fig 11 Fuzzy improved artificial potential field method
3)多障礙、復(fù)雜環(huán)境下基于模糊改進(jìn)人工勢場法的機(jī)器人避障仿真。其中,障礙物的最大半徑為5 m,最小半徑為2 m。
根據(jù)圖12的仿真結(jié)果,可以發(fā)現(xiàn)在多障礙物的復(fù)雜環(huán)境下,改進(jìn)斥力勢場函數(shù)后的人工勢場法在遇到斥力方向與合力方向在同一條直線的情況時(shí)會出現(xiàn)徘徊不前的情況。如圖13所示,模糊改進(jìn)人工勢場法在多障礙物的復(fù)雜環(huán)境下能夠?qū)崟r(shí)、有效地控制機(jī)器人成功地避開各種障礙物,規(guī)劃出的避障路徑也較為平順。
圖12 改進(jìn)斥力勢場函數(shù)Fig 12 Improved repulsion potential field function
圖13 模糊改進(jìn)人工勢場法Fig 13 Fuzzy improved artificial potential field method
4結(jié)論
為了解決船艙內(nèi)機(jī)器人移動(dòng)監(jiān)測中的避障問題,本文設(shè)計(jì)了一種基于模糊改進(jìn)的人工勢場法。首先分析了傳統(tǒng)人工勢場法中目標(biāo)不可達(dá)和局部極小值問題產(chǎn)生的原因,并且針對上述問題對傳統(tǒng)人工勢場法進(jìn)行了改進(jìn)。為了避免機(jī)器人陷入局部極小值點(diǎn),基于模糊理論對人工勢場法進(jìn)行改進(jìn)?;谀:倪M(jìn)的人工勢場法能夠提供一個(gè)模糊合力Ffuzzy幫助機(jī)器人選擇避障方向。本文在Matlab的環(huán)境下對基于模糊改進(jìn)人工勢場法進(jìn)行了仿真實(shí)驗(yàn),仿真結(jié)果證明:本方法能夠有效地指導(dǎo)機(jī)器人在多障礙復(fù)雜環(huán)境下進(jìn)行安全避障,避障路徑平滑,有效。
參考文獻(xiàn):
[1]劉和祥,邊信黔.基于傳感器信息的AUV局部避碰研究[J].傳感器與微系統(tǒng),2007,26(12):41-43.
[2]王越超.未知環(huán)境下基于可拓遺傳算法的避障算法[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(20):226-229.
[3]朱磊.基于柵格法的礦難搜索機(jī)器人全局路勁規(guī)劃與局部避障[J].中南大學(xué)學(xué)報(bào),2011,42(11):3421-3428.
[4]裴振兵,陳雪波.改進(jìn)蟻群算法及其在機(jī)器人避障中的應(yīng)用[J].智能系統(tǒng)學(xué)報(bào),2015,10(1):90-96.
[5]魏權(quán)利.模糊神經(jīng)網(wǎng)絡(luò)在嵌入式移動(dòng)機(jī)器人避障中的應(yīng)用研究[J].機(jī)床與液壓,2010,38(17):51-54.
[6]喬慧芬.移動(dòng)機(jī)器人的實(shí)時(shí)路徑規(guī)劃研究與仿真[J].計(jì)算機(jī)仿真,2015,32(1):406-410.
[7]楊柳,張洪.基于人工勢場法的移動(dòng)機(jī)器人路徑規(guī)劃研究[J].機(jī)床與液壓,2011,39(9):68-70.
[8]劉濤,李海濱,段志心.基于人工力場的移動(dòng)機(jī)器人路徑規(guī)劃研究[J].計(jì)算機(jī)仿真,2007,24(11),144-146.
[9]楊一波,王朝立.基于改進(jìn)的人工勢場法的機(jī)器人避障控制及其Matlab實(shí)現(xiàn)[J].上海理工大學(xué)學(xué)報(bào),2013,35(5):496-500.
游文洋(1991-),男,湖北仙桃人,碩士研究生,主要從事智能控制、嵌入式方面的研究。
Obstacle avoidance method research for robot based on fuzzy improved artificial potential field*
YOU Wen-yang, ZHANG Zheng, HUANG Wei-hua
(School of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan 430080,China)
Abstract:In internal sealing,narrow,multi-obstacle cabin environment,distribution of obstacles are random and uncertain.In the case of obstacle avoidance for mobile robot,traditional artificial potential field method has problem of goal unreachable and local minimum value.An improved artificial potential field method based on fuzzy logic theory is designed to avoid these problems.In vicinity of local minimum of obstacle avoidance algorithm,auxiliary control force is given by fuzzy logic to help robot escaping local minimum value point.In process of obstacle avoidance,method can effectively avoid local minimum value point and optimize path.Simulation experiment show that in multi-obstacles complex environment the algorithm can achieve real-time and secure obstacle avoidance of robot.
Key words:fuzzy logic; artificial potential field method; real-time obstacle avoidance; robot
作者簡介:
中圖分類號:TP 242.6
文獻(xiàn)標(biāo)識碼:A
文章編號:1000—9787(2016)01—0014—05
*基金項(xiàng)目:教育部冶金自動(dòng)化與檢測技術(shù)工程研究中心研究項(xiàng)目(MARC201301)
收稿日期:2015—11—03
DOI:10.13873/J.1000—9787(2016)01—0014—05