国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

遠(yuǎn)程可視化遙控偵察定位機(jī)器人系統(tǒng)設(shè)計(jì)

2015-08-15 06:28劉博楊斌
關(guān)鍵詞:開(kāi)發(fā)板云臺(tái)手柄

劉博,楊斌

(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都610031)

遠(yuǎn)程可視化遙控偵察定位機(jī)器人系統(tǒng)設(shè)計(jì)

劉博,楊斌

(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都610031)

遠(yuǎn)程可視化遙控偵察定位機(jī)器人系統(tǒng)共由兩部分構(gòu)成。第一部分為機(jī)器人,與PC遠(yuǎn)程控制終端建立網(wǎng)絡(luò)連接,獲取控制命令,解析命令后控制機(jī)器人的運(yùn)動(dòng)電機(jī)、轉(zhuǎn)向舵機(jī)和立體視頻云臺(tái)。機(jī)器人將自己的GPS位置信息和環(huán)境圖像傳輸?shù)絇C控制終端。第二部分為PC遠(yuǎn)程控制終端,獲取北通遙控手柄的命令數(shù)據(jù)并打包后,通過(guò)網(wǎng)絡(luò)傳輸給機(jī)器人,實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)狀態(tài)控制。PC遠(yuǎn)程控制終端通過(guò)網(wǎng)絡(luò)獲取機(jī)器人的GPS位置數(shù)據(jù)和視頻數(shù)據(jù),將數(shù)據(jù)解析后分別顯示到圖像監(jiān)控窗口和地圖定位窗口。

遙控機(jī)器人;PandaBoard;圖像壓縮;GPS定位

引言

科學(xué)技術(shù)的飛速發(fā)展推動(dòng)了機(jī)器人技術(shù)的不斷發(fā)展和廣泛應(yīng)用。在現(xiàn)代社會(huì)生活中復(fù)雜的應(yīng)用需求越來(lái)越多,如軍事偵查、高危環(huán)境巡邏、特殊環(huán)境拍攝等。遠(yuǎn)程遙控偵察定位機(jī)器人系統(tǒng)可以勝任特殊環(huán)境中的特殊需求。本系統(tǒng)以PandaBoard開(kāi)發(fā)板作為機(jī)器人的控制核心,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)通信、機(jī)器人姿態(tài)控制、機(jī)器人位置信息處理。遠(yuǎn)程遙控終端由PC機(jī)和北通阿修羅遙控手柄構(gòu)成,PC機(jī)獲取遙控手柄的遙控?cái)?shù)據(jù)并打包,通過(guò)網(wǎng)絡(luò)發(fā)送給機(jī)器人,并且獲取視頻圖像數(shù)據(jù)和機(jī)器人地理位置信息,實(shí)現(xiàn)機(jī)器人的控制、視頻監(jiān)控和地理位置監(jiān)視。

1 硬件平臺(tái)

系統(tǒng)硬件部分主要由PandaBoard開(kāi)發(fā)板、GPS定位開(kāi)發(fā)板、立體視頻監(jiān)控云臺(tái)、PC機(jī)構(gòu)成。

1.1 機(jī)器人整體結(jié)構(gòu)

機(jī)器人整體由機(jī)器人車體、攝像頭云臺(tái)、電源控制板、電機(jī)驅(qū)動(dòng)控制板、PandaBoard核心控制板5部分組成。機(jī)器人車體為飛思卡爾智能車競(jìng)賽指定車模。攝像頭云臺(tái)有兩組MG946R舵機(jī)構(gòu)成,可以實(shí)現(xiàn)上下左右四維角度調(diào)節(jié)。攝像頭為奧尼ANC網(wǎng)絡(luò)攝像頭,可以采集YUV和RGB格式的圖像數(shù)據(jù)。電源模塊主要完成將8 V電池電壓降為5 V和6 V電壓,分別供給PandaBoard開(kāi)發(fā)板和MG946R舵機(jī)。電機(jī)驅(qū)動(dòng)模塊用BTS7960電機(jī)驅(qū)動(dòng)芯片設(shè)計(jì)。機(jī)器人整體結(jié)構(gòu)如圖1所示。

