《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于模糊控制的移動機器人FPGA實現

基于模糊控制的移動機器人FPGA實現

2009-01-05
作者:包 明,張 睿,余成波

??? 摘 要: 針對輪式移動機器人尋線行走的跟蹤控制要求,提出一種通用的移動機器人行走模糊控制設計方法,并以FPGA為核心器件,通過硬件描述語言(VHDL)實現移動機器人模糊控制系統,充分發揮模糊控制及可編程邏輯器件的優點。實驗表明,該移動機器人具有自動糾偏、尋線準確、高集成度和高可靠性的特點。
??? 關鍵詞: 模糊控制;機器人;FPGA;VHDL;尋線

?

??? 移動機器人是一種集環境感知、動態決策與規劃、行為控制與執行等多項功能于一體的智能化機器系統,具有大延遲、高度非線性的特點。其建立精確的數學模型十分困難,在進行路徑跟蹤控制時,參數的變化對系統模型影響較大。傳統的機器人運動控制常采用PID控制器,將機器人的航向角誤差和誤差變化率作為控制器的輸入,控制器的輸出作為機器人的駕駛角。而在實際中,機器人的航向角還與其速度、轉動慣量、重心位置、前后輪側偏系數、驅動輪直徑和摩擦力、實際道路情況等諸多變化且很難確定的因素有關。這使得控制器參數設定和調整極為困難。針對這些問題,本文在輪式移動機器人尋線跟蹤控制中,提出移動機器人的模糊控制算法,并且利用現場可編程門陣列(FPGA)器件來實現模糊算法的控制器。使得該控制器集成度高、速度快、效率高,易于現場實現多重配置,易于實現可編程片上系統(SoPC)。由于整個控制系統由硬件實現,因此能滿足機器人實時性、快速性和精確性的控制要求。
1 移動機器人結構
1.1 機器人行進機構

??? 機器人應能在任意區域內沿引導線行進,自動繞開障礙并停在指定地點。機器人在地面上的移動方式為三車輪式,前輪輔助后輪驅動的差動式行走方式。前輪為隨動輪(萬向輪),僅僅起到支撐車體的作用,無任何導向作用。后輪分別為兩個獨立的驅動輪,利用它們的轉速差來控制機器人的運動方向。這種組合的特點是結構簡單、易于控制,而且當兩個驅動輪以相同速度、相反方向轉動時,車體能繞兩個驅動輪連線的中點自轉,易于定位。對驅動輪采用直流步進電機進行驅動。步進電機構成的驅動系統具有結構簡單、運行可靠、控制方便、控制性能好等特點,常作為一種數字伺服執行元件廣泛應用于數控機床、自動化儀表、機器人等領域,不但可以構成開環控制系統,還可以應用于閉環、半閉環伺服控制系統中,尤其在強調速度控制、位置控制的伺服系統中。
1.2 檢測裝置
??? 在機器人行進機構底盤上的前后方分別安裝一排光纖或光電傳感器用于引導線的檢測,如圖1所示。根據前后排傳感器的在線檢測狀態,可以計算出此刻機器人相對于引導線(白線)的偏移量和偏離角度。也就是指機器人車體中心軸線和場地引導線中心線的夾角。

?


??? 在圖1中前后排各有9個光纖傳感器,后排的9個傳感器檢測點安裝在兩個驅動輪的軸線上,檢測機器人與引導線的偏移量。前排的9個傳感器檢測點檢測機器人與引導線的偏離角度。為了擴大機器人的偏差糾錯能力,檢測點安裝成非線性的排列結構,且相對于引導線中心線成對稱分布,中間的三個檢測點分布在引導線的中間和左右兩邊,以便使檢測點相對于引導線的位置變化較為敏感。其余兩側的12個檢測點分布較為分散,主要是為了在機器人轉彎或偏差過大時“捕捉”引導線。
2 模糊控制器設計
??? 根據移動機器人的結構和剛體平動原理,對于兩輪驅動的移動機器人,主要控制其角速度和線速度,前者完成移動機器人的轉向控制,后者實現機器人前進速度的控制,利用機器人兩個獨立驅動輪的轉速來控制機器人的運行和運動方向。輪式機器人作為被控對象,具有大慣性、純滯后、時變的特點。過去常用PID 算法,如果條件稍有變化,系統參數(T、KP、Ti、Td)必須改變,否則難以達到滿意的效果。而模糊控制基于模糊集合理論,模仿人的控制經驗,運用模糊推理方法根據輸出直接映射出被控對象的控制量,它不依賴于被控對象的數學模型而實現其控制,具有魯棒性好的特點,很適合輪式機器人這樣的大慣性非線性系統。因此采用模糊控制算法對輪式機器人進行控制。
??? 為了滿足機器人沿引導線行走的目的,可以根據光電檢測傳感器檢測車體偏離引導線的大小來調整左右驅動步進電機的行進速度,隨時調整機器人的行進路線,從而使機器人沿引導線行進。下面根據移動機器人的行走方式,介紹模糊算法控制器的設計方法。
??? 首先把移動機器人車體底盤上的前后光電檢測傳感器進行編號(如圖1所示)。這些檢測點的編號可作為機器人偏離引導線的狀態值, 對于本系統模糊控制器采用雙變量二維控制方法,控制器的兩輸入為前后光電檢測點的輸入編號;輸出為左右步進電機驅動脈沖數。模糊控制器的輸入量的模糊子集選取為:{LB,LS,ZO,RS,RB},對應意義為{左大,左小,中心,右小,右大}。輸出量的模糊子集選取為:{NB,NM,NS,ZO,PS,PM,PB},其對應為{負大,負中,負小,零,正小,正中,正大}。
??? 根據控制規則及相應的控制變量隸屬度定義, 給出了如圖2所示的輸入變量前檢測點位置(BF)和后檢測點位置(BA)的隸屬度函數。輸出變量左、右步進電機轉速的隸屬度函數如圖3所示。通過仿真實驗分析,得到左電機轉速控制規則表(右電機轉速控制規則表相似)如表1。

