徐培培 王國慶 翟佳星 李兆路 張志新長安大學工程機械學院,西安,710064
?
移動式服務機器人混合控制器關鍵技術研究
徐培培 王國慶 翟佳星 李兆路 張志新
長安大學工程機械學院,西安,710064
針對移動式服務機器人控制系統需要具備運動控制、網絡通信、多媒體UI交互及設備遠程監控等多種功能而導致成本高昂、實時性差等問題,提出了多核異構微控制器與Android移動設備相結合的混合控制器方案并實現了原型系統。該系統采用面向管理的多微控制器運動控制系統與信號采集系統,通過OTG與Android移動設備連接,可使得Android移動設備完成多媒體UI交互、WiFi及WiFi Direct通信、圖像傳輸以及設備狀態監控數據傳輸與處理;服務器端實現了設備狀態數據的存儲與應用。經過測試,樣機整體性能良好,達到了預期的設計目標。
移動機器人;混合控制器;Android移動設備;監控系統;面向管理的多微控制器
目前的移動式服務機器人控制系統為了實現控制、網絡通信、多媒體交互及設備遠程監控等多種功能而使得制作成本高昂、產品結構復雜,因此,對中低成本層次產品并不適用,這已嚴重影響了移動機器人的智能化發展[1]。
為了滿足越來越多的傳感器應用和監控需求,國外學者自20世紀60年代就開始了移動機器人控制系統的相關研究。文獻[2]采用Pioneer3-AT機器人的 HitachiH8S作為控制系統,提出的兩種控制模式具有更快捷的處理速度,提高了變電站巡檢機器人的工作效率、準確性和靈活性。文獻[3]將類人機器人NAO的Aldebaran RoboticsTM控制器及其避障導航系統與Arduino單片機一體化,可實現移動式機器人的運動控制,使其能全方位地自主導航,有效規避障礙,但其費用高達8萬元人民幣,這對中低成本層次產品并不適用。文獻[4]采用ROS控制系統且以Pioneer3-DX為平臺,對室內導航系統進行了研究,ROS為開源機器人控制系統,在其支持多媒體及多類別傳感器時,硬件系統成本較高。
雖然上述新興的機器人控制器功能已經逐漸完善,基本達到現代機器人的智能化要求,但因成本高昂且機器人結構復雜,并不能得到廣泛的普及。本文采用的方案是以Android 設備為主控制器、以面向管理的多核異構微控制器為協控制器的混合控制方案。主控制器不僅可以作為傳感器模塊代替多種外置傳感器,而且還實現了多媒體UI交互、數據傳輸與處理等功能,并通過OTG與負責運動控制和外置傳感器檢測的協控制器進行數據傳輸,與監控系統服務器端通過WiFi或WiFi Direct通信。通信方式采用Socket技術及獨立的局域網系統,在有效規避網絡傳輸的延遲、阻塞以及數據包丟失等問題的同時,也增強了數據傳輸的穩定性與準確性,從而實現對機器人運動的精準操作,并大大節約了制作成本,精簡了結構設計,提高了機器人控制器的實時性能和快速響應能力。
本文研究的移動機器人混合控制器是一套以Android設備為主控制器、以嵌入式芯片為協控制器的混合控制系統。其中,協控制器負責運動控制和外置傳感器檢測;主控制器既可以作為多個傳感器集成模塊為混合控制系統提供多組傳感器數據,還可以作為整個系統的強大邏輯運算模塊,對協控制器通過OTG傳來的實時運動數據和外置傳感器數據根據其內部的控制邏輯進行處理,另外還可以將獲取的數據通過WiFi或WiFi Direct上傳給監控系統,由監控系統進行數據處理,并給控制器發送執行命令。從而構成一套完整的混合控制系統,有效地實現對移動式機器人的精準和諧控制。該系統總體方案如圖1所示。

圖1 混合控制系統總體設計方案Fig.1 The total design scheme of hybrid control system
2.1 面向管理的多核異構控制器
該移動機器人混合控制器采用的是具有完全自主知識產權的面向管理的多核異構控制器,該款控制器與其他單一控制器相比,最大的優勢是可以根據性能不同來劃分多個微控制器的任務,從而由多個微處理器負責不同的硬件模塊并處理特定的任務,可有效解決可靠性不足、實時性較差等問題,并降低了控制器的成本。本文設計的面向管理的多核異構控制器架構如圖2所示。

