移動(dòng)機(jī)器人運(yùn)動(dòng)控制的模糊邏輯系統(tǒng)設(shè)計(jì)
經(jīng)典控制理論對(duì)于解決線性定常系統(tǒng)的控制問(wèn)題是很有效的,然而,對(duì)于非線性時(shí)變系統(tǒng)卻難以奏效。隨著計(jì)算機(jī)的應(yīng)用和發(fā)展,自動(dòng)控制理論取得了飛躍性的發(fā)展?;跔顟B(tài)變量描述的現(xiàn)代控制理論對(duì)于解決線性或非線性、定?;驎r(shí)變的多輸入與多輸出系統(tǒng)的控制問(wèn)題,已獲得了廣泛和成功的應(yīng)用。但是,無(wú)論采用經(jīng)典控制理論還是現(xiàn)代控制理論的控制系統(tǒng),都需要事先知道被控對(duì)象(或過(guò)程)的精確數(shù)學(xué)模型,然后根據(jù)數(shù)學(xué)模型以及給定的性能指標(biāo),來(lái)選擇適當(dāng)?shù)目刂埔?guī)律,來(lái)進(jìn)行控制系統(tǒng)設(shè)計(jì)。然而,在許多情況下,被控對(duì)象的精確數(shù)學(xué)模型很難建立,這樣,對(duì)于這類(lèi)對(duì)象或過(guò)程就很難進(jìn)行自動(dòng)控制。
事實(shí)上,對(duì)于復(fù)雜的、多因素影響的生產(chǎn)過(guò)程,即使不知道該過(guò)程的數(shù)學(xué)模型,有經(jīng)驗(yàn)的操作人員也能根據(jù)長(zhǎng)期的觀察和操作經(jīng)驗(yàn)進(jìn)行有效地控制,而采用傳統(tǒng)的自動(dòng)控制方法的效果則并不理想。然而,能否把人的操作經(jīng)驗(yàn)總結(jié)為若干條控制規(guī)則,并設(shè)計(jì)一個(gè)裝置去執(zhí)行這些規(guī)則,從而對(duì)系統(tǒng)進(jìn)行有效的控制?模糊控制理論和方法便由此而生。
1 模糊控制原理
模糊控制的原理框圖如圖1所示。模糊邏輯控制系統(tǒng)可用來(lái)代替經(jīng)典控制系統(tǒng)或與經(jīng)典控制系統(tǒng)一起來(lái)控制機(jī)器人。通過(guò)應(yīng)用模糊邏輯,機(jī)器人可以變得更獨(dú)特、更具有智能和更加有用。本文根據(jù)模糊控制理論為移動(dòng)機(jī)器人的運(yùn)動(dòng)控制設(shè)計(jì)一個(gè)模糊邏輯系統(tǒng)。以使移動(dòng)機(jī)器人能根據(jù)地形坡度和地形類(lèi)別來(lái)自主的調(diào)節(jié)自身的運(yùn)動(dòng)速度,從而完成機(jī)器人運(yùn)動(dòng)的自動(dòng)控制。
2 移動(dòng)機(jī)器人的模糊邏輯控制器設(shè)計(jì)
2.1 確定模糊控制器的輸入變量和輸出變量
根據(jù)本設(shè)計(jì)的目的,為使移動(dòng)機(jī)器人能根據(jù)地形的坡度和地形的類(lèi)別自主地調(diào)節(jié)
自身的運(yùn)動(dòng)速度,本系統(tǒng)可設(shè)計(jì)為雙輸入單輸出系統(tǒng),將地形坡度和地形的類(lèi)別作為兩個(gè)輸入,而將移動(dòng)機(jī)器人的運(yùn)動(dòng)速度作為控制輸出。
2.2 模糊化
模糊化是將輸入和輸出值轉(zhuǎn)換為其隸屬度函數(shù)的過(guò)程。模糊化的結(jié)果是一組如圖2所示的圖形,它描述了不同模糊變量中不同值的隸屬度。為了定義模糊地形坡度、模糊地形類(lèi)別和模糊運(yùn)動(dòng)速度的變量,這里將期望的地形坡度范圍固定在-45~+45,并劃分成五個(gè)隸屬度函數(shù),分別是“負(fù)大”、“負(fù)”、“水平”、“正”、“正大”。小于-45的坡度一概看作“負(fù)大”,而大于+45則被認(rèn)定為“正大”。類(lèi)似的,地形類(lèi)別也劃分成四個(gè)隸屬度函數(shù),分別是“很粗糙”、 “粗糙”、“平緩”、“平坦”。其中所有粗糙程度大于100%的都被認(rèn)定為“很粗糙”。而輸出的移動(dòng)機(jī)器人的運(yùn)動(dòng)速度(在0~20英里/小時(shí)之間)則被分成“很慢”、“慢”、“中”、“快”、“很快”。
根據(jù)圖2中輸入變量和輸出變量的模糊化(其中地形坡度和地形類(lèi)別為輸入變量;速度為輸出變量),便可為每個(gè)隸屬度函數(shù)選擇其他域,并對(duì)其進(jìn)行不同的劃分,以確定隸屬度函數(shù)交疊的不同區(qū)域,然后設(shè)置非對(duì)稱(chēng)的隸屬度函數(shù)。
2.3 規(guī)則庫(kù)的形成
由于地形坡度有五個(gè)隸屬度函數(shù),地形類(lèi)別有四個(gè)隸屬度函數(shù),這樣,總共就會(huì)有54=20條規(guī)則,根據(jù)整個(gè)設(shè)計(jì)過(guò)程的系統(tǒng)性能要求和設(shè)計(jì)者的經(jīng)驗(yàn),該模型將形成含有20條規(guī)則的規(guī)則庫(kù),具體如下:
規(guī)則1:if(地形坡度is LP) and(地形類(lèi)別is VR)then(速度is VS)
規(guī)則2:if(地形坡度is LP)and(地形類(lèi)別is R)then(速度is S)
規(guī)則3:if(地形坡度is LP)and(地形類(lèi)別is Mo)then(速度is Me)
規(guī)則4:if(地形坡度is LP)and(地形類(lèi)別is S)then(速度is Me)
規(guī)則5:if(地形坡度is P)and(地形類(lèi)別is VR)then(速度is VS)
規(guī)則6:if(地形坡度is P)and(地形類(lèi)別is R)then(速度is S)
規(guī)則7:if(地形坡度is P)and(地形類(lèi)別isMo)then(速度is Me)
規(guī)則8:if(地形坡度is P)and(地形類(lèi)別is S)then(速度is F)
規(guī)則9:if(地形坡度is L)and(地形類(lèi)別isVR)then(速度is S)
規(guī)則10:if(地形坡度is L)and(地形類(lèi)別is R)then(速度is Me)
規(guī)則11:if(地形坡度is L)and(地形類(lèi)別is Mo)then(速度is F)
規(guī)則12:if(地形坡度is L)and(地形類(lèi)別is S)then(速度is VF)
規(guī)則13:if(地形坡度is N)and(地形類(lèi)別is VR)then(速度is Vs)
規(guī)則14:if(地形坡度is N)and(地形類(lèi)別is R)then(速度is S)
規(guī)則15:if(地形坡度is N)and(地形類(lèi)別is Mo)then(速度is Me)
規(guī)則16:if(地形坡度is N)and(地形類(lèi)別is S)then(速度is F)
規(guī)則17:if (地形坡度is LN)and(地形類(lèi)別is VR)then(速度is VS)
規(guī)則18:if(地形坡度is LN)and(地形類(lèi)別is R)then(速度is VS)
規(guī)則19:if(地形坡度is LN)and(地形類(lèi)別is Mo)then(速度is s)
規(guī)則20:if(地形坡度is LN)and(地形類(lèi)別is S)then(速度is Me)
圖3所示是系統(tǒng)模糊推理規(guī)則觀察器的輸出結(jié)果。通過(guò)圖3可以清晰地看到輸入不同的地形坡度和地形類(lèi)別時(shí),其模糊推理規(guī)則所產(chǎn)生的輸出速度的值。
3 清晰化
清晰化是將模糊輸出值轉(zhuǎn)換為可供實(shí)際應(yīng)用的等效清晰值的過(guò)程。即對(duì)模糊規(guī)則進(jìn)行匹配并計(jì)算相應(yīng)的數(shù)值,從而得到一個(gè)與不同輸出模糊集隸屬度函數(shù)值相關(guān)的數(shù)。清晰化的方法有很多種,兩種常用的主要方法是:centroid面積中心法(又稱(chēng)重心法)和Mamdani(馬丹尼)推理法。
3.1 centroid面積中心法
centroid面積中心法主要計(jì)算隸屬度函數(shù)所包圍區(qū)域的重心。對(duì)于連續(xù)論域,若U是某一變量u在論域U的模糊集合,則去模糊化的結(jié)果為:
3.2 Mamdani(馬丹尼)推理法
該方法中,每個(gè)集合的隸屬度函數(shù)將在相應(yīng)的隸屬度值上被截去頂端,并將得到的所有隸屬度函數(shù)作為“或”函數(shù)加在一起。即將每一個(gè)重復(fù)的區(qū)域作為一層相互疊加在一起,其結(jié)果將是一個(gè)代表所有區(qū)域的新區(qū)域。新區(qū)域的重心將等價(jià)于輸出。
本文中的清晰化主要采用centroid面積中心法。也就是采用MATLAB模糊邏輯工具箱的解模糊化函數(shù)defuzz,該函數(shù)的功能為執(zhí)行輸出去模糊化,其格式為:
output=defuzz(x,mf,type)
其中:參數(shù)x是變量的論域范圍;mf為待去模糊化的模糊集合;type為清晰化方法,本文主要采用centroid面積中心法。
4 模糊邏輯控制器的仿真
一般情況下,為模糊系統(tǒng)設(shè)計(jì)的規(guī)則必須通過(guò)仿真才能保證其對(duì)所有的輸人值都能產(chǎn)生滿意的結(jié)果,這一般可通過(guò)模糊邏輯程序來(lái)實(shí)現(xiàn)。程序通過(guò)運(yùn)行模糊推理機(jī)來(lái)計(jì)算所有可能輸入產(chǎn)生的輸出,并作出輸出值的圖形來(lái)對(duì)模糊控制系統(tǒng)進(jìn)行仿真。通過(guò)該圖即可審核規(guī)則和隸屬度函數(shù)是否匹配。
由2.2和2.3中的輸入變量和輸出變量的模糊化和規(guī)則庫(kù),可以通過(guò)MATLAB模糊推理系統(tǒng)的運(yùn)算而得出如圖4所示的三維輸出結(jié)果。通過(guò)圖4即可看出,本文的規(guī)則和隸屬度函數(shù)匹配良好。
5 結(jié)束語(yǔ)
本文針對(duì)不同路面條件下移動(dòng)機(jī)器人運(yùn)動(dòng)控制的實(shí)際問(wèn)題提出了一種解決方法。該方法把模糊邏輯推理應(yīng)用到移動(dòng)機(jī)器人的行為控制中,并將地形坡度和地形類(lèi)別作為控制器的輸入,而機(jī)器人的速度作為控制系統(tǒng)的輸出,從而實(shí)現(xiàn)了對(duì)移動(dòng)機(jī)器人的行為控制。通過(guò)模糊邏輯控制器的仿真結(jié)果證明:該模糊控制算法在移動(dòng)機(jī)器人運(yùn)動(dòng)控制中能表現(xiàn)出良好的魯棒性和實(shí)時(shí)性。近年來(lái),神經(jīng)網(wǎng)絡(luò)、模糊控制等理論的研究和應(yīng)用有了很大的發(fā)展,進(jìn)一步了解學(xué)習(xí)和應(yīng)用這些理論將是下一步的目標(biāo)。
評(píng)論