當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]嵌入式系統(tǒng)在機(jī)器人視覺(jué)中的應(yīng)用

隨著Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結(jié)合日益緊密,嵌入式設(shè)備與Internet的結(jié)合已成為大勢(shì)所趨。此時(shí)期新的微處理器層出不窮,要求嵌入式操作系統(tǒng)的設(shè)計(jì)更加便于移植,支持更多的微處理器。嵌入式系統(tǒng)的開發(fā)需要強(qiáng)大的硬件開發(fā)工具和軟件支持包。通用計(jì)算機(jī)上使用的新技術(shù)、新觀念開始逐步移植到嵌入式系統(tǒng)中,如嵌入式數(shù)據(jù)庫(kù)、移動(dòng)代理、實(shí)時(shí)CORBA等。各類嵌入式Linux操作系統(tǒng)在全球數(shù)以百萬(wàn)計(jì)愛(ài)好者的合力開發(fā)下迅速發(fā)展,由于具有源代碼開放、系統(tǒng)內(nèi)核小、執(zhí)行效率高、網(wǎng)絡(luò)功能強(qiáng),多媒體人機(jī)交互界面友好等特點(diǎn),很適合信息家電等嵌入式系統(tǒng)的需要。

一嵌入式系統(tǒng)的技術(shù)特點(diǎn)

早期的嵌入式系統(tǒng)設(shè)計(jì)方法,通常采用"硬件優(yōu)先"原則,即在只粗略估計(jì)軟件任務(wù)需求的情況下,首先進(jìn)行硬件設(shè)計(jì)與實(shí)現(xiàn)。然后,在此硬件平臺(tái)上再進(jìn)行軟件設(shè)計(jì)。因而很難達(dá)到充分利用軟硬件資源,取得最佳性能的效果。同時(shí),一旦需要對(duì)設(shè)計(jì)進(jìn)行修改時(shí),整個(gè)設(shè)計(jì)流程將重新進(jìn)行,這對(duì)成本和設(shè)計(jì)周期的影響很大。這種傳統(tǒng)的設(shè)計(jì)方法只能改善軟件/硬件各自的性能,在有限的設(shè)計(jì)空間不可能對(duì)系統(tǒng)做出較好的性能綜合優(yōu)化,在很大程度上依賴

于設(shè)計(jì)者的經(jīng)驗(yàn)和反復(fù)實(shí)驗(yàn)。

上世紀(jì)90年代以來(lái),隨著電子系統(tǒng)功能的日益強(qiáng)大和微型化,硬件和軟件也不再是截然分開的兩個(gè)概念,而是緊密結(jié)合、相互影響的。因而出現(xiàn)了軟硬件協(xié)同(codesign)設(shè)計(jì)方法,即使用統(tǒng)一的方法和工具對(duì)軟件和硬件進(jìn)行描述、綜合和驗(yàn)證。在系統(tǒng)目標(biāo)要求的指導(dǎo)下,通過(guò)綜合分析系統(tǒng)軟硬件功能及現(xiàn)有資源,協(xié)同設(shè)計(jì)軟硬件體系結(jié)構(gòu),以最大限度地挖掘系統(tǒng)軟硬件能力,避免由于獨(dú)立設(shè)計(jì)軟硬件體系結(jié)構(gòu)而帶來(lái)的種種弊病,得到高性能低代價(jià)的優(yōu)化設(shè)計(jì)方案。

二嵌入式系統(tǒng)的發(fā)展趨勢(shì)

在網(wǎng)絡(luò)、通信、微電子發(fā)展的基礎(chǔ)上,以及勢(shì)不可擋的數(shù)字化信息產(chǎn)品的強(qiáng)大需求推動(dòng)下,嵌入式技術(shù)具有廣闊的發(fā)展創(chuàng)新空間。

(1)低功耗、高性能、高可靠性的系統(tǒng)需求對(duì)我國(guó)芯片設(shè)計(jì)是一個(gè)機(jī)遇。以嵌入式處理器為領(lǐng)頭的國(guó)產(chǎn)CPU、片上系統(tǒng)(SoC)、片上網(wǎng)絡(luò)系統(tǒng)(NoC)將有很大的發(fā)展。