1.2 PandaBoard開(kāi)發(fā)板

PandaBoard開(kāi)發(fā)板是TI公司的SoC開(kāi)發(fā)板,其內(nèi)部主要包括4個(gè)處理引擎,包括基于ARMv7I指令集的SMP Cortex-A9 1 GHz雙核處理器、可編程多媒體硬件加速引擎IVA-HD及協(xié)處理器 Cortex-M3、圖像顯卡 Power SGX540及提供圖像視頻并行計(jì)算的ISP。其中IVA-HD多媒體加速引擎內(nèi)部有7個(gè)針對(duì)各種視頻編解碼而設(shè)計(jì)的加速引擎,能夠?qū)崿F(xiàn)對(duì)720P視頻的實(shí)時(shí)編解碼,并且擁有1 GB的RAM,可以流暢運(yùn)行Ubuntu開(kāi)源操作系統(tǒng)。PandaBoard開(kāi)發(fā)板如圖2所示。

圖2 PandaBoard開(kāi)發(fā)板

1.3 北通神鷹阿修羅遙控手柄

北通神鷹阿修羅遙控手柄用來(lái)控制機(jī)器人的運(yùn)動(dòng)狀態(tài),可以前進(jìn)、后退、加速、減速,還可控制攝像頭云臺(tái)的角度控制,如搖擺頭、點(diǎn)頭、抬頭。北通神鷹阿修羅遙控手柄如圖3所示。

圖3 北通神鷹阿修羅遙控手柄

1.4 系統(tǒng)硬件架構(gòu)圖

系統(tǒng)硬件架構(gòu)圖如圖4所示,游戲手柄通過(guò)USB接口同PC連接,PC通過(guò)無(wú)線熱點(diǎn)與遙控機(jī)器人建立通信連接。PC機(jī)將游戲手柄的數(shù)據(jù)打包后通過(guò)網(wǎng)絡(luò)發(fā)送給移動(dòng)機(jī)器人,這樣就可以控制機(jī)器人的運(yùn)動(dòng)行為。機(jī)器人獲取的GPS地圖數(shù)據(jù)和攝像頭數(shù)據(jù)打包壓縮后通過(guò)無(wú)線網(wǎng)絡(luò)傳送到PC控制終端,這樣PC就可以獲得機(jī)器人當(dāng)前環(huán)境狀況和地理位置信息。

圖4 系統(tǒng)硬件架構(gòu)圖

2 軟件設(shè)計(jì)

系統(tǒng)軟件設(shè)計(jì)包括PC控制服務(wù)程序和PandaBoard開(kāi)發(fā)板應(yīng)用程序。PC控制服務(wù)程序包括視頻數(shù)據(jù)處理軟件設(shè)計(jì)、GPS地理位置信息處理軟件設(shè)計(jì)和遙控移動(dòng)手柄軟件設(shè)計(jì)。PandaBoard開(kāi)發(fā)板應(yīng)用程序,包括視頻服務(wù)軟件設(shè)計(jì)、機(jī)器人運(yùn)動(dòng)狀態(tài)控制軟件設(shè)計(jì)和GPS地理位置信息服務(wù)軟件設(shè)計(jì)。系統(tǒng)軟件架構(gòu)如圖5所示。

圖5 系統(tǒng)軟件架構(gòu)

PC視頻數(shù)據(jù)處理軟件將實(shí)時(shí)接收機(jī)器人通過(guò)網(wǎng)絡(luò)傳輸過(guò)來(lái)的mjpeg視頻數(shù)據(jù),通過(guò)ffmpeg解壓縮成為位圖后繪制到屏幕上。GPS地理位置信息處理軟件將實(shí)時(shí)接收機(jī)器人的GPS數(shù)據(jù),解析之后在開(kāi)源網(wǎng)絡(luò)地圖中進(jìn)行標(biāo)定。遙控移動(dòng)手柄軟件主要負(fù)責(zé)接收北通神鷹手柄的命令信息,并且將機(jī)器人控制命令和攝像頭云臺(tái)控制命令通過(guò)網(wǎng)絡(luò)傳輸?shù)綑C(jī)器人并控制機(jī)器人。

