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