移動(dòng)機(jī)器人是一個(gè)集環(huán)境感知、動(dòng)態(tài)決策和規(guī)劃、行為控制和執(zhí)行于一體的多功能綜合系統(tǒng)。它集合了傳感器技術(shù)、信息處理、電子工程、計(jì)算機(jī)工程、自動(dòng)化控制工程和人工智能的研究成果。它代表了機(jī)電一體化的最高成就,是目前科技發(fā)展最活躍的領(lǐng)域之一。隨著機(jī)器人性能的不斷提高,移動(dòng)機(jī)器人的應(yīng)用范圍大大擴(kuò)大。它不僅廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、醫(yī)療和服務(wù)等行業(yè),而且在城市安全、國(guó)防和空間探索等有害和危險(xiǎn)場(chǎng)合也得到了很好的應(yīng)用。因此,移動(dòng)機(jī)器人技術(shù)受到了世界各地的廣泛關(guān)注。
本次設(shè)計(jì)一款既具備智能終端控制也可通過(guò)上位機(jī)進(jìn)行實(shí)時(shí)視頻監(jiān)控的視頻監(jiān)控小車。在本次開發(fā)的系統(tǒng)中,通過(guò)使用無(wú)線路由器和無(wú)線網(wǎng)卡組建局域網(wǎng),在智能車架設(shè)mjpgstreamer網(wǎng)絡(luò)視頻服務(wù)器,同時(shí)通過(guò)無(wú)線網(wǎng)卡使智能車接入組建好的局域網(wǎng)中,既可以在PC機(jī)上使用客戶端進(jìn)行實(shí)時(shí)監(jiān)控控制,也可以使用手機(jī)等智能終端通過(guò)無(wú)線網(wǎng)卡來(lái)對(duì)智能車進(jìn)行控制和實(shí)時(shí)監(jiān)控。
1智能車無(wú)線視頻監(jiān)控系統(tǒng)總體設(shè)計(jì)
1.1智能車無(wú)線視頻監(jiān)控系統(tǒng)整體框架
本次開發(fā)的系統(tǒng)是采用雙架構(gòu)結(jié)合的工作模式,內(nèi)置智能車控制服務(wù)器和網(wǎng)絡(luò)視頻服務(wù)器。其中智能車內(nèi)置的控制服務(wù)器,利用socket網(wǎng)絡(luò)通信技術(shù)(UDP協(xié)議),接受客戶端發(fā)送的控制請(qǐng)求,并執(zhí)行相應(yīng)操作,如智能車的行駛命令、聲頻播放命令、舵機(jī)轉(zhuǎn)動(dòng)命令、溫度獲取命令等操作。而智能車內(nèi)置mjpgstreamer網(wǎng)絡(luò)視頻服務(wù)器,它從監(jiān)控?cái)z像頭獲取視頻流,并利用網(wǎng)絡(luò)(TCP協(xié)議)將視頻流以JPEG格式發(fā)送到客戶端。另外內(nèi)置網(wǎng)頁(yè)服務(wù)器(webserver),用戶可以通過(guò)瀏覽器直接訪問(wèn)頁(yè)面服務(wù)器,并獲取視頻流,從而達(dá)到視頻實(shí)時(shí)監(jiān)控。又由于網(wǎng)絡(luò)視頻服務(wù)器同時(shí)和智能車控制服務(wù)器建立了連接,所以也可以使用智能終端通過(guò)游覽器間接訪問(wèn)控制智能車控制服務(wù)器。智能車系統(tǒng)整體框架圖如圖1(a)所示。
1.2智能車無(wú)線視頻監(jiān)控系統(tǒng)硬件總體設(shè)計(jì)
智能車視頻監(jiān)控系統(tǒng)的無(wú)線控制結(jié)構(gòu)如圖2所示,本次方案由wifi通信系統(tǒng)、下位機(jī)控制系統(tǒng)、上位機(jī)控制系統(tǒng)3部分組成。Wi—Fi通信系統(tǒng)實(shí)現(xiàn)上位機(jī)客戶端系統(tǒng)與下位機(jī)ARM控制系統(tǒng)的數(shù)據(jù)傳輸。上位機(jī)客戶端系統(tǒng)通過(guò)wifi模塊接受下位機(jī)ARM控制系統(tǒng)發(fā)送數(shù)據(jù)進(jìn)行存儲(chǔ)、分析、提取以及顯示,同時(shí)也可以對(duì)下位機(jī)發(fā)送控制命令。同樣下位機(jī)ARM控制系統(tǒng)也可以通過(guò)wifi模塊收到上位機(jī)系統(tǒng)發(fā)送的命令并進(jìn)行相應(yīng)的操作,將傳感器和攝像頭采集的數(shù)據(jù)進(jìn)行整合和發(fā)送。
由圖1(b)可知下位機(jī)主要組成部分,智能車視頻監(jiān)控系統(tǒng)以天嵌科技Cortex-A8X210開發(fā)板作為開發(fā)平臺(tái),其處理器采用的三星S5pv210芯片,S5PV210采用了ARMCortexTM-A8內(nèi)核,ARMV7指令集,主頻可達(dá)1GHZ,64/32位內(nèi)部總線結(jié)構(gòu),32/32kB的數(shù)據(jù)/指令一級(jí)緩存,512kB的二級(jí)緩存,可以實(shí)現(xiàn)2000DMIPS(每秒運(yùn)算20億條指令集)的高性能運(yùn)算能力。其中wifi模塊完成主要完成下位機(jī)與上位機(jī)的組網(wǎng)和遠(yuǎn)程控制功能;同時(shí)開發(fā)板上還配有檢測(cè)溫度和有害氣體的傳感器,因此可以對(duì)探測(cè)環(huán)境進(jìn)行危險(xiǎn)評(píng)估及預(yù)警。
2智能車無(wú)線視頻監(jiān)控系統(tǒng)各功能模塊設(shè)計(jì)及實(shí)現(xiàn)
2.1智能車視頻監(jiān)控系統(tǒng)軟件架構(gòu)設(shè)計(jì)
智能車視頻監(jiān)控系統(tǒng)采用的Linux開發(fā)平臺(tái),它是一個(gè)多用戶和多任務(wù)操作系統(tǒng),具有良好的的開放性,遵循世界標(biāo)準(zhǔn)規(guī)范,特別是遵循開放系統(tǒng)的互連國(guó)際標(biāo)準(zhǔn)。具有完善的內(nèi)置網(wǎng)絡(luò)linux在通信和網(wǎng)絡(luò)功能方面均優(yōu)于其他操作系統(tǒng)。系統(tǒng)圖像采集是通過(guò)ARM—Linux調(diào)度V4L2驅(qū)動(dòng)程序來(lái)進(jìn)行視頻捕獲。V4L2是linux影像系統(tǒng)與嵌入式影像的基礎(chǔ),是linux內(nèi)核里支持影像設(shè)備的一組API,linux在多媒體上的應(yīng)用是目前非常熱門的研究領(lǐng)域,其中最關(guān)鍵的技術(shù)就是Linux的V4L2。傳統(tǒng)的基于ARM的遠(yuǎn)程視頻監(jiān)控大部分通過(guò)集成在CPU內(nèi)部的MFC模塊對(duì)V4L2接口采集的數(shù)據(jù)進(jìn)行硬件壓縮和解碼,硬件解碼需要硬件有硬件解碼模塊、相關(guān)的驅(qū)動(dòng)配合、合適的播放軟件以及對(duì)播放軟件正確的設(shè)置,缺一而不能開啟硬件解碼功能。由于以上問(wèn)題,所以本文采用一款開源軟件mjpeg—stream網(wǎng)絡(luò)視頻服務(wù)器代替MFC。mjpg_streamer是一款開源網(wǎng)絡(luò)視頻服務(wù)器,需要很少的CPU和內(nèi)存資源就可以工作,大部分編碼工作都是攝像頭完成的,非常適合嵌入式環(huán)境使用。
2.1.1網(wǎng)絡(luò)視頻服務(wù)器mjpeg—strearm的移植
從v4l2接口采集的數(shù)據(jù)的壓縮與解碼我們選擇了網(wǎng)絡(luò)視頻服務(wù)器mjpeg—stream,我之所以不選擇集成在cpu內(nèi)部的MFC模塊還有一個(gè)原因是因?yàn)楸敬卧O(shè)計(jì)的智能車遠(yuǎn)程無(wú)線視頻監(jiān)控系統(tǒng)要支持遠(yuǎn)程的web界面的訪問(wèn)操作,如果選擇MFC就要移植類似Boa等的嵌入式web服務(wù)器才能進(jìn)行遠(yuǎn)程訪問(wèn)同MFC模塊采集的視頻流還需要在pc端采用開源的軟件和函數(shù)庫(kù)才能實(shí)現(xiàn)視頻的播放,而mjpeg-stream網(wǎng)絡(luò)視頻服務(wù)器卻可以省掉這些步驟,因?yàn)閙jpeg—stream支持實(shí)現(xiàn)遠(yuǎn)程的web訪問(wèn)。這樣就降低了開發(fā)的工作量和復(fù)雜性,其下為mjpeg—stream移植編譯。圖3為mjpeg—stream對(duì)數(shù)據(jù)采集與發(fā)送的流程。
2.1.2智能車視頻監(jiān)控系統(tǒng)數(shù)據(jù)接收與顯示模塊的設(shè)計(jì)
由圖2(a)和圖3可知mjpeg—stream網(wǎng)絡(luò)視頻服務(wù)器內(nèi)部有兩個(gè)服務(wù)器,http服務(wù)器和視頻幀抓取服務(wù)器。http服務(wù)器將視頻幀抓取服務(wù)器采集的圖像幀以Http協(xié)議數(shù)據(jù)幀的形式發(fā)給客戶端。所以要完成的編程工作有兩部分:一是從http服務(wù)器讀取Http協(xié)議數(shù)據(jù)幀(Http協(xié)議數(shù)據(jù)幀由http協(xié)議相關(guān)的頭信息和圖像數(shù)據(jù)幀(jpeg格式)),二是將Http協(xié)議數(shù)據(jù)幀中的圖像數(shù)據(jù)幀提取出來(lái)。本文的GUI界面采用Qt進(jìn)行設(shè)計(jì)實(shí)現(xiàn)C/S、B/S架構(gòu)的客戶端和web客戶端。智能車監(jiān)控系統(tǒng)視屏界面的顯示有兩個(gè)部分組成:一是通過(guò)Tcp協(xié)議將傳輸?shù)臄?shù)據(jù)接收(socket編程實(shí)現(xiàn)),二是客戶端的視頻圖像的顯示??蛻舳塑浖脑O(shè)計(jì)流程圖如圖4所示。
由于我們通過(guò)編程把Http協(xié)議數(shù)據(jù)幀中的圖像數(shù)據(jù)幀提取了出來(lái)并顯示在客戶端從而實(shí)現(xiàn)了視頻實(shí)時(shí)監(jiān)控,所以可以在主函數(shù)再起一個(gè)線程完成圖像的抓取功能即拍照功能。這樣在智能車對(duì)未知空間的探索進(jìn)行分析提供了數(shù)據(jù)依據(jù)。
2.2wifi功能模塊的設(shè)計(jì)
本次開發(fā)的智能車無(wú)線視頻監(jiān)控系統(tǒng)的另一核心就是wifi模塊的開發(fā)。構(gòu)成無(wú)線網(wǎng)絡(luò)的最基本的兩個(gè)要素是:一是一臺(tái)AP(AccessPoint),二是無(wú)線網(wǎng)卡。以上兩點(diǎn)便可以構(gòu)成一個(gè)簡(jiǎn)單的無(wú)線網(wǎng)絡(luò)。因?yàn)槲覀円ㄟ^(guò)智能終端和pc機(jī)上的客戶端對(duì)智能車遠(yuǎn)程進(jìn)行控制,所以如何將智能車變成一個(gè)可移動(dòng)的wifi熱點(diǎn)是我們本次設(shè)計(jì)的重點(diǎn)。
嵌入式開發(fā)的一個(gè)核心的內(nèi)容是在有限的硬件資源上如何使用各種開源軟件完成我們需要的功能。所以將智能車變成可移動(dòng)的wifi熱點(diǎn)需要以下步驟:
1)下載安裝rtl8188eu無(wú)線芯片的驅(qū)動(dòng);2)使用hostapd開源軟件,使無(wú)線網(wǎng)卡切換為master模式,模擬AP(路由器)功能;3)使用dnsmasq開源軟件動(dòng)態(tài)分配IP給客戶端在開發(fā)板上主要步驟實(shí)現(xiàn)過(guò)程如下所示:
#insmod/home/wifi/8188eu.ko
#ifconfigwlan0192.168.137.1(啟用無(wú)線網(wǎng)卡)
#./hostapdrtl_hostapd_2G。conf-B(模擬AP功能)
#./dnsmasq—Cdnsmasq。conf(開啟DNS和DHCP功能)
通過(guò)對(duì)以上開源軟件的移植開發(fā)便可以將智能車生成一個(gè)可移動(dòng)的wifi熱點(diǎn),通過(guò)手機(jī)等智能終端便可以對(duì)智能車無(wú)線視頻監(jiān)控系統(tǒng)進(jìn)行控制。圖5展示了連網(wǎng)成功后智能車無(wú)線視頻監(jiān)控系統(tǒng)的工作狀態(tài)。
3結(jié)論
本文實(shí)現(xiàn)了一種基于s5pv210的智能車輛無(wú)線視頻監(jiān)控系統(tǒng)。本系統(tǒng)不僅可以使用智能終端通過(guò)WiFi控制智能車的無(wú)線視頻監(jiān)控系統(tǒng),還可以通過(guò)有線連接進(jìn)行控制。智能車不僅可以實(shí)時(shí)監(jiān)控和拍照,還可以通過(guò)開發(fā)板上的溫度傳感器和有害氣體傳感器檢測(cè)周圍環(huán)境。因此,它可以應(yīng)用于城市安全、國(guó)防和空間探測(cè)等有害和危險(xiǎn)的場(chǎng)合。對(duì)未來(lái)智能汽車的發(fā)展也有一定的研究?jī)r(jià)值。
-
無(wú)線視頻
+關(guān)注
關(guān)注
0文章
32瀏覽量
14373 -
智能車輛
+關(guān)注
關(guān)注
0文章
17瀏覽量
19238 -
S5PV210
+關(guān)注
關(guān)注
0文章
12瀏覽量
13901
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論