王海群,王水滿,張 怡,李碩輝
(華北理工大學(xué)電氣工程學(xué)院,河北 唐山063200)
隨著科學(xué)技術(shù)的發(fā)展移動(dòng)機(jī)器人越來越被廣泛的應(yīng)用[1]。移動(dòng)機(jī)器人的路徑規(guī)劃也成為了國(guó)內(nèi)外研究的熱點(diǎn)話題。根據(jù)環(huán)境的分類移動(dòng)機(jī)器人分為兩類[2],一類為已知環(huán)境信息的路徑規(guī)劃,另一類為未完全知道環(huán)境信息的路徑規(guī)劃[3]。在未知環(huán)境中常用的局部路徑規(guī)劃[4]方法主要有人工勢(shì)場(chǎng)法、模糊邏輯算法、快速擴(kuò)展樹法[5]等。與其他幾種方法相比,模糊邏輯算法較具有計(jì)算量較小,對(duì)環(huán)境依賴性小,實(shí)時(shí)性好的優(yōu)點(diǎn),對(duì)于處理未知的環(huán)境下的路徑規(guī)劃問題,顯示出較大的優(yōu)越性和較強(qiáng)的適應(yīng)性。而傳統(tǒng)的人工勢(shì)場(chǎng)法存在極小值[6-7]與目標(biāo)不可達(dá)的問題,但對(duì)目標(biāo)點(diǎn)的跟蹤有著極強(qiáng)的效果。對(duì)此,這里利用模糊邏輯算法結(jié)合人工勢(shì)場(chǎng)法在未知環(huán)境中路徑規(guī)劃。
人工勢(shì)場(chǎng)法是由Khatib提出的一種虛擬力法。其核心是:將機(jī)器人在環(huán)境中的運(yùn)動(dòng)視為一種機(jī)器人在虛擬的人工受力場(chǎng)的運(yùn)動(dòng)。障礙物對(duì)機(jī)器人產(chǎn)生斥力,目標(biāo)點(diǎn)對(duì)機(jī)器人產(chǎn)生引力,引力和斥力的合力作為機(jī)器人的作用力,人工勢(shì)場(chǎng)法的受力分析,如圖1所示。傳統(tǒng)人工勢(shì)場(chǎng)法的引力勢(shì)場(chǎng)函數(shù)和斥力勢(shì)場(chǎng)函數(shù)分別為

圖1 受力分析Fig.1 Stress Analysis

式中:k-引力增益系數(shù);W-移動(dòng)機(jī)器人位置;Wg-目標(biāo)點(diǎn)的位置;m-斥力增益系數(shù);ρ0-斥力范圍移動(dòng)機(jī)器人與目標(biāo)點(diǎn)距離;
對(duì)式(1)和式(2)求解引力和斥力

相比其他類型的避障算法,人工勢(shì)場(chǎng)法在未知的環(huán)境中實(shí)用性強(qiáng),不需要先驗(yàn)知識(shí)[8]。由于人工反勢(shì)場(chǎng)法的避障特性會(huì)使其忽略了大部分的全局信息,其局限性體現(xiàn)在該算法對(duì)目標(biāo)的不可達(dá)性和局部極小值問題。
當(dāng)移動(dòng)機(jī)器人行駛到目標(biāo)點(diǎn)附近時(shí),如果目標(biāo)點(diǎn)附近存在多個(gè)障礙物,會(huì)使移動(dòng)機(jī)器人受多個(gè)障礙物與目標(biāo)點(diǎn)對(duì)移動(dòng)機(jī)器人的影響[10],從而無法到達(dá)目標(biāo)點(diǎn)。
目標(biāo)不可達(dá)示意圖,如圖2所示。當(dāng)移動(dòng)機(jī)器人距離目標(biāo)點(diǎn)越來越近時(shí)引力也越來越小,而斥力卻越開越大從而使移動(dòng)機(jī)器人向反方向移動(dòng)。而當(dāng)移動(dòng)機(jī)器人距離目標(biāo)點(diǎn)越來越遠(yuǎn),引力越來越大斥力越來越小,將移動(dòng)機(jī)器人又向目標(biāo)點(diǎn)移動(dòng),從而來回循環(huán)無法到達(dá)目標(biāo)點(diǎn)。

圖2 目標(biāo)不可達(dá)示意圖Fig.2 Schematic Diagram of Unreachable Target
當(dāng)移動(dòng)機(jī)器人行駛的過程中,存在多個(gè)障礙物,移動(dòng)機(jī)器人會(huì)受多個(gè)障礙物對(duì)移動(dòng)機(jī)器人產(chǎn)生的斥力而同時(shí)目標(biāo)點(diǎn)對(duì)移動(dòng)機(jī)器人也會(huì)產(chǎn)生引力,當(dāng)目標(biāo)點(diǎn)對(duì)移動(dòng)機(jī)器人產(chǎn)生的引力與障礙物對(duì)移動(dòng)機(jī)器人產(chǎn)生的斥力的合力相等時(shí),會(huì)使移動(dòng)機(jī)器人收到的總合力為零[9]。移動(dòng)機(jī)器人會(huì)誤以為當(dāng)前的情況勢(shì)場(chǎng)最小,認(rèn)為此點(diǎn)就是目標(biāo)點(diǎn)。局部極小值示意圖,如圖3所示。移動(dòng)機(jī)器人、障礙物與目標(biāo)點(diǎn)在一條直線上移動(dòng)機(jī)器人所受的引力與斥力大小,相等方向相反,作用在同一條直線上,合力為零。使移動(dòng)機(jī)器人陷入極小值狀態(tài)。