?

?

?


??? 在完成以上模糊控制器的模糊輸入量、模糊推理決策模塊后,再進行模糊輸出接口設計。模糊輸出接口是將輸出的模糊控制量轉化為精確量后去控制執行機構,使被控對象的值接近參考值。反模糊化采用重心法, 通過多次實驗進行修正,得到如表2所示的左步進電機轉速控制信號輸出表(用十六進制數表示)。右步進電機轉速控制信號輸出表也可用類似方法得到。

?


??? 從以上模糊控制器的設計過程可知,根據機器人車體底盤上的前后光電檢測點的狀態作為輸入量進行模糊化,在模糊規則約束下經模糊推理,得到精確的控制變量。模糊控制器承擔的任務實際上是從輸入映射到模糊控制表對應的輸出量。實際應用模糊控制場合時大多數采用查表法來設計模糊控制器,通過離線計算與實際控制經驗而得到一個表示輸入量精確值與輸出量精確值之間的控制表,然后將得到的控制表移植到計算機、其他專用或通用模糊控制芯片中,這種映射在查表時是一一對應的邏輯關系;現場控制時,只需要用軟件或硬件電路來查找控制表,獲得所需的控制量去控制執行機構。
3 模糊控制器的FPGA實現
??? 現場可編程門陣列(FPGA)是近年來發展迅速的大規模可編程邏輯器件,它具有設計周期短、片內資源豐富、可無限次加載和現場可編程等特點。在FPGA上實現模糊控制器是一種介于專用集成電路(ASIC)和通用處理器之間的方案,具有電子產品的高速度、高可靠性、小型化、集成化、低功耗、保密性能好、具有自主知識產權、產品上市快等優勢。
??? 用可編程邏輯器件完成模糊控制器的任務有多種方法,可以用VHDL語言設計一個ROM將模糊控制輸出表的數據寫入其中,也可以把模糊控制輸出量用邏輯表達式表示出來,通過脈沖分配器驅動步進電機。根據表2用VHDL語言設計的ROM模糊控制輸出模塊如下:
??? LIBRARY ieee;
?? ?USE ieee.std_logic_1164.all;
?? ?USE ieee.std_logic_arith.all;
?? ?USE ieee.std_logic_unsigned.all;
?? ?ENTITY Fuzzy_rom IS
PORT (BF_b,BA_b:IN STD_LOGIC_VECTOR(3 downto 0);
??????? nena??:IN?STD_LOGIC;
?? ???? L_out??:OUT INTEGER RANGE 0 TO 6000);
END Fuzzy_rom;
ARCHITECTURE a OF Fuzzy_rom IS
?? ?SIGNAL?addr:STD_LOGIC_VECTOR(7 downto 0);
BEGIN
?? ?addr<=BA_b&BF_b;
?? ?L_out<=
?? ?16#DB6#? when addr=X″00″ and nena=′0′ else
?? ?16#CBC#? when addr=X″01″ and nena=′0′ else
?? ?16#BF4#? when addr=X″02″ and nena=′0′ else
?? ?16#BCC#? when addr=X″03″ and nena=′0′ else
?? ?16#BB8#? when addr=X″04″ and nena=′0′ else
?? ?16#BAE#? when addr=X″05″ and nena=′0′ else
?? ?16#B72#? when addr=X″06″ and nena=′0′ else
?? ?16#AE1#? when addr=X″07″ and nena=′0′ else
?? ?16#A6E#? when addr=X″08″ and nena=′0′ else
??????????????????????????……
??? 16#10BE# when addr=X″85″ and nena=′0′ else
??? 16#FFC#? when addr=X″86″ and nena=′0′ else
??? 16#FA2#? when addr=X″87″ and nena=′0′ else
??? 16#D73#? when addr=X″88″ and nena=′0′ else
??? 16#0000#;
END a;
????在ROM模糊控制模塊中,輸入變量BF_b和BA_b為前后光電檢測點狀態的編碼信號,作為模糊控制輸出表的地址碼(一個字節),由它來決定模糊控制輸出表的數據,即步進電機轉速的周期。周期值越大,頻率越小,步進電機的轉速就越慢;反之步進電機的轉速就快。圖4所示為ROM模塊的仿真波形。