機(jī)器人核心控制板搭載Ubuntu系統(tǒng)。視頻服務(wù)軟件采集USB攝像頭YUV422數(shù)據(jù),壓縮成mjpeg通過(guò)無(wú)線網(wǎng)絡(luò)傳輸?shù)絇C控制終端。機(jī)器人運(yùn)動(dòng)狀態(tài)控制通過(guò)Panda-Board開(kāi)發(fā)板中的5路PWM端口分別控制機(jī)器人的前進(jìn)、后退、方向舵機(jī)控制、攝像頭云臺(tái)的左右搖頭控制和攝像頭云臺(tái)的點(diǎn)頭抬頭控制。GPS地理位置信息服務(wù)通過(guò)串口獲取GPS地理位置信息,分析打包后傳輸?shù)絇C控制終端。

2.1 PC控制終端軟件設(shè)計(jì)

2.1.1 北通神鷹手柄按鍵處理

對(duì)于遙控手柄數(shù)據(jù)采集處理,在Linux下的編程框架為JoyStick。JoyStick可以直接采集北通手柄事件,將手柄的事件值賦予特定的命令含義后就可以控制機(jī)器人的運(yùn)動(dòng)狀態(tài)。將北通手柄接入PC后,在Linux系統(tǒng)下就成生了/dev/input/js0設(shè)備,js0就是遙控手柄設(shè)備,為了操作js設(shè)備,編寫(xiě)設(shè)計(jì)了tagJoyStickEvent結(jié)構(gòu)體,這個(gè)結(jié)構(gòu)體中擁有手柄按鍵發(fā)生時(shí)間、鍵值、按鍵類型、按鍵號(hào)碼4個(gè)成員結(jié)構(gòu),如下所示:

