王曉旭,王承林,劉嘉成,張奕龍,賀曉辰
(邢臺學院,河北邢臺,054001)
遠程環(huán)境探測機器人廣泛應(yīng)用于高危復雜環(huán)境作業(yè),如航天航空、海底探測、核工業(yè)、排險防爆等方面。近年來,地震、核泄漏、礦難等時有發(fā)生,遠程探測機器人可以代替人們進入高危環(huán)境進行探測,輔助救援開展,以減少救援工作中的傷亡。探測機器人的快速發(fā)展,主要在遠程測控、循跡避障、無人操控等方面研究較為深入,像我國成功發(fā)射的嫦娥五號探測器和天問一號火星探測器,都屬于集成度、可靠性和穩(wěn)定性非常高的探測機器人。
本設(shè)計將傳感檢測技術(shù)、無線技術(shù)與智能小車技術(shù)相結(jié)合,利用機器人作為載體,實現(xiàn)遙控探測獲取周圍的環(huán)境狀況,監(jiān)控圖像和障礙物距離信息實時傳輸,上位機軟件可實時遠程監(jiān)控,多維度還原機器人周圍的場景[1]。
系統(tǒng)設(shè)計方案框圖如圖1 所示。本設(shè)計以Arduino 控制板和擴展板為控制核心,主要分為三部分:(1)移動小車平臺設(shè)計。利用探索者平臺套件完成小車底盤和云臺的組裝,小車采用直流電機驅(qū)動,云臺采用舵機驅(qū)動;(2)WiFi 路由器將攝像頭采集的圖像信息傳遞給上位機監(jiān)控軟件,同時該軟件可控制云臺左右、上下各180°的旋轉(zhuǎn),還可通過手機APP 實現(xiàn)對小車的運動控制;(3)超聲波測距數(shù)據(jù)經(jīng)藍牙無線傳輸至上位機雷達掃描軟件進行顯示。
圖1 系統(tǒng)設(shè)計方案框圖
Basra 是一款基于 Arduino 開源方案設(shè)計的開發(fā)板,控制板含 3A、6V 的穩(wěn)壓芯片,可為舵機提供 6V 額定電壓。兩個 2×5 的杜邦座擴展塢,方便藍牙、OLED、無線模塊等擴展模塊進行直插連接[2]。
BigFish 擴展板板載2 片直流電機驅(qū)動芯片L9170、舵機接口、MAX7219LED 驅(qū)動芯片,可直接驅(qū)動直流電機、舵機、數(shù)碼管等機器人控制常規(guī)執(zhí)行元件[3]。
擴展板和控制板堆疊連接使用,Basra 與BigFish 擴展板引腳接口示意圖如圖2 所示。
圖2 Basra 與BigFish 擴展板引腳接口示意圖
利用探索者創(chuàng)新套件進行車體的組裝,車輪可采用輪胎式或履帶式,采用四驅(qū)直流電機驅(qū)動。將左側(cè)、右側(cè)電機分別用1 拖2 直流電源線連起來,左側(cè)兩電機由BigFish 擴展板的直流電機接口D5、D6 控制,右側(cè)兩電機由D9、D10控制。當D5(D9)為高電平1、D6(D10)為低電平0 時左側(cè)(右側(cè))電機正轉(zhuǎn),反之電機反轉(zhuǎn)[1]。
采用兩個180 度舵機分別控制水平旋轉(zhuǎn)和垂直旋轉(zhuǎn),形成二自由度云臺,用于裝載攝像頭和超聲波模塊,車體原地不動時可實現(xiàn)超聲波和攝像頭上下、左右180 度的掃描。舵機三個引腳分別是GND、VCC、PWM,兩舵機分別對應(yīng)接在擴展板3 針舵機接口上,PWM 引腳接D3、D4。
用Arduino 控制舵機一般有兩種方法:
①通過Arduino 的數(shù)字引腳產(chǎn)生不同占空比的方波,模擬產(chǎn)生PWM 信號,通過調(diào)整輸入PWM 信號脈寬改變舵機的旋轉(zhuǎn)角度,從而控制舵機運行[4]。所用舵機其對應(yīng)關(guān)系如圖3 所示。
圖3 PWM 信號脈沖寬度與舵機旋轉(zhuǎn)角度的關(guān)系
②直接利用Arduino 自帶的Servo 庫進行控制。
WiFi 視頻組包含GL-AR150 路由器、USB 攝像頭以及通信轉(zhuǎn)接板。該視頻模塊是一個TP-Link 的703N 型小型路由器,刷上了Linux 開源的OpenWrt 系統(tǒng),在系統(tǒng)中加載了攝像頭驅(qū)動,支持連接USB 攝像頭,作為高清無線網(wǎng)絡(luò)監(jiān)控。PC 或手機通過WiFi 連接視頻模塊后,利用應(yīng)用程序打開視頻模塊上的攝像頭,通過上位機可以隨時隨地輕松訪問。
通信轉(zhuǎn)接板的USB 接口與WiFi 路由器上的電源接口相連,轉(zhuǎn)接板上的串口線GND、RX、TX 分別與路由器上的GND、TX、RX 對應(yīng)相連接,USB 攝像頭連接到路由器的標準USB 接口。
工作時,上位機連接路由器WiFi,輸入密碼連接成功后,上位機軟件即可實現(xiàn)對攝像頭采集圖像的顯示,以及對舵機云臺的控制,攝像頭可跟隨云臺上下、左右180 度旋轉(zhuǎn)。
該模塊實現(xiàn)障礙物測距及數(shù)據(jù)無線傳輸功能。
HC-SR04 超聲波測距模塊可具有 2cm~400cm 的非接觸式距離感測功能,測距精度為 3mm;模塊包含超聲波發(fā)射器、接收器與控制電路[5]。模塊的ECHO 和TRIG 分別連接主控板的A0、A1 傳感器接口。
HC-04 藍牙串口通信模塊是基于 V2.1(SPP)經(jīng)典藍牙協(xié)議和 V4.0(BLE)藍牙協(xié)議的雙模數(shù)傳模塊。無線工作頻段為 2.4GHz ISM,調(diào)制方式是 GFSK[6]。從機和單片機連接,主機和電腦USB 口連接,用于距離數(shù)據(jù)的無線傳輸。藍牙從機與Bigfish 擴展板的RX 和TX 對應(yīng)連接,上電后,主從機會自動配對,成功后主機和從機的指示燈會常亮。
控制流程如圖4 所示。
圖4 運動控制程序流程圖
本設(shè)計采用Servo 庫進行舵機控制。Servo 庫常用函數(shù):
Attach(接口)—設(shè)定舵機接口。
Write(角度)—用于設(shè)定舵機旋轉(zhuǎn)的角度,可設(shè)定范圍0°~180°。
接通電源,上位機連接WiFi 成功后,通過串口通信向下位機單片機發(fā)送指令0、1、2、3、4,利用switch()case、servo.write()語句和整型變量a 和b 值的變化來控制舵機的轉(zhuǎn)動。
case 0 為保持a 和b 的值為當前值,舵機不動;
case 1 為使a 自增1,對應(yīng)水平舵機1 向右轉(zhuǎn)動1 度;
case 2 為使a 自減1,對應(yīng)水平舵機1 向左轉(zhuǎn)動1 度;
case 3 為使b 自增1,對應(yīng)豎直舵機2 向右轉(zhuǎn)動1 度;
case 4 為使b 自減1,對應(yīng)豎直舵機2 向左轉(zhuǎn)動1 度。
上位機通過串口通信向下位機單片機發(fā)送指令0、1、2、3、4,利用switch()case、digitalWrite()語句控制直流電機正反轉(zhuǎn)實現(xiàn)小車停止、向左、向右、向前、向后的運動控制。兩側(cè)電機停止則小車停止,兩側(cè)均正轉(zhuǎn)小車前進,兩側(cè)均反轉(zhuǎn)小車后退,左側(cè)正轉(zhuǎn)右側(cè)反轉(zhuǎn)小車右轉(zhuǎn),右側(cè)正轉(zhuǎn)左側(cè)反轉(zhuǎn)小車左轉(zhuǎn)。
程序設(shè)計流程圖如圖5 所示。
圖5 超聲波測距程序設(shè)計流程圖
給Trig 引腳施加至少10μs 的高電平觸發(fā)脈沖,HCSR04 則自動發(fā)射8 個40kHz 的方波(即為超聲波)。從向外發(fā)射超聲波的時刻開始,Echo 引腳就會變成高電平,高電平會一直持續(xù)到HC-SR04 接收到回波為止。波從發(fā)射到返回的時間即為高電平的持續(xù)時間,測試距離=(高電平時間×聲速(340m/s))/2[5]。
小車的運動控制可通過移動端軟件WIFIRobot.apk 軟件操作。首先需要手機連接小車路由器WiFi,打開軟件設(shè)置界面如圖6 所示??刂菩≤囘\動的控制參數(shù)中指令01--前進,02--后退,03--左轉(zhuǎn),04--右轉(zhuǎn),00--停止。
圖6 手機端軟件參數(shù)設(shè)置
確認后進入圖7 所示控制界面,顯示攝像頭采集的圖像,同時通過控制前、后、左、右按鈕即可控制小車的運動。
圖7 手機端控制軟件
打開電腦端WiFiRobot 軟件,聯(lián)網(wǎng)并進行相應(yīng)參數(shù)設(shè)置后,執(zhí)行“視頻”指令,可顯示當前攝像頭采集圖像,如圖8 所示。執(zhí)行“前、后”指令,控制豎直云臺舵機動作。執(zhí)行“左、右”指令,控制水平云臺舵機左右轉(zhuǎn)動,“停止”指令則控制舵機云臺靜止。
圖8 手機端控制軟件
另外,在瀏覽器中輸入:192.168.8.1,登錄界面輸入密碼,在監(jiān)控頁面可以對畫面分辨率進行設(shè)置,然后在瀏覽器地址欄中輸入“IP:端口號”(192.168.8.1:8083),即可在瀏覽器端訪問攝像頭,如圖9 所示。
圖9 網(wǎng)頁端監(jiān)控畫面
為了能實時直觀地展現(xiàn)超聲波探測的數(shù)據(jù)和環(huán)境內(nèi)整體障礙物情況,制作一款數(shù)據(jù)圖形化顯示軟件。Processing是為開發(fā)面向圖形的應(yīng)用而生的簡單易用的編程語言和編程環(huán)境[7],基于Processing 編寫測距雷達掃描軟件,主要包含serialEvent()(串口數(shù)據(jù)讀?。rawRadar()(雷達圖弧線和角度線繪制)、drawObject()和drawLine()(障礙物測距雷達掃描線繪制)、drawText()(角度、距離等文本顯示)函數(shù)的編寫。
電腦端Processing 上位機軟件接收來自藍牙主機的數(shù)據(jù),包括水平舵機轉(zhuǎn)動的角度和超聲波模塊與障礙物的距離值,繪制具有雷達掃描效果的監(jiān)視器畫面動態(tài)圖形,相當于一個障礙物空間掃描雷達,直觀顯示出探測環(huán)境內(nèi)的具體情況。探測小車及障礙物掃描如圖10 所示。
圖10 探測小車及障礙物距離雷達掃描圖
該環(huán)境探測機器人具有距離測量、障礙物掃描、視頻監(jiān)控等功能。移動小車搭載二自由度云臺,探測范圍廣,360 度無死角。圖形化數(shù)據(jù)顯示形象直觀,從視頻和距離數(shù)據(jù)兩個維度反映所探測的環(huán)境信息,可更全面還原真實場景。同時移動小車可選擇使用履帶式驅(qū)動或四輪式驅(qū)動,可滿足倉庫、居家、礦井、山洞等多種復雜環(huán)境下的環(huán)境探測工作。
該環(huán)境探測機器人可以快速采集、實時信息傳輸,通過功能的擴展可達到不同的探測目的。如巡檢機器人,加裝不同傳感器可用于受限空間、有毒有害氣體等特殊環(huán)境下的信息采集;排爆機器人,若加裝機械臂能夠完成遠程操控排爆的任務(wù);若加裝生命探測儀也可完成震后災(zāi)區(qū)搜救任務(wù)等。