?


??? 該模糊控制器在QuartusII集成開發環境中,利用Cyclone系列中的EP1C6器件進行了設計和仿真,并組成測試系統進行測試。實踐證明,該移動機器人具有自動糾偏、尋線準確、高集成度和高可靠性的特點。用可編程邏輯器件設計的模糊控制,設計方便、修改容易,它可以和其他功能模塊電路同時用FPGA來完成,可以充分發揮模糊控制及可編程器件的優點,使兩種先進的技術有機結合。除了以上介紹的機器人行走控制器外,還有其他單元電路,如紅外光電檢測電路、超聲波檢測電路、光電碼盤檢測和電機驅動電路,以及可以隨時接收上位機發出指令的通訊模塊電路。為了實現機器人可靠的行進,檢測電路的設計顯得非常重要。
參考文獻
[1] 齊昕,鞏憲鋒,王長松.基于模糊算法的機器人行進控制[J].機電工程技術,2006,35(1):21-24.
[2] 黃永志,陳衛東.兩輪移動機器人運動控制系統的設計與實現[J].機器人,2004,26(1):40-44.
[3] 陳文光,饒益花,單長虹.基于可編程器件的模糊控制器[J].微電子學與計算機,2004,21(5):41-43.
[4] 包明,包奎.基于FPGA的搬運機器人控制系統[J].電子技術應用,2005,31(12):59-61.
[5] KIM D.An Implementation of Fuzzy Logic Controller on the Reconfigurable FPGA Systems[J].IEEE ransactions on?Industrial Electronics,2000,47(3):703-715.
[6] Altera Corporation.QuartusII development software handbookv5.1[DB/OL].[2005-09-3].http://www.Altera.com.cn/literature/hb/qts/quartusii_hand_book.pdf.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久成人资源| 欧美夜福利tv在线| 性欧美18~19sex高清播放| 99视频国产精品免费观看| 影音先锋日韩精品| 国产美女在线精品免费观看| 国产精品你懂的在线欣赏| 欧美日韩综合视频| 欧美精品一区二区三区一线天视频 | 99国产精品久久久久久久| 亚洲区欧美区| 亚洲国语精品自产拍在线观看| 久久国产主播| 亚洲第一精品夜夜躁人人爽| 久久国产精品亚洲va麻豆| 欧美一区二区三区日韩视频| 欧美一区二区日韩| 久久精品论坛| 亚洲国产成人精品久久久国产成人一区| 欧美一区中文字幕| 久久精品视频导航| 91久久黄色| 9国产精品视频| 中文欧美在线视频| 亚洲在线观看| 羞羞漫画18久久大片| 久久精品国产91精品亚洲| 久久久亚洲精品一区二区三区 | 国内精品美女在线观看| 在线不卡亚洲| 91久久精品国产91性色| 亚洲精品一区二区三区福利| 日韩午夜免费| 午夜国产不卡在线观看视频| 欧美在线视频不卡| 久久爱www久久做| 亚洲日本欧美| 亚洲综合激情| 久久gogo国模裸体人体| 麻豆成人av| 欧美人与性禽动交情品| 国产精品成人播放| 国产视频一区在线| 亚洲国产视频一区二区| 正在播放欧美一区| 久久不射中文字幕| 99国产精品久久久久老师| 亚洲女同精品视频| 另类综合日韩欧美亚洲| 欧美区亚洲区| 国产日韩精品在线播放| 亚洲电影下载| 亚洲午夜国产一区99re久久 | 久久影视精品| 欧美日韩在线观看一区二区三区| 国产麻豆精品theporn| 亚洲国产导航| 亚洲在线一区| 亚洲国产91精品在线观看| 在线中文字幕一区| 久久精品国产久精国产爱| 欧美精品成人| 国产日韩欧美一区二区| 亚洲精品一区二区三区99| 欧美一区二区三区四区在线观看| 99精品视频免费观看视频| 欧美一区二区三区另类| 欧美国产一区视频在线观看| 国产精品一区二区在线| 亚洲精品国产精品久久清纯直播| 亚洲欧美日韩精品| av成人天堂| 久久综合999| 国产精品美女久久久久久久| 亚洲国产aⅴ天堂久久| 亚洲欧美精品在线| 99精品99| 麻豆国产va免费精品高清在线| 国产精品国产亚洲精品看不卡15| 永久免费视频成人| 亚洲综合清纯丝袜自拍| 99精品欧美一区| 美女任你摸久久| 国产午夜精品久久久久久免费视| 亚洲精品在线电影| 亚洲黄色免费| 久久国产综合精品| 国产精品海角社区在线观看| 亚洲国产欧美一区二区三区久久| 久久av一区二区三区亚洲| 亚洲欧美中文日韩在线| 欧美日韩另类字幕中文| 在线观看一区| 久久成人18免费网站| 欧美一区二区免费| 欧美无乱码久久久免费午夜一区| 亚洲国产成人不卡| 久久精品免费播放| 欧美中文字幕第一页| 国产精品久久久久久久免费软件| 亚洲日本va午夜在线影院| 亚洲成色777777在线观看影院| 欧美亚洲一区二区三区| 欧美三级网址| 亚洲毛片在线观看| 亚洲理伦电影| 欧美99久久| 伊人狠狠色j香婷婷综合| 欧美在线观看视频在线| 欧美一区二区在线免费观看| 国产精品成人观看视频免费 | 在线视频你懂得一区 | 国产精品成人一区二区网站软件| 亚洲精品国产精品乱码不99按摩| 亚洲日本一区二区三区| 麻豆精品国产91久久久久久| 极品日韩av| 亚洲激情另类| 欧美成在线观看| 亚洲国产高清视频| 亚洲精品少妇| 欧美精彩视频一区二区三区| 91久久嫩草影院一区二区| 日韩亚洲欧美中文三级| 欧美日韩第一页| 亚洲最新合集| 亚洲欧美在线aaa| 国产精品视频导航| 午夜日韩福利| 久久尤物视频| 亚洲国产精品成人一区二区 | 欧美日韩国产综合视频在线| 日韩亚洲欧美成人一区| 亚洲一区二区三区在线观看视频| 欧美午夜在线观看| 亚洲影院免费| 久久国产综合精品| 在线成人www免费观看视频| 亚洲精品乱码久久久久| 欧美激情视频在线播放| 99国产精品久久| 亚洲欧美激情在线视频| 国产日韩一区二区三区| 久久国产精品亚洲77777| 欧美+日本+国产+在线a∨观看| 91久久国产综合久久91精品网站| 一本色道久久综合亚洲精品不| 欧美吻胸吃奶大尺度电影| 午夜国产精品视频免费体验区| 久久日韩精品| 亚洲精品黄色| 亚洲综合日本| 国内精品久久久久久 | 久久久久久91香蕉国产| 影音先锋亚洲一区| 在线视频免费在线观看一区二区| 国产精品美女www爽爽爽| 亚洲第一网站| 欧美色播在线播放| 午夜伦欧美伦电影理论片| 欧美xart系列高清| 亚洲视频一区在线观看| 久久久久久91香蕉国产| 亚洲精品字幕| 欧美与欧洲交xxxx免费观看| 在线观看亚洲精品视频| 亚洲欧美在线高清| 亚洲福利小视频| 午夜久久美女| 亚洲国产精品www| 亚洲欧美激情精品一区二区| 一区二区亚洲精品国产| 亚洲无线一线二线三线区别av| 国产日韩欧美在线观看| 亚洲精品小视频在线观看| 国产精品视频| 亚洲开发第一视频在线播放| 国产精品一区二区三区四区| 亚洲乱码国产乱码精品精可以看| 国产麻豆精品久久一二三| 亚洲精品美女在线| 国产精一区二区三区| 亚洲理论在线观看| 国产一区二区毛片| 亚洲视频免费看| 伊人春色精品| 欧美中日韩免费视频| 亚洲美女精品成人在线视频| 久久米奇亚洲| 亚洲夜间福利| 欧美极品在线观看| 久久精品人人爽| 国产精品视频一区二区三区| 一本久道久久综合狠狠爱| 国产综合色在线| 亚洲欧美日韩成人高清在线一区| 亚洲区免费影片| 另类成人小视频在线| 欧美亚洲一区| 国产精品男gay被猛男狂揉视频|