顏頤欣 張洋
摘 要:針對目前安防機器人控制系統(tǒng)中,功能擴展受主控機負荷能力限制、監(jiān)控平臺不支持地圖加載,或地圖更新實時性較差等問題,設(shè)計了一種安防機器人控制系統(tǒng)。該系統(tǒng)采用分散式模塊化方案來設(shè)計機器人本體硬件結(jié)構(gòu),增強了主控機的負荷能力,同時,基于對Lidar-SLAM技術(shù)的研究,提出了地圖坐標匹配算法,然后,綜合運用web開發(fā)技術(shù),搭建了移動機器人監(jiān)控平臺,并在該平臺驗證了地圖加載方法的有效性和地圖更新的實時性。本系統(tǒng)有效地解決了目前存在于安防機器人控制系統(tǒng)中的不足之處,降低了系統(tǒng)的維護成本,為安防機器人控制系統(tǒng)的設(shè)計提供了參考。
關(guān)鍵詞:安防機器人;控制系統(tǒng);web開發(fā)技術(shù) ;Lidar-SLAM技術(shù)
DOI:10.15938/j.jhust.2019.05.015
中圖分類號: TP486.3
文獻標志碼: A
文章編號: 1007-2683(2019)05-0088-05
Abstract:In view of the existing problems in the control system of security robots, such as the function extension is limited by the load capacity of the main control machine of the robot, the monitoring platform does not support map loading, or the map updates are poor in real time, etc, the paper designed a control system for security robot. The system designs the hardware structure of the robot by using decentralized modular scheme to enhance load capacity of the main control machine.Based on the research of Lidar-SLAM technology, a map coordinate matching algorithm is proposed. Then, a mobile robot monitoring platform is built by using web development technology, and the validity of the map loading method and the real-time of map updating are verified on this platform. The system effectively solves the shortcomings of the existing security robot control system, and reduces the maintenance cost of the system. It provides a reference for the design of the security robot control system.
Keywords:security robot; control system; web development technology; lidar-SLAM
0 引 言
安防機器人控制系統(tǒng),不僅能解放人力安防巡邏,更能提高巡邏質(zhì)量,擴大巡邏范圍,豐富監(jiān)測指標[1-2]。目前,在對安防機器人控制系統(tǒng)的研究方面已經(jīng)做了大量的工作,如在兩輪安防機器人控制系統(tǒng)的設(shè)計與研究中,提出了一種基于U-COSII系統(tǒng)內(nèi)核的兩輪安防機器人控制系統(tǒng),該系統(tǒng)雖實現(xiàn)了一些通用功能,但功能擴展受主控機的負荷能力限制,并且監(jiān)控平臺也不支持加載地圖[3-4]。在基于百度地圖的移動機器人監(jiān)控平臺的研究中,實現(xiàn)了在移動機器人監(jiān)控平臺上加載地圖,并且在地圖上可以對機器人進行位置追蹤,再結(jié)合視頻回傳圖像,用戶體驗較好[5-6]。但該方式因依賴于第三方公司提供的高精度地圖,在無網(wǎng)絡(luò)條件下,需提前下載大量電子地圖圖元,對PC機的存儲能力有較高要求,并且實時性較差 [7-8]。近年來,移動機器人SLAM技術(shù)獲得了顯著的進步[9-10],隨著激光雷達造價的逐漸降低,采用Lidar-SLAM技術(shù)來完成智能移動機器人的自主導(dǎo)航和定位將成為一種最佳選擇[11-12]。
本文采用分散式模塊化方案來設(shè)計機器人本體硬件結(jié)構(gòu),實現(xiàn)了機器人本體自主避障、自主導(dǎo)航、故障檢測、智能巡檢等功能,減輕了主控機的負荷,易于功能擴展。同時,采用將基于Lidar-SLAM技術(shù)實時構(gòu)建的高精度地圖加載到監(jiān)控平臺上的方法,來實現(xiàn)監(jiān)控平臺上的地圖加載,該方法室內(nèi)外通用,不受網(wǎng)絡(luò)限制。本系統(tǒng)在功能擴展、實用性、通用性等方面都有較好的提高,可有效地彌補目前存在于安防機器人控制系統(tǒng)中的不足之處。
1 系統(tǒng)總體設(shè)計
本系統(tǒng)主要由安防機器人本體、無線通信系統(tǒng)和監(jiān)控平臺三大部分組成。系統(tǒng)總體設(shè)計框圖,如圖1所示。
其中安防機器人本體通過各硬件模塊采集數(shù)據(jù),并通過主控機來對這些數(shù)據(jù)進行處理,實現(xiàn)自主避障、導(dǎo)航、故障檢測、智能巡檢等功能;無線通信系統(tǒng)采用Wi-Fi技術(shù)實現(xiàn),主要用于建立監(jiān)控平臺和機器人本體之間的可靠通信;監(jiān)控平臺主要實現(xiàn)在地圖上對機器人進行位置追蹤、查看機器人回傳的實時數(shù)據(jù)和視頻圖像、遠程控制機器人工作等。
2 機器人本體設(shè)計
2.1 本體硬件電路設(shè)計
本文采用CAN總線來完成主控機與各電路模塊之間的通信。將紅外模塊、電源模塊、GPS模塊、IMU模塊、激光雷達模塊、電機驅(qū)動模塊等相互獨立的掛在CAN總線上,并且將各關(guān)鍵模塊采集的數(shù)據(jù),經(jīng)過自身的MCU進行預(yù)處理后,才通過CAN總線傳輸給主控機,如圖2所示。
2.2 主控機程序工作流程設(shè)計
本文在本體的主控機中安裝了Ubuntu14.04操作系統(tǒng)[13-14],并在操作系統(tǒng)中安裝了開源的ROS包[15-16],通過訂閱和發(fā)布話題,來處理本體硬件感知設(shè)備采集的數(shù)據(jù)。主控機程序按功能劃分可以分為四大模塊:檢測模塊,規(guī)劃模塊、控制模塊和外部控制模塊。主控機程序工作流程如圖3所示。
圖3 主控機程序工作流程框圖
Fig.3 The workflow diagram of the master computer program
檢測模塊負責處理本體中的激光雷達、編碼器等傳感器對周圍環(huán)境和自身進行檢測得到的數(shù)據(jù);規(guī)劃模塊負責根據(jù)機器人目的地進行速度規(guī)劃;控制模塊負責參考規(guī)劃模塊的規(guī)劃結(jié)果,控制電機轉(zhuǎn)速和行進方向(在局域網(wǎng)較差時,啟用實時系統(tǒng)單元,進行手動控制);外部控制模塊主要負責實時系統(tǒng)單元啟動時的外部控制,保證系統(tǒng)的使用安全性。
3 監(jiān)控平臺設(shè)計
本文綜合使用HTML、JavaScript和PHP等web開發(fā)技術(shù)搭建了監(jiān)控平臺,并通過建立TCP連接,實現(xiàn)了監(jiān)控平臺與機器人本體之間的網(wǎng)絡(luò)通信,選用MySQL數(shù)據(jù)庫來設(shè)計實現(xiàn)關(guān)鍵數(shù)據(jù)存儲[17-18]。
3.1 總體功能設(shè)計
監(jiān)控平臺按照功能可劃分為:通信模塊、電子地圖模塊、實時信息顯示模塊、遠程操控模塊四部分??傮w功能設(shè)計框圖如圖4所示。
圖4 監(jiān)控平臺總體功能設(shè)計框圖
Fig.4 Block diagram of overall function design of monitoring platform
通信模塊主要實現(xiàn)機器人本體和監(jiān)控平臺之間的實時通信;電子地圖模塊可顯示機器人工作地圖,并可在地圖上顯示機器人的工作路線,動態(tài)設(shè)置機器人的自主工作路線等;實時信息顯示模塊,主要實現(xiàn)對安防機器人的工作環(huán)境視頻信息、工作異常參數(shù)、機器人的精準坐標等數(shù)據(jù)的實時顯示;遠程控制模塊,主要實現(xiàn)對安防機器人的遠程操控。
3.2 通信模塊設(shè)計
本文選用基于TCP/IP協(xié)議的Scoket套接字協(xié)議標準[19-20]來實現(xiàn)機器人本體和監(jiān)控平臺之間的通信。在php.ini文件中開啟Socket的擴展,然后通過PHP的socket類對象提供的一系列方法,實現(xiàn)服務(wù)器與客戶端通信連接請求的監(jiān)聽,若有請求,則綁定指定的端口,建立TCP連接,實現(xiàn)雙向通信,該過程如圖5所示。
3.3 電子地圖模塊設(shè)計
3.3.1 地圖匹配算法
本文采用目前應(yīng)用最廣的gmapping方法來實現(xiàn)Lidar-SLAM技術(shù),用gmapping方法構(gòu)建的2D柵格地圖圖片格式為PGM格式并且圖片本身有數(shù)學(xué)特征。根據(jù)該地圖的格式特點來對地圖圖片進行初步處理,具體方法如圖6所示。
基于2D柵格地圖的數(shù)學(xué)特征,設(shè)計地圖坐標匹配算法。已知機器人位置坐標所參考坐標系為統(tǒng)一橫軸墨卡托投影坐標(universal transverse mercator,UTM)系,地圖圖片中心點的坐標設(shè)為(xc,yc),單位為m;經(jīng)地圖處理方法處理后的實際加載地圖寬度和高度,分別設(shè)為wd、hd,單位為pixel;地圖圖片的壓縮率設(shè)為P;監(jiān)控平臺地圖顯示區(qū)域的中心點坐標設(shè)為(xdc,ydc),單位為m;每個像素點代表的距離設(shè)為Q;原始地圖圖片的寬度和高度分別設(shè)為w0、h0,單位為pixel。則實際加載地圖圖片中心點坐標和監(jiān)控平臺地圖顯示區(qū)域中心點坐標之間的轉(zhuǎn)換公式如下:
根據(jù)以上地圖坐標匹配公式,便可將gmapping實時構(gòu)建的地圖匹配到監(jiān)控平臺地圖顯示區(qū)域。
在已知機器人最大活動范圍內(nèi)的UTM坐標集合的前提下,支持動態(tài)設(shè)置機器人的自主工作路線。首先,用戶在監(jiān)控平臺上通過鼠標點擊,選擇自主工作路線上的關(guān)鍵點,然后利用(2)式的逆運算,將這些關(guān)鍵點轉(zhuǎn)成UTM坐標,利用二分法查找算法和估算的思想在機器人最大活動范圍內(nèi)的UTM坐標集合中,找到自主工作路線上的UTM坐標的集合,并將該集合發(fā)送給機器人,機器人將沿著新路線工作,同時通過(2)式,將該集合轉(zhuǎn)為像素坐標,在監(jiān)控平臺地圖上顯示。
3.3.2 電子地圖軟件實現(xiàn)及結(jié)果驗證
JavaScript技術(shù)為Web GIS客戶端開發(fā)提供了專門的OpenLayers框架,該框架支持的地圖來源除了WFS、WMS、KaMap、GoogleMAp等,還可以是任意有地理意義的地圖圖片[21]。
本文首先通過OpenLayers提供的Map類實例化地圖,并將HTML中div的id設(shè)置為map,從而完成將gmapping構(gòu)建的2D柵格地圖加載到瀏覽器地圖顯示區(qū)域,表現(xiàn)為地圖,并在該map上添加全屏顯示、工具條等控件;然后,通過Layer類來實例化圖層,即指定地圖圖層的縮放級別、類型、范圍、地圖數(shù)據(jù)來源等;接下來,調(diào)用OpenLayers提供addLayer函數(shù),將實例化后的圖層添加到Map上,再通過調(diào)用map.zoomToExtent函數(shù)調(diào)整地圖大小以適應(yīng)web界面;最后,為加載的地圖添加自定義事件,如通過設(shè)置地圖的點擊和畫線事件,來實現(xiàn)監(jiān)控平臺顯示機器人當前工作路線和動態(tài)設(shè)置機器人自主工作路線等。
3.5 遠程控制模塊設(shè)計
在該模塊,用戶可結(jié)合地圖顯示的機器人工作路線和視頻回傳的圖像,對安防機器人進行遠程控制,如切換機器人的工作狀態(tài)、設(shè)置機器人自主工作路線及分配工作任務(wù)、切換運行速度、運行方向和燈光模式等??刂颇K的軟件控制流程如圖10所示。
在該界面,通過點擊“開始示教”按鈕,可重新構(gòu)建地圖,并在監(jiān)控平臺重新加載該地圖。從而令監(jiān)控平臺加載的地圖具有良好的實時性。
4 結(jié) 論
1)通過采用分散式模塊化方案設(shè)計機器人本體硬件結(jié)構(gòu),有效地減輕了主控機的負荷,有利于系統(tǒng)進行功能擴展。
2)將Lidar-SLAM技術(shù)實時構(gòu)建的2D柵格地圖用于在監(jiān)控平臺上加載地圖,并提出了地圖坐標匹配算法,經(jīng)驗證,該地圖加載方法可行,并且不受互聯(lián)網(wǎng)的限制,實時性較好,地圖坐標匹配準確。
3)綜合運用web開發(fā)技術(shù),搭建了支持地圖加載的安防機器人監(jiān)控平臺,并實現(xiàn)了監(jiān)控平臺與機器人本體之間的遠程通信,在該監(jiān)控平臺可查看機器人實時數(shù)據(jù)、遠程控制機器人等。
后續(xù)工作將在本文研究的基礎(chǔ)上,在成本控制、地圖本身的美觀度和自主工作路線動態(tài)設(shè)置方法的精確度等方面進行改進。
參 考 文 獻:
[1] 劉國正.“互聯(lián)網(wǎng)+”英特爾智能安防助建新型平安智慧城市[J]. 中國自動識別技術(shù),2017(5):51.
[2] 劉存信,跟上我國經(jīng)濟發(fā)展步伐促進安防產(chǎn)業(yè)邁向中高端水平[J]. 中國安防, 2017(4):1.
[3] 李森, 潘小琴, 欽盼琛等. 基于遠程控制的雙輪安防機器人系統(tǒng)設(shè)計[J]. 自動化與儀表, 2017, 32(5):30.
[4] 李磊磊, 陳家斌, 楊黎明等. 基于道路信息的智能地圖匹配算法[J]. 中國慣性技術(shù)學(xué)報, 2016, 24(2):170.
[5] 馮凱,歐陽瑞鐲,宗天煜等. 基于視覺的SLAM技術(shù)發(fā)展及其研究分析[J]. 信息技術(shù),2017(10):33.
[6] 馬曉敏, 劉丁, 辛菁. 移動機器人生物啟發(fā)式變結(jié)構(gòu)軌跡跟蹤控制[J]. 電機與控制學(xué)報, 2018(7):11.
[7] 錢殿偉, 郭錦榮. 多機器人的積分滑模編隊控制[J]. 電機與控制學(xué)報, 2016, 20(1):99.
[8] 黃海, 李岳明, 龐永杰. 多水下機器人編隊的組網(wǎng)通信方法研究[J]. 電機與控制學(xué)報, 2017, 21(5):97.
[9] 滿春濤, 曹淼, 李巍. 基于深度相機的SLAM算法評測[J]. 電機與控制學(xué)報, 2017, 21(12):60.
[10]溫嘉斌, 麻宸偉. 無刷直流電機模糊 PI 控制系統(tǒng)設(shè)計[J]. 電機與控制學(xué)報, 2016, 20(3):102.
[11]錢曉明, 張浩, 王曉勇等. 基于激光掃描匹配的移動機器人相對定位技術(shù)研究[J]. 農(nóng)業(yè)機械學(xué)報, 2016, 47(3):14.
[12]MUR A,RUAL,MONTIEL J.M.M, TARDOS,JUAN D. ORB-SLAM: A Versatile and Accurate Monocular SLAM System[J]. IEEE Transactions on Robotics, 2017, 31(5):1147.
[13]PIERZCHALA M, GIGUERE P, ASTRUP R. Mapping Forests Using an Unmanned Ground Vehicle with 3D LiDAR and Graph-SLAM[J]. Computers & Electronics in Agriculture, 2018, 145:217.
[14]步新宇,項玉. 智能移動機器人定位技術(shù)[J]. 科技展望,2016,26(10):181.
[15]MUHAMME Balclar,SIRMA Yavuz,MEHMET FA,ERKAN U. R-SLAM: Resilient Localization and Mapping in Challenging Environments[J]. Robotics and Autonomous Systems,2017,87:45.
[16]陳卓,蘇衛(wèi)華,安慰寧,等. 移動機器人SLAM與路徑規(guī)劃在ROS框架下的實現(xiàn)[J]. 醫(yī)療衛(wèi)生裝備,2017,38(2):109.
[17]欒祿祥. 室內(nèi)移動機器人機器視覺定位系統(tǒng)的設(shè)計[J]. 自動化儀表, 2017, 38(2):49.
[18]李秀智, 李尚宇, 賈松敏.實時的移動機器人語義地圖構(gòu)建系統(tǒng)[J]. 儀器儀表學(xué)報, 2017, 38(11):2769.
[19]王明, 胡慶武, 李清泉, 等. 基于位置簽到數(shù)據(jù)的城市分層地標提取[J]. 計算機學(xué)報, 2016, 39(2):405.
[20]張君濤, 趙智慧, 周四望. 矢量任務(wù)地圖:群智感知任務(wù)漸進式分發(fā)方法[J]. 計算機學(xué)報, 2017, 40(8):1946.
[21]王建民. 領(lǐng)域大數(shù)據(jù)應(yīng)用開發(fā)與運行平臺技術(shù)研究[J]. 軟件學(xué)報, 2017, 28(6):1516.
(編輯:王 萍)