1 引 言 控制器是智能機(jī)器人處理和控制信息的主體,它直接決定了機(jī)器人的行為和性能。近幾年來隨著高性能微控制器和嵌入式系統(tǒng)技術(shù)的不斷進(jìn)步,為各類實(shí)時控制應(yīng)用提供了解決方案。 嵌入式系統(tǒng)(ES)是計算機(jī)技術(shù)、通信技術(shù)、半導(dǎo)體技術(shù)、微電子技術(shù)、語音圖像數(shù)據(jù)傳輸技術(shù),甚至傳感器等先進(jìn)技術(shù)和具體應(yīng)用對象相結(jié)合后的系統(tǒng),其是硬件和軟件緊密捆綁在一起的系統(tǒng)。將嵌入式系統(tǒng)應(yīng)用于滅火機(jī)器人的設(shè)計中,對機(jī)器人的性能智能化、網(wǎng)絡(luò)化、小型化都有了明顯提高。 比賽用滅火機(jī)器人需要機(jī)器人有智能較高的自動控制性能與可靠的機(jī)械控制性能的同時保證,才能在短時間內(nèi)準(zhǔn)確尋找到火源并滅火回家。在此以ARM9處理器為核心,對基于嵌入式系統(tǒng)的智能滅火機(jī)器人進(jìn)行了設(shè)計。本文將從硬件和軟件方面講述智能滅火機(jī)器人控制器的實(shí)現(xiàn)方法,并且給出了機(jī)器人滅火的具體實(shí)驗(yàn),驗(yàn)證了方案的可行性,為智能滅火機(jī)器人的進(jìn)一步研究提供了平臺。 2 滅火機(jī)器人的描述 滅火機(jī)器人的外形結(jié)構(gòu)如圖1所示,它的主要構(gòu)件有:紅外發(fā)射傳感器(6個),紅外接收傳感器(6個),聲音傳感器(1個),滅火風(fēng)扇(前后各1個),遠(yuǎn)紅外火焰?zhèn)鞲衅鞯?前后各7個)。其中紅外發(fā)射和接受傳感器的配合使用可以使機(jī)器人自動避障行走。遠(yuǎn)紅外火焰?zhèn)鞲衅骺梢詸z測光的強(qiáng)弱,用于判斷房間是否有火以及趨光滅火。聲音傳感器用于啟動。基于實(shí)踐,風(fēng)扇滅火更為可靠,所以選用風(fēng)扇滅火。 3 滅火機(jī)器人的總體設(shè)計 在智能滅火機(jī)器人系統(tǒng)中,首先要解決的是定位問題,故需要一個好的定位方案。所以,控制核心需要給傳感器留足夠的輸入接口,同時也要有足夠的輸出接口用于控制外設(shè)。而速度對滅火機(jī)器人至關(guān)重要,在高速運(yùn)動的情況下,需要CPU具有比較強(qiáng)的浮點(diǎn)數(shù)運(yùn)算能力。基于上述考慮,選擇ARM9為滅火機(jī)器人的控制核心,該控制器硬件功能齊全、功耗小、周邊設(shè)備集成度高,是先進(jìn)的智能機(jī)器人計算平臺。它與其他的主要部件如表1所示,系統(tǒng)總體框架如圖2所示。 4 滅火機(jī)器人嵌入式系統(tǒng)硬件設(shè)計 4.1 控制器系統(tǒng)設(shè)計 由于嵌入式微處理器對實(shí)時任務(wù)具有很強(qiáng)的支持能力,可以完成多任務(wù)并且具有較短的中斷響應(yīng)。因此在設(shè)計過程中,采用嵌入式ARM9為核心的控制器(ST公司的STR911FAM44),實(shí)現(xiàn)了以極少的周邊芯片獲得齊全的功能。ARM9處理器具有體積小,功耗低,性能高的特點(diǎn)。它集成了28路模擬信號采集通道,可以兼容數(shù)字信號和模擬信號,每路精度為10位,因此可以分辨3 mV特的輸入電壓變化。8路高速數(shù)據(jù)采集通道每秒可采集50萬次信號。該處理器內(nèi)部采用哈佛結(jié)構(gòu),每秒可執(zhí)行1.1億條機(jī)器指令,這樣的強(qiáng)大功能可以實(shí)現(xiàn)機(jī)器人高速精確地按照規(guī)定路徑行走,并且機(jī)器人的CPU能夠?qū)崟r迅速地讀取多個傳感器端口數(shù)值,在較短的時間內(nèi)完成對各端口數(shù)值的存儲、運(yùn)算和輸出等多種任務(wù)。在主控制器核心CPU的基礎(chǔ)上,將各種功能模塊、執(zhí)行機(jī)構(gòu)等連接到CPU的引腳上。控制器總共有28路模擬采樣接口。ARM9控制器的系統(tǒng)圖如圖3所示。 在此選用Atmel公司生產(chǎn)的AVR ATmega 8微處理器作為輔助單片機(jī)。ATmega 8是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于它先進(jìn)的指令集以及單時鐘周期指令執(zhí)行時間,ATmega 8的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。AVR內(nèi)核具有豐富的指令集和32個通用工作寄存器。同時ATmega 8具有一整套的編程與系統(tǒng)開發(fā)工具,包括:C語言編譯器、宏匯編、程序調(diào)試器/軟件仿真器、仿真器及評估板。這樣就大大方便了在硬件基礎(chǔ)上進(jìn)行軟件設(shè)計。 ARM9處理器含有20路標(biāo)準(zhǔn)數(shù)據(jù)采集通道通過Atmega816-PC輔助單片機(jī)連接到主芯片上,用以讀取遠(yuǎn)紅外傳感器組及檢測端口的數(shù)值,每秒可采集1 000次。這種設(shè)計提高了端口數(shù)值讀取速度,使機(jī)器人能對周圍環(huán)境信息做出迅速判斷。ARM9微處理器與輔助單片機(jī)如圖4所示。 為了保證滅火機(jī)器人靈活行走和低功耗,需要一個體積小,超薄輕巧,功耗低的顯示器。Uniohm公司生產(chǎn)的LCD滿足設(shè)計要求,通過與單片機(jī)連接、編程、下載、完成顯示功能。 4.2控制器電源供電設(shè)計 電源直接影響機(jī)器人運(yùn)行特性。考慮到電動機(jī)啟動瞬間電流很大,會造成電源電壓不穩(wěn),影響單片機(jī)和輸入電路工作的穩(wěn)定性和可靠性,因此這里采用雙電源供電方案。電機(jī)電源采用容量為2 500 mAh高放電倍率聚合物鋰電池,工作電壓為24 V,能提供40 A的穩(wěn)定供電電流,是普通電池的10倍;控制器電源采用8.4 V鋰電池,并提供電壓采樣端口,以供電池檢測,控制器電源供電電路圖如圖5所示。 為獲得CPU各端口電路所需要的不同等級的電壓,該設(shè)計采用1個LM317T三端穩(wěn)壓器和2個AMS1117低壓差線性電壓調(diào)整器,并通過其附屬電路,得到精確穩(wěn)定的5 V,3.3 V,1.8 V三種電壓;用1個發(fā)光二極管LD1和限流電阻R5作為電源指示燈,以顯示電源開關(guān)的狀態(tài);為實(shí)時采樣電源電壓,防止鋰電池過放或過充,通過R1,R2分壓,引出AD19端口作為電源采樣端口。 5 滅火機(jī)器人嵌入式系統(tǒng)軟件設(shè)計 機(jī)器人控制器是一個多任務(wù)并行執(zhí)行的實(shí)時控制器。在軟件實(shí)現(xiàn)上,滅火機(jī)器人除了要協(xié)調(diào)控制各個不同功用的電機(jī),還需要對紅外、灰度、聲音等多種傳感器接收的數(shù)據(jù)進(jìn)行傳輸、處理等。采用c語言可以方便快捷的編寫程序。這里對滅火機(jī)器人的每種功能進(jìn)行模塊化處理。總體的思路是:尋找火源.確定火源方位,接近火源,趨光滅火,回家。主程序設(shè)計流程圖如圖6所示。實(shí)現(xiàn)起來最基本的就是使機(jī)器人能夠順利的直線行走和拐彎,這一模塊稱為沿墻走(沿左墻前,沿左墻后,沿右墻前。沿右墻后),沿右墻前如圖7所示。具體為: (1)若正前距離很大,同時右前的距離稍小時,太靠近右墻,執(zhí)行左轉(zhuǎn)微調(diào); (2)若正前距離很大,同時右前的距離稍大時,太靠近左墻,執(zhí)行右轉(zhuǎn)微調(diào); (3)若正前距離很大,右前距離適中,就直行; (4)若正前距離特別小,同時右前距離特別小時,使機(jī)器人稍后退可以防碰撞; |