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