孫華,吳亞明,,李偉
?。ü枮I工程大學 自動化學院,黑龍江 哈爾濱 150001)
摘要:設計了一種移動機器人無線局域網(wǎng)控制系統(tǒng),,采用OpenWrt系統(tǒng)的無線路由器建立無線局域網(wǎng),,與FPGA進行數(shù)據(jù)轉(zhuǎn)換,設計了系統(tǒng)的人機交互界面,。通過WiFi,,操作人員可以對移動機器人進行遙操作控制。通過整體設計使得系統(tǒng)能通過無線局域網(wǎng)將移動機器人控制器與上位機控制平臺聯(lián)系起來進行數(shù)據(jù)交流,,實現(xiàn)上位機對移動機器人的遙操作控制功能以及對移動機器人的監(jiān)測功能,。
關鍵詞:OpenWrt;無線局域網(wǎng),;FPGA,;WiFi;人機交互
0引言
隨著無線數(shù)據(jù)傳輸協(xié)議的規(guī)范和無線局域網(wǎng)(Wireless Local Area Network,,WLAN)傳輸速率和穩(wěn)定性的提高,,無線局域網(wǎng)在機器人領域得到了應用。當機器人在惡劣的環(huán)境或者有毒,、危險的環(huán)境下工作時,,對操作人員的人身安全和身心健康造成極大的危害,因此很多機器人的控制方式已經(jīng)從傳統(tǒng)的現(xiàn)場控制發(fā)展到遠程遙控的方式,。操作人員的工作位置與機器人的作業(yè)位置可以在兩個不同的地方,,保證了操作人員的人身安全[1],。
本文設計了基于OpenWrt系統(tǒng)的無線路由器的無線局域網(wǎng)。整個系統(tǒng)由上位機和下位機組成,,通過基于OpenWrt系統(tǒng)的無線路由器進行傳輸數(shù)據(jù),。下位機采用FPGA控制板作為控制器,將無線路由器的網(wǎng)口數(shù)據(jù)轉(zhuǎn)化為FPGA方便處理的串口數(shù)據(jù),,使得在進行數(shù)據(jù)編排時更加簡單,、快捷,降低了成本,,縮短了開發(fā)時間,。
1移動機器人無線局域網(wǎng)實現(xiàn)
本文首先闡述了系統(tǒng)中無線局域網(wǎng)的通信原理,闡明了數(shù)據(jù)轉(zhuǎn)化的方式,,然后對建立無線局域網(wǎng)的設備進行了介紹,,并對其內(nèi)部進行了一些修改,最后對OpenWrt系統(tǒng)和其安裝配置進行了簡要說明,。
1.1機器人無線局域網(wǎng)通信系統(tǒng)總體設計
本文實現(xiàn)的無線局域網(wǎng)方案是由無線路由器發(fā)出WiFi信號,無線路由器可以基于人為定制的OpenWrt系統(tǒng)安裝,。無線路由器發(fā)射的無線局域網(wǎng)完成的通信功能有兩個:將網(wǎng)口數(shù)據(jù)轉(zhuǎn)化為串口數(shù)據(jù)實現(xiàn)與上位機通信,;將攝像頭采集的數(shù)據(jù)發(fā)送給上位機處理。為滿足要求,,在OpenWrt系統(tǒng)的無線路由器上安裝兩個軟件:ser2net和mjpgstreamer,。
ser2net是網(wǎng)口串口數(shù)據(jù)互轉(zhuǎn)的軟件,上位機發(fā)送的控制指令以網(wǎng)口為路徑經(jīng)ser2net從串口轉(zhuǎn)發(fā)給移動機器人的FPGA控制板,,同樣FPGA控制板也可以將該路徑反過來反饋數(shù)據(jù)給上位機[2],。mjpgstreamer可用于通過網(wǎng)絡攝像頭采集圖像,把圖像數(shù)據(jù)以流的形式通過基于IP的網(wǎng)絡傳輸?shù)綖g覽器,。移動機器人無線局域網(wǎng)通信原理圖如圖1所示,。
1.2無線路由器
本文采用的路由器型號為TPLINKWR703N,傳輸標準為IEEE 802.11b/g/n,,無線傳輸率為150 Mb/s,。該路由采用AR9331的方案,主控芯片為AR9331芯片,,為方便串口通信,,將該路由的數(shù)據(jù)輸入和數(shù)據(jù)輸出線引出作為TTL串口通信的RX和TX數(shù)據(jù)線,并引出接地線,。
無線路由器的路由模式有3種:3G路由模式,、無線路由模式、無線AP模式,。本設計采用無線AP模式下的接入點模式,。
1.3OpenWrt系統(tǒng)
OpenWrt是一個高度模塊化,、高度自動化的嵌入式Linux系統(tǒng),擁有強大的網(wǎng)絡組件和高擴展性,,常常被用于工控設備,、電話、小型機器人,、智能家居,、路由器以及VOIP設備中。有一個稱作LuCI的Web交互接口用于配置路由器,。這個Web接口有許多配置頁面,,可以管理安裝可用的軟件包,但是有些軟件不能從網(wǎng)絡安裝,,所以通過終端配置也是一種不可或缺的選擇[3],。
1.4OpenWrt系統(tǒng)定制
本文采用基于Linux的Ubuntu13.10操作系統(tǒng)定制OpenWrt系統(tǒng)。為定制OpenWrt系統(tǒng),,需在Ubuntu13.10操作系統(tǒng)下安裝一定的編譯依賴包和OpenWrt系統(tǒng)源碼,。
編譯依賴包具體安裝指令如下:先輸入sudo aptget update,再輸入sudo aptget install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5dev ncursesterm zlib1gdev[4],。Ubuntu安裝編譯依賴包過程如圖2所示,。
本設計選擇OpenWrt提供的backfire版,下載過程為:先輸入mkdir openWrt創(chuàng)建文件夾,,再輸入cd openwrt確定,,緊接著下載OpenWrt源碼(svn co svn://svn.openwrt.org/openwrt/branches/backfire/)。下載安裝backfire版系統(tǒng)源碼如圖3所示,。
1.5Ser2net和Mipgstreamer
本文所使用的系統(tǒng)需要ser2net和mjpgstreamer兩個軟件來完成數(shù)據(jù)的轉(zhuǎn)化,。
ser2net的作用是把接收到的網(wǎng)絡數(shù)據(jù)(TCP/IP格式)轉(zhuǎn)化為處理器可以處理的串口數(shù)據(jù),同時把串口數(shù)據(jù)打包成網(wǎng)絡格式(TCP/IP格式)發(fā)送出去,。把此程序放入路由器的啟動項程序中,,每當串口接收到來自FPGA的數(shù)據(jù)時,便會觸發(fā)該程序,,把串口數(shù)據(jù)自動打包,,再送到下一級處理。
mjpgstreamer的作用是將攝像頭采集的視頻流數(shù)據(jù)以mjpg流媒體協(xié)議輸出到路由器,,然后通過ser2net將流媒體數(shù)據(jù)轉(zhuǎn)化為網(wǎng)絡格式(TCP/IP格式)發(fā)送出去[5],。
1.6無線路由器OpenWrt系統(tǒng)
本設計選擇設置頁面的升級接口方式進行系統(tǒng)安裝。具體過程如下:設置進行刷機的PC的網(wǎng)卡IP為 192.168.1.100,,子網(wǎng)掩碼為255.255.255.0,;用網(wǎng)線將無線路由器與PC連接,按住路由器reset按鈕,,接電源,,直到藍色指示燈亮起后松開reset按鈕,;用瀏覽器打開192.168.1.1,進入failsafe刷機界面,;在刷機界面中選擇刷機的目的固件并確定,,等待大約5 min直到指示燈不閃爍,隨后刷機完成,,可以進入固件界面,。
2上位機與無線局域網(wǎng)通信
圖4ser2net工作流程圖上位機與移動機器人控制板的無線局域網(wǎng)通信實際上是上位機數(shù)據(jù)通過網(wǎng)絡端口轉(zhuǎn)串口進行發(fā)送。通過OpenWrt系統(tǒng)中安裝的軟件ser2net完成轉(zhuǎn)發(fā)功能,。同時視頻數(shù)據(jù)傳輸?shù)缴衔粰C界面后通過綁定的端口號和IP將視頻進行解碼,。在上位機上運用Socket編程和多線程編程將流媒體數(shù)據(jù)提取出來[6]。TCP網(wǎng)口數(shù)據(jù)轉(zhuǎn)發(fā)到串口的工作流程圖如圖4所示,。
3上位機與無線局域網(wǎng)系統(tǒng)測試
調(diào)試過程中先將無線路由器通過串口轉(zhuǎn)USB線連接計算機,,然后將計算機接入無線路由器發(fā)射出的無線局域網(wǎng),如圖5所示,。
接著打開上位機軟件接入網(wǎng)絡,,設置控制信號為不同值,如圖6所示,?!?/p>
然后通過上位機發(fā)出控制指令,由串口調(diào)試助手監(jiān)測無線路由器是否轉(zhuǎn)發(fā)了該控制指令,,如圖7所示。
4人機交互系統(tǒng)
本文開發(fā)的人機交互系統(tǒng)主要有兩個功能:視頻觀察,、移動機器人控制,。視頻觀察是通過攝像頭將畫面顯示到人機交互界面,以便實時監(jiān)控移動機器人的路況,,防止移動機器人在運動過程中碰到障礙物,,發(fā)生損壞。在控制區(qū)有移動機器人的操作指令和視頻關閉按鈕,,可以對移動機器人進行遙操作,。
5無線局域網(wǎng)系統(tǒng)整體調(diào)試
在調(diào)試完成并測試了各個模塊可以正常工作后,需要調(diào)試整體功能,,最終經(jīng)過系統(tǒng)調(diào)試,,整個系統(tǒng)可實現(xiàn)正常運行。
6結論
本文通過將OpenWrt系統(tǒng)移植到無線路由器中,,實現(xiàn)了網(wǎng)口數(shù)據(jù)轉(zhuǎn)化為串口數(shù)據(jù),,通過FPGA進行處理,并將圖像數(shù)據(jù)以流的形式通過基于IP的網(wǎng)絡傳輸?shù)缴衔粰C界面,,構成一個完整的無線局域網(wǎng)系統(tǒng),。
本文開發(fā)的人機交互界面具有較強的可移植性,,對于不同的主控系統(tǒng)都可以很好地兼容。實驗表明,,該人機交互界面同以往無線數(shù)據(jù)傳輸開發(fā)工具相比,,具有開發(fā)周期短、可移植性好,、操作簡單等優(yōu)點,。
參考文獻
[1] 徐志暉,陸宇平. 無線局域網(wǎng)在移動機器人遠程控制中的應用[J]. 信息技術,2004,28(12):79,52.
?。?] 蔣嘉柔,蘇寒松,李婷. 基于手機終端無線通信系統(tǒng)的設計與實現(xiàn)[J]. 電子測量技術,2015,38(10):122130.
?。?] 曹為華,凌強,張雷,等. 基于OpenWrt系統(tǒng)路由器的模式切換與網(wǎng)頁設計[J]. 微型機與應用,2015,34(23):9194.
[4] 危思思. 基于OpenWrt開源平臺的移動智能裝備[D].杭州:浙江大學,2014.
?。?] 李歡,魏衡華.基于仿人機器人的無線視頻監(jiān)控系統(tǒng)設計[J].微型機與應用,2014,33(10):8891,94.
?。?] 李章俊,沈天怡,華嬌嬌,等. 基于WiFi技術的多功能小型搜救機器人[J]. 電子世界,2014,13(6):198199.