基于ARM的嵌入式服務(wù)機器人是怎樣的情況
1 引言
隨著人口老齡化進程的加快,更多老年人,尤其是地震和疾病致殘的殘疾人,都需要照顧?;诖耍@里提出一種基于ARM的嵌入式服務(wù)機器人控制系統(tǒng)設(shè)計。該服務(wù)機器人的控制系統(tǒng)是機器人的神經(jīng)中樞,因而其設(shè)計是機器人研究的核心。該控制系統(tǒng)通常以MCU、 DSP等為核心,采用上、下位機二級分布式結(jié)構(gòu)。其中上位機一般為PC機,下位機為單片機或DSP等微控制器。但隨著移動機器人的智能化,控制方法的發(fā)展,所需計算量增大,一般的單片機等處理器很難完成控制要求。而基于ARM的嵌入式服務(wù)機器人的控制器采用分層與模塊化結(jié)構(gòu),充分體現(xiàn)可擴展性、可移植性的設(shè)計原則.同時具有低成本、低功耗、體積小巧、可靠性高、智能化高以及通用性等特點。
2 系統(tǒng)整體結(jié)構(gòu)設(shè)計
圖1為嵌入式控制系統(tǒng)的軟硬件層次結(jié)構(gòu)。
嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟、硬件可剪裁,適用于應(yīng)用系統(tǒng),對功能、可靠性、成本、體積,功耗要求嚴(yán)格的專用計算機系統(tǒng)。嵌入式系統(tǒng)總體可劃分為硬件和軟件兩部分。硬件由微處理器和外圍的接口電路組成,同時還包括傳感器及驅(qū)動器接口和被控對象(機械裝置);而軟件一般由實時操作系統(tǒng)及其運行的應(yīng)用軟件構(gòu)成。其應(yīng)用軟件的功能層由基于RTOS的應(yīng)用程序組成,用來控制被控對象。
3 系統(tǒng)硬件設(shè)計
服務(wù)機器人控制系統(tǒng)的硬件平臺設(shè)計至關(guān)重要。首先它是用戶控制邏輯的具體執(zhí)行者,服務(wù)機器人的各種控制功能必須通過硬件實現(xiàn);其次它也是實時控制系統(tǒng)軟件移植和運行的硬件環(huán)境。這里采用部件模塊化,接口標(biāo)準(zhǔn)化,互換性、擴展性好,可靠性高的硬件設(shè)計原則。
服務(wù)機器人控制系統(tǒng)主要用于實現(xiàn)控制服務(wù)機器人的導(dǎo)航、啟動、停車、運行控制、路徑規(guī)劃、安全監(jiān)控、遠程控制計算機通訊及語音識別等功能。該控制系統(tǒng)主要由主控、導(dǎo)引、驅(qū)動、通訊、安全與輔助、語音識別、液晶觸摸屏以及電源管理等單元組成。圖2為其功能結(jié)構(gòu)框圖。
嵌入式處理器是整個硬件系統(tǒng)的核心元件,其性能好壞直接決定整個系統(tǒng)的運行效果,所提供功能的強弱直接決定嵌入式應(yīng)用的適應(yīng)范圍和開發(fā)復(fù)雜度。嵌入式處理器一般具備以下特點:支持實時多任務(wù)操作系統(tǒng);具有強存儲區(qū)保護功能;處理器結(jié)構(gòu)可擴展;功耗低。圖3為基于ARM9的嵌入式系統(tǒng)的服務(wù)機器從主控制器模塊結(jié)構(gòu)。
選用三星公司ARM9系列的S3C2410處理器作為服務(wù)機器人的控制CPU,在嵌入式系統(tǒng)μC/OS-II下實現(xiàn)機器人控制。S3C2410處理器采用 ARM920T內(nèi)核,5級流水線指令結(jié)構(gòu),片內(nèi)鎖相環(huán),內(nèi)部時鐘可達200 MHz,因此可用來進行復(fù)雜控制算法,提高控制精度。S3C2410有117個I/O口和24個外部中斷源,內(nèi)部具有豐富的接口控制器,如:USB控制器、DMA控制器、UART控制器、I2C控制器等,這樣可簡化外圍電路,同時其內(nèi)部時鐘可達200 MHz,高性能指令集及可與C語言交叉匯編使其能完成復(fù)雜運算,提高服務(wù)機器人控制的實時性。
ARM處理器模塊通過兩個RS-232串口分別與傳感器模塊、伺服控制模塊連接,RS-232串口均丁作在中斷模式下,以保證系統(tǒng)的實時性。伺服控制模塊與傳感器模塊均基于TI公司的TMS320LF2407型DSP,伺服模塊可同時控制4路直流伺服電機,傳感器模塊可接24路超聲傳感器和24路紅外傳感器,模塊在設(shè)計時充分考慮到降低成本和功耗,同時注重其實時性和可靠性。
人機交互模塊采用液晶(LCD)觸摸屏及語音交互接口。S3C2410內(nèi)置有液晶控制器,可以支持最大256 K色的TFT彩色液晶屏、最大4 K色的STN彩色液晶屏,這里選用LQ080V3DG01型8英寸640x480 TFT液晶屏,該液晶屏上配有4線電阻式觸摸屏,用于檢測屏幕觸摸輸入信息,有利于提高人機交互的友好性;而語音識別南凌陽公司的SPCE061A完成,該器件是一個16位結(jié)構(gòu)的高集成的微控制器,內(nèi)部集成有MCU、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、RAM、ROM。具有較高運算速度的16x16位的乘法語音和內(nèi)積運算指令,CPU時鐘最高可達49 MHz。系統(tǒng)支持10個中斷向量及14個中斷源,具有較強的中斷處理能力,適合實時語音處理。具有雙通道10位A/D轉(zhuǎn)換器方式的音頻輸出功能,配置帶自動增益控制功能(AGC)的麥克風(fēng)輸入方式,為語音處理帶來極大便利。圖4為語音識別模塊硬件結(jié)構(gòu)。
4 系統(tǒng)軟件設(shè)計
軟件設(shè)計的基本原則是:軟件結(jié)構(gòu)化、驅(qū)動標(biāo)準(zhǔn)化、系統(tǒng)可定制。服務(wù)機器人的控制器關(guān)鍵要保證系統(tǒng)的實時性。采用μC/OS-II實時操作系統(tǒng),其具有結(jié)構(gòu)簡單、容易移植、源代碼公開等優(yōu)點。使用μC/OS-II實時操作系統(tǒng)開發(fā)服務(wù)機器人控制軟件就是將整個控制軟件的功能劃分為若干任務(wù),分別加以實現(xiàn),并以任務(wù)問通信方式實現(xiàn)各個任務(wù)間的邏輯關(guān)系。整個軟件控制體系結(jié)構(gòu)如圖5所示。
5 實驗研究
在搭建機器人軟硬件平臺及編寫與硬件相關(guān)的底層函數(shù)后,在該實時內(nèi)核上編寫接口驅(qū)動程序及機器人應(yīng)用程序。通過軟硬件整體測試后,將該機器人控制器安裝在智能輪椅上進行實驗。在實驗過程中。智能輪椅移動穩(wěn)定,轉(zhuǎn)向靈活,變速平穩(wěn);能及時識別并躲避障礙物;機器人視頻傳輸畫面流暢;語音人機交互功能,由麥克風(fēng)將聲音傳給語音處理器,通過硬件處理識別語音信號,然后再經(jīng)南喇叭播放機器人的對答聲音。實現(xiàn)人機對話。同時該服務(wù)機器人控制系統(tǒng)結(jié)構(gòu)簡單,電路體積小,有利于安裝與維護。
6 結(jié)束語
服務(wù)機器人控制系統(tǒng)是機器人的神經(jīng)中樞,決定著機器人能否按照用戶要求順利地完成相應(yīng)工作任務(wù)?;?ARM和嵌入式μC/OS-Ⅱ的服務(wù)機器人控制系統(tǒng)可廣泛應(yīng)用于服務(wù)型機器人。這必將開發(fā)出低成本、低功耗、體積小巧、實時性強、可靠性高、接口豐富、維護方便、智能化程度高的機器人,也將促進機器人運用的普及和推廣,從而推進我國機器人行業(yè)向產(chǎn)業(yè)化方向發(fā)展。