劉 堯
(西安市長安區(qū)第二中學(xué)數(shù)學(xué)組,陜西西安 710100)
機(jī)器人課程已進(jìn)入高中教育階段,移動機(jī)器人作為機(jī)器人的一個重要分支具有典型的代表意義,它集合了機(jī)械、電子及人工智能等先進(jìn)技術(shù),是學(xué)生學(xué)習(xí)機(jī)器人技術(shù)、教學(xué)實驗和鍛煉動手能力理想平臺[1-2]。目前,教育機(jī)器人比較普及,其教學(xué)對象大多針對大學(xué)學(xué)生,但高中學(xué)生基礎(chǔ)知識比較缺乏,對目前的機(jī)器人學(xué)理論無法理解[3-6],因此本文針對這一現(xiàn)狀,研究一種基于模糊控制的移動機(jī)器人路徑規(guī)劃技術(shù),便于學(xué)生理解與實踐。
機(jī)器人采用占柵格地圖[7],環(huán)境模型的建立方法如下:建立x-y坐標(biāo)系(如圖1所示),機(jī)器人的起始點設(shè)為S,全局目標(biāo)點設(shè)為G,都處于第一象限。S的坐標(biāo)為 (x′,y′),G 的坐標(biāo)為 (x,y)(x> x′> 0,y>y′>0)。根據(jù)x,y的值在第一象限內(nèi)建立一個大小為x×y的二維矩陣D。矩陣中,值為 0的元素代表障礙物單元,值大于 0的代表自由單元,列向量對應(yīng)x軸的正方向,行向量對應(yīng)y軸的正方向。障礙物信息就包含在環(huán)境信息當(dāng)中。
在此元素坐標(biāo)系中,矩陣 D元素的下標(biāo)(b,c)等于元素在坐標(biāo)系中的坐標(biāo)(x,y),矩陣元素值z在坐標(biāo)系中表示成函數(shù)
這樣就可以根據(jù)函數(shù)判斷點(x,y)是自由元素還是障礙物元素。
坐標(biāo)系中,機(jī)器人的實時位置設(shè)為P(x,y)。機(jī)器人的路徑規(guī)劃在這個環(huán)境模型中,就是計算出一條代表自由單元矩陣元素的曲線,即一維向量x和y。
圖1 在環(huán)境模型矩陣上建立坐標(biāo)系
在路徑規(guī)劃仿真時,假設(shè)障礙物已事先根據(jù)機(jī)器人的實際尺寸和安全性要求進(jìn)行了“膨化”,使得處理后的障礙物邊界以外為安全區(qū)域。機(jī)器人將簡化為一個質(zhì)點。機(jī)器人無全局信息,它只能根據(jù)超聲傳感器感知的環(huán)境信息推算當(dāng)前視線內(nèi)的臨時目標(biāo)T。
1.2.1 障礙物識別
超聲波傳感器的配置方案和安裝角度如圖2,把3個超聲傳感器分為 S1、S2和 S3。對于單個的傳感器來說,只能獲得障礙物的距離信息,并不能得到障礙物的準(zhǔn)確方位信息,導(dǎo)航誤差增大。為此,提出一種簡單明了的分區(qū)算法,對每個方向組的傳感器測得的數(shù)據(jù)進(jìn)行融合,從而得到 3個方向上障礙物距離和方位信息。,超聲傳感器最大測距范圍為 5 m,當(dāng)障礙物在 5 m之外時傳感器距離值為 5m。
圖2 障礙物傳感器信息示意圖
假定:3個傳感器距離信息值用 di(i=1~3)表示,融合后取值(d,θ),d表示距離值,d的取值范圍為(55 cm,500 cm),三個方向上分別為 dr、df和dl,θ表示障礙物方位角度,當(dāng)有多個障礙物時,取使值最小的 θ值
另外,當(dāng)障礙物在左方與前方共有區(qū)域,認(rèn)為障礙物是在左方,當(dāng)障礙物在右方與前方共有區(qū)域,認(rèn)為障礙物是在右方。至此,得到了探測機(jī)器人前方 3個方向上障礙物距離信息的三維向量D1{dr,df,dl},傳感器信息分區(qū)可以順利地完成傳感器信息初步融合,從而可以建立移動機(jī)器人障礙物環(huán)境模型。
根據(jù)向量D1{dr,df,dl}取值來設(shè)定探測機(jī)器人車體周圍環(huán)境的類別,每個方向上有障礙物時該方向分量取值為 1,無障礙物取值為 0,則三位二進(jìn)制代碼即可對環(huán)境進(jìn)行分類,共有 8種類。具體定義如下:
000:無障礙物,為了簡化神經(jīng)網(wǎng)絡(luò)輸出,定義為第 0類,記為 EN0;
001:左方有障礙物,定義其為第 1類,記為EN1;
010:前方有障礙物,定義其為第 2類,記為EN2;
011:前方和左方有障礙物,定義其為第 3類,記為EN3;
100:右方有障礙物,定義其為第 4類,記為EN4;
101:左方和右方有障礙物,定義其為第 5類,記為EN5;
110:前方和右方有障礙物,定義其為第 6類,記為EN6;
111:三個方向都有障礙物,定義其為第 7類,記為 EN7。
得到環(huán)境分類信息后,我們采用模糊控制器來實現(xiàn)局部路徑規(guī)劃信息融合的最后一步。為滿足系統(tǒng)要求,選用三維控制器進(jìn)行控制。實現(xiàn)模糊控制步驟如下。
該控制器共有 3個輸入:環(huán)境類別、當(dāng)前機(jī)器人速度 V和當(dāng)前障礙物方位角度信息 θ;經(jīng)過模糊邏輯處理后輸出兩個變量:機(jī)器人的速度 V和轉(zhuǎn)角 φ。
環(huán)境類別為 0~7共 8個離散值;當(dāng)前機(jī)器人速度V模糊化取值語言變量為{快,中,慢},隸屬函數(shù)取梯形函數(shù),見圖3;輸出速度Vo模糊化與輸入速度值相同;輸出轉(zhuǎn)角取值為 3個離散值: φ,0,- φ,(φ=5°)。
圖3 當(dāng)前機(jī)器人速度V及輸出速度Vo隸屬函數(shù)
由以上變量取值得知可以制定共 72條模糊規(guī)則。參考Mamdani控制規(guī)則制定的方法取舍之后,制定了如下 24條 IF-THEN形式的模糊規(guī)則。
(1)當(dāng)環(huán)境類別 EN為 0時,不考慮 θ:
1)若 V為快和中,輸出Vo保持不變, φ為 0;
2)若 V為慢,輸出 Vo為快, 為 0。
(2)當(dāng) EN為 1時:
3)若 V為慢,則輸出 Vo為中, φ為 0;
4)若V為快,則輸出 Vo為快, φ為 0;
(3)當(dāng) EN為 2時:
5)若V為慢, 則輸出 Vo為慢, φ為-φ;
6)若V為快, 則輸出 Vo為中, φ為-φ;
7)若V為中, 則輸出 Vo為中, φ為-φ;
(4)當(dāng) EN為 3時:
8)若V為快,則輸出Vo為中,為;
9)若V為慢,則輸出Vo為慢,為;
10)若V為中,則輸出Vo為中,為;
(5)當(dāng) EN為 4時:
11)若為左方,V為慢,則輸出Vo為快, φ為 0;
12)若為左方,V為快,則輸出Vo為快, φ為 0;
(6)當(dāng) EN為 5時:
13)若 V為快,則輸出 Vo為中, φ為 0;
14)若 V為慢,則輸出 Vo為中, φ為 0;
15)若 V為中,則輸出 Vo為中, φ為 0;
16)若 V為退,則輸出 Vo為慢, φ為-φ;
(7)當(dāng) EN為 6時:
17)若 V為快,則輸出 Vo為中, φ為-φ;
18)若 V為慢,則輸出 Vo為慢, φ為-φ;
19)若 V為中,則輸出 Vo為中, φ為-φ;
(8)當(dāng) EN為 7時:
20)若 V為快,則輸出 Vo為退, φ為 0;
21)若 V為中,則輸出 Vo為退, φ為 0;
22)若 V為慢,則輸出 Vo為退, φ為-φ;
23)若 V為退,則輸出 Vo為退, φ為-φ;
(9)若當(dāng)前情況不屬于上述 8種情況,則保持當(dāng)前狀態(tài)不變。
模糊推理結(jié)果都是模糊值,不能直接用于控制被控對象,需轉(zhuǎn)換為執(zhí)行機(jī)構(gòu)可以執(zhí)行的精確量。將模糊量轉(zhuǎn)換為精確量的過程就叫非模糊化,方法有:最大隸屬度法、中位數(shù)法、加權(quán)平均法等。其中應(yīng)用最多的是加權(quán)平均法,可用式(2)計算。
其中,Wj為推理結(jié)果,即經(jīng)模糊規(guī)則判斷后的輸出,μ(Wj)為各種推理結(jié)果的權(quán)函數(shù),為方便起見,可以取隸屬函數(shù)為全函數(shù)。在這里Wj為輸出速度Vo,而輸出轉(zhuǎn)角 φ本身即為精確值。
由此可以得到簡單有效的移動機(jī)器人路徑規(guī)劃算法。
基于以上方法在Matlab7.0上進(jìn)行仿真試驗。機(jī)器人在復(fù)雜的環(huán)境中能夠快速順利地規(guī)劃出一條無碰撞的較優(yōu)路徑。
在一幅RGB格式的圖片中建立黑白的環(huán)境信息,黑色區(qū)域表示障礙物,白色的表示機(jī)器人可以通過的區(qū)域。RGB圖像由一個表示色素值的三維矩陣構(gòu)成[8],建立的環(huán)境信息是黑白的,故三維矩陣的 3個二維矩陣是完全相等的,取出其中的一個二維矩陣。在這個矩陣的基礎(chǔ)上按上述方法建立坐標(biāo)系,同時顯示出原圖片,在這個圖片上畫出規(guī)劃出來的路徑[9],如圖4所示。
圖4 規(guī)劃路徑
圖4(a)是在復(fù)雜環(huán)境中機(jī)器人對環(huán)境做出的局部路徑規(guī)劃結(jié)果;圖4(b)是在仿真實驗室環(huán)境中,對給定環(huán)境和目標(biāo),機(jī)器人做出的全局路徑規(guī)劃結(jié)果
對移動機(jī)器人實驗平臺在實驗室環(huán)境中做了五次實際路徑規(guī)劃測試,并與仿真規(guī)劃路徑理論結(jié)果比較,可以得到機(jī)器人控制系統(tǒng)的綜合性能水平,其定位誤差比較如下:可以看出,機(jī)器人的控制性能是比較令人滿意的,最大控制誤差是 80 mm。但也存在隨運行路徑的延續(xù),積累誤差增大的問題,這主要是由以下原因引起的:
(1)機(jī)器人定位算法存在定位誤差。
(2)機(jī)器人電機(jī)控制系統(tǒng)存在控制誤差。
(3)機(jī)器人機(jī)械結(jié)構(gòu)存在機(jī)械性誤差。
圖5 實際路徑規(guī)劃實驗誤差
要解決這一問題,應(yīng)在已知關(guān)鍵位置對機(jī)器人定位誤差進(jìn)行修正,使之不再積累。
本文針對高中機(jī)器人教育現(xiàn)狀,研究設(shè)計了一套實用移動的機(jī)器人局部路徑規(guī)劃方法,實驗證明,該方法切實有效,切對于高中學(xué)生比較容易理解,會促進(jìn)學(xué)生的實踐能力,激發(fā)學(xué)生學(xué)習(xí)機(jī)器人的興趣。
[1] 王吉岱,李維贊,孫愛芹等.教育機(jī)器人的研制與發(fā)展綜述[J].現(xiàn)代制造技術(shù)與裝備, 2007,2(177): 10-12.
[2] 張傳才,賀利樂,匡偉春.輪式移動教育機(jī)器人避障方法的研究[J].現(xiàn)代電子技術(shù),2007,13(252):116-117.
[3] 江樺.基于嵌入式移動機(jī)器人的模糊控制算法設(shè)計[J].自動化與儀表, 2010(3):33-36.
[4] Borenstein J,Koren Y.The Vector Field Histogram-fast Obstacle Avoidance for Mobile Robots[C]. IEEE Trans.Robotics and Automation.,1991, 7(3): 278-288.
[5] Jing X, Zbigniew M,Lixin Z, et al. Adaptive Evolutionary Planner/navigator for Mobile Robots[C].IEEE Trans.Evolutionary Computation, 1997,1(1): 18-28.
[6] 張純鋼,席裕庚.全局環(huán)境未知時基于滾動窗口的機(jī)器人路徑規(guī)劃[J].中國科學(xué):E輯,2001,1(31):51-58.
[7] 魏寧,劉一松.基于柵格模型的移動機(jī)器人全局路徑規(guī)劃研究[J].機(jī)器人技術(shù),2008,4(24):229-231.
[8] 董霖.Matlab使用詳解[M].北京:科學(xué)出版社,2008.
[9] 肖瀟,方勇純,賀鋒,等.未知環(huán)境下移動機(jī)器人自主搜索技術(shù)研究[J].機(jī)器人,2007,3(29):224-229.