摘 要:在原有滾動窗口路徑規劃方法基礎上,結合移動機器人與障礙物之間的距離、動態障礙物運動速度、移動機器人與障礙物和目標點的位置關系,提出基于模糊邏輯的滾動窗口路徑規劃方法。通過對算法的仿真,證明該算法的有效性。
關鍵詞:移動機器人; 路徑規劃; 滾動窗口; 模糊邏輯
中圖分類號:TP273.4 文獻標識碼:A
文章編號:1004-373X(2010)13-0146-03
Method of Path Planning for Rolling Windows Based on Fuzzy Logic
DU Yu-shang
(Experimental Teaching Center, Guangdong University of Technology, Guangzhou 510006, China)
Abstract: A method of the path planning for rolling windows based on fuzzy logic is presented according to the method of the original rolling window path planning, the distance between the mobile robot and the obstacle, the velocity of the obstacle, and the position relationship of the mobile robot, the obstacle and the target. The obstacle avoidance is accomplished with the new method. The simulation results show that the proposed method is effective.
Keywords: mobile robot; path planning; rolling window; fuzzy logic
0 引 言
機器人路徑規劃是指在存有障礙物的環境中,機器人尋找一條實現從起始點到目標點安全運行的路線[1-2]。基于滾動窗口的路徑規劃方法是令機器人周期性地更新窗口信息及時滾動規劃,將規劃問題壓縮到滾動窗口內,與全局規劃相比其運算量大大降低[3]。
本文在借鑒文獻[4-6]的基礎上,從移動機器人與障礙物之間的距離、動態障礙物運動速度、移動機器人與障礙物和目標點的位置關系三者入手,結合模糊邏輯,提出基于模糊邏輯的滾動窗口路徑規劃方法。
1 基于滾動窗口算法路徑規劃的原理
基于滾動窗口算法的路徑規劃是在預測控制滾動優化原理的基礎上提出的。預測控制中的優化是一種有限時段的滾動優化,在每個采樣時刻t,優化性能指標只涉及到從該時刻起到以后的有限的單位時間段,而下一個時刻采樣時刻t+1,優化時段以t+1為起點向前延伸單位時間段。在預測控制中,優化不是一次離線進行,而是反復在線進行的,是不斷滾動優化的過程[7-8]。
基于滾動窗口算法的機器人路徑規劃利用機器人實時測得的局部環境信息,以滾動方式進行在線規劃[4]。基于滾動窗口的路徑規劃方法原理可以表述如下:
(1) 場景預測:在每個采樣時間點t,機器人根據傳感器檢測的局部環境信息,判斷滾動窗口內是否存在障礙物,預測障礙物的運動情況。
(2) 滾動窗口優化:根據t時刻滾動窗口內對障礙物的判斷信息和預測信息,規劃移動機器人的局部行駛路徑,機器人向子目標前進一步,滾動窗口對應向前。
(3) 反饋初始化:當新的滾動窗口形成后,對移動機器人的當前位置、局部環境信息、障礙物情況重新更新。
根據文獻[4,6,9]對滾動窗口算法的路徑規劃問題進行如下描述和定義。
令WS為機器人運動的二維平面有限區域,該區域中點的集合記為W,其中存在有限個靜態障礙物SObs1,SObs2,…,SObsn,以及有限個動態障礙物DObs1,DObs2,…,DObsm。靜態障礙物集合記為SOb,動態障礙物集合記為DOb。t時刻,機器人R的位置表示為PR(t),則PR(t)∈W,規劃起始時間為t=0。
定義 1 P∈W,若P(SOb∪DOb),則P稱為可行點。t時刻所有可行點的集合稱為可行域FD(t)。
有:FD(t)=W∩(∩(SOb))∩(∩(DOb))
定義 2 T=[t0,tf],P0=FD(t0),Pf=FD(tf),若連續映射FS(#8226;):T→W,使得FS(t0)=P0,FS(tf)=Pf,FS(t)∈FD(t),t∈(t0,tf),則映射FS(#8226;)是W中從P0到Pf的一個可行路徑。
由于機器人沒有全局環境信息,任一時刻t,只能實時探測到以其當前位置為中心、r為半徑區域內的環境信息。
定義 3 機器人在點PR(t)處的視野域Win(PR(t))={P|P∈W,d(P,PR(t))≤r},Win(PR(t))即為該點的滾動窗口。
2 基于模糊邏輯的滾動窗口路徑規劃實現方案
該滾動窗口路徑規劃方法包括3個過程:建立環境地圖、滾動窗口局部目標優化和信息更新。
建立環境地圖:采用二維平面坐標,包含存在的靜態障礙物和動態障礙物,以及機器人的起始點和目標點等環境信息。
滾動窗口局部目標優化:在每個時刻中,以機器人為中心,在機器人有效的傳感檢測范圍內,根據機器人與障礙物間的距離、動態障礙物的運動速度大小和方向以及機器人與障礙物和目標點間的位置關系,通過一定的推理啟發,確定機器人在該滾動窗口區域內的局部目標,機器人向此局部目標運動,直至下一時刻。
信息更新:在每個時刻的滾動窗口局部目標優化前,根據傳感系統獲取周圍環境實時信息,為新的滾動窗口下局部目標優化提供新的信息,也起到對先前時刻局部目標優化結果修正作用。這些信息包括新時刻中機器人與障礙物間的距離,動態障礙物的運動速度大小和方向以及機器人、障礙物和目標點間新的位置關系。
2.1 滾動窗口中的機器人運動軌跡確定
由于移動機器人R沒有先驗的環境知識,只能通過傳感器,在t時刻探測到以R當前位置為中心,探測范圍r為半徑的圓形區域的環境信息,因此,本文將該圓形的探測區域視為滾動窗口Win(PR(t))。
當移動機器人在通往目標點的運動中,若滾動窗口內沒有遇到障礙物,運動路徑為一直線。若是滾動窗口內遇到障礙物,移動機器人將避開障礙物。在下一時刻,機器人再次檢索該時刻滾動窗口內是否存有障礙物,進行避障行為。機器人由起始點S向目標點G運動。設t時刻,移動機器人在點PR(t)的坐標為Rt(xt,yt),目標點坐標為G(xG,yG),令θ=arctanyG-ytxG-xt。當移動機器人前進方向中有障礙物時,它勢必繞開障礙物,因此在接近障礙物時,需在角θ的基礎上,另加一偏轉角α,設t+1時刻,移動機器人所在點坐標為Rt+1(xt+1,yt+1),有:
xt+1=xt+lcos(θ+α)
yt+1=yt+lsin(θ+α)(1)
式中:l為單位時刻間距中移動機器人R運動的步長,也即是在滾動窗口中機器人的運動距離。移動機器人的運動軌跡可以看作由R0(x0,y0),R1(x1,y1),…,Rt(xt,yt)等一系列點連成的曲線。
2.2 基于模糊邏輯的滾動窗口路徑規劃步驟
步驟1:確定移動機器人運動的起始點和目標點,轉向步驟2;
步驟2:更新滾動窗口Win(PR(t))信息,若移動機器人檢測不到障礙物,向目標點做直線運動,轉向步驟4;若檢測到存在障礙物,轉向步驟3;
步驟3:啟動模糊控制器,得到偏轉角α,機器人在該位置的基礎上偏轉α并向目標前進,轉向步驟2;
步驟4:更新滾動窗口Win(PR(t))信息,若移動機器人到達目標點,停止路徑規劃,否則轉向步驟2。
2.3 模糊控制器的設計
在實際的機器人工作環境中,工作環境是會變化的,因而路徑規劃是一個不確定性推理的過程。模糊邏輯[10]提供了模仿人的思維方式的真實規則,可以利用人類專家控制經驗來彌補機器人動態特性中的不確定因素帶來的不利影響。本文在滾動窗口中采用模糊控制器啟發機器人在滾動窗口中對局部目標的確定,實現避障。
在t時刻,以過移動機器人R和目標點G的直線與過R和障礙物O的直線相交的夾角記為β,β可以反映移動機器人R、障礙物O和機器人目標點G的三者間位置關系。以該時刻移動機器人R感知與障礙物O之間的距離d(Rt,Ot)、障礙物的運動速度VOb以及夾角β作為模糊控制器的輸入變量。以移動機器人R遇到障礙物時改變運動方向的偏轉角α為輸出變量。當移動機器人R即將遇到障礙物時,通過啟動模糊控制器,調整式(1)中的α改變移動機器人的運動軌跡,使之避開障礙物。
對于輸入變量d(Rt,Ot),定義了兩個隸屬度,隸屬度函數如圖1所示。其論域劃分為{Near,Far}。
圖1 d(Rt,Ot)的隸屬度函數
障礙物運動速度VOb采用的隸屬度函數如圖2所示。障礙物相對于機器人向右運動時,VOb為正; 障礙物相對于機器人向左運動時,VOb為負。其論域劃分為{NL,NS,Z,PS,PL}。
夾角β采用的隸屬度函數如圖3所示。障礙物位于過移動機器人和目標點直線右側,夾角β為正; 障礙物位于過移動機器人和目標點直線左側,夾角β為負。其論域劃分為{NL,NS,Z,PS,PL}。
圖2 VOb的隸屬度函數
圖3 β的隸屬度函數
輸出變量偏轉角α采用的隸屬度函數如圖4所示。機器人向右偏轉,α為正;機器人向左偏轉,α為負。其論域劃分為{NL,NS,Z,PS,PL}。
根據人們駕駛避障的習慣,生成模糊規則。模糊規則的一般形式如下:
IF d(Rt,Ot)=Ai,AND VOb=Bj,AND β=Ck,THEN α=Dijk,(i,j,k∈N)
其中:Ai,Bj,Ck,Dijk分別是對應于變量d(Rt,Ot),VOb,β,α論域的模糊集。
圖4 輸出偏轉角α的隸屬度函數
模糊系統采用最小推理機,將各輸入變量代入各自的隸屬度函數得出相應的隸屬度值,在同一規則Rule中,若規則條件為“與(AND)”,取各輸入變量隸屬度值的最小值。該最小值為本規則對應的輸出變量隸屬度值。采用重心法去模糊化,得到需要的偏轉角α。
3 基于模糊控制的滾動窗口路徑規劃仿真及分析
設動態障礙物由A點向右做水平的勻速運動,設障礙物和機器人每秒行進的直線距離均為1 m。機器人由起始位置S(0,0)向目標點G(50,50)運動。
設機器人t時刻到達點B(29,29),障礙物此時則在B′(29,30)。根據它們的運動趨勢,在t+1時刻機器人即將在點C(30,30)附近與膨化后的障礙物相撞。若在t時刻啟動模糊控制器,采用如表1所示的模糊規則,得到需要的偏轉角α,使機器人運動路徑發生變化,則在t+1時刻,機器人位于B′(29,30),而障礙物位于C(30,30)點,實現了避障。表2為t時刻及其之后機器人與動態障礙物的位置坐標。
由表2可知,本文提出的基于模糊控制的滾動窗口路徑規劃方法具有避障的功能。
表1 路徑規劃的模糊規則(部分)
IF d(Rt,Ot) isAND VOb isAND β isTHEN α is
NearPSNLNL
NearPSNSNL
NearPSZNS
NearPSPSZ
NearPSPLZ
FarPSNLPS
FarPSNSPS
FarPSZNL
FarPSPSNS
FarPSPLZ
表2 機器人與動態障礙物的位置坐標
時刻機器人位置坐標動態障礙物位置坐標
tB(29,29)B′(29,30)
t+1B′(29,30)C(30,30)
t+1以后在點B′(29,30)到目標點G(50,50)的直線上在過點C(30,30)水平向右的直線上
4 結 語
在動態環境中,若是包含動態障礙物的信息越豐富,越有利于機器人路徑規劃。本文在考慮移動機器人與障礙物之間的距離,動態障礙物的運動速度,以及移動機器人、障礙物和目標點的位置關系基礎上,結合模糊邏輯推理,提出的滾動窗口路徑規劃方法能實時根據環境信息的變化,找出局部優化路徑,避開障礙物。
參考文獻
[1]梁毓明,徐立鴻.移動機器人路徑規劃技術的研究現狀與發展趨勢[J].機電一體化,2009(3):35-38,68.
[2]鮑慶勇,李舜酩,沈峘,等.自主移動機器人局部路徑規劃綜述[J].傳感器與微系統,2009,28(9):1-4,11.
[3]康亮,趙春霞,郭劍輝.未知環境下改進的基于RRT算法的移動機器人路徑規劃[J].模式識別與人工智能,2009,22(3):337-343.
[4]張純剛,席裕庚.動態未知環境中移動機器人的滾動路徑規劃及安全性分析[J].控制理論與應用,2003,20(1):37-44.
[5]孫斌,韓大鵬,韋慶.基于滾動窗口算法的機器人路徑規劃應用研究[J].計算機仿真,2006,23(6):159-162.
[6]席裕庚,張純剛.一類動態不確定環境下機器人的滾動路徑規劃[J].自動化學報,2002,28(2):161-175.
[7]席裕庚.預測控制[M].北京:國防工業出版社,1993.
[8]劉祚時,羅愛華,沈哲.以滾動優化策略的粒子群算法為基礎的機器人路徑規劃研究[J].信息化縱橫,2009(8):17-19.
[9]傅衛平,張鵬飛,楊世強.利用機器人行為動力學與滾動窗口路徑規劃[J].計算機工程與應用,2009,45(2):212-215,236.
[10]田琦,張國良,劉巖.全方位移動機器人模糊PID運動控制研究[J].現代電子技術,2009,32(5):131-133.