圖2 面向管理的多核異構控制器架構Fig.2 Management-oriented multi-core heterogeneous controller
2.2 硬件設計
面向管理的多核異構控制器包括電源模塊、控制模塊、數字I/O模塊、傳感器模塊及同步調試模塊,同步調試模塊具有供電通信裝置及同步調試總線,該硬件結構及其部分原理圖見圖3、圖4。

圖3 面向管理的多核異構硬件設計圖Fig.3 Management-oriented multi-core heterogeneous hardware design

圖4 硬件設計部分原理圖Fig.4 The partial diagram of hardware design
2.3 主控制器與協控制器之間的OTG通信
移動機器人混合控制器中的協控制器通過OTG傳輸與主控制器實時通信。OTG通信在完全兼容USB標準的基礎上增添了電源管理功能,允許設備既作為主機又可作為外設操作,所以本設計采用OTG通信。OTG通信的應用程序是基于 Android API 中的OTG開發的,主要是由程序開發者實現了一些已經定義好的接口和類,通過實現這些類和接口就可以完成主控制器 Android 設備與協控制器之間的 OTG通信,部分實現代碼如下:
private void find Device()
{UsbManager usb Manager = (UsbManager) get System
Service(Context.USB_SERVICE);
Usb Device usb Device = null;
Hash Map
if (DEBUG) Log.d(TAG, "length: " + usbDeviceList.size());
Iterator
if (device Iterator.hasNext())
{UsbDevice temp UsbDevice = device Iterator.next();
if (DEBUG)Log.d(TAG, "VendorId: " + temp Usb Device.getVendorId());}}
最后配置具有充電功能的OTG數據線和USB線,與Android移動設備連接以實現通信功能,如圖5所示。

圖5 主控制器與協控制器之間的OTG通信Fig.5 OTG communication between Auxiliary and Host Controller
3.1 Android應用啟動界面設計
每個Android應用啟動之后都會出現一個Splash啟動界面,在制作啟動界面時,該應用采用兩個Activity來做,一個用來做啟動界面,另一個用來做主界面。啟動界面的制作一般是通過線程延遲指定的時間后再執行啟動界面和主界面之間的跳轉,因此需要建立兩個界面,一個是SplashActivity,用來做啟動畫面,另一個是MainActivity,用作SplashActivity跳轉后的主界面。采用Gif動畫可以提升產品的動態可看性,但是Android本身沒有顯示Gif動畫的控件,我們采用開源項目GifView來顯示Gif動畫。
3.2 主控制器設計
主控制器的Android設備上設計了兩種不同的客戶端模式:基于WiFi的客戶端模式和基于WiFi Direct的客戶端模式。主控制器除了需要與服務器端進行實時通信外,還需要接收來自協控制器端的監控數據并將控制命令發送到協控制器端,主控制器與協控制器的實時通信是通過OTG來實現的,并且主控制器還可以作為傳感器模塊提供傳感器數據。
3.2.1 主控制器對自身內置傳感器的使用
主控制器自身內置的傳感器包括攝像頭、加速度傳感器、陀螺儀、方向傳感器、GPS等。主控制器內置的傳感器相對于外置傳感器具有更便捷的編程控制以及更為快速的數據響應能力。Android 設備中傳感器的使用主要是通過調用SensorManager 類來實現的,通過調用SensorManager 類可以獲取訪問 Android 設備中的各種傳感器權限。在獲得調用 Android 設備內置傳感器權限后,通過調用Context.getSystemService 方法可以獲得Android 設備中一個內置傳感器的實例。Android 設備中對內置傳感器的調用編程如圖6所示。

