基于WiFi的遠(yuǎn)程視頻傳輸智能機(jī)器人設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要 WiFi以其強(qiáng)大的覆蓋范圍和更高的傳輸速率得到廣泛應(yīng)用。文中研究了無(wú)線視頻傳輸技術(shù)在機(jī)器人中的應(yīng)用。文中設(shè)計(jì)的WiFi機(jī)器人是以WiFi無(wú)線網(wǎng)絡(luò)為數(shù)據(jù)傳輸載體,實(shí)現(xiàn)實(shí)時(shí)控制、音視頻傳輸和圖像采集等功能的智能系統(tǒng)。經(jīng)測(cè)試,該機(jī)器人可用于在反恐偵查、戰(zhàn)場(chǎng)C4ISR系統(tǒng)、消防救災(zāi)、生命探測(cè)等民用及軍事領(lǐng)域。
關(guān)鍵詞 WiFi;機(jī)器人;遠(yuǎn)程視頻傳輸;數(shù)據(jù)采集
WiFi是一種無(wú)線局域網(wǎng)運(yùn)用技術(shù),其出現(xiàn)以來(lái),憑借組網(wǎng)方便、易于擴(kuò)展等特點(diǎn),有著廣泛的應(yīng)用前景。而無(wú)線接入和高速傳輸是WiFi的主要技術(shù)優(yōu)點(diǎn),WiFi技術(shù)與機(jī)器人技術(shù)的結(jié)合便產(chǎn)生了WiFiRobot。WiFi Robot是集遠(yuǎn)程無(wú)線通訊、音視頻傳輸、數(shù)據(jù)采集、多向機(jī)械云臺(tái)、燈光控制、環(huán)境檢測(cè)、超聲波測(cè)距、紅外壁障、超聲波領(lǐng)航、動(dòng)力四驅(qū)、攝像頭云臺(tái)等功能為一體的多功能智能遙感機(jī)器人,以WiFi網(wǎng)絡(luò)作為數(shù)據(jù)傳輸平臺(tái),以高速M(fèi)CU為數(shù)據(jù)處理中心,可通過(guò)電腦、智能手機(jī)、平板電腦等設(shè)備進(jìn)行遠(yuǎn)程控制,并可拓展更多功能。
1 基本原理
設(shè)計(jì)的機(jī)器人所要實(shí)現(xiàn)的功能為:操作員在操作終端通過(guò)WiFi無(wú)線網(wǎng)絡(luò)連接到小車內(nèi)置的WiFi模塊上,并向其發(fā)出相關(guān)操作指令,WiFi模塊接收指令并傳遞給內(nèi)置的單片機(jī),單片機(jī)通過(guò)控制電路讓機(jī)器人執(zhí)行相應(yīng)的指令;同時(shí),安裝在機(jī)器人上的各種傳感器和攝像頭可以通過(guò)WiFi網(wǎng)絡(luò)將數(shù)據(jù)反向傳遞給操作終端,從而實(shí)現(xiàn)上下行控制及雙向通信,以便操作員實(shí)時(shí)了解機(jī)器人周圍的環(huán)境,并根據(jù)環(huán)境情況發(fā)出指令控制機(jī)器人執(zhí)行特定的任務(wù),實(shí)現(xiàn)交互式操作,圖1為系統(tǒng)整體實(shí)現(xiàn)框圖。
2 硬件設(shè)計(jì)
硬件系統(tǒng)由車體部分、路由器、攝像頭及云臺(tái)、驅(qū)動(dòng)板、紅外壁障、車燈部分等構(gòu)成。
(1)車體部分。車體部分主要由4個(gè)12 V/120轉(zhuǎn)直流電機(jī)和電池組構(gòu)成,電機(jī)兩兩并聯(lián),相當(dāng)于驅(qū)動(dòng)兩個(gè)電機(jī)。為方便電池充放電,設(shè)計(jì)了充放電電路,只需撥動(dòng)開關(guān)即可實(shí)現(xiàn)充放電操作。電池組電源12 V,可多個(gè)并聯(lián)使用,為機(jī)器人提高持久動(dòng)力。
(2)攝像頭及云臺(tái)。攝像頭選擇高質(zhì)量高清攝像頭進(jìn)行監(jiān)控,攝像頭滿足0°~180°水平,0°~180°上下旋轉(zhuǎn),可以遠(yuǎn)程打開或關(guān)閉。攝像頭型號(hào)為索尼PS2,通訊接口為USB協(xié)議。云臺(tái)由2個(gè)MG995數(shù)字舵機(jī)及其他輔助材料構(gòu)成。
(3)路由器(WiFi模塊)。WiFi模塊采用TP—LINK全新推出的150 Mbit·s-1迷你型3G無(wú)線路由器。該路由器具有尺寸小,供電電壓低的特點(diǎn)。其供電電壓只有5 V,且支持OpenWrt。OpenWrt是一個(gè)基于Linux的開源路由固件,提供了一個(gè)完全可寫的文件系統(tǒng)及軟件包管理,對(duì)支持OpenWrt的路由器刷機(jī)后,其相當(dāng)于一個(gè)Linux小系統(tǒng)。路由器選擇OpenWrt作為操作系統(tǒng),將USB攝像頭采集的現(xiàn)場(chǎng)圖片發(fā)給遠(yuǎn)端的PC控制終端,并將上位機(jī)發(fā)出的命令通過(guò)串口轉(zhuǎn)發(fā)給單片機(jī)控制系統(tǒng)。
(4)驅(qū)動(dòng)模塊??刂瓢逯饕娫茨K、電機(jī)驅(qū)動(dòng)、舵機(jī)驅(qū)動(dòng)、下載串口、單片機(jī)電路、紅外壁障、車燈控制以及數(shù)據(jù)通信接口等。在此主要介紹電機(jī)驅(qū)動(dòng)和舵機(jī)驅(qū)動(dòng)兩個(gè)驅(qū)動(dòng)模塊。電機(jī)驅(qū)動(dòng)采用英飛凌公司的BTS7960直流電刷電機(jī)驅(qū)動(dòng)芯片,其具有大電流MOSFET半橋結(jié)構(gòu)。芯片具有較高的集成度和足夠的輸出能力,并在能耗方面具有優(yōu)勢(shì)。在集成化和小型化的電機(jī)控制系統(tǒng)中,適合作為理想的電機(jī)驅(qū)動(dòng)芯片。
圖2為BTS7960與單片機(jī)組成的H電機(jī)驅(qū)動(dòng)單元。由于所采用驅(qū)動(dòng)芯片是半橋,因此需要采用兩片以構(gòu)成全橋?qū)崿F(xiàn)電機(jī)的正反轉(zhuǎn)。
單片機(jī)產(chǎn)生2路PWM輸出作為兩片BTS7960的控制信號(hào),同時(shí)要求PWM0、PWM1不能同時(shí)為高電平。采用定時(shí)器輸出硬件PWM脈沖,使得單片機(jī)CPU只在改變PWM占空比時(shí)參與運(yùn)算,這樣可大幅減輕系統(tǒng)運(yùn)算負(fù)擔(dān)和PWM軟件編程成本。
線性穩(wěn)壓器具有輸出電壓恒定或可調(diào)、穩(wěn)壓精度高的優(yōu)點(diǎn),但是由于其線性調(diào)整工作方式在工作中會(huì)造成較大的“熱損失”,導(dǎo)致其電源利用率不高、工作效率低下,不易達(dá)到便攜式設(shè)備對(duì)低功耗的要求。因此為保證較高的電源利用率,舵機(jī)驅(qū)動(dòng)采用LM2596開關(guān)型穩(wěn)壓芯片實(shí)現(xiàn),它可以提供3 A以上電流,驅(qū)動(dòng)強(qiáng)勁。圖3給出了舵機(jī)驅(qū)動(dòng)方案。
由于舵機(jī)型號(hào)為MG995,其工作電壓為5.0 V~7.0 V。因此舵機(jī)驅(qū)動(dòng)芯片選擇了可調(diào)LM2596-ADJ芯片,其輸出電壓Vout=Vref(1.0+R2/R1),其中,Vref=1.23 V為芯片內(nèi)部參考電壓。
3 軟件設(shè)計(jì)
軟件部分是機(jī)器人智能化的體現(xiàn),它控制WiFiRobot所有的運(yùn)行狀態(tài)。整個(gè)軟件系統(tǒng)體系結(jié)構(gòu)如圖4所示。
操作系統(tǒng)采用OpenWrt,此部分在路由器刷機(jī)部分完成,主要完成視頻采集、數(shù)據(jù)傳輸、轉(zhuǎn)發(fā)等功能。上位機(jī)軟件控制燈光控制、拍照、實(shí)時(shí)控制機(jī)器人運(yùn)動(dòng)等行為。下位機(jī)軟件通過(guò)接收來(lái)自上位機(jī)的命令,從而執(zhí)行相應(yīng)操作。而連接上位機(jī)和下位機(jī)之間的紐帶就是通信協(xié)議,軟件部分包括通信協(xié)議,客戶端控制軟件和下位機(jī)軟件。在此主要介紹通信協(xié)議和上位機(jī)的開發(fā)。
3.1 通信協(xié)議
上位機(jī)采用數(shù)據(jù)包格式傳送指令,也可以采用單字符的形式發(fā)送,由于單字符通信方式干擾較大,因此采用數(shù)據(jù)包格式傳送指令,包頭用OXFF,包尾用OXFF,無(wú)校驗(yàn)位。上位機(jī)利用無(wú)線網(wǎng)卡通過(guò)Socket發(fā)送數(shù)據(jù)包到路由器,路由器通過(guò)解包機(jī)制把數(shù)據(jù)包解開,通過(guò)串口發(fā)送到單片機(jī)并通過(guò)控制模塊執(zhí)行相關(guān)操作。其協(xié)議規(guī)定如表1所示。
3.2 上位機(jī)軟件
對(duì)于控制平臺(tái),文獻(xiàn)給出了一種基于Windows CE.net技術(shù)的方法,文中使用Visual Studio2010編寫C#上位機(jī)客戶端。采用TCP/IP協(xié)議,利用Socket發(fā)送數(shù)據(jù)包到路由器??蛻舳税▋蓚€(gè)窗口:主窗口和配置窗口。主窗口包括視頻顯示區(qū)及控制按鈕區(qū),主要用于顯示回傳視頻和實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)控制。配置窗口主要完成WiFi無(wú)線網(wǎng)絡(luò)及機(jī)器人控制指令自定義鍵值的配置。配置窗口和主窗口分別如圖5和圖6所示。
根據(jù)表1的通信協(xié)議,上位機(jī)通過(guò)Socket以Byte打包的方式向機(jī)器人發(fā)送控制命令,同時(shí)接收攝像頭回傳視頻流并在視頻顯示區(qū)實(shí)時(shí)顯示。視頻部分也可將攝像頭拍攝的視頻分解成一張張獨(dú)立的jpg圖片發(fā)送到客戶端,客戶端再將圖片組合成視頻。對(duì)于Socket數(shù)據(jù)發(fā)送,首先創(chuàng)建Socket對(duì)象的實(shí)例,創(chuàng)建Socket實(shí)例后上位機(jī)即可通過(guò)Connect方法連接到路由器,并通過(guò)Send方法路由器發(fā)送數(shù)據(jù)。數(shù)據(jù)發(fā)送完成后用Close方法關(guān)閉Socket以釋放資源。
除此之外,采用配置文件的方式來(lái)存取上一次配置的數(shù)據(jù),以免重復(fù)配置,并通過(guò)定義8個(gè)鍵盤值,便于觀察事件的執(zhí)行,以此可方便地通過(guò)鍵盤的觸發(fā)事件實(shí)現(xiàn)電機(jī)和舵機(jī)的全方位移動(dòng),且增加了拍照和車燈控制命令,經(jīng)測(cè)試上位機(jī)軟件運(yùn)行良好。
3.3 下位機(jī)軟件
驅(qū)動(dòng)板微處理器采用STC公司的STC89C516芯片。STC89C516單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾、高速、低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)的8051系列單片機(jī),這為很多嵌入式控制系統(tǒng)提供了一種靈活性高且成本低的方案。下位機(jī)程序主要包括:外部中斷、舵機(jī)PWM中斷、定時(shí)器、串口中斷、初始化等。下位機(jī)程序接收來(lái)自路由器轉(zhuǎn)發(fā)的上位機(jī)命令,實(shí)現(xiàn)數(shù)據(jù)接收、攝像頭云臺(tái)全方位控制、電機(jī)轉(zhuǎn)向、車燈控制、電池電量指示、紅外壁障等功能。
4 結(jié)束語(yǔ)
經(jīng)過(guò)實(shí)際調(diào)試運(yùn)行,WiFi Robot的實(shí)際控制距離可以達(dá)到100 m。WiFi Robot具有實(shí)時(shí)視頻傳輸、人工自主控制、紅外壁障等功能。實(shí)物如圖7和圖8所示。
在目前所設(shè)計(jì)機(jī)器人的基礎(chǔ)上,也可以對(duì)系統(tǒng)的功能進(jìn)行拓展,如加載多自由度機(jī)械臂、GPS定位、超聲波測(cè)距、外網(wǎng)控制等,則可實(shí)現(xiàn)全方位、超遠(yuǎn)距離控制,并廣泛應(yīng)用于險(xiǎn)情探測(cè)、圖像采集、目標(biāo)定位、無(wú)線通信等領(lǐng)域。