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