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