摘 要: 近年來,室內(nèi)移動(dòng)機(jī)器人的研究和設(shè)計(jì)成為關(guān)注的焦點(diǎn)。我們采用單片機(jī)作為機(jī)器人的核心控制器,利用超聲波傳感器、碰撞傳感器、步進(jìn)電機(jī)及其控制芯片Ta8435聯(lián)合制作開發(fā)了機(jī)器人實(shí)驗(yàn)平臺(tái)。最后介紹了模糊控制、模糊神經(jīng)網(wǎng)絡(luò),并利用模糊控制和模糊神經(jīng)網(wǎng)絡(luò)技術(shù)對(duì)室內(nèi)機(jī)器人導(dǎo)航中的模糊控制避障和模糊神經(jīng)網(wǎng)絡(luò)路徑跟蹤作了MATLAB仿真研究, 達(dá)到了預(yù)期的目的。
關(guān)鍵字: 室內(nèi)機(jī)器人, 模糊控制, 模糊神經(jīng)網(wǎng)絡(luò), 軌跡跟蹤
1 引言
隨著傳感器、電子、機(jī)械及材料等領(lǐng)域的技術(shù)進(jìn)步,機(jī)器人首次在制造領(lǐng)域以外的服務(wù)行業(yè)開辟了新領(lǐng)域。室內(nèi)機(jī)器人就是一種新型的服務(wù)機(jī)器人。該機(jī)器人是能夠在房間中自動(dòng)移動(dòng),完成地面吸塵、家庭守衛(wèi)等工作。它集機(jī)械學(xué)、電子技術(shù)、傳感器技術(shù)、計(jì)算機(jī)技術(shù)、控制技術(shù)、機(jī)器人技術(shù)、人工智能等諸多學(xué)科為一體。家庭服務(wù)機(jī)器人行業(yè)的發(fā)展,也促進(jìn)了移動(dòng)機(jī)器人技術(shù)、圖像和語音識(shí)別、傳感器等相關(guān)技術(shù)的發(fā)展。
2 機(jī)器人的總體設(shè)計(jì)
2.1 機(jī)器人設(shè)計(jì)要求
我們?cè)O(shè)計(jì)的機(jī)器人總體功能要求如下:在打開電源按鈕之后,機(jī)器人直線行走,然后根據(jù)已存儲(chǔ)的電子地圖覆蓋地面。運(yùn)動(dòng)過程中進(jìn)行實(shí)時(shí)避障。覆蓋區(qū)域完畢后停止工作。基于以上所要實(shí)現(xiàn)的功能,機(jī)器人還應(yīng)滿足以下一些基本要求:
(l) 該機(jī)器人能夠準(zhǔn)確探測(cè)到機(jī)器人周圍障礙物,同時(shí)探測(cè)高度要有一定限制,以免受到地面的干擾;
(2) 機(jī)器人的運(yùn)動(dòng)速度需要比較精確的控制。
移動(dòng)機(jī)器人需要在自主式移動(dòng)的基礎(chǔ)上完成避障和路徑規(guī)劃任務(wù)。因此機(jī)器人必須對(duì)其周圍環(huán)境狀況有較清楚的了解。我們?cè)O(shè)計(jì)的移動(dòng)機(jī)器人系統(tǒng)主要采用了Cygnalf 020單片機(jī)作為控制器,選用步進(jìn)電機(jī)及其驅(qū)動(dòng)控制電路作為動(dòng)力方式,采用超聲波傳感器作為外部環(huán)境的探測(cè)手段,同時(shí)增加了碰撞傳感器來彌補(bǔ)超聲波傳感器存在探測(cè)盲區(qū)的缺陷。
C8051F020單片機(jī)是高度集成的片上系統(tǒng),在一個(gè)芯片內(nèi)集成了兩個(gè)多通道ADC子系統(tǒng)(每個(gè)子系統(tǒng)包括一個(gè)可編程增益放大器和一個(gè)模擬多路選擇器)、兩個(gè)電壓輸出DAC、兩個(gè)電壓比較器和電壓基準(zhǔn)、SMBus I 2C 總線接口、UART、SPI總線接口、5個(gè)通用的16位定時(shí)器、一個(gè)具有5個(gè)捕捉/比較模塊的可編程計(jì)數(shù)器/定時(shí)器陣列、內(nèi)部振蕩器、8個(gè)8位通用I/O接口和64KBFLASH程序存儲(chǔ)器以及與8051兼容的高速微控制器內(nèi)核。
2.2 機(jī)器人硬件結(jié)構(gòu)圖
我們?cè)O(shè)計(jì)的室內(nèi)機(jī)器人的結(jié)構(gòu)如圖1所示:是一個(gè)具有支撐輪的三輪小車,前面的一個(gè)輪為支撐輪,起到支撐車體的作用而無導(dǎo)向作用。后面的兩個(gè)輪是驅(qū)動(dòng)輪,由步進(jìn)電機(jī)驅(qū)動(dòng)。可以通過調(diào)節(jié)兩個(gè)后輪的轉(zhuǎn)速來控制車體的運(yùn)行速度和轉(zhuǎn)動(dòng)角度。電機(jī)與后輪各構(gòu)成一個(gè)速度閉環(huán),做恒速輸出,在工作載荷內(nèi),調(diào)節(jié)兩電機(jī)的輸入電壓即可調(diào)節(jié)兩后輪的轉(zhuǎn)速。
其底盤采用薄鋼板,三輪支撐方式,最前方為支撐輪,后方為兩個(gè)平行的驅(qū)動(dòng)輪,由步進(jìn)電機(jī)及其細(xì)分驅(qū)動(dòng)控制芯片TA8435做驅(qū)動(dòng)控制。前方安裝有超聲波傳感器和碰撞傳感器。中間放置Cygnalf 020單片機(jī),用以下載控制程序。
2.3 機(jī)器人小車運(yùn)動(dòng)軌跡
機(jī)器人小車的運(yùn)動(dòng)路徑示意圖如圖2所示,車體運(yùn)動(dòng)起始點(diǎn)O為坐標(biāo)原點(diǎn),經(jīng)時(shí)間t后車體運(yùn)動(dòng)到點(diǎn)A處,其中,Ex(t)和Ey(t) 為小車在X方向上和Y方向上的位移;θ(t) 和ω(t)為小車的角位移和角速度;υ 為小車兩后輪中點(diǎn)處的移動(dòng)速度。

