【摘 要】本設(shè)計(jì)主要利用現(xiàn)在市場(chǎng)上常見(jiàn)的android智能手機(jī)和普通的PC機(jī)來(lái)實(shí)現(xiàn)對(duì)可移動(dòng)機(jī)械臂的遠(yuǎn)程可視化控制。通過(guò)atmega128單片機(jī)作為底層主控芯片控制的可移動(dòng)機(jī)械臂小車(chē),友善之臂推出的mini2440ARM開(kāi)發(fā)板,以及android手機(jī)或普通PC機(jī)來(lái)共同搭建成該系統(tǒng)。
【關(guān)鍵詞】TCP/IP、可視化、遠(yuǎn)程控制、android、語(yǔ)音識(shí)別、藍(lán)牙
一、遠(yuǎn)程無(wú)線控制機(jī)器人的應(yīng)用及發(fā)展現(xiàn)狀
本世紀(jì)隨著計(jì)算機(jī)技術(shù),自動(dòng)控制技術(shù),網(wǎng)絡(luò)通信技術(shù),人工智能技術(shù)等信息技術(shù)的高速發(fā)展,像可控制智能機(jī)器人這類(lèi)綜合了多種IT技術(shù)的先進(jìn)設(shè)備已經(jīng)在很多行業(yè)和場(chǎng)合得到了良好的應(yīng)用。比如制造業(yè)、航空航天工業(yè)、軍事業(yè)、同時(shí)也在服務(wù)業(yè)甚至家庭中慢慢打開(kāi)了市場(chǎng)。隨著嵌入式技術(shù)及軟件技術(shù)的快速發(fā)展,越來(lái)越多的高性能嵌入式芯片的出現(xiàn),嵌入式操作系統(tǒng)的快速發(fā)展,并且應(yīng)用到嵌入式處理器中,使得嵌入式機(jī)器人向更加智能化發(fā)展成為了可能。再加上現(xiàn)今無(wú)線通信技術(shù)的快速發(fā)展和普及,在條件允許的場(chǎng)合通過(guò)無(wú)線設(shè)備來(lái)控制智能機(jī)器人成為了一種必然的趨勢(shì)。它既降低了控制成本又極大提升了使用者的操作體驗(yàn)。
二、系統(tǒng)設(shè)計(jì)目的
通過(guò)基于嵌入式開(kāi)發(fā)的無(wú)線wifi通信技術(shù)、短距離藍(lán)牙通信技術(shù)、數(shù)字圖像編解碼技術(shù)、語(yǔ)音識(shí)別技術(shù)、自動(dòng)控制技術(shù)等的綜合應(yīng)用,實(shí)現(xiàn)一套可以遠(yuǎn)程可視化控制的移動(dòng)機(jī)械臂系統(tǒng)。為以后該系統(tǒng)在其他大型項(xiàng)目中作為子系統(tǒng)應(yīng)用提供技術(shù)支持和可行性實(shí)驗(yàn),如智慧家庭中的智能機(jī)器管家等等。
三、系統(tǒng)內(nèi)容
1、作品簡(jiǎn)介
本系統(tǒng)由上中下三層結(jié)構(gòu)搭建而成。上層為操作控制層,主要為android手機(jī)控制端和PC機(jī)控制端;中層為基于友善之臂mini2440ARM開(kāi)發(fā)板的數(shù)據(jù)中間處理層(移植linux-2.6.32.2操作系統(tǒng));底層則為由一塊atmega128單片機(jī)作為主控芯片來(lái)實(shí)現(xiàn)動(dòng)作控制的可移動(dòng)機(jī)械臂。機(jī)械臂上搭載有小型攝像頭,將前方畫(huà)面通過(guò)中間層實(shí)時(shí)傳送到上層控制端,如手機(jī)端或者PC端。操作者查看實(shí)時(shí)畫(huà)面可以通過(guò)按鈕或者語(yǔ)音來(lái)控制可移動(dòng)機(jī)械臂的動(dòng)作,(包括機(jī)械臂左右旋轉(zhuǎn)、機(jī)械臂前伸、機(jī)械臂夾取、機(jī)械臂收縮、車(chē)載機(jī)械臂前后左右的移動(dòng))從而實(shí)現(xiàn)遠(yuǎn)程獲取目標(biāo)的任務(wù)。
2、系統(tǒng)主要功能與技術(shù)簡(jiǎn)介
(1)、視頻圖像的采集
本系統(tǒng)中,USB攝像頭固定在機(jī)械臂上,通過(guò)數(shù)據(jù)線與同樣固定在車(chē)載機(jī)械臂上的ARM開(kāi)發(fā)板相連。ARM板上移植好的Linux-2.6.32.2操作系統(tǒng)為硬件攝像頭打開(kāi)相應(yīng)端口。通過(guò)對(duì)操作系統(tǒng)底層V4L2接口的編程調(diào)用,我們可以實(shí)現(xiàn)圖像的獲取。V4L2接口較早先的V4L有較大的改進(jìn),并且已經(jīng)成為L(zhǎng)inux在2.6版本以上操作系統(tǒng)的標(biāo)準(zhǔn)接口,涵蓋范圍很廣,基本得到大多數(shù)驅(qū)動(dòng)的支持。V4L2采用流水線的方式,操作更為簡(jiǎn)單直觀,基本遵循打開(kāi)視頻設(shè)備、設(shè)置格式、處理數(shù)據(jù)、關(guān)閉設(shè)備這幾個(gè)步驟,其中具體操作通過(guò)ioctl 函數(shù)來(lái)實(shí)現(xiàn)。本次設(shè)計(jì)采用V4L2接口獲取攝像頭數(shù)據(jù),圖像分辨率為640*480。其主要實(shí)現(xiàn)步驟如下:1、打開(kāi)文件:調(diào)用Open()函數(shù)打開(kāi)設(shè)備文件。2、獲取設(shè)備屬性:調(diào)用ioctl()函數(shù)獲取攝像頭設(shè)備文件的相關(guān)參數(shù)。3、設(shè)置格式及分辨率:調(diào)用ioctl()函數(shù)設(shè)置視頻格式(常見(jiàn)的有RGB、YUV422及MJPEG等)及攝像頭的拍攝分辨率(包括寬、高等)。4、申請(qǐng)緩存:設(shè)置申請(qǐng)緩存的類(lèi)型及申請(qǐng)緩存的個(gè)數(shù)等。5、緩存出隊(duì)列:對(duì)申請(qǐng)成功的緩存進(jìn)行隊(duì)列操作,獲取緩存的長(zhǎng)度信息及并使用mmap()函數(shù)將內(nèi)存地址映射到用戶(hù)分配的地址空間中。6、緩存入隊(duì)列:對(duì)每個(gè)申請(qǐng)的緩存進(jìn)行入隊(duì)操作,并使用ioctl()函數(shù)開(kāi)始進(jìn)行視頻獲取開(kāi)始操作。7、獲取數(shù)據(jù):循環(huán)等待攝像頭數(shù)據(jù),當(dāng)攝像頭數(shù)據(jù)可用時(shí),進(jìn)行出隊(duì)列操作。此時(shí)其index所對(duì)應(yīng)的mmap()映射的內(nèi)存地址中就包含了攝像頭數(shù)據(jù),并調(diào)用SDL接口進(jìn)行顯示。跳到7,繼續(xù)獲取攝像頭數(shù)據(jù)。8、關(guān)閉攝像頭: 調(diào)用close()函數(shù)關(guān)閉攝像頭設(shè)備文件。
(2)、視頻圖像的壓縮
本系統(tǒng)中,獲取的圖像需要通過(guò)數(shù)據(jù)壓縮后才能真正進(jìn)行傳輸。這里,我們使用H.264視頻編碼方式對(duì)圖形進(jìn)行處理。H.264是一種視頻壓縮標(biāo)準(zhǔn),被廣泛用于網(wǎng)絡(luò)流媒體網(wǎng)站如Vimeo、YouTube、以及iTunes Store,網(wǎng)絡(luò)軟件如Adobe Flash Player和Microsoft Silverlight,以及各種高清晰度電視陸地廣播(ATSC,ISDB-T,DVB-T或DVB-T2),線纜(DVB-C)以及衛(wèi)星(DVB-S和DVB-S2)。這里我們采用FFmpeg中的H264編碼函數(shù)庫(kù)對(duì)V4l2采集數(shù)據(jù)YUV422數(shù)據(jù)進(jìn)行編碼,其處理流程有以下幾個(gè)方面:
圖像數(shù)據(jù)預(yù)處理:從YUV422 打包格式轉(zhuǎn)換為YUV420平面格式
1.初始化FFmpeg的相關(guān)庫(kù)函數(shù),包括H264編碼器
2.設(shè)置編碼參數(shù),包括壓縮質(zhì)量、圖像分辨率等參數(shù)
3.開(kāi)始編碼,對(duì)編碼結(jié)果數(shù)據(jù)流寫(xiě)入磁盤(pán)保存
4.釋放編碼器H264
四、系統(tǒng)總結(jié)及應(yīng)用前景
本系統(tǒng)經(jīng)過(guò)最終測(cè)試,能過(guò)很好的實(shí)現(xiàn)前期設(shè)定目標(biāo)。在Wi-Fi信號(hào)正常情況下,上層控制端和搭載了ARM開(kāi)發(fā)板的可移動(dòng)機(jī)械臂可以實(shí)現(xiàn)遠(yuǎn)距離的數(shù)據(jù)通信,采集到的圖像清晰,控制命令能過(guò)得到有效執(zhí)行,機(jī)械臂能夠順利夾起實(shí)驗(yàn)物品。作為無(wú)線遠(yuǎn)程可控設(shè)備,經(jīng)過(guò)后續(xù)開(kāi)發(fā)和依據(jù)不同需求的功能訂制,該系統(tǒng)具有很好的應(yīng)用前景,如在家庭方面,充當(dāng)智能保姆等角色;安防方面,作為防爆機(jī)器人等等。
參考文獻(xiàn):
[1] 翟小艷,徐家品.基于 ARM 的視頻傳輸系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2010, 43(08):100-102.
[2] 鄒穎婷,李紹榮.ARM9 上的嵌入式Linux 系統(tǒng)移植[J].自動(dòng)化技術(shù)與應(yīng)用,2009,28(06):43-45.
[3] 季志均 ,馬文麗 ,陳虎 . 四種嵌入式實(shí)時(shí)操作系統(tǒng)關(guān)鍵技術(shù)分析 . 計(jì)算機(jī)應(yīng)用研究,2005(9):4-8
[4] 鄭文波 ,曹金安 .嵌入式系統(tǒng)產(chǎn)業(yè)化發(fā)展 嵌入式系統(tǒng)產(chǎn)業(yè)化發(fā)展 -市場(chǎng)、技術(shù)與前景 .自動(dòng)化博覽, 2005,20(l):17-26