(2)Linux正逐漸成為嵌入式操作系統(tǒng)的主流;J2ME技術(shù)也將對(duì)嵌入式軟件的發(fā)展產(chǎn)生深遠(yuǎn)影響。目前自由軟件技術(shù)備受青睞,并對(duì)軟件技術(shù)的發(fā)展產(chǎn)生了巨大的推動(dòng)作用。嵌入式操作系統(tǒng)內(nèi)核不僅需要具有微型化、高實(shí)時(shí)性等基本特征,還將向高可信性、自適應(yīng)性、構(gòu)件組件化方向發(fā)展;支撐開發(fā)環(huán)境將更加集成化、自動(dòng)化、人性化;系統(tǒng)軟件對(duì)無(wú)線通信和能源管理的功能支持將日益重要。近幾年來(lái),為使嵌入式設(shè)備更有效地支持Web服務(wù)而開發(fā)的操作系統(tǒng)不斷推出。這種操作系統(tǒng)在體系結(jié)構(gòu)上采用面向構(gòu)件、中間件技術(shù),為應(yīng)用軟件乃至硬件的動(dòng)態(tài)加載提供支持,即所謂的"即插即用",在克服以往的嵌入式操作系統(tǒng)的局限性方面顯示出明顯的優(yōu)勢(shì)。

(3)Java虛擬機(jī)與嵌入式Java將成為開發(fā)嵌入式系統(tǒng)的有力工具。嵌入式系統(tǒng)的多媒體化將變成現(xiàn)實(shí)。它在網(wǎng)絡(luò)環(huán)境中的應(yīng)用已是不可抗拒的潮流,并將占領(lǐng)網(wǎng)絡(luò)接入設(shè)備的主導(dǎo)地位。

(4)嵌入式系統(tǒng)與人工智能、模式識(shí)別技術(shù)的結(jié)合,將開發(fā)出各種更具人性化、智能化的實(shí)際系統(tǒng)。智能手機(jī)、數(shù)字電視,以及汽車電子的嵌入式應(yīng)用,是這次機(jī)遇中的切入點(diǎn)。伴隨網(wǎng)絡(luò)技術(shù)、網(wǎng)格計(jì)算的發(fā)展,以嵌入式移動(dòng)設(shè)備為中心的"無(wú)所不在的計(jì)算"將成為現(xiàn)實(shí)。

三嵌入式系統(tǒng)在機(jī)器人技術(shù)中的應(yīng)用

不論是在工業(yè)控制中,還是在商業(yè)領(lǐng)域里,機(jī)器人技術(shù)都得到了廣泛的應(yīng)用。從用于生產(chǎn)加工的傳統(tǒng)工業(yè)機(jī)器人到豐富大眾生活的現(xiàn)代娛樂(lè)機(jī)器人,都與嵌入式系統(tǒng)密不可分。現(xiàn)有的大多數(shù)機(jī)器人,都采用單片機(jī)作為控制單元,以8位和16位最為常見,其處理速度較低,沒(méi)有操作系統(tǒng),無(wú)法實(shí)現(xiàn)豐富的多任務(wù)功能,系統(tǒng)的潛力沒(méi)有得到充分的發(fā)掘和應(yīng)用。

基于ARM9的機(jī)器人視覺(jué)系統(tǒng)的目標(biāo)是在選定好的S3C2410平臺(tái)上移植并配置Linux操作系統(tǒng),針對(duì)平臺(tái)和應(yīng)用的特點(diǎn),制作合適的文件系統(tǒng),為機(jī)器人視覺(jué)系統(tǒng)構(gòu)建穩(wěn)定的軟硬件開發(fā)環(huán)境。其次編寫應(yīng)用程序,通過(guò)S3C2410平臺(tái),從USB攝像頭實(shí)時(shí)采集圖像,并利用這款嵌入式處理器的強(qiáng)大運(yùn)算能力,對(duì)圖像進(jìn)行后期的處理,完成目標(biāo)識(shí)別與定位,作為機(jī)器人動(dòng)作單元的輸入。最后針對(duì)機(jī)器人關(guān)節(jié)所使用的電機(jī),編寫特定的設(shè)備驅(qū)動(dòng)程序,保證操作系統(tǒng)可準(zhǔn)確地控制機(jī)器人動(dòng)作,響應(yīng)視覺(jué)處理的結(jié)果,開發(fā)一套完整的"機(jī)器人視覺(jué)系統(tǒng)"。

