移動機器人運動控制的模糊邏輯系統設計

來源:互聯網
上載者:User
 

移動機器人運動控制的模糊邏輯系統設計
[日期:2008-7-25] 來源:中電網  作者:程智遠,譚寶成 [字型: ]

 

0 引言

經典控制理論對於解決線性定常系統的控制問題是很有效,然而,對於非線性時變系統卻難以奏效。隨著電腦的應用和發展,自動控制理論取得了飛躍性的發展。基於狀態變數描述的現代控制理論對於解決線性或非線性、定常或時變的多輸入與多輸出系統的控制問題,已獲得了廣泛和成功的應用。但是,無論採用經典控制理論還是現代控制理論的控制系統,都需要事Crowdsourced Security Testing道被控對象(或過程)的精確數學模型,然後根據數學模型以及給定的效能指標,來選擇適當的控制規律,來進行控制系統設計。然而,在許多情況下,被控對象的精確數學模型很難建立,這樣,對於這類對象或過程就很難進行自動控制。

事實上,對於複雜的、多因素影響的生產過程,即使不知道該過程的數學模型,有經驗的操作人員也能根據長期的觀察和操作經驗進行有效地控制,而採用傳統的自動控制方法的效果則並不理想。然而,能否把人的操作經驗總結為若干條控制規則,並設計一個裝置去執行這些規則,從而對系統進行有效控制?模糊控制理論和方法便由此而生。

1 模糊控制原理

模糊控制的原理框圖1所示。模糊邏輯控制系統可用來代替經典控制系統或與經典控制系統一起來控制機器人。通過應用模糊邏輯,機器人可以變得更獨特、更具有智能和更加有用。本文根據模糊控制理論為移動機器人的運動控制設計一個模糊邏輯系統。以使移動機器人能根據地形坡度和地形類別來自主的調節自身的運動速度,從而完成機器人運動的自動控制。

2 移動機器人的模糊邏輯控制器設計

2.1 確定模糊控制器的輸入變數和輸出變數

根據本設計的目的,為使移動機器人能根據地形的坡度和地形的類別自主地調節

自身的運動速度,本系統可設計為雙輸入單輸出系統,將地形坡度和地形的類別作為兩個輸入,而將移動機器人的運動速度作為控制輸出。

2.2 模糊化

模糊化是將輸入和輸出值轉換為其隸屬度函數的過程。模糊化的結果是一組2所示的圖形,它描述了不同模糊變數中不同值的隸屬度。為了定義模糊地形坡度、模糊地形類別和模糊運動速度的變數,這裡將期望的地形坡度範圍固定在-45°~+45°,並劃分成五個隸屬度函數,分別是“負大”、“負”、“水平”、“正”、“正大”。小於-45°的坡度一概看作“負大”,而大於+45°則被認定為“正大”。類似的,地形類別也劃分成四個隸屬度函數,分別是“很粗糙”、 “粗糙”、“平緩”、“平坦”。其中所有粗糙程度大於100%的都被認定為“很粗糙”。而輸出的移動機器人的運動速度(在0~20英裡/小時之間)則被分成“很慢”、“慢”、“中”、“快”、“很快”。

根據圖2中輸入變數和輸出變數的模糊化(其中地形坡度和地形類別為輸入變數;速度為輸出變數),便可為每個隸屬度函數選擇其他域,並對其進行不同的劃分,以確定隸屬度函數交疊的不同地區,然後設定非對稱的隸屬度函數。

2.3 規則庫的形成

由於地形坡度有五個隸屬度函數,地形類別有四個隸屬度函數,這樣,總共就會有5×4=20條規則,根據整個設計過程的系統效能要求和設計者的經驗,該模型將形成含有20條規則的規則庫,具體如下:

規則1:if(地形坡度is LP) and(地形類別is VR)then(速度is VS)

規則2:if(地形坡度is LP)and(地形類別is R)then(速度is S)

規則3:if(地形坡度is LP)and(地形類別is Mo)then(速度is Me)

規則4:if(地形坡度is LP)and(地形類別is S)then(速度is Me)