圖6 Android 設備內置傳感器編程流程圖Fig.6 Inner sensor programming flowchart of Android device
3.2.2 主控制器與監控系統服務器端的Wifi通信
移動機器人混合控制器在現場有WiFi信號的環境下,混合控制系統中的主控制器通過WiFi熱點與服務器端進行實時通信。WiFi熱點就是移動無線網絡熱點,它由便攜式手持設備利用自身集成的WiFi硬件模塊,建立以自身為無線信號中心的WiFi接入點。主控制器通過WiFi與服務器端進行實時通信的步驟包括:WiFi啟動、開始掃描、顯示掃描到的AP、配置AP、連接AP、獲取IP地址、實時通信。
3.2.3 主控制器與監控系統服務器端的WiFi Direct通信
移動機器人混合控制器在現場無網絡的環境下通過WiFi Direct與服務器端進行實時通信,WiFi Direct的API允許應用通過網絡或熱點直接與周圍的設備進行連接,與藍牙傳輸相比較,WiFi Direct的傳輸距離更遠,傳輸數據量更大。與其他設備之間進行交互主要是通過WifiP2pManager類來實現,主要操作步驟如圖7所示。

圖7 WiFi Direct連接流程圖Fig.7 Flow diagram of WiFi Direct
3.2.4 主控制器對設備狀態的監測
主控制器接收來自協控制器的關于移動機器人的實時運動數據和外置傳感器數據以及自身內置傳感器數據后,一方面可以根據主控制器內部的控制邏輯對實時數據進行處理,另一方面可以將實時數據通過WiFi或WiFi Direct上傳給服務器,由服務器對數據進行處理,監控系統服務器端通過對這些動態傳感器數據進行分析就可以對移動機器人進行精確的運動控制。
4.1 服務器端的總體設計與遠程監控的實時性與有效性分析
4.1.1 服務器端監控系統的總體設計
監控系統服務器端的開發根據監控現場環境中有無WiFi熱點覆蓋,分成了以WiFi通信為基礎的PC服務器端設計和以WiFi Direct通信為基礎的Android服務器端設計,這兩種不同的服務器端都需要與以Android系統為開發環境的監控系統客戶端進行實時通信,其中監控系統架構如圖8所示。

圖8 監控系統架構圖Fig.8 Monitoring system architecture diagram
由監控系統的架構圖可以看出:Android客戶端一方面需要開發出一套以PC服務器端為基礎的基于WiFi傳輸的客戶端程序,另一方面需要開發出一套以Android服務器端為基礎的基于WiFi Direct傳輸的客戶端程序。
4.1.2 遠程監控的實時性與有效性分析
移動監控平臺的監控系統是一套基于C/S架構的監控系統,目前的網絡傳輸存在很多問題,最主要的是有限寬帶和不確定路由造成大且變化的網絡時延、網絡阻塞、數據包丟失等問題,這些問題已嚴重影響了信息傳輸過程的實時性與有效性[5]。另外,信息傳輸過程中,由于傳輸數據量的大小和網絡負載的原因而波動很大,即使最高傳輸速率已高達50 Mbit/s,數據傳輸的實時性和準確性也會受到很大影響,從而最終影響監控性能,不能做到對機器人進行精準的運動控制,反而在監控過程中會出現信息延遲、網絡阻塞等諸多問題[6]。針對這個問題,設計了兩種通信模式:基于專用局域網WiFi模式和WiFi Direct 模式。
專用局域網WiFi模式就是將整個監控系統分為兩部分,采用獨立的局域網系統與公網隔離,經檢測,其數據傳輸速率可達100 Mbit/s。由于設計目標為5臺設備以內,最大設備同時傳輸的數據量不超過25 Mbit/s,因此可滿足實時性要求。
另外一種模式是采用Wifi Direct連接并采用相應的Socket技術,該通信方式不會受到網絡波動的影響,傳輸速率可達250 Mbit/s,傳輸距離也增加到200 m(理論值,實測在120 m內可以保證圖像傳輸),數據傳輸的穩定性以及傳輸的及時有效性是可以保障的。
基于以上分析,無論是獨立局域網WiFi通信模式還是WiFi Direct通信模式,都可以保證數據傳輸的準確性、實時性以及穩定性,因此可確保監控系統對移動機器人進行精確的運動控制,提高機器人的運動靈敏性。
4.2 以PC為服務器端的監控軟件設計
4.2.1 WiFi環境下PC服務器端的監控軟件設計
WiFi熱點覆蓋環境下PC服務器端的實現主要是通過WiFi熱點接收Android設備傳輸的視頻數據并向Android客戶端發送控制命令,這與一般C/S架構中服務器程序類似,主要是通過監聽IP地址和端口,然后建立連接后對傳輸的數據進行解析。PC服務器端與Android客戶端之間的數據傳輸在WiFi環境下主要是通過Socket技術來實現的。WiFi環境下PC服務器端開啟服務界面如圖9所示。

