王曉旭,王承林,劉嘉成,張奕龍,賀曉辰
(邢臺學院,河北邢臺,054001)
遠程環境探測機器人廣泛應用于高危復雜環境作業,如航天航空、海底探測、核工業、排險防爆等方面。近年來,地震、核泄漏、礦難等時有發生,遠程探測機器人可以代替人們進入高危環境進行探測,輔助救援開展,以減少救援工作中的傷亡。探測機器人的快速發展,主要在遠程測控、循跡避障、無人操控等方面研究較為深入,像我國成功發射的嫦娥五號探測器和天問一號火星探測器,都屬于集成度、可靠性和穩定性非常高的探測機器人。
本設計將傳感檢測技術、無線技術與智能小車技術相結合,利用機器人作為載體,實現遙控探測獲取周圍的環境狀況,監控圖像和障礙物距離信息實時傳輸,上位機軟件可實時遠程監控,多維度還原機器人周圍的場景[1]。
系統設計方案框圖如圖1 所示。本設計以Arduino 控制板和擴展板為控制核心,主要分為三部分:(1)移動小車平臺設計。利用探索者平臺套件完成小車底盤和云臺的組裝,小車采用直流電機驅動,云臺采用舵機驅動;(2)WiFi 路由器將攝像頭采集的圖像信息傳遞給上位機監控軟件,同時該軟件可控制云臺左右、上下各180°的旋轉,還可通過手機APP 實現對小車的運動控制;(3)超聲波測距數據經藍牙無線傳輸至上位機雷達掃描軟件進行顯示。

圖1 系統設計方案框圖
Basra 是一款基于 Arduino 開源方案設計的開發板,控制板含 3A、6V 的穩壓芯片,可為舵機提供 6V 額定電壓。兩個 2×5 的杜邦座擴展塢,方便藍牙、OLED、無線模塊等擴展模塊進行直插連接[2]。
BigFish 擴展板板載2 片直流電機驅動芯片L9170、舵機接口、MAX7219LED 驅動芯片,可直接驅動直流電機、舵機、數碼管等機器人控制常規執行元件[3]。
擴展板和控制板堆疊連接使用,Basra 與BigFish 擴展板引腳接口示意圖如圖2 所示。

圖2 Basra 與BigFish 擴展板引腳接口示意圖
利用探索者創新套件進行車體的組裝,車輪可采用輪胎式或履帶式,采用四驅直流電機驅動。將左側、右側電機分別用1 拖2 直流電源線連起來,左側兩電機由BigFish 擴展板的直流電機接口D5、D6 控制,右側兩電機由D9、D10控制。當D5(D9)為高電平1、D6(D10)為低電平0 時左側(右側)電機正轉,反之電機反轉[1]。
采用兩個180 度舵機分別控制水平旋轉和垂直旋轉,形成二自由度云臺,用于裝載攝像頭和超聲波模塊,車體原地不動時可實現超聲波和攝像頭上下、左右180 度的掃描。舵機三個引腳分別是GND、VCC、PWM,兩舵機分別對應接在擴展板3 針舵機接口上,PWM 引腳接D3、D4。
用Arduino 控制舵機一般有兩種方法:
①通過Arduino 的數字引腳產生不同占空比的方波,模擬產生PWM 信號,通過調整輸入PWM 信號脈寬改變舵機的旋轉角度,從而控制舵機運行[4]。所用舵機其對應關系如圖3 所示。

圖3 PWM 信號脈沖寬度與舵機旋轉角度的關系
②直接利用Arduino 自帶的Servo 庫進行控制。
WiFi 視頻組包含GL-AR150 路由器、USB 攝像頭以及通信轉接板。該視頻模塊是一個TP-Link 的703N 型小型路由器,刷上了Linux 開源的OpenWrt 系統,在系統中加載了攝像頭驅動,支持連接USB 攝像頭,作為高清無線網絡監控。PC 或手機通過WiFi 連接視頻模塊后,利用應用程序打開視頻模塊上的攝像頭,通過上位機可以隨時隨地輕松訪問。
通信轉接板的USB 接口與WiFi 路由器上的電源接口相連,轉接板上的串口線GND、RX、TX 分別與路由器上的GND、TX、RX 對應相連接,USB 攝像頭連接到路由器的標準USB 接口。
工作時,上位機連接路由器WiFi,輸入密碼連接成功后,上位機軟件即可實現對攝像頭采集圖像的顯示,以及對舵機云臺的控制,攝像頭可跟隨云臺上下、左右180 度旋轉。
該模塊實現障礙物測距及數據無線傳輸功能。
HC-SR04 超聲波測距模塊可具有 2cm~400cm 的非接觸式距離感測功能,測距精度為 3mm;模塊包含超聲波發射器、接收器與控制電路[5]。模塊的ECHO 和TRIG 分別連接主控板的A0、A1 傳感器接口。
HC-04 藍牙串口通信模塊是基于 V2.1(SPP)經典藍牙協議和 V4.0(BLE)藍牙協議的雙模數傳模塊。無線工作頻段為 2.4GHz ISM,調制方式是 GFSK[6]。從機和單片機連接,主機和電腦USB 口連接,用于距離數據的無線傳輸。藍牙從機與Bigfish 擴展板的RX 和TX 對應連接,上電后,主從機會自動配對,成功后主機和從機的指示燈會常亮。
控制流程如圖4 所示。

