<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 醫療電子 > 設計應用 > 嵌入式系統在機器人視覺(jué)中的應用

嵌入式系統在機器人視覺(jué)中的應用

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

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

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

 
于設計者的經(jīng)驗和反復實(shí)驗。

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

二 嵌入式系統的發(fā)展趨勢

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

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

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

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

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

三 嵌入式系統在技術(shù)中的應用

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

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

1. 硬件平臺的選型和搭建

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

機器人系統


(1)視覺(jué)系統

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

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

(2)硬件平臺組成

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

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

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

2. 軟件平臺的構建和配置

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

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

將系統引導程序(俗稱(chēng)bootloader,其功能相當于PC機中的BIOS)燒寫(xiě)進(jìn)入S3C2410核心母板。這里采用了三星公司推薦的vivi程序。通過(guò)對vivi中參數的設置,完成對Flash的分區。

b. 配置、編譯、下載內核

(1)下載源代碼,在PC端建立交叉編譯環(huán)境;armv4l-unknown-linux-gcc可以將Linux內核編譯為適用于A(yíng)RM體系結構的二進(jìn)制代碼;

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

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

(4)下載內核:將zImage通過(guò)串口線(xiàn),利用vivi的數據燒寫(xiě)功能,下載到Flash的內核分區中(kernel);

c. 制作文件系統

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

硬件電路

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

3. 驅動(dòng)程序的編寫(xiě)和應用程序的開(kāi)發(fā)

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

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

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

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

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

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

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

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

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

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

4. 拓展性工作

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

四 嵌入式系統的前景

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>