王海群,王水滿,張 怡,李碩輝
(華北理工大學電氣工程學院,河北 唐山063200)
隨著科學技術(shù)的發(fā)展移動機器人越來越被廣泛的應用[1]。移動機器人的路徑規(guī)劃也成為了國內(nèi)外研究的熱點話題。根據(jù)環(huán)境的分類移動機器人分為兩類[2],一類為已知環(huán)境信息的路徑規(guī)劃,另一類為未完全知道環(huán)境信息的路徑規(guī)劃[3]。在未知環(huán)境中常用的局部路徑規(guī)劃[4]方法主要有人工勢場法、模糊邏輯算法、快速擴展樹法[5]等。與其他幾種方法相比,模糊邏輯算法較具有計算量較小,對環(huán)境依賴性小,實時性好的優(yōu)點,對于處理未知的環(huán)境下的路徑規(guī)劃問題,顯示出較大的優(yōu)越性和較強的適應性。而傳統(tǒng)的人工勢場法存在極小值[6-7]與目標不可達的問題,但對目標點的跟蹤有著極強的效果。對此,這里利用模糊邏輯算法結(jié)合人工勢場法在未知環(huán)境中路徑規(guī)劃。
人工勢場法是由Khatib提出的一種虛擬力法。其核心是:將機器人在環(huán)境中的運動視為一種機器人在虛擬的人工受力場的運動。障礙物對機器人產(chǎn)生斥力,目標點對機器人產(chǎn)生引力,引力和斥力的合力作為機器人的作用力,人工勢場法的受力分析,如圖1所示。傳統(tǒng)人工勢場法的引力勢場函數(shù)和斥力勢場函數(shù)分別為
圖1 受力分析Fig.1 Stress Analysis
式中:k-引力增益系數(shù);W-移動機器人位置;Wg-目標點的位置;m-斥力增益系數(shù);ρ0-斥力范圍移動機器人與目標點距離;
對式(1)和式(2)求解引力和斥力
相比其他類型的避障算法,人工勢場法在未知的環(huán)境中實用性強,不需要先驗知識[8]。由于人工反勢場法的避障特性會使其忽略了大部分的全局信息,其局限性體現(xiàn)在該算法對目標的不可達性和局部極小值問題。
當移動機器人行駛到目標點附近時,如果目標點附近存在多個障礙物,會使移動機器人受多個障礙物與目標點對移動機器人的影響[10],從而無法到達目標點。
目標不可達示意圖,如圖2所示。當移動機器人距離目標點越來越近時引力也越來越小,而斥力卻越開越大從而使移動機器人向反方向移動。而當移動機器人距離目標點越來越遠,引力越來越大斥力越來越小,將移動機器人又向目標點移動,從而來回循環(huán)無法到達目標點。
圖2 目標不可達示意圖Fig.2 Schematic Diagram of Unreachable Target
當移動機器人行駛的過程中,存在多個障礙物,移動機器人會受多個障礙物對移動機器人產(chǎn)生的斥力而同時目標點對移動機器人也會產(chǎn)生引力,當目標點對移動機器人產(chǎn)生的引力與障礙物對移動機器人產(chǎn)生的斥力的合力相等時,會使移動機器人收到的總合力為零[9]。移動機器人會誤以為當前的情況勢場最小,認為此點就是目標點。局部極小值示意圖,如圖3所示。移動機器人、障礙物與目標點在一條直線上移動機器人所受的引力與斥力大小,相等方向相反,作用在同一條直線上,合力為零。使移動機器人陷入極小值狀態(tài)。
圖3 局部極小值示意圖Fig.3 Map of Local Minimum Value
為了針對以上問題,提出將模糊算法與改進人工勢場發(fā)相結(jié)合,利用改進人工勢場法對目標點進行跟蹤,利用模糊智能算法對靜態(tài)障礙物進行避障,保證算法在未知環(huán)境中的實時性。
當移動機器人利用傳感器檢測到障礙物的距離大于安全距離L時,利用改進的人工勢場法使移動機器人向目標點進行移動,為了對目標點準確的跟蹤,這里對傳統(tǒng)的人工勢場進行改進,將速度與加速的信息引入引力勢力場函數(shù)中。
式中:k1,k2,k3-常數(shù)系數(shù)相對速度相對加速度。
通過式(5)可得引力為:
將式(6)整理可得:
式中:ewrg,evrg,earg-分別為相對位移,相對速度,相對加速度方向上的單位向量,根據(jù)式(7)可以對目標點的追蹤。
當移動機器人利用傳感器檢測到障礙物的距離小于安全距離L時,移動機器人利用模糊控制器進行避障,這里采取的模糊控制器輸入端為移動機器人左方(dl)、正前方(d)與右方(dr)距障礙物的距離和移動機器人與目標點之間的角度r。模糊控制器的輸出端為移動機器人與目標點角度的變化量rc。將輸入距離模糊化變量定為{}N,F,論域為(0~1)m,移動機器人與目標點之間的角度r的變量定為{ }LB,LS,Z,RS,RB,論域為(-180~180)°,將移動機器人與目標點之間的角度的變化量rc的變量定為論域為(-60~60)°。各個變量的隸屬函數(shù)為三角形,解模糊用重心法。部分規(guī)則庫,如表1所示。
表1 部分規(guī)則庫Tab.1 Part of The Rule Library
為了驗證改進人工勢場法+模糊算法的有效性,這里采用MATLAB2016a對這里算法進行仿真實驗設(shè)置移動移動機器人的最大移動距離為0.12m,安全距離L為0.6m。流程圖,如圖4所示。
圖4 算法流程圖Fig.4 Algorithm Flow Chart
為了測試該方法,與傳統(tǒng)的人工勢場法進行對比實驗,算法對比結(jié)果,如圖5所示。該方法根據(jù)障礙物檢測結(jié)果對移動移動機器人移動方向和速度進行不斷調(diào)整,移動移動機器人可以較好無碰撞的避開障礙物,并準確到達目標點。
圖5 算法對比結(jié)果Fig.5 Comparative Results of The Algorithm
仿真對比,如表2所示改進人工勢場法+模糊算法行進的距離更短,時間更短,說明該方法尋得的路線更優(yōu)。為了驗證避障精度進行20次避障實驗,傳統(tǒng)人工勢場法成功避障15次,該方法成功避障19次,精度可達96%。與人工勢場法相比,該方法結(jié)果更為精確性能更優(yōu)。移動移動機器人避障時航向角誤差,如圖6所示,在圖6可以看出該方法誤差波動明顯要比人工勢場法小。更能體現(xiàn)該方法的優(yōu)勢。
圖6 航向角誤差Fig.6 Course Angle Errors
表2 仿真對比Tab.2 Simulation Comparison
針對移動移動機器人在未知環(huán)境中避障問題,首先分析了傳統(tǒng)的人工勢場法優(yōu)缺點,針對這些問題提出了利用模糊智能算法加改進的人工勢場法對未知環(huán)境避障。仿真結(jié)果表明,該方法能夠能夠安全并高效的到達目標點,避免了傳統(tǒng)人工勢場法避障時目標不可達與局部極小值的問題。