1。硬件平臺(tái)的選型和搭建

機(jī)器人系統(tǒng)如圖1所示。全身由24個(gè)舵機(jī)組成,控制24個(gè)關(guān)節(jié)。通過(guò)對(duì)舵機(jī)的控制,可實(shí)現(xiàn)機(jī)器人的動(dòng)作。

(1)視覺(jué)系統(tǒng)

采用USB攝像頭作為視覺(jué)采集器件。其優(yōu)點(diǎn)是接口通用,驅(qū)動(dòng)豐富,傳輸速率快。同時(shí),Linux操作系統(tǒng)對(duì)于USB設(shè)備的支持較好,方便了應(yīng)用程序的編寫和調(diào)試。網(wǎng)眼(WebEye)v2000攝像頭,采用了ov511芯片(Linux源代碼中有相應(yīng)的驅(qū)動(dòng)程序),適合用于開發(fā)。

這里采用高端的32位嵌入式微處理器:基于ARM體系結(jié)構(gòu)的S3C2410芯片(由三星公司生產(chǎn)),其主頻為200MHz。它提供了豐富的內(nèi)部設(shè)備:分開的16kB指令Cache和16kB數(shù)據(jù)Cache、MMU虛擬存儲(chǔ)器管理、LCD控制器、支持NANDFlash系統(tǒng)引導(dǎo)、系統(tǒng)管理器、3通道UART、4通道DMA、4通道PWM定時(shí)器、I/O端口、RTC、8通道10位ADC和觸摸屏接口、IIC-BUS接口、USB主機(jī)、USB設(shè)備、SD主卡和MMC卡接口、2通道的SPI以及內(nèi)部PLL時(shí)鐘倍頻器。S3C2410采用了ARM920T內(nèi)核,0。18μm工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。

(2)硬件平臺(tái)組成

見圖2,一塊核心母板,配備CPU、16MB的NORFlash、64MB的NANDFlash、32MB的SDRAM,并設(shè)置系統(tǒng)從NANDFlash啟動(dòng);一塊外設(shè)電路板,負(fù)責(zé)系統(tǒng)和外設(shè)器件的連接,布設(shè)有2個(gè)USB接口、1個(gè)UART口、24個(gè)3針插座(用于控制機(jī)器人的關(guān)節(jié))以及電源接口等。核心母板與外設(shè)電路板通過(guò)內(nèi)存插槽進(jìn)行連接。

分開設(shè)計(jì)的好處有:升級(jí)核心母板可實(shí)現(xiàn)系統(tǒng)處理能力的提高;而更換外設(shè)電路則可適應(yīng)不同的應(yīng)用。這樣就大大節(jié)約了硬件成本,對(duì)于開發(fā)和調(diào)試也是非常有利的。同時(shí),核心母板本身就是一個(gè)最小系統(tǒng),在嵌入式系統(tǒng)設(shè)計(jì)中,保證最小系統(tǒng)的可靠性是開發(fā)的第一步。

調(diào)試核心母板以及外設(shè)電路至工作正常。確保開發(fā)板與PC機(jī)通信(利用Windows下的超級(jí)終端工具,通過(guò)串口線連接開發(fā)板與PC機(jī))。

2。軟件平臺(tái)的構(gòu)建和配置

目前,越來(lái)越多的嵌入式系統(tǒng)采用了Linux作為操作系統(tǒng)。Linux功能強(qiáng)大,運(yùn)行穩(wěn)定,驅(qū)動(dòng)齊全,配置靈活,內(nèi)核緊湊,從來(lái)就與嵌入式系統(tǒng)有密不可分的關(guān)系。Linux內(nèi)核版本眾多,其中2。4系列比較成熟,在嵌入式平臺(tái)中應(yīng)用廣泛,資料齊全。這里使用Linux-2。4。18-rmk7-pxa1版本。

