周文明,張崇巍
(合肥工業(yè)大學(xué) 電氣與自動(dòng)化工程學(xué)院,安徽 合肥 230009)
導(dǎo)航技術(shù)研究一直是移動(dòng)機(jī)器人研究的重要方向,移動(dòng)機(jī)器人導(dǎo)航就是機(jī)器人能夠按照事先獲取的地圖信息[1],或根據(jù)通過(guò)對(duì)外部環(huán)境的實(shí)時(shí)探測(cè)所提供的引導(dǎo)信號(hào)規(guī)劃出一條相對(duì)最優(yōu)路徑,使機(jī)器人在沒(méi)有人工干預(yù)的情況下,能沿著該路徑盡快和無(wú)碰撞的移動(dòng)到目標(biāo)點(diǎn)。
人工勢(shì)場(chǎng)法的結(jié)構(gòu)簡(jiǎn)單,比較容易掌握,便于底層的實(shí)時(shí)控制,規(guī)劃出的路徑一般比較平滑安全,在機(jī)器人的局部路徑規(guī)劃中被廣泛地采用[2]。但人工勢(shì)場(chǎng)法只適合靜態(tài)環(huán)境下的路徑規(guī)劃,對(duì)于動(dòng)態(tài)環(huán)境下運(yùn)動(dòng)目標(biāo)的路徑規(guī)劃,則很少涉及。本文中,在一般人工勢(shì)場(chǎng)法的基礎(chǔ)上,針對(duì)動(dòng)態(tài)環(huán)境中的目標(biāo)和障礙物都是運(yùn)動(dòng)的條件下,提出了一種改進(jìn)的人工勢(shì)場(chǎng)法。通過(guò)在引力勢(shì)場(chǎng)函數(shù)和斥力勢(shì)場(chǎng)函數(shù)中引入相對(duì)速度和安全距離解決了動(dòng)態(tài)環(huán)境下路徑規(guī)劃的問(wèn)題,基于模糊邏輯控制方法(fuzzy logic control approach)[3]引入人的經(jīng)驗(yàn)以實(shí)現(xiàn)機(jī)器人避障,這種方法的困難在于模糊規(guī)則難以確定。而神經(jīng)模糊方法(neuro-fuzzy approach)[4]能夠自動(dòng)產(chǎn)生模糊規(guī)則,本文引入神經(jīng)網(wǎng)絡(luò)和模糊控制對(duì)參數(shù)進(jìn)行優(yōu)化[5-6]。計(jì)算機(jī)仿真證明了這種改進(jìn)的人工勢(shì)場(chǎng)法的有效性。
Khatib于1986年提出人工勢(shì)場(chǎng)法用于機(jī)器人避障,其基本思想是構(gòu)建一個(gè)虛擬的力場(chǎng),目標(biāo)引力場(chǎng)Ua產(chǎn)生的吸引力Fa隨機(jī)器人與目標(biāo)位置的接近而減小,方向指向目標(biāo)點(diǎn)。障礙物的斥力場(chǎng)Ur產(chǎn)生的排斥力Fr隨機(jī)器人與障礙物的距離的減少而迅速增大,方向背離障礙物。人工勢(shì)能的總和取總勢(shì)函數(shù)梯度下降的方向,即沿排斥力矢量和吸引力矢量和的方向?qū)崿F(xiàn)無(wú)碰路徑規(guī)劃。傳統(tǒng)的人工勢(shì)場(chǎng)法只考慮位置因素,是位置的函數(shù)。在動(dòng)態(tài)障礙物的環(huán)境就會(huì)暴露出很多不足,除了局部最小問(wèn)題出現(xiàn)的概率增大之外,還存在因躲避不及而相碰以及原本不會(huì)發(fā)生碰撞但機(jī)器人卻做出了無(wú)謂的避碰運(yùn)動(dòng)。當(dāng)目標(biāo)點(diǎn)處在障礙物的斥力場(chǎng)范圍內(nèi)時(shí),機(jī)器人可能始終無(wú)法到達(dá)目標(biāo)點(diǎn)。
傳統(tǒng)的引力場(chǎng)函數(shù)定義為機(jī)器人與目標(biāo)的相對(duì)位置的函數(shù),即相對(duì)位置引力場(chǎng)函數(shù):
α為增益系數(shù),Pg為目標(biāo)的位置,P為機(jī)器人的位置。
傳統(tǒng)的斥力場(chǎng)函數(shù)定義為機(jī)器人與障礙物之間的距離函數(shù),即相對(duì)位置斥力場(chǎng)函數(shù),本文定義第i個(gè)障礙物的斥力場(chǎng)為:
ζ為增益系數(shù),Poi為第i個(gè)障礙物的位置。
β為增益系數(shù),Vg為目標(biāo)點(diǎn)的運(yùn)動(dòng)速度,V為機(jī)器人運(yùn)動(dòng)速度。
本文對(duì)動(dòng)態(tài)環(huán)境下的避障和路徑進(jìn)行規(guī)劃,在引力場(chǎng)函數(shù)和斥力場(chǎng)函數(shù)中引入相對(duì)速度:
障礙物相對(duì)于機(jī)器人的速度方向?yàn)閄軸,Y軸是機(jī)器人當(dāng)前的運(yùn)動(dòng)方向,障礙物的位置作為坐標(biāo)原點(diǎn)[7],建立平面直角坐標(biāo)系,如圖1所示。其中Vovi為障礙物速度,Vor表示障礙物相對(duì)于機(jī)器人的速度,θ∈(-π,π)表示機(jī)器人相對(duì)于障礙物的位置矢量與相對(duì)速度矢量的夾角,大小為θ=θv-θo。記機(jī)器人相對(duì)于障礙物的位置坐標(biāo)為 (Xro,Yro)。dm是允許的障礙物O與機(jī)器人R的最短距離,θm是避碰角。
圖1 障礙物在機(jī)器人坐標(biāo)系的位置和速度關(guān)系
對(duì)位置引力場(chǎng)函數(shù)和速度引力場(chǎng)函數(shù)求負(fù)梯度,即可得到位置引力和速度引力:
在考慮時(shí)變的速度對(duì)人工勢(shì)場(chǎng)的影響之后其引力的合力為:
同理,對(duì)位置斥力場(chǎng)函數(shù)和速度斥力場(chǎng)函數(shù)求微分,可得位置斥力和速度斥力:
cosθ<0時(shí),障礙物遠(yuǎn)離機(jī)器人運(yùn)動(dòng)方向,不會(huì)發(fā)生碰撞,此時(shí)令相對(duì)速度斥力為0,另外,當(dāng)機(jī)器人與障礙物超過(guò)一定的安全距離dm時(shí),可以不考慮斥力的影響,以上各斥力的前提是‖Poi(t)-P(t)‖ 因此,在考慮時(shí)變的速度對(duì)人工勢(shì)場(chǎng)的影響之后斥力的合力為: 式中,N為障礙物的個(gè)數(shù)。 在引入相對(duì)速度斥力之后,雖然不能完全消除局部極值點(diǎn),但可以使極值點(diǎn)的出現(xiàn)幾率大大降低,并且消除了機(jī)器人在障礙物附近出現(xiàn)振蕩的可能性。修改后的引力函數(shù)和斥力函數(shù)中各有兩個(gè)分量,即位置分量和運(yùn)動(dòng)分量。本文結(jié)合神經(jīng)網(wǎng)絡(luò)控制方法和模糊控制方法,設(shè)計(jì)兩個(gè)雙輸入單輸出模糊控制器,從而實(shí)現(xiàn)兩個(gè)分量系數(shù)的調(diào)整:(1)障礙物和機(jī)器人的位置關(guān)系,可利用它們之間的距離P和運(yùn)動(dòng)方向的夾角θ確定;(2)運(yùn)動(dòng)關(guān)系,可利用它們之間的速度偏差Vor和運(yùn)動(dòng)方向夾角θ確定。 根據(jù)大量的實(shí)驗(yàn)和個(gè)人經(jīng)驗(yàn),可獲得一組經(jīng)驗(yàn)數(shù)據(jù)。數(shù)據(jù)包括:機(jī)器人與物體的距離、機(jī)器人與物體相對(duì)運(yùn)動(dòng)大小的夾角,以及人工勢(shì)場(chǎng)法的增益系數(shù)。利用MATLAB中的Anfis工具,由這組數(shù)據(jù)計(jì)算推理得出一個(gè)描述該系統(tǒng)的Sugeno型FIS[8]。 以2輸入、1輸出來(lái)建立一個(gè)模糊系統(tǒng)。 在Anfis編輯器中導(dǎo)入經(jīng)驗(yàn)數(shù)據(jù),模糊子集數(shù)目選擇為[7 7],隸屬函數(shù)類型為“gbellmf”(鐘形),生成初始FIS的方法。采用網(wǎng)格分割法并按照C-均值聚類方法建立模糊系統(tǒng)。對(duì)建立好的初始模糊系統(tǒng)進(jìn)行訓(xùn)練,神經(jīng)網(wǎng)絡(luò)訓(xùn)練用“混合法(hybird)”,訓(xùn)練誤差為 0,訓(xùn)練次數(shù)選擇150。如果訓(xùn)練的最終誤差不夠理想,可以增加訓(xùn)練次數(shù)。 訓(xùn)練結(jié)束之后,可以在MF編輯器界面中觀察輸入與輸出的隸屬函數(shù),以及模糊規(guī)則。這樣,利用神經(jīng)網(wǎng)絡(luò)很好地處理了建立模糊系統(tǒng)時(shí)生成模糊規(guī)則以及調(diào)整隸屬函數(shù)等繁雜工作,并克服了模糊理論不具備自學(xué)習(xí)的能力和神經(jīng)網(wǎng)絡(luò)難以表達(dá)人類自然語(yǔ)言的缺點(diǎn)。在實(shí)際仿真運(yùn)行中,可根據(jù)仿真效果對(duì)各隸屬函數(shù)及模糊規(guī)則進(jìn)行簡(jiǎn)單調(diào)整。 根據(jù)人工勢(shì)場(chǎng)法建立的函數(shù),針對(duì)其四個(gè)參數(shù)分別建立模糊控制器。模糊控制器以機(jī)器人與物體的距離P和運(yùn)動(dòng)方向的夾角θ為輸入,模糊控制器的隸屬度函數(shù)和模糊規(guī)則根據(jù)神經(jīng)網(wǎng)絡(luò)訓(xùn)練獲得。其結(jié)構(gòu)圖如圖2所示。 圖2 神經(jīng)網(wǎng)絡(luò)模糊控制器結(jié)構(gòu)圖 神經(jīng)網(wǎng)絡(luò)模糊制器,融合了模糊理論和神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),能夠及時(shí)調(diào)整人工勢(shì)場(chǎng)函數(shù)的各參數(shù),從而進(jìn)一步改變控制決策,在對(duì)系統(tǒng)的控制中獲得更好的效果。 本文對(duì)動(dòng)態(tài)障礙環(huán)境下機(jī)器人路徑規(guī)劃問(wèn)題進(jìn)行了探討研究,在傳統(tǒng)的人工勢(shì)場(chǎng)法的基礎(chǔ)上引入相對(duì)速度,降低了極值點(diǎn)的出現(xiàn)機(jī)率,并且使用神經(jīng)網(wǎng)絡(luò)模糊控制方法來(lái)實(shí)現(xiàn)修改后的引力函數(shù)和斥力函數(shù)中兩個(gè)分量系數(shù)的調(diào)整,仿真結(jié)果表示該方法是可行的。在圖3中使用傳統(tǒng)的勢(shì)場(chǎng)法控制時(shí),機(jī)器人在勉強(qiáng)避開(kāi)第一個(gè)障礙后與第二個(gè)障礙物迎面碰撞,沒(méi)能跟隨到達(dá)目標(biāo)。而使用本文算法的機(jī)器人有效地避開(kāi)了兩個(gè)運(yùn)動(dòng)的障礙并且成功到達(dá)目標(biāo),如圖4所示。圖中帶圓圈的實(shí)線表示機(jī)器人的避障軌跡,帶圓圈的虛線是目標(biāo)的的運(yùn)動(dòng)軌跡。帶星號(hào)的實(shí)線和虛線是兩個(gè)障礙物各自的運(yùn)動(dòng)軌跡。研究結(jié)果表明,與傳統(tǒng)的人工勢(shì)場(chǎng)法相比,本文方法不存在局部最小問(wèn)題。由于增加了安全距離和相對(duì)速度,增加了對(duì)運(yùn)動(dòng)障礙的有效規(guī)避,也避免了一些無(wú)謂的避障動(dòng)作,而模糊神經(jīng)網(wǎng)絡(luò)的引入使得控制具有一定的自適應(yīng)性和實(shí)時(shí)性,且算法直觀明確,加入經(jīng)驗(yàn)值,在實(shí)驗(yàn)過(guò)程中可以反復(fù)調(diào)試,使移動(dòng)機(jī)器人具有類人的決策。 圖3 傳統(tǒng)勢(shì)場(chǎng)法的機(jī)器人避障 圖4 基于模糊神經(jīng)網(wǎng)絡(luò)勢(shì)場(chǎng)法的避障 [1]徐玉華,張崇巍.基于激光測(cè)距儀的移動(dòng)機(jī)器人避障新方法[J].機(jī)器人,2010,32(2):179-183. [2]KROGH B H.A generalized potential field approach to obstacle avoidance control[C].International Conf.On Robotics Research,1984. [3]LEE T L,WU C J.Fuzzy motion planning of mobile robots in unknown environments [J].Journal of Intelligent and Robotic Systems, 2003, 37(2): 177-191 [4]ACOSTA L, MARICHALG N, MORENO L, etal.Obstacle avoidance using the human operator experience for a mobile robot[J].Journal of Intelligent and Robotic Systems, 2000, 27(4): 305-319. [5]從爽.神經(jīng)網(wǎng)絡(luò)、模糊系統(tǒng)及其在運(yùn)動(dòng)控制中的應(yīng)用[M].合肥:中國(guó)科學(xué)技術(shù)大學(xué)出版社,2001. [6]KIM B N, KWON O S, KIM K H, et al.A study on path planning for mobile robotbased on fuzzy logic controller[C].IEEE TENCON, 1999[C].1999: 1002-1005. [7]段華,趙東標(biāo).動(dòng)態(tài)環(huán)境下基于勢(shì)場(chǎng)原理的避障方法[J].華中科技大學(xué)學(xué)報(bào),2006(9):38-56. [8]石辛民,郝整清.模糊控制及其 MATLAB仿真[M].北京:清華大學(xué)出版社,2006.3 神經(jīng)網(wǎng)絡(luò)模糊控制器的設(shè)計(jì)
4 試驗(yàn)分析
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2011年11期