圖3 局部極小值示意圖Fig.3 Map of Local Minimum Value
為了針對(duì)以上問題,提出將模糊算法與改進(jìn)人工勢(shì)場(chǎng)發(fā)相結(jié)合,利用改進(jìn)人工勢(shì)場(chǎng)法對(duì)目標(biāo)點(diǎn)進(jìn)行跟蹤,利用模糊智能算法對(duì)靜態(tài)障礙物進(jìn)行避障,保證算法在未知環(huán)境中的實(shí)時(shí)性。
當(dāng)移動(dòng)機(jī)器人利用傳感器檢測(cè)到障礙物的距離大于安全距離L時(shí),利用改進(jìn)的人工勢(shì)場(chǎng)法使移動(dòng)機(jī)器人向目標(biāo)點(diǎn)進(jìn)行移動(dòng),為了對(duì)目標(biāo)點(diǎn)準(zhǔn)確的跟蹤,這里對(duì)傳統(tǒng)的人工勢(shì)場(chǎng)進(jìn)行改進(jìn),將速度與加速的信息引入引力勢(shì)力場(chǎng)函數(shù)中。

式中:k1,k2,k3-常數(shù)系數(shù)相對(duì)速度相對(duì)加速度。
通過式(5)可得引力為:

將式(6)整理可得:

式中:ewrg,evrg,earg-分別為相對(duì)位移,相對(duì)速度,相對(duì)加速度方向上的單位向量,根據(jù)式(7)可以對(duì)目標(biāo)點(diǎn)的追蹤。
當(dāng)移動(dòng)機(jī)器人利用傳感器檢測(cè)到障礙物的距離小于安全距離L時(shí),移動(dòng)機(jī)器人利用模糊控制器進(jìn)行避障,這里采取的模糊控制器輸入端為移動(dòng)機(jī)器人左方(dl)、正前方(d)與右方(dr)距障礙物的距離和移動(dòng)機(jī)器人與目標(biāo)點(diǎn)之間的角度r。模糊控制器的輸出端為移動(dòng)機(jī)器人與目標(biāo)點(diǎn)角度的變化量rc。將輸入距離模糊化變量定為{}N,F,論域?yàn)椋?~1)m,移動(dòng)機(jī)器人與目標(biāo)點(diǎn)之間的角度r的變量定為{ }LB,LS,Z,RS,RB,論域?yàn)椋?180~180)°,將移動(dòng)機(jī)器人與目標(biāo)點(diǎn)之間的角度的變化量rc的變量定為論域?yàn)椋?60~60)°。各個(gè)變量的隸屬函數(shù)為三角形,解模糊用重心法。部分規(guī)則庫,如表1所示。

表1 部分規(guī)則庫Tab.1 Part of The Rule Library
為了驗(yàn)證改進(jìn)人工勢(shì)場(chǎng)法+模糊算法的有效性,這里采用MATLAB2016a對(duì)這里算法進(jìn)行仿真實(shí)驗(yàn)設(shè)置移動(dòng)移動(dòng)機(jī)器人的最大移動(dòng)距離為0.12m,安全距離L為0.6m。流程圖,如圖4所示。

圖4 算法流程圖Fig.4 Algorithm Flow Chart
為了測(cè)試該方法,與傳統(tǒng)的人工勢(shì)場(chǎng)法進(jìn)行對(duì)比實(shí)驗(yàn),算法對(duì)比結(jié)果,如圖5所示。該方法根據(jù)障礙物檢測(cè)結(jié)果對(duì)移動(dòng)移動(dòng)機(jī)器人移動(dòng)方向和速度進(jìn)行不斷調(diào)整,移動(dòng)移動(dòng)機(jī)器人可以較好無碰撞的避開障礙物,并準(zhǔn)確到達(dá)目標(biāo)點(diǎn)。

圖5 算法對(duì)比結(jié)果Fig.5 Comparative Results of The Algorithm
仿真對(duì)比,如表2所示改進(jìn)人工勢(shì)場(chǎng)法+模糊算法行進(jìn)的距離更短,時(shí)間更短,說明該方法尋得的路線更優(yōu)。為了驗(yàn)證避障精度進(jìn)行20次避障實(shí)驗(yàn),傳統(tǒng)人工勢(shì)場(chǎng)法成功避障15次,該方法成功避障19次,精度可達(dá)96%。與人工勢(shì)場(chǎng)法相比,該方法結(jié)果更為精確性能更優(yōu)。移動(dòng)移動(dòng)機(jī)器人避障時(shí)航向角誤差,如圖6所示,在圖6可以看出該方法誤差波動(dòng)明顯要比人工勢(shì)場(chǎng)法小。更能體現(xiàn)該方法的優(yōu)勢(shì)。

圖6 航向角誤差Fig.6 Course Angle Errors

表2 仿真對(duì)比Tab.2 Simulation Comparison
針對(duì)移動(dòng)移動(dòng)機(jī)器人在未知環(huán)境中避障問題,首先分析了傳統(tǒng)的人工勢(shì)場(chǎng)法優(yōu)缺點(diǎn),針對(duì)這些問題提出了利用模糊智能算法加改進(jìn)的人工勢(shì)場(chǎng)法對(duì)未知環(huán)境避障。仿真結(jié)果表明,該方法能夠能夠安全并高效的到達(dá)目標(biāo)點(diǎn),避免了傳統(tǒng)人工勢(shì)場(chǎng)法避障時(shí)目標(biāo)不可達(dá)與局部極小值的問題。