張珍珍,劉吉軒,王國平,張 琛,劉云韜,陸佐偉,王麒豪
(1.西安交通大學城市學院,機械工程系,陜西 西安 710054;2.西安交通大學城市學院機械工程系機器人研究所,陜西 西安 710054;3.陜西省示范實驗室機械工程系實驗室,陜西 西安 710054)
近年來,巡檢機器人的應用越來越廣泛,實用價值也越來越高。巡檢機器人作為一種可移動的機器人基礎平臺,可以使人類從一些較為危險工作解放出來,亦可代替人類從事一些繁雜、重復的機械工作[1]。隨著巡檢機器人的廣泛使用,不僅保障了人生安全,避免了工作環境對使用者的造成的健康傷害;而且提高了巡檢效率,保證了巡檢可靠性。因此,保證巡檢機器人正常工作是巡檢機器人的核心,智能小車是巡檢機器人的基礎研究,因此,監控小車的運行狀態是保證機器人正常運行的重要手段。
Labview 是一款以數據流為基礎的圖形化編程軟件,具有軟件與硬件兩種協議,通過協議,信息發送方與接收方就能在緩存即將存滿時,進行相互通報,這樣發送方就能及時地停止數據的發送,直到接收方清空緩存并做好接收新數據的準備后,再次發送消息,這樣能夠有效解決上下位機之間的時序沖突問題,且在人機交互過程中具有一定的優勢[2]。因此,使用Labview軟件作為監控系統的開發平臺。綜上,本文將以Labview 軟件為基礎進行編程,設計人機交互界面,實現遠程實時監控巡檢機器人,保障機器人的正常運行。
由于智能小車的快速發展,其多傳感器的融合,復雜的工作環境、適應范圍廣泛等特點對遠程監控系統的實時性、可控性提出了新的要求。單片機具有成本較低、功能強大的特點,以單片機作為下位機接收、處理數據;計算機具有很好的人機交互功能,所以作為監控系統的上位機;上位機與下位機的通訊,即:計算機與單片機,兩者之間的數據交流采用藍牙通信的模式。
智能小車監控系統首先需下位機進行數據接收,收集完成后,通過藍牙模塊,進行數據的無線傳輸,上位機確認接收到數據后,利用Labview 環境將數據進行解析,設計監控界面。使用Labview環境內部函數處理數據后的將有效數據顯示在監控界面上,達到實時監控智能小車的目的。
監控系統包括硬件系統與軟件平臺。硬件系統包含GPS 模塊、超聲波測距模塊和藍牙通訊模塊;軟件平臺為Labview虛擬儀器操作平臺。
硬件系統主要包含三個模塊,分別為GPS 模塊、超聲波測距模塊和藍牙模塊。超聲波實現測量障礙物距離,GPS 模塊實現定位,藍牙模塊實現通信。
GPS 模塊為維特智能GPS+BD 雙模定位模塊,型號為WTGPS+BD。超聲波測距模塊為HC-sr04 型超聲波測距模塊,它以便于應用的封裝提供出色的非接觸領域檢測,具有低誤差和穩定的讀數,模塊上具備超聲波發射器和接收器模塊。
藍牙通訊模塊為HC-08 藍牙串口通信模塊,目的是將有線傳輸變為無線傳輸。
上位機利用Labview 軟件進行開發,其開發環境由前面板和程序框圖組成。前面板:根據使用者的需求選擇對應的控件進行創建面板,同時可以改變背景,字體及大小等,在當前界面完成監控系統界面的設計,使得前面板具備人機交互界面的功能。程序框圖:根據建立目的對前面板使用的控件進行相應的函數循環結構并連線通訊,編程完成后運行程序,運行無誤后完成程序框圖的建立。一般情況下先在前面板選取控件后在程序框圖內依據功能進行連線通訊。在本次設計中,使用Labview 環境內的VISA函數進行數據處理,經過屬性節點的選擇,截取需要的數據段,創建顯示控件,將處理過后的數據顯示在監控界面上,達到實時監控智能小車的目的。軟件平臺設計具體步驟為:創建VISA 配置串口→串口寫入控件添加輸入→串口讀寫控件添加讀寫字節數增加循環結構→增加條件結構→完成前面板布局。
上位機的軟件系統是在Labview 環境下設計GPS 信息采集系統,利用GPS 模塊產生的GNRMC數據進行處理,顯示小車具體經緯度信息[3]。通過使用Labview 環境內的VISA 函數,創建數據接收串口,使用VISA 讀取和VISA 寫入將接收到的數據進行處理,使用數值顯示控件將處理過的數據顯示在監控面板上,達到實時監控小車運行情況的目的。
1)串口讀取程序設計。將VISA 串口配置函數與硬件匹配,可以在監控界面內顯示匹配節點,例如設置波特率,串口名稱(COM 口)等。當數據接收正常,數據段進入VISA 串口讀取單元,完成了發送數據和接收數據的功能后,進行連續讀取循環。數據從VISA 函數內不斷刷新,顯示面板內會同時更新每一行數據,通過反饋節點將每一段數據進行保存,顯示面板內的數據為歷史數據,經過反饋節點進行保存。
2)篩選數據段。串口讀取的GPS 數據傳送至Labview 環境中,利用NMEA 協議篩選出需要的數據段,即:GNRMC,需要對其進行篩選。GPS 模塊產生的GNRMC 數據當中,第十六字段符為有效驗證符,字母A 為正確效驗符號,只有在驗證字母A 為正確效驗符號后,才可以進行下一步的運行。在主程序中,當檢測到定位數據有效(A)時,進入時間轉換函數子VI。
GPS 模塊輸出的數據段中,首先使用時間數據段,時間數據段中的數據表示的是UTC 時間(Coordinated Universal Time 世界標準時間),而我們需要的是北京時間。北京在東八區,時間線上以東邊為正,西邊為負,東八區的時間節點比UTC 時間節點早八小時。因此,需要在UTC 時間數據段加八小時為北京時間數據段,若時間超過二十四小時,則減去二十四小時,并在日期加一天。由于提取出來的數據為字符串格式,在監控界面內顯示時間之前,需要在數組中提取1-2,3-4,5-6 三組字符串分別為時、分和秒。將數據段格式強制轉換后,在小時處加八,這樣,獲取到的數據為GPS 模塊發出的北京時間數據[4]。
3)設計數據顯示格式。GPS 模塊產生的緯度數據段樣式是2478.17233,截取前兩位數字作為緯度顯示,三四位作為緯分顯示,在進行秒顯示是,將0.17233 緯分先行計算,更改單位為秒,因為字符串函數庫有整形功能,數據在顯示前進行簡化,因為在提取到17 233 后,乘以60,提取計算后在前四位作為緯秒顯示。
使用Labview 設計的人機交互界面,VISA 資源名稱設置與串口設置顯示位置在圖片左半邊,右上部分是從GPS 模塊接收到的數據,轉換成UTC 時間、北京時間和經緯度信息。
超聲波測距單元正常工作下,通過與單片機的連接,使用單片機上的藍牙通訊模塊,發送至Labview環境下的測距顯示面板,間隔200 ms 進行一次數據刷新,這樣,就在人機交互界面內實時觀察小車運行情況。使用Labview設計的測距顯示界面,經過單片機串口發送至Labview 開發平臺。監控系統顯示界面如圖1 所示。