圖 1 小車結(jié)構(gòu)圖
圖2 運(yùn)動(dòng)路徑示意圖
2.4 超聲波測(cè)距電路設(shè)計(jì)
圖3超聲波接收電路圖
超聲波電路結(jié)構(gòu)見圖3,4所示。我們采用超聲波傳感器的中心頻率為40KHz,因此決定了超聲波傳感器激勵(lì)信號(hào)的中心頻率也為40KHz。由于超聲波傳感器對(duì)信號(hào)頻率變化的敏感度比較高,稍微偏離額定的中心頻率就會(huì)使傳感器的發(fā)射聲強(qiáng)明顯衰減。因此產(chǎn)生所需額定激勵(lì)信號(hào)并保證激勵(lì)信號(hào)中心頻率相對(duì)穩(wěn)定便是超聲波振蕩信號(hào)發(fā)生電路的主要任務(wù)。
2.5 碰撞傳感器
在實(shí)際的調(diào)試過程中,由于超聲波傳感器間存在測(cè)量上的盲區(qū),因此在機(jī)器人前端設(shè)計(jì)了碰撞傳感器。既在碰撞板左右兩側(cè)各裝有一個(gè)微動(dòng)開關(guān),在不發(fā)生碰撞的情況下,傳感器向單片機(jī)發(fā)出的是高電平信號(hào),移動(dòng)機(jī)器人在前方的發(fā)生碰撞,會(huì)引起左右開關(guān)的響應(yīng)并傳送低電平信號(hào)給控制器,從而控制機(jī)器人做出相應(yīng)反應(yīng)動(dòng)作。
圖4 超聲波發(fā)射電路圖
圖5 微動(dòng)開關(guān)連接原理圖
2.6 基于TA8435芯片控制步進(jìn)電機(jī)
M1、M2 兩個(gè)引腳決定電機(jī)的轉(zhuǎn)動(dòng)方式,M1=0、M2=0,電機(jī)按整步方式運(yùn)轉(zhuǎn),M1=1、M2=0 電機(jī)按半步方式運(yùn)轉(zhuǎn),M1=0、M2=1 電機(jī)按 1/4 細(xì)分方式運(yùn)轉(zhuǎn),M1=1、M2=1 電機(jī)按 1/8 步細(xì)分方式運(yùn)轉(zhuǎn)。CW/CWW控制電機(jī)轉(zhuǎn)動(dòng)方向,CK1、CK2 時(shí)鐘輸入,最大頻率不能超過 5K,控制時(shí)鐘的頻率,即可控制電機(jī)轉(zhuǎn)動(dòng)速率。REFIN 為高電平時(shí),NFA, NFb輸出電壓為 0.8V,REFIN 為低電平時(shí),NFA,NFB 輸出電壓為 0.5V,這兩個(gè)引腳控制步進(jìn)電機(jī)輸入電流, O、C 兩線不接,步進(jìn)電機(jī)按 2 相雙極性使用,這樣可以提高步進(jìn)電機(jī)的輸出轉(zhuǎn)矩。
3 用于移動(dòng)機(jī)器人軌跡跟蹤的模糊神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)
在移動(dòng)機(jī)器人軌跡跟蹤研究方面中,比較常用的有神經(jīng)網(wǎng)絡(luò)方法或其他文獻(xiàn)所述的模糊神經(jīng)網(wǎng)絡(luò)方法。模糊控制系統(tǒng)不能適應(yīng)控制過程的變化,影響控制效果,而神經(jīng)網(wǎng)絡(luò)具有在線調(diào)整的能力。根據(jù)模糊邏輯技術(shù)和神經(jīng)網(wǎng)絡(luò)技術(shù)各自的優(yōu)點(diǎn),將模糊技術(shù)和神經(jīng)網(wǎng)絡(luò)有機(jī)結(jié)合起來,組成模糊神經(jīng)網(wǎng)絡(luò)控制系統(tǒng),可實(shí)現(xiàn)模糊規(guī)則自動(dòng)提取、模糊隸屬函數(shù)自動(dòng)生成以及在線調(diào)節(jié)參數(shù)。因此,我們采用了基于高斯基模糊神經(jīng)網(wǎng)絡(luò)的方法設(shè)計(jì)了一種模糊神經(jīng)網(wǎng)絡(luò)控制器,它不依賴于系統(tǒng)的精確數(shù)學(xué)模型,能夠完成所要求的機(jī)器人軌跡跟蹤的任務(wù)。
3.1 網(wǎng)絡(luò)結(jié)構(gòu)
多輸入多輸出系統(tǒng)(MIMO)的輸出是相互獨(dú)立的,所以MIMO模糊規(guī)則可分解為多個(gè)多輸入單輸出系統(tǒng)(MISO)的模糊規(guī)則。所以不失一般性,下面只介紹MISO模糊神經(jīng)網(wǎng)絡(luò)。本文的模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖6所示:
圖6 模糊神經(jīng)網(wǎng)絡(luò)模型
在該模型中,一共有四層,它們分別是輸入層、隸屬函數(shù)生成層、推理層和反模糊化層。輸入層由P 個(gè)節(jié)點(diǎn)組成,在隸屬函數(shù)層中,每個(gè)輸入節(jié)點(diǎn)被劃分為m個(gè)詞集,m是根據(jù)K-means方法對(duì)輸入樣本進(jìn)行聚類后得到的,可以依據(jù)實(shí)際需要對(duì)m的值進(jìn)行調(diào)整。
3.2 模糊神經(jīng)網(wǎng)絡(luò)各層輸入輸出描述
改進(jìn)的模糊神經(jīng)網(wǎng)絡(luò)為一個(gè)四層網(wǎng)絡(luò)。分別是:第一層將輸入引入網(wǎng)絡(luò);第二層為輸入變量的模糊化,采用的隸屬函數(shù)為高斯函數(shù);第三層對(duì)應(yīng)模糊推理,用乘積表示模糊與操作;第四層對(duì)應(yīng)去模糊化操作。其中推理層結(jié)點(diǎn)個(gè)數(shù)m 是根據(jù) K-means 方法對(duì)樣本聚類后而得到的,并可依實(shí)際需要調(diào)整此參數(shù)的值。
4 仿真實(shí)驗(yàn)及結(jié)果
本節(jié)的仿真程序用C語言實(shí)現(xiàn),并在MATLAB仿真環(huán)境中運(yùn)行,我們采用三個(gè)輸入變量,即 p = 3。分別代表移動(dòng)機(jī)器人采用的三方向(前、左、右)超聲波測(cè)距系統(tǒng)采集的距離數(shù)據(jù),每個(gè)輸入變量分為五個(gè)詞集,即m = 5。訓(xùn)練樣本為離散的40組數(shù)據(jù),即 N = 40。訓(xùn)練次數(shù)為3000次。學(xué)習(xí)率設(shè)為0.0002。初始中心和初始寬度都采用[1,2]之間的隨機(jī)數(shù),初始權(quán)值設(shè)為{80,50,50,35,35}。期望輸出、實(shí)際輸出及其誤差如圖7所示。三個(gè)輸入變量的隸屬函數(shù)曲線訓(xùn)練前后的對(duì)比圖分別如圖8,9,10所示。由圖可知,該模糊神經(jīng)網(wǎng)絡(luò)計(jì)算后給出了很好的跟蹤效果,訓(xùn)練后的均方誤差達(dá)到0.132。
圖7 期望輸出、實(shí)際輸出及其誤差
圖8
圖9
圖10
圖8, 9, 10 三個(gè)輸入變量的隸屬函數(shù)曲線訓(xùn)練前后的對(duì)比圖
5 結(jié)論
室內(nèi)服務(wù)機(jī)器人的設(shè)計(jì)是對(duì)涉及單片機(jī)技術(shù),超聲波傳感器測(cè)距技術(shù),GPS定位技術(shù),碰撞傳感器技術(shù),步進(jìn)電機(jī)控制技術(shù),神經(jīng)網(wǎng)絡(luò),模糊控制,模糊神經(jīng)網(wǎng)絡(luò)等很多學(xué)科的綜合應(yīng)用。利用模糊神經(jīng)網(wǎng)絡(luò)能夠在線學(xué)習(xí)的優(yōu)點(diǎn),設(shè)計(jì)了模糊神經(jīng)網(wǎng)絡(luò)控制器用于對(duì)移動(dòng)機(jī)器人的預(yù)定軌跡曲線進(jìn)行跟蹤,經(jīng)MATLAB仿真驗(yàn)證,能滿足機(jī)器人軌跡跟蹤的要求。
本文作者創(chuàng)新點(diǎn): 我們采用單片機(jī)作為機(jī)器人的核心控制器,利用超聲波傳感器、碰撞傳感器、步進(jìn)電機(jī)及其控制芯片Ta8435聯(lián)合制作開發(fā)了機(jī)器人實(shí)驗(yàn)平臺(tái)。并利用模糊控制和模糊神經(jīng)網(wǎng)絡(luò)技術(shù)對(duì)室內(nèi)機(jī)器人導(dǎo)航中的模糊控制避障和模糊神經(jīng)網(wǎng)絡(luò)路徑跟蹤作了MATLAB仿真研究, 達(dá)到了預(yù)期的目的。
參考文獻(xiàn):
[1] 胡躍明,丁維中,吳忻生.吸塵機(jī)器人的研究現(xiàn)狀與展望[J].機(jī)器人技術(shù)與應(yīng)用,2002(l):33-37
[2] 李開生,張慧慧,費(fèi)仁元,宗光華.國(guó)外服務(wù)機(jī)器人的發(fā)展動(dòng)態(tài)和前景[J],制造業(yè)自動(dòng)化, 2000,22(6):1-4
[3] 羅本成,原魁等.機(jī)器人多路超聲波環(huán)境探測(cè)器的研制[J].中國(guó)科學(xué)院研究生院學(xué)報(bào),2002(2):172-176
[4] 劉翀,肖南峰. 智能安防與家庭服務(wù)機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息, 2006, 2-2: P211-214、P74
[5] 陳文濤,朱志堅(jiān).微機(jī)控制步進(jìn)電機(jī)研究[J].電子與封裝.1997, 5(8):36-37
[6] 吳海彬,朱世強(qiáng),馬翔.自主吸塵機(jī)器人在非結(jié)構(gòu)環(huán)境下的避障與路徑規(guī)劃[J].機(jī)器人,2000,22(7)
[7] 張良杰 李衍達(dá).基于模糊邏輯與神經(jīng)網(wǎng)絡(luò)技術(shù)的智能控制器自動(dòng)設(shè)計(jì)系統(tǒng)的研究.清華大學(xué)自動(dòng)化系技術(shù)報(bào)告,1994
[8] 張浩然,韓正之,李昌剛.基于MATLAB的神經(jīng)網(wǎng)絡(luò)辨識(shí)與控制工具箱[J].計(jì)算機(jī)仿真,2003(3)