typedef struct tagJoyStickEvent{

unsigned int time; /*發(fā)生時(shí)間毫秒級(jí)*/

short value; /*鍵值*/

unsigned char type; /*鍵值類型*/

unsigned char number; /*鍵位Num*/

tagJoyStickEvent&operator=(const tagJoyStickEvent& JseTemp){

this->time=JseTemp.time;

this->value=JseTemp.value;

this->type=JseTemp.type;

this->number=JseTemp.number;

return*this;

}stJoyStickEvent;

北通神鷹手柄按鍵類型一共有兩種,Type=1和Type =2,共14個(gè)按鍵。一共需要4個(gè)按鍵來(lái)控制機(jī)器人的前進(jìn)、后退、轉(zhuǎn)向、攝像頭云臺(tái)擺動(dòng)。同Linux下其他設(shè)備一樣,首先打開(kāi)js設(shè)備文件,建立按鍵設(shè)備監(jiān)聽(tīng)函數(shù),當(dāng)手柄按鍵按下后,觸發(fā)設(shè)備監(jiān)聽(tīng)函數(shù),讀取stJoyStickEvent結(jié)構(gòu)體,解析按鍵結(jié)構(gòu)體并通過(guò)網(wǎng)絡(luò)發(fā)送給機(jī)器人。

2.1.2 mjpeg視頻數(shù)據(jù)處理

ffmpeg是一個(gè)開(kāi)源免費(fèi)跨平臺(tái)的視頻和音頻流方案,屬于自由軟件,采用LGPL或GPL許可證(依據(jù)選擇的組件),提供了解碼、編碼、錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。mjpeg圖像解碼過(guò)程:讀入mjpeg圖像→解碼→逆量化→反離散余弦變換→原圖像。ffmpeg解碼過(guò)程如下:

①調(diào)用avcodec_init(),這個(gè)庫(kù)函數(shù)只需調(diào)用一次。avcodec_init主要包括dsp_static_init函數(shù),負(fù)責(zé)靜態(tài)查找表結(jié)構(gòu)的初始化。

②avcodec_register_all(),注冊(cè)所有的編碼器,使它們處于工作狀態(tài)。

③avcodec_find_decoder()函數(shù)用于查找一個(gè)與codec ID相匹配的已注冊(cè)的解碼器。

④avcodec_alloc_context()函數(shù)用于分配一個(gè)AVCodecContext并設(shè)置默認(rèn)值,如果失敗返回NULL,并可用av _free()進(jìn)行釋放。

⑤avcodec_alloc_frame()函數(shù)用于分配一個(gè)AVFrame并設(shè)置默認(rèn)值,如果失敗返回NULL,并可用av_free()進(jìn)行釋放。

⑥avcodec_open()函數(shù)用給定的AVCodec來(lái)初始化AVCodecContext。

⑦video_decode_video2()函數(shù)用于視頻解碼,所有的解碼工作都在該函數(shù)內(nèi)完成。

解碼完成之后形成位圖,即可直接顯示在計(jì)算機(jī)屏幕上。

2.1.3 GPS數(shù)據(jù)處理

在QT下QWebView類提供了一個(gè)可以展現(xiàn)和編輯網(wǎng)頁(yè)文檔的widget。QWebView是QtWebKit網(wǎng)頁(yè)瀏覽模塊的一個(gè)主要widget組件,可以用它來(lái)展現(xiàn)互聯(lián)網(wǎng)網(wǎng)頁(yè)。在Qt Designer中創(chuàng)建一個(gè)QWebView,可以使用QWebView 的load()方法來(lái)加載一個(gè)網(wǎng)站,如 load(QUrl(" googlemap.html")),和其他所有QT的widget一樣,需要調(diào)用show()方法才會(huì)顯示出QWebView。QWebView除了用load()方法設(shè)定網(wǎng)頁(yè)路徑外,也可以使用setHtml()方法加載HTML格式的網(wǎng)頁(yè),如setUrl(QUrl("baidumap.html"))。網(wǎng)頁(yè)文件加載之后,開(kāi)啟QWebView的JS功能,就可以同網(wǎng)頁(yè)文件進(jìn)行JS交互應(yīng)用了。機(jī)器人通過(guò)網(wǎng)絡(luò)將GPS地理位置數(shù)據(jù)傳輸?shù)絇C控制終端,解析GPS數(shù)據(jù)包后,在地圖中標(biāo)定機(jī)器人的位置信息。

2.2 機(jī)器人軟件設(shè)計(jì)

2.2.1 機(jī)器人運(yùn)動(dòng)狀態(tài)控制

機(jī)器人運(yùn)動(dòng)狀態(tài)控制包括前進(jìn)、后退、轉(zhuǎn)向、攝像頭云臺(tái)轉(zhuǎn)動(dòng)。而這些動(dòng)作的共同之處在于都需要應(yīng)用PWM信號(hào)進(jìn)行控制。脈寬調(diào)制(PWM)是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種技術(shù),廣泛應(yīng)用在測(cè)量、通信、功率控制與變換等許多領(lǐng)域中。舵機(jī)主要由外殼、電路板、無(wú)核心馬達(dá)、齒輪與位置檢測(cè)器構(gòu)成。其工作原理是接收機(jī)發(fā)出信號(hào)給舵機(jī),經(jīng)由電路板上的IC判斷轉(zhuǎn)動(dòng)方向,再驅(qū)動(dòng)無(wú)核心馬達(dá)開(kāi)始轉(zhuǎn)動(dòng),通過(guò)減速齒輪將動(dòng)力傳至擺臂,同時(shí)由位置檢測(cè)器送回信號(hào),判斷是否已經(jīng)到達(dá)定位。整個(gè)機(jī)器人一共有3個(gè)舵機(jī),其中兩個(gè)舵機(jī)作為攝像頭云臺(tái),第3個(gè)舵機(jī)控制機(jī)器人的轉(zhuǎn)向。機(jī)器人的前后運(yùn)動(dòng)由電機(jī)提供動(dòng)力,電機(jī)的驅(qū)動(dòng)由電機(jī)驅(qū)動(dòng)電路管理控制,電機(jī)驅(qū)動(dòng)電路需要PWM控制信號(hào)來(lái)控制電機(jī)的前后轉(zhuǎn)動(dòng)。配置PandaBoard開(kāi)發(fā)板PWM信號(hào)驅(qū)動(dòng)功能,利用Linux設(shè)備樹(shù)技術(shù)將相應(yīng)的設(shè)備引腳配置成PWM功能,使設(shè)備引腳在 Linux中形成設(shè)備文件,這樣操作PWM設(shè)備文件就可以產(chǎn)生PWM輸出信號(hào)。