規則5:if(地形坡度is P)and(地形類別is VR)then(速度is VS)

規則6:if(地形坡度is P)and(地形類別is R)then(速度is S)

規則7:if(地形坡度is P)and(地形類別isMo)then(速度is Me)

規則8:if(地形坡度is P)and(地形類別is S)then(速度is F)

規則9:if(地形坡度is L)and(地形類別isVR)then(速度is S)

規則10:if(地形坡度is L)and(地形類別is R)then(速度is Me)

規則11:if(地形坡度is L)and(地形類別is Mo)then(速度is F)

規則12:if(地形坡度is L)and(地形類別is S)then(速度is VF)

規則13:if(地形坡度is N)and(地形類別is VR)then(速度is Vs)

規則14:if(地形坡度is N)and(地形類別is R)then(速度is S)

規則15:if(地形坡度is N)and(地形類別is Mo)then(速度is Me)

規則16:if(地形坡度is N)and(地形類別is S)then(速度is F)

規則17:if (地形坡度is LN)and(地形類別is VR)then(速度is VS)

規則18:if(地形坡度is LN)and(地形類別is R)then(速度is VS)

規則19:if(地形坡度is LN)and(地形類別is Mo)then(速度is s)

規則20:if(地形坡度is LN)and(地形類別is S)then(速度is Me)

圖3所示是系統模糊推斷規則觀察器的輸出結果。通過圖3可以清晰地看到輸入不同的地形坡度和地形類別時,其模糊推斷規則所產生的輸出速度的值。

3 清晰化

清晰化是將模糊輸出值轉換為可供實際應用的等效清晰值的過程。即對模糊規則進行匹配並計算相應的數值,從而得到一個與不同輸出模糊集隸屬度函數值相關的數。清晰化的方法有很多種,兩種常用的主要方法是:centroid面積中心法(又稱重心法)和Mamdani(馬丹尼)推理法。

3.1 centroid面積中心法

centroid面積中心法主要計算隸屬度函數所包圍地區的重心。對於連續論域,若U是某一變數u在論域U的模糊集合,則去模糊化的結果為:

3.2 Mamdani(馬丹尼)推理法

該方法中,每個集合的隸屬度函數將在相應的隸屬度值上被截去頂端,並將得到的所有隸屬度函數作為“或”函數加在一起。即將每一個重複的地區作為一層相互疊加在一起,其結果將是一個代表所有地區的新地區。新地區的重心將等價於輸出。

本文中的清晰化主要採用centroid面積中心法。也就是採用MATLAB模糊邏輯工具箱的解模糊化函數defuzz,該函數的功能為執行輸出去模糊化,其格式為:

output=defuzz(x,mf,type)

其中:參數x是變數的論域範圍;mf為待去模糊化的模糊集合;type為清晰化方法,本文主要採用centroid面積中心法。

4 模糊邏輯控制器的模擬

一般情況下,為模糊系統設計的規則必須通過模擬才能保證其對所有的輸人值都能產生滿意的結果,這一般可通過模糊邏輯程式來實現。程式通過運行模糊推理機來計算所有可能輸入產生的輸出,並作出輸出值的圖形來對模糊控制系統進行模擬。通過該圖即可審核規則和隸屬度函數是否匹配。

由2.2和2.3中的輸入變數和輸出變數的模糊化和規則庫,可以通過MATLAB模糊推理系統的運算而得出4所示的三維輸出結果。通過圖4即可看出,本文的規則和隸屬度函數匹配良好。

5 結束語

本文針對不同路麵條件下移動機器人運動控制的實際問題提出了一種解決方案。該方法把模糊邏輯推理應用到移動機器人的行為控制中,並將地形坡度和地形類別作為控制器的輸入,而機器人的速度作為控制系統的輸出,從而實現了對移動機器人的行為控制。通過模糊邏輯控制器的模擬結果證明:該模糊控制演算法在移動機器人運動控制中能表現出良好的魯棒性和即時性。近年來,神經網路、模糊控制等理論的研究和應用有了很大的發展,進一步瞭解學習和應用這些理論將是下一步的目標。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.