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