圖4 運動控制程序流程圖
本設計采用Servo 庫進行舵機控制。Servo 庫常用函數:
Attach(接口)—設定舵機接口。
Write(角度)—用于設定舵機旋轉的角度,可設定范圍0°~180°。
接通電源,上位機連接WiFi 成功后,通過串口通信向下位機單片機發送指令0、1、2、3、4,利用switch()case、servo.write()語句和整型變量a 和b 值的變化來控制舵機的轉動。
case 0 為保持a 和b 的值為當前值,舵機不動;
case 1 為使a 自增1,對應水平舵機1 向右轉動1 度;
case 2 為使a 自減1,對應水平舵機1 向左轉動1 度;
case 3 為使b 自增1,對應豎直舵機2 向右轉動1 度;
case 4 為使b 自減1,對應豎直舵機2 向左轉動1 度。
上位機通過串口通信向下位機單片機發送指令0、1、2、3、4,利用switch()case、digitalWrite()語句控制直流電機正反轉實現小車停止、向左、向右、向前、向后的運動控制。兩側電機停止則小車停止,兩側均正轉小車前進,兩側均反轉小車后退,左側正轉右側反轉小車右轉,右側正轉左側反轉小車左轉。
程序設計流程圖如圖5 所示。

圖5 超聲波測距程序設計流程圖
給Trig 引腳施加至少10μs 的高電平觸發脈沖,HCSR04 則自動發射8 個40kHz 的方波(即為超聲波)。從向外發射超聲波的時刻開始,Echo 引腳就會變成高電平,高電平會一直持續到HC-SR04 接收到回波為止。波從發射到返回的時間即為高電平的持續時間,測試距離=(高電平時間×聲速(340m/s))/2[5]。


小車的運動控制可通過移動端軟件WIFIRobot.apk 軟件操作。首先需要手機連接小車路由器WiFi,打開軟件設置界面如圖6 所示。控制小車運動的控制參數中指令01--前進,02--后退,03--左轉,04--右轉,00--停止。

圖6 手機端軟件參數設置
確認后進入圖7 所示控制界面,顯示攝像頭采集的圖像,同時通過控制前、后、左、右按鈕即可控制小車的運動。

圖7 手機端控制軟件
打開電腦端WiFiRobot 軟件,聯網并進行相應參數設置后,執行“視頻”指令,可顯示當前攝像頭采集圖像,如圖8 所示。執行“前、后”指令,控制豎直云臺舵機動作。執行“左、右”指令,控制水平云臺舵機左右轉動,“停止”指令則控制舵機云臺靜止。

圖8 手機端控制軟件
另外,在瀏覽器中輸入:192.168.8.1,登錄界面輸入密碼,在監控頁面可以對畫面分辨率進行設置,然后在瀏覽器地址欄中輸入“IP:端口號”(192.168.8.1:8083),即可在瀏覽器端訪問攝像頭,如圖9 所示。

圖9 網頁端監控畫面
為了能實時直觀地展現超聲波探測的數據和環境內整體障礙物情況,制作一款數據圖形化顯示軟件。Processing是為開發面向圖形的應用而生的簡單易用的編程語言和編程環境[7],基于Processing 編寫測距雷達掃描軟件,主要包含serialEvent()(串口數據讀取)、drawRadar()(雷達圖弧線和角度線繪制)、drawObject()和drawLine()(障礙物測距雷達掃描線繪制)、drawText()(角度、距離等文本顯示)函數的編寫。
電腦端Processing 上位機軟件接收來自藍牙主機的數據,包括水平舵機轉動的角度和超聲波模塊與障礙物的距離值,繪制具有雷達掃描效果的監視器畫面動態圖形,相當于一個障礙物空間掃描雷達,直觀顯示出探測環境內的具體情況。探測小車及障礙物掃描如圖10 所示。

圖10 探測小車及障礙物距離雷達掃描圖
該環境探測機器人具有距離測量、障礙物掃描、視頻監控等功能。移動小車搭載二自由度云臺,探測范圍廣,360 度無死角。圖形化數據顯示形象直觀,從視頻和距離數據兩個維度反映所探測的環境信息,可更全面還原真實場景。同時移動小車可選擇使用履帶式驅動或四輪式驅動,可滿足倉庫、居家、礦井、山洞等多種復雜環境下的環境探測工作。
該環境探測機器人可以快速采集、實時信息傳輸,通過功能的擴展可達到不同的探測目的。如巡檢機器人,加裝不同傳感器可用于受限空間、有毒有害氣體等特殊環境下的信息采集;排爆機器人,若加裝機械臂能夠完成遠程操控排爆的任務;若加裝生命探測儀也可完成震后災區搜救任務等。