2.2.2 視頻圖像獲取

視頻圖像獲取需要借助V4L2編程框架,應(yīng)用ffmpeg壓縮成mjpeg圖像,通過(guò)WiFi網(wǎng)絡(luò)傳輸?shù)絇C控制終端,V4L2設(shè)置過(guò)程如下:

①打開(kāi)設(shè)備文件int fd=open(”/dev/video0″,O_RDWR);

②取得設(shè)備的capability,看看設(shè)備具有哪些功能,比如是否具有視頻輸入,或者音頻輸入輸出等,VIDIOC_ QUERYCAP,struct v4l2_capability;

③設(shè)置視頻的制式和幀格式,制式包括PAL、NTSC,幀的格式包括寬度和高度等,VIDIOC_S_STD,VIDIOC_S_ FMT,struct v4l2_std_id,struct v4l2_format;

④向驅(qū)動(dòng)申請(qǐng)幀緩沖,一般不超過(guò)5個(gè);

⑤將申請(qǐng)到的幀緩沖映射到用戶空間,就可以直接操作采集到的幀了,而不必去復(fù)制;

⑥將申請(qǐng)到的幀緩沖全部入隊(duì)列,以便存放采集到的數(shù)據(jù);

⑦開(kāi)始視頻采集;

⑧出隊(duì)列以取得已采集數(shù)據(jù)的幀緩沖,取得原始采集數(shù)據(jù);

⑨將緩沖重新入隊(duì)列尾,這樣可以循環(huán)采集;

⑩停止視頻的采集;

?關(guān)閉視頻設(shè)備。

2.2.3 GPS地圖數(shù)據(jù)獲取

打開(kāi)串口,讀取SIM908開(kāi)發(fā)板的GPS數(shù)據(jù)并解析,獲取有用的GPS經(jīng)度緯度數(shù)據(jù),通過(guò)無(wú)線網(wǎng)絡(luò)發(fā)送給PC控制終端。

3 測(cè)試

實(shí)驗(yàn)證明,遠(yuǎn)程遙控巡邏偵察機(jī)器人系統(tǒng)可以將實(shí)時(shí)視頻圖像和GPS地理位置數(shù)據(jù)流暢地傳輸?shù)絇C遠(yuǎn)程控制終端,而PC遠(yuǎn)程控制終端將控制命令發(fā)送給機(jī)器人以靈活控制機(jī)器人的運(yùn)動(dòng),達(dá)到了設(shè)計(jì)要求。PC控制終端運(yùn)行效果如圖6所示。

圖6 PC控制終端運(yùn)行效果圖

結(jié)語(yǔ)

遠(yuǎn)程遙控巡邏偵察機(jī)器人系統(tǒng)使用WiFi作為網(wǎng)絡(luò)通信手段,將視頻、GPS地理位置信息傳輸?shù)絇C遠(yuǎn)程控制終端。PC遠(yuǎn)程控制終端可以實(shí)時(shí)監(jiān)控機(jī)器人所處的環(huán)境和地理位置信息。實(shí)驗(yàn)證明,應(yīng)用遙控手柄控制,操作簡(jiǎn)單方便,機(jī)器人系統(tǒng)工作穩(wěn)定,能夠完成巡邏偵察任務(wù)。