a。配置開發(fā)板軟件環(huán)境

將系統(tǒng)引導(dǎo)程序(俗稱bootloader,其功能相當(dāng)于PC機(jī)中的BIOS)燒寫進(jìn)入S3C2410核心母板。這里采用了三星公司推薦的vivi程序。通過(guò)對(duì)vivi中參數(shù)的設(shè)置,完成對(duì)Flash的分區(qū)。

b。配置、編譯、下載內(nèi)核

(1)下載源代碼,在PC端建立交叉編譯環(huán)境;armv4l-unknown-linux-gcc可以將Linux內(nèi)核編譯為適用于ARM體系結(jié)構(gòu)的二進(jìn)制代碼;

(2)配置內(nèi)核:使用makemenu-config命令,將USB設(shè)備支持、USB攝像頭驅(qū)動(dòng)(針對(duì)OV511芯片)、NANDFlash驅(qū)動(dòng),以及掛載嵌入式文件系統(tǒng)所需要的驅(qū)動(dòng)程序靜態(tài)編譯到內(nèi)核中;

(3)編譯內(nèi)核:使用交叉編譯工具,將源代碼編譯為可執(zhí)行二進(jìn)制內(nèi)核鏡像,生成文件zImage;

(4)下載內(nèi)核:將zImage通過(guò)串口線,利用vivi的數(shù)據(jù)燒寫功能,下載到Flash的內(nèi)核分區(qū)中(kernel);

c。制作文件系統(tǒng)

嵌入式系統(tǒng)中常見的文件系統(tǒng)有CRAMFS、JFFS、JFFS2、YAFFS等。考慮到實(shí)際的需求,這里采用了CRAMFS。在內(nèi)核配置時(shí)對(duì)CRAMFS的驅(qū)動(dòng)代碼進(jìn)行靜態(tài)編譯,并且利用mkcramfs工具制作經(jīng)過(guò)仔細(xì)裁剪的文件系統(tǒng)映像,利用vivi的燒寫指令下載到Flash的root分區(qū)。最終的文件系統(tǒng)映像小于3MB,這是由嵌入式系統(tǒng)較為緊張的存儲(chǔ)資源決定的。

啟動(dòng)系統(tǒng),通過(guò)PC機(jī)的超級(jí)終端,可看到啟動(dòng)信息:包括內(nèi)核的版本、Flash分區(qū)表、交叉編譯器的版本,以及內(nèi)核中靜態(tài)編譯的組件等。

3。驅(qū)動(dòng)程序的編寫和應(yīng)用程序的開發(fā)

視覺(jué)功能的最終實(shí)現(xiàn),首先需要為機(jī)器人的關(guān)節(jié)電機(jī)編寫驅(qū)動(dòng)程序,使操作系統(tǒng)可完成對(duì)機(jī)器人動(dòng)作的控制,作為對(duì)視覺(jué)結(jié)果的響應(yīng)。視覺(jué)絕非最終目的,而是機(jī)器人獲取信息的一種途徑,其根本目的在于為機(jī)器人的動(dòng)作、行為提供策略或數(shù)據(jù)支持。單純的視覺(jué)并沒(méi)有意義。

機(jī)器人全身的關(guān)節(jié)均為舵機(jī)。舵機(jī)結(jié)構(gòu)簡(jiǎn)單,控制方便,外部只有3個(gè)引腳:電源、地、PWM信號(hào)。對(duì)舵機(jī)的控制實(shí)際上就是要產(chǎn)生頻率、脈寬合適的PWM波。

S3C2410芯片內(nèi)部集成4個(gè)PWM發(fā)生單元。驅(qū)動(dòng)程序利用其中的一個(gè)作為機(jī)器人頭部電機(jī)的控制信號(hào)源,通過(guò)改寫寄存器的值,改變頻率和占空比,產(chǎn)生期望的PWM波。