圖9 PC服務器端服務開啟界面Fig.9 Interface of open PC server
連接成功后,雙擊對應的客戶端時,PC服務器就自動地跳轉到實時視頻監控頁面,實時視頻監控頁面能實時顯示出客戶端發送過來的錄制畫面,如圖10所示。

圖10 PC服務器端顯示實時視頻監控畫面Fig.10 Real-time video monitoring imagery in PC server
4.2.2 WiFi環境下Android客戶端的監控軟件設計
WiFi 環境下,Android客戶端調用Android手機中的攝像頭對混合控制器測試設備的周圍環境進行實時視頻錄制,從而獲取錄制畫面和混合控制器的其他實時數據,通過Socket技術,以數據流的形式發送到PC服務器端。獲取Android設備攝像頭中的圖像數據主要是通過Camera.PreviewCallback接口中的onPreviewFrame()函數來實現。監控系統中的服務器端監聽相應的端口,當對應端口監測到數據流時,服務器端將獲取到的數據流進行數據解析后傳遞至相應的圖像顯示控件中用于圖像顯示,這樣就實現了手機攝像頭的視頻數據實時傳輸到服務器上。實現效果如圖11所示。

圖11 Android客戶端實時視頻監控畫面Fig.11 Real-time video monitoring imagery inAndroid mobile device
4.3 基于WiFi Direct的監控軟件設計
混合控制器測試設備應用于無網絡覆蓋的特定區域時,移動機器人混合控制系統采用WiFi Direct技術來實現監控系統服務器端與客戶端的實時通信,用WiFi Direct技術可以讓具備硬件支持的設備在沒有中間接入點的情況下進行直接互聯。Android 4.0(API版本14)及以后的系統都提供了對WiFi Direct的API支持。通過對這些 API的使用,開發者可以在支持 WiFi Direct 的設備間進行相互探測和連接。
4.4 監控系統主要模塊設計
4.4.1 傳感器動態數據文本模式
Android主控制器內置傳感器的實時數據的獲取主要通過SensorManager類來實現,當獲取到Android設備內置傳感器的實時數據后,可以采用數值的形式顯示也可以采用曲線圖的形式顯示,兩種顯示方式各有長處。Android設備內置加速度傳感器數據顯示如圖12 所示。

圖12 Android設備內置加速度傳感器數據Fig.12 Acceleration sensor in Android Device
4.4.2 傳感器動態數據曲線模式
移動機器人混合控制系統中傳感器動態數據曲線模式模塊主要是以折線圖的形式顯示監控系統中各個傳感器的數值,從折線圖中可以直觀地觀察出傳感器數值的變化幅度以及變化趨勢。由于Android不支持折線圖顯示數據,因此監控系統在傳感器動態數據曲線模式中使用開源繪表引擎AChartEngine。傳感器動態數據曲線模式中,實時數據的曲線動態繪制主要是通過updateChart()函數對圖標進行實時更新,從而達到動態效果。
經過測試,樣機系統運行良好,具備進一步工業化的能力,如圖13所示。

