【正文】
nd X4 is LS then Y is TZ;8:if X1 is FAR and X2 is NEAR and X3 is FAR and X4 is Z then Y is TZ;9:if X1 is FAR and X2 is NEAR and X3 is FAR and X4 is RS then Y is TI10:if Xl is FAR and X2 is NEAR and X3 is FAR and X4 is RB then Y is TRB;以上共同構(gòu)成了小車的動作行為控制規(guī)則。4)模糊推理及反模糊化處理模糊控制器先將紅外傳感器給出的距離信息進(jìn)行模糊化,后存儲模糊邏輯狀態(tài),再依據(jù)模糊邏輯狀態(tài)判斷各個方向上障礙物的狀態(tài),然后將各個方向上障礙物的狀態(tài)數(shù)據(jù)進(jìn)行融合,得到障礙物的狀態(tài)結(jié)果。反模糊化采用預(yù)先定制機(jī)器人動作行為對應(yīng)速度的方式實(shí)現(xiàn)。電機(jī)控制器接收到動作行為編碼后,首先解釋該代碼的意義,接著將相應(yīng)的電機(jī)速度值取出送至存儲單元,以改變電機(jī)的運(yùn)行速度,從而改變機(jī)器人的動作行為。 建立被控對象和行駛環(huán)境的二維參考坐標(biāo)系(),為計(jì)算方便,假設(shè)車輪與地面無滑動,能繞其質(zhì)心轉(zhuǎn)向。障礙物OYXT時刻位置(x(t),y(t))t+1時刻位置(x(n+1),y(n+1))目標(biāo)點(diǎn)(XG,YG)steptg 參考坐標(biāo)系移動機(jī)器人要獲得自主行為,就需要有能感知周圍環(huán)境信息的能力,其主要是通過傳感器來實(shí)現(xiàn)的。其中,超聲波傳感器具有技術(shù)成熟,成本低,接口容易實(shí)現(xiàn)等優(yōu)點(diǎn),成為避障機(jī)器人的首選[11]。產(chǎn)生這種現(xiàn)象的原因是,超聲傳感器發(fā)出的超聲波信號是具有一定方向性的波束,當(dāng)傳感器與障礙物形成較大角度時,會發(fā)生鏡面反射,從而產(chǎn)生幻影。傳感器障礙物障礙物幻影前方傳感器右側(cè)傳感器前輪左側(cè)傳感器方位傳感器 ,機(jī)器人前方成扇形排分布三組超聲波傳感器,分別用于探測左側(cè),前方和右側(cè)的的障礙物。同時,為了保證機(jī)器人的運(yùn)動有方向性,在機(jī)器人中心有一只方位傳感器,測量范圍是(180176。)。小車自起始點(diǎn)出發(fā)之前,程序判斷出發(fā)點(diǎn)和終點(diǎn)是否在隨機(jī)生成四組傳感器開始工作,探測環(huán)境信息。運(yùn)動過程中,若超聲波探測到有較近距離的障礙物時,則根據(jù)障礙物相對機(jī)器人的方位和目標(biāo)點(diǎn)方位進(jìn)行轉(zhuǎn)向控制,避開障礙物;障礙物距離越近,則轉(zhuǎn)向角sa越大,以免發(fā)生碰撞。開始根據(jù)超聲傳感器探測信息判斷是否有障礙物根據(jù)障礙物方位和目標(biāo)點(diǎn)方位躲避進(jìn)行避障Y根據(jù)方位傳感器探測的方位角tg向目標(biāo)點(diǎn)移動N判斷是否到終點(diǎn)結(jié)束YN 模糊控制器的輸入輸出語言變量的選取應(yīng)該盡量的簡單,又要考慮機(jī)器人行駛和避讓障礙物的實(shí)際情況,較好的反應(yīng)機(jī)器人避障的過程[12]。根據(jù)上節(jié)介紹,將九只超聲波傳感器分為三組(前方,左側(cè),右側(cè)各三只),每組取其最小距離信號作為該方向的輸入,dr為右側(cè)障礙物距離,dc為前方障礙物距離,dl為左側(cè)障礙物距離;方位傳感器則測得航向與目標(biāo)點(diǎn)到機(jī)器人連線的夾角,為tg。 模糊語言的確定包括由語法規(guī)則生成適當(dāng)?shù)哪:Z言值,根據(jù)語義規(guī)則確定語言值的隸屬度函數(shù)以及確定語言變量的論域等。模糊分割的越多,控制越精細(xì),但對應(yīng)控制規(guī)則數(shù)目也就越多;模糊分割太粗,則難以對控制性能進(jìn)行細(xì)致調(diào)整。例如上面對距離輸入變量的劃分,通常情況下對距離變量劃分為{近,中,遠(yuǎn)},但如此一來,模糊規(guī)則的數(shù)量共有條,較難實(shí)現(xiàn)。模糊規(guī)則數(shù)大幅減少,既容易實(shí)現(xiàn),又未過多降低控制精度。在論域連續(xù)是的情況下,隸屬度常用函數(shù)的形式來進(jìn)行描述,常見的有隸屬函數(shù)有三角形,梯形,高斯型等。因此,在選擇語言值的隸屬度函數(shù)是,一般在誤差為零的附近區(qū)域采用分辨率較高的隸屬函數(shù),而在誤差較大的區(qū)域,可采用分辨率較低的隸屬函數(shù),以獲得較好的魯棒性[13]。因此,在利用MATLAB建立模糊控制器時,可通過改變隸屬函數(shù)來觀察其對輸出的影響。(a)dl、dc和dr的隸屬函數(shù) (b) 夾角tg的隸屬函數(shù) (c)輸出轉(zhuǎn)向角sa的隸屬函數(shù) 模糊規(guī)則的建立是模糊控制的核心問題[14]。根據(jù)模糊控制理論,控制規(guī)則反映了輸入輸出變量間的關(guān)系。機(jī)器人移動路徑是根據(jù)障礙物距離和目標(biāo)點(diǎn)方位共同決定的。機(jī)器人轉(zhuǎn)向的基本原則是:當(dāng)探測到機(jī)器人左(右)和前方有障礙物靠近時,機(jī)器人應(yīng)及時轉(zhuǎn)向右(左)方。根據(jù)前面所確定的輸入輸出集,模糊規(guī)則的一般表述形式為“If(條件)Then(結(jié)果)”。(A) 一側(cè)有障礙物時機(jī)器人一側(cè)有障礙物是最基本的情況,這里僅以右側(cè)有障礙物的情況來說明。tgdlblszorsrb