將驅(qū)動(dòng)程序交叉編譯為模塊,在系統(tǒng)啟動(dòng)后動(dòng)態(tài)地插入內(nèi)核中。模塊加載前獨(dú)立于內(nèi)核,方便了驅(qū)動(dòng)程序的調(diào)試。編寫簡(jiǎn)短的測(cè)試程序,確認(rèn)關(guān)節(jié)電機(jī)可以正常工作。

這里為機(jī)器人視覺(jué)系統(tǒng)搭建了一個(gè)實(shí)際的應(yīng)用場(chǎng)景:活動(dòng)的目標(biāo)小球在背景中運(yùn)動(dòng),期望機(jī)器人可以識(shí)別目標(biāo)并對(duì)其定位,最后控制頭部跟隨目標(biāo)運(yùn)動(dòng)(好像機(jī)器人在盯著活動(dòng)目標(biāo)觀察一樣)。

機(jī)器人視覺(jué)處理程序的主要功能為:

(1)從USB攝像頭實(shí)時(shí)讀取視頻數(shù)據(jù),進(jìn)行簡(jiǎn)單的預(yù)處理;

(2)隨后進(jìn)行圖像處理,主要完成空域的圖像增強(qiáng)。通過(guò)對(duì)圖像進(jìn)行二值化,將目標(biāo)小球從背景中提取出來(lái);

(3)計(jì)算目標(biāo)的位置,進(jìn)而計(jì)算出機(jī)器人頭部的旋轉(zhuǎn)角度,通過(guò)舵機(jī)驅(qū)動(dòng)程序,控制機(jī)器人頭部轉(zhuǎn)動(dòng)到目標(biāo)所在角度,實(shí)現(xiàn)對(duì)目標(biāo)物體的跟蹤。

經(jīng)過(guò)實(shí)驗(yàn),機(jī)器人頭部可較好地跟蹤目標(biāo),實(shí)現(xiàn)了視覺(jué)原型系統(tǒng)。

4。拓展性工作

機(jī)器人視覺(jué)系統(tǒng)的開發(fā)只是嵌入式系統(tǒng)在機(jī)器人領(lǐng)域中應(yīng)用的一個(gè)方面。事實(shí)上,還有很多值得我們繼續(xù)去實(shí)現(xiàn)的子系統(tǒng),諸如語(yǔ)音系統(tǒng)(語(yǔ)音識(shí)別、語(yǔ)音輸出)、行走控制(設(shè)計(jì)算法,實(shí)現(xiàn)平穩(wěn)的行走)、網(wǎng)絡(luò)系統(tǒng)(未來(lái)的機(jī)器人將不再會(huì)是獨(dú)立的個(gè)體,多機(jī)器人的協(xié)同工作是必然的趨勢(shì);同時(shí),機(jī)器人同其他設(shè)備的連接需求也越來(lái)越迫切)等等。應(yīng)當(dāng)承認(rèn),雖然目前的嵌入式處理器已經(jīng)具備了比較強(qiáng)大的功能,但是受功耗、體積、成本因素的限制,在實(shí)時(shí)視頻(音頻)處理、多媒體協(xié)同計(jì)算等方面,其速度仍然無(wú)法滿足需求;所以,更強(qiáng)勁的嵌入式處理器也是將來(lái)在為機(jī)器人選擇控制單元時(shí)的重要考慮因素。

四嵌入式系統(tǒng)的前景

從本文所述的機(jī)器人視覺(jué)系統(tǒng)中就可看出嵌入式系統(tǒng)的強(qiáng)大功能與廣闊應(yīng)用領(lǐng)域。在當(dāng)今數(shù)字信息和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后PC(Post-PC)時(shí)代,嵌入式系統(tǒng)已被廣泛應(yīng)用于移動(dòng)計(jì)算平臺(tái)(PDA、掌上計(jì)算機(jī))、信息家電(數(shù)字電視、機(jī)頂盒、網(wǎng)絡(luò)設(shè)備)、無(wú)線通信設(shè)備(智能手機(jī)、股票接收設(shè)備)、工業(yè)/商業(yè)控制(智能工控設(shè)備、POS/ATM機(jī))、電子商務(wù)平臺(tái)、甚至軍事應(yīng)用等諸多領(lǐng)域,其前景無(wú)疑是令人非常樂(lè)觀的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