圖1 監控系統顯示界面
本章將進行智能小車遠程監控系統驗證,利用藍牙模塊,將數據從下位機傳輸至上位機后,驗證Labview程序的可實施性,達到實時監控智能小車運行狀態的目的。本實驗選擇藍牙適配器和HC-08 藍牙模塊通,波特率為9 600 B/s,完成VISA 串口的設置,進行讀寫虛擬儀器節點,刷新串口選擇,即可將可使用的串口、監控數據在人機交互界面顯示[5]。
監控界面的左邊為設置串口調節,更改波特率和數據位等,數據的讀取與顯示在圖片的中間。小車運行實驗在操場進行,操場南端的監控界面如圖2所示,實驗時間于下午一點進行,小車的經度顯示為E108°86'46",緯度顯示為N34°37'59",在小車前方有一面墻體,作為障礙物阻礙小車運行,測得小車距墻體距離為56.2 cm。

圖2 操場南端小車監控界面顯示
操場南端的監控界面如圖3 所示,實驗時間于下午一點進行,小車的經度顯示為E108°86'43",緯度顯示為N34°37'75",在小車前方有一面墻體,作為障礙物阻礙小車運行,測得小車距墻體距離為76.5 cm。

圖3 操場北端小車監控界面顯示
智能小車上安裝的GPS 模塊,對GPS 終端發送的NMEA 協議格式做出了分析,通過協議獲取計算方式,利用Labview 環境里的函數運算,計算并顯示從GPS 終端獲取的數據集。
超聲波測距單元主要目的是測距并顯示在人機交互界面上,通過人機交互界面,使得使用者可以及時的監控小車運行時,障礙物離小車還有多少距離。
本文通過藍牙模塊完成了GPS 模塊和超聲波避障模塊與計算機之間的無線通信,達到了使用者可以在PC 端進行實時監控智能小車的目的。
Labview 的G 語言(圖形編程語言)開發環境為GPS 模塊和超聲波避障模塊的數據采集、解析、顯示提供了絕佳的操作平臺,通過Labview 平臺將數據進行了展示,基于VISA 的串口操作及結構化的編程方法,保證了程序的可視化。