圖13 實驗設備Fig.13 Experimental facilities
(1)針對移動式服務機器人制作成本高昂、實時性差等問題,本文提出了低成本移動式服務機器人混合控制器方案。
(2)采用Android設備為主控制器和基于面向管理的多核異構微控制器為協控制器的混合控制方案,對OTG、SPI、Socket、WiFi Direct通信進行了相關軟件程序的設計,實現了控制功能并與協控制器之間實現了“和諧”的控制邏輯,且混合控制器成本低廉,可有效節約移動式服務機器人的制作成本。
(3)Android設備作為主控制器既能進行數據運算處理與傳輸,對整個系統進行協調有效的控制,又能利用其內置傳感器模塊,使其具有更便捷的編程控制能力及更為快速的數據響應能力。
(4)協控制器采用非面向管理的多核異構微控制器,根據任務的不同對微控制器進行分工,可有效提高響應速度和可靠性,更能解決當下控制器成本高昂的問題。
(5)設計了包括電源模塊、控制模塊、數字I/O模塊、傳感器模塊及同步調試模塊的多核異構控制器,并設計了下位機的相關軟件程序,該程序已下載到下位機中并進行了測試,測試結果穩定準確,說明程序設計正確可行。
(6)對監控系統進行總體設計,設計了以PC
為服務器端和基于WiFi Direct的監控軟件并對監控系統中的各個主要功能進行了設計,包括啟動模塊、傳感器動態數據文本模式以及傳感器動態數據曲線模式的設計。監控系統服務器端通過對這些動態數值進行分析可以對移動機器人進行精確的運動控制。
[1] SCHEPER K Y W, TIJMONS S, De VISSER C C,et al. Behavior Trees for Evolutionary Robotics[J]. National Institutes of Health,2016,22(1):23-48.
[2] WANG Kezhi, LING Shan, BI Huibo,et al. Implementation of a Robot Inspection System for Substation Equipment Based on Pioneer 3-AT[J]. ICIC Express Letters,2011,2(1):221-226.
[3] ARIFFIN I M, RASIDI A I H M, YUSSOF N,et al. Sensor Based Mobile Navigation Using Humanoid Robot Nao[J]. Procedia Computer Science,2015,76:474-479.
[4] SAFDAR Z, WOLFGANG S, GERALD S. ROS-based Mapping, Localization and Autonomous Navigation Using a Pioneer 3-DX Robot and Their Relevant Issues[C]// Saudi International Electronics, Communications and Photonics Conference(SIECPC). Riyadh, Saudi Arabia, 2011:345-349.
[5] 于赫,秦貴和,孫銘會,等.互聯網遠程實時控制系統短時間窗口往返時延測量、分析與建模[J].西安交通大學學報,2016,50(2):26-32. YU He, QIN Guihe, SUN Minghui,et al. Measuring, Analyzing and Modeling of RTT Delay for Internet-based Networked Control Systems[J]. Journal of Xi’an Jiaotong University, 2016,50(2):26-32.
[6] HAIDAR G A, ACHKAR R, DOURGHAM H, et al. Remote Generator Control Using Android Application[C]// Asia Modelling Symposium 8th International Conference on Mathematical Modelling Computer Simulation. Taipei,2014:243-248.
(編輯 蘇衛國)
Study on Key Technologies of Hybrid Controllers for Mobile Robots
XU Peipei WANG Guoqing ZHAI Jiaxing LI Zhaolu ZHANG Zhixin
School of Construction Machinery, University of Chang’an, Xi’an,710064
Aiming at the high cost ,poor real-time capability and other issues of mobile robot controllers for implementing many functions ,such as the motion control, network communication, multimedia UI interaction ,the device remote monitored control and so on, a hybrid controller scheme was put forward herein that multi-core heterogeneous microcontroller combined with Android mobile devices and finished a prototype system. The system adopted the management-oriented multi-microcontroller motion control systems and signal acquisition systems which connected with Android mobile devices through the OTG. Android mobile devices implemented multimedia UI interaction, WiFi and WiFi Direct communication, image transmission and the monitor data of device state transmission and processing. The server implemented storages and applications of device state data. The prototype system was verified to be fine, and reached the goals of design by tests.
mobile robot; hybrid controller; Android mobile device; monitoring system ; management-oriented multi-microcontroller
2016-11-20
陜西省工業攻關項目(2016GY-003)
PS242.3
10.3969/j.issn.1004-132X.2017.12.013
徐培培,女,1992年生。長安大學工程機械學院碩士研究生。研究方向為機械智能系統。E-mail:1778053173@qq.com。王國慶,男,1972年生。長安大學工程機械學院教授。翟佳星,男,1992年生。長安大學工程機械學院碩士研究生。李兆路,男,1992年生。長安大學工程機械學院碩士研究生。張志新,男,1990年生。長安大學工程機械學院碩士研究生。