[1]李懷勇.一種新型全方位移動(dòng)機(jī)器人的運(yùn)動(dòng)特性分析[D].沈陽(yáng):沈陽(yáng)航空航天大學(xué),2012.

[2]趙冬斌,易建強(qiáng),鄧旭玥.全方位移動(dòng)機(jī)器人結(jié)構(gòu)和運(yùn)動(dòng)分析[J].機(jī)器人,2003(5).

[3]賈茜,王興松,周婧.基于多種控制方式的全方位移動(dòng)機(jī)器人研制[J].電子機(jī)械工程,2010(4).

[4]秦志斌,錢徽,朱淼良.自主移動(dòng)機(jī)器人混合式體系結(jié)構(gòu)的一種Multi-agent實(shí)現(xiàn)方法[J].機(jī)器人,2006(5).

[5]李志鵬.服務(wù)機(jī)器人室內(nèi)未知環(huán)境主動(dòng)探索與特征地圖構(gòu)建[D].哈爾濱:哈爾濱工業(yè)大學(xué),2011.

[6]賈官帥.基于Mecanum輪全方位移動(dòng)平臺(tái)的理論和應(yīng)用研究[D].杭州:浙江大學(xué),2012.

[7]邵杰.基于學(xué)習(xí)分類器的多機(jī)器人路徑規(guī)劃關(guān)鍵技術(shù)研究[D].南京:南京理工大學(xué),2011.

[8]楊世強(qiáng),傅衛(wèi)平,張鵬飛.四輪全方位輪式移動(dòng)機(jī)器人的運(yùn)動(dòng)學(xué)模型研究[J].機(jī)械科學(xué)與技術(shù),2009(3).

劉博(碩士研究生),主要研究方向?yàn)榍度胧介_(kāi)發(fā)與應(yīng)用;楊斌(教授),主要研究方向?yàn)榍度胧较到y(tǒng)應(yīng)用開(kāi)發(fā)、實(shí)時(shí)與分布式系統(tǒng)。

Design of Remote Visual Control Reconnaissance Location Robot System

Liu Bo,Yang Bin

(School of Information Science&Technology,Southwest Jiaotong University,Chengdu 610031,China)

Remote visual control reconnaissance location robot system consists of two parts.The first part is the robot which establishes a network connection with the remote PC terminal,accesses control command,and controls the robot,steering engine,and stereo video head after analyzing command motion motor.At last the robot sends GPS position information and environmental image to the PC control terminal.The second part is the PC remote control terminal which gets command data from North remote control handle and packages it,then transmits to the robot through the network,finally achieves control of the robot's movement.PC remote control terminal obtains robot GPS position data and the video data through the network,and displays in image video monitor window and map location window after interpreted.

remote control robot;PandaBoard;image compress;GPS location

TP242

A

薛士然

2014-10-17)

猜你喜歡
開(kāi)發(fā)板云臺(tái)手柄
云上之家——萬(wàn)科·郡西云臺(tái)
龍門(mén)山·臥云臺(tái)
基于PLC控制的手柄座鉆孔攻絲一體機(jī)的研發(fā)
幫我買云臺(tái)
基于STM32的無(wú)線FPV云臺(tái)設(shè)計(jì)
一種多功能無(wú)線手柄的設(shè)計(jì)
淺析單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)與制作
ARM宣布mbed Enabled Freescale FRDM—K64F開(kāi)發(fā)板通過(guò)微軟認(rèn)證
為什么廚具的手柄不是金屬的?
銀行家
陆丰市| 湖南省| 灌南县| 合川市| 丹寨县| 香河县| 靖江市| 含山县| 平泉县| 尖扎县| 远安县| 漳浦县| 桐乡市| 礼泉县| 盘山县| 博白县| 高雄县| 抚顺县| 昌乐县| 南川市| 额敏县| 景东| 西藏| 平塘县| 仁化县| 吉安县| 安徽省| 栾城县| 酒泉市| 祁连县| 竹山县| 江源县| 恩平市| 图片| 滁州市| 平远县| 鲁甸县| 临清市| 长宁县| 子洲县| 耒阳市|