文章探討了ROS2技術(shù)在隧道巡檢機器人領(lǐng)域的應(yīng)用優(yōu)勢,闡述了基于ROS2的隧道巡檢機器人軟件系統(tǒng)的設(shè)計原理、關(guān)鍵技術(shù)和實現(xiàn)方法,并通過對系統(tǒng)架構(gòu)、模塊設(shè)計、通信協(xié)議等方面的設(shè)計實現(xiàn)的介紹,為相關(guān)研究和開發(fā)提供參考。
ROS2;機器人;隧道巡檢
U491.1+16A561934
作者簡介:
李" 雍(1993—),工程師,主要從事智能交通工程科技創(chuàng)新及機電設(shè)計管理工作。
0" 引言
隨著高速公路網(wǎng)絡(luò)的日益龐大,其運營管理和維護保養(yǎng)工作也面臨著前所未有的挑戰(zhàn),特別是在隧道等復雜路段,由于其特殊的環(huán)境和構(gòu)造,安全問題尤為突出。因此,利用先進的技術(shù)手段,提高隧道的巡檢效率和質(zhì)量,已成為當前高速公路管理領(lǐng)域亟待解決的問題。傳統(tǒng)的隧道巡檢主要依賴人工完成,這種方式不僅效率低下,而且受人為因素影響大,難以保證巡檢的全面性和準確性。隨著機器人技術(shù)的快速發(fā)展,越來越多的行業(yè)開始嘗試將機器人應(yīng)用于各種復雜和危險的環(huán)境中,以替代或輔助人工完成特定任務(wù)。在高速公路隧道巡檢領(lǐng)域,巡檢機器人憑借其高效、準確、安全的特點,逐漸展現(xiàn)出巨大的應(yīng)用潛力[1-4]。
ROS(Robot Operating System,機器人操作系統(tǒng))作為目前機器人軟件領(lǐng)域的開源框架,憑借其模塊化、通用性和擴展性強的優(yōu)勢,已成為機器人軟件開發(fā)的標準平臺。ROS2作為ROS的升級版,在性能、安全性和易用性等方面都有了顯著的提升,為機器人技術(shù)的發(fā)展注入了新的活力[5-7]。
本文研究旨在探討基于ROS2的隧道巡檢機器人軟件系統(tǒng)的設(shè)計與實現(xiàn),期望能夠為隧道巡檢機器人的設(shè)計與實現(xiàn)提供一種有效的解決方案,推動我國高速公路隧道巡檢工作的智能化、自動化發(fā)展。
1" ROS2介紹
1.1" ROS2簡介
在ROS及ROS2出現(xiàn)之前,機器人系統(tǒng)的開發(fā)相對復雜和繁瑣。開發(fā)者通常需要手動編寫大量的底層代碼,以實現(xiàn)各個功能模塊之間的通信和協(xié)調(diào)。這不僅增加了開發(fā)的難度和周期,還可能導致系統(tǒng)穩(wěn)定性和可擴展性的不足。ROS2旨在為機器人軟件開發(fā)提供更高效、靈活和可擴展的平臺。自其發(fā)布以來,ROS2已經(jīng)吸引了全球機器人開發(fā)者、研究者和企業(yè)的廣泛關(guān)注。許多知名的機器人公司,如波士頓動力、特斯拉等,都在其機器人項目中采用了ROS2。ROS2的出現(xiàn)為機器人開發(fā)帶來了顯著的好處和便利。ROS2提供了統(tǒng)一的開發(fā)框架和API,簡化了開發(fā)者的工作流程,并提供了豐富的工具庫,為開發(fā)者提供了極大的便利。ROS2作為下一代機器人操作系統(tǒng),憑借其高效、靈活和可擴展的特點,正在推動機器人領(lǐng)域的快速發(fā)展。
1.2" ROS2的主要機制
ROS2最重要的幾個機制為:節(jié)點、話題、服務(wù)、動作。正是基于這幾個機制,使得基于ROS2的機器人系統(tǒng)開發(fā)變得方便和高效。
(1)節(jié)點(Nodes):節(jié)點是ROS2中的基本執(zhí)行單元,代表著系統(tǒng)中的一個可執(zhí)行進程。每個節(jié)點可以執(zhí)行特定的任務(wù),如傳感器數(shù)據(jù)采集、控制執(zhí)行等。節(jié)點之間通過話題、服務(wù)和動作進行通信,實現(xiàn)信息交換和協(xié)作。
(2)話題(Topics):話題是ROS2中最常用的通信模式之一,采用發(fā)布-訂閱模式。節(jié)點可以發(fā)布消息到話題,而其他節(jié)點則可以訂閱相同的話題以接收消息。話題的發(fā)布者和訂閱者之間是解耦的,使得系統(tǒng)更加靈活和可擴展。
(3)服務(wù)(Services):服務(wù)是ROS2中的一種客戶端-服務(wù)器通信模式。節(jié)點可以提供服務(wù),而其他節(jié)點則可以請求該服務(wù)并等待響應(yīng)。服務(wù)請求者會發(fā)送請求消息給服務(wù)提供者,后者處理請求并發(fā)送響應(yīng)消息。服務(wù)適用于需要點對點通信、請求-響應(yīng)交互的場景,如配置參數(shù)、執(zhí)行命令等。
(4)動作(Actions):動作是ROS2中的一種更高級別的通信模式,支持長時間執(zhí)行的任務(wù)。適用于需要更復雜的交互、長時間執(zhí)行或需要取消和監(jiān)控任務(wù)進度的場景,如導航、運動控制等。
2" 隧道巡檢機器人系統(tǒng)設(shè)計
2.1" 隧道巡檢機器人系統(tǒng)概述
本文基于ROS2設(shè)計實現(xiàn)的隧道巡檢機器人系統(tǒng)能為隧道巡檢機器人提供整體框架,其整合了隧道巡檢機器人的各個部件和傳感器,能實現(xiàn)集中控制和數(shù)據(jù)采集,自動化地完成隧道巡檢任務(wù),采集隧道里路面狀況、隧道設(shè)施、交通標志、交通流量、環(huán)境狀況、安全狀況等方面的關(guān)鍵數(shù)據(jù)并進行分析,最終提供事件分析結(jié)果。同時,軟件系統(tǒng)提供了外部管理平臺或工具的調(diào)用接口,使管理者可以遠程控制和監(jiān)測隧道巡檢機器人,實現(xiàn)靈活和高效的操作和管理。
2.2" 整體框架設(shè)計
系統(tǒng)的整體架構(gòu)如圖1所示,系統(tǒng)處于操作系統(tǒng)層與驅(qū)動層之間,主要實現(xiàn)以下功能:
(1)調(diào)用操作系統(tǒng)提供的底層接口及硬件驅(qū)動操控隧道巡檢機器人硬件層的各個外設(shè)部件,獲取外設(shè)部件的數(shù)據(jù)。
(2)對數(shù)據(jù)進行統(tǒng)一管理及處理,如:轉(zhuǎn)發(fā)、清洗、整理、分析、輸出決策等。
(3)通過網(wǎng)絡(luò)層向控制展示層(如Web應(yīng)用、小程序、APP、桌面程序等)提供接口服務(wù),實現(xiàn)外部對隧道巡檢機器人的管控及數(shù)據(jù)呈現(xiàn)。
系統(tǒng)基于ROS2系統(tǒng)實現(xiàn),系統(tǒng)的各個模塊分別設(shè)計為ROS節(jié)點。節(jié)點之間的數(shù)據(jù)交互通過ROS2的話題和服務(wù)進行交互,同時各節(jié)點也通過ROS話題和服務(wù)的方式向外部提供業(yè)務(wù)接口。
其中,電機控制節(jié)點、氣體傳感器控制節(jié)點、雷達控制節(jié)點、rfid讀卡器控制節(jié)點、繼電器控制節(jié)點實現(xiàn)機器人對各個傳感器或外設(shè)的控制;事件檢測節(jié)點實現(xiàn)匯聚收集各傳感器、攝像頭等外設(shè)的數(shù)據(jù)進行分析,并根據(jù)相應(yīng)算法計算事件檢測結(jié)果并進行決策;站點管理節(jié)點實現(xiàn)隧道里關(guān)鍵位置的信息的管理;任務(wù)管理實現(xiàn)機器人巡檢任務(wù)的配置及觸發(fā);控制中心通信節(jié)點實現(xiàn)ROS2系統(tǒng)向外提供進行交互的接口,后端控制程序通過這些接口獲取機器人的數(shù)據(jù)信息進行展示,或下發(fā)指令對機器人進行操控。機器人的配置信息、隧道路線數(shù)據(jù)、采集的數(shù)據(jù)、運行數(shù)據(jù)、控制命令記錄、日志記錄將保存在機器人本地的數(shù)據(jù)庫中并將配置遠程備份策略進行遠程同步。
2.3" 主要模塊的設(shè)計實現(xiàn)
2.3.1" 電機控制模塊
電機控制是實現(xiàn)機器人移動或進行巡檢作業(yè)的核心模塊,該模塊實現(xiàn)為一個ROS2節(jié)點(motor_node)。該節(jié)點首先根據(jù)電機控制器提供的Modbus協(xié)議接口,通過串口向電機控制器下發(fā)相應(yīng)的命令,實現(xiàn)對電機的控制以及電機數(shù)據(jù)的獲取,包括電機運行狀態(tài)獲取、電機運行指令下發(fā)、電機運行到指定位置指令下發(fā)、電機運行參數(shù)配置等功能。節(jié)點根據(jù)ROS2的話題服務(wù)機制對電機數(shù)據(jù)打包為ROS話題及ROS服務(wù),實現(xiàn)模塊間的數(shù)據(jù)交互:(1)構(gòu)造名為motor_status的ROS話題,話題用于廣播電機的實時運行數(shù)據(jù),以供其他節(jié)點訂閱;(2)構(gòu)造名為motor_control的ROS服務(wù),該服務(wù)用于提供電機控制命令,包含控制移動、控制停止、移動到指定位置、移動到指定站點、循環(huán)移動、充電等。
2.3.2" 控制中心通信模塊
控制中心通信模塊實現(xiàn)將各個節(jié)點提供的ROS話題、服務(wù)進行共享,為非ROS系統(tǒng)能夠與ROS系統(tǒng)進行通信提供數(shù)據(jù)交互方式,使外部系統(tǒng)能夠充分利用ROS系統(tǒng)的各種功能和資源并進行數(shù)據(jù)交互傳輸。
模塊通過ROS2的功能庫Rosbridge實現(xiàn)為一個ROS節(jié)點(rosbridge_websocket)。ROSBridge是ROS2提供的一個重要工具庫,其實現(xiàn)了ROS2與外部應(yīng)用的跨平臺通信、消息轉(zhuǎn)換、遠程通信的功能。
節(jié)點使用WebSocket作為通信的協(xié)議,通過監(jiān)聽WebSocket連接,處理來自非ROS應(yīng)用程序的消息,同時將ROS系統(tǒng)中的消息發(fā)送到外部非ROS應(yīng)用程序。外部非ROS應(yīng)用程序可以使用隧道巡檢機器人系統(tǒng)各節(jié)點的話題和服務(wù),與ROS系統(tǒng)進行實時的雙向通信,最終實現(xiàn)從外部控制層對隧道巡檢機器人進行遠程監(jiān)控、控制及數(shù)據(jù)展示。
2.3.3" 機器人配置管理模塊
機器人配置管理模塊實現(xiàn)為一個ROS節(jié)點(robot_config_node),通過構(gòu)造robot_configure、station_configure、task_assigned 3個主要的ROS服務(wù),實現(xiàn)對隧道巡檢機器人的參數(shù)配置、隧道路線配置、機器人作業(yè)任務(wù)分發(fā)的功能。
2.3.4" 事件檢測模塊
該模塊實現(xiàn)為一個ROS節(jié)點。該節(jié)點通過訂閱系統(tǒng)中其他節(jié)點模塊的話題,采集各傳感器的數(shù)據(jù)和攝像頭的視頻流,實現(xiàn)對周圍環(huán)境的全方位監(jiān)測和事件檢測。
模塊利用YOLOv5作為核心的目標檢測算法,能夠?qū)崟r地分析視頻流中的內(nèi)容,識別如行人、車輛、隧道設(shè)備等各種目標,并結(jié)合傳感器提供的數(shù)據(jù)和視頻流的特征,檢測出如隧道內(nèi)機電設(shè)備損壞、火災(zāi)、空氣污染、交通事故等事件,并在最短的時間內(nèi)做出反應(yīng),及時發(fā)現(xiàn)潛在的危險和異常情況,并發(fā)出報警信息。
2.3.5" 各傳感器控制模塊
各種傳感器的控制模塊均實現(xiàn)為ROS節(jié)點,通過調(diào)用各傳感器驅(qū)動提供的接口,從USB、串口、網(wǎng)口讀取傳感器數(shù)據(jù),并構(gòu)造ROS話題供其他模塊節(jié)點訂閱,構(gòu)造ROS服務(wù)供其他模塊節(jié)點調(diào)用。
主要的傳感器節(jié)點的ROS話題/服務(wù)如表1所示。
2.3.6" ROS2整體節(jié)點圖
系統(tǒng)的ROS2節(jié)點圖如圖2所示,展示了系統(tǒng)種各個節(jié)點及ROS話題的訂閱關(guān)系。
3" 系統(tǒng)應(yīng)用效果
為了驗證系統(tǒng)的有效性,本文對該隧道巡檢機器人系統(tǒng)在廣西思防高速公路捂銀山隧道中進行了實地部署安裝運行。
基于系統(tǒng)提供的接口服務(wù),配套開發(fā)了針對巡檢機器人WEB控制系統(tǒng)以及移動端控制APP,如圖3和下頁圖4所示。
在實際應(yīng)用中,本文所述的隧道巡檢機器人展現(xiàn)出了強大的功能性和出色的穩(wěn)定性。通過搭載的高清攝像頭和多種傳感器,機器人能夠?qū)崟r捕捉隧道內(nèi)部的各種細節(jié)為管理人員提供準確、全面的數(shù)據(jù)支持;機器人提供的豐富的控制接口和任務(wù)下發(fā)機制,也為管理人員的操控提供了極大的便捷。
相較于傳統(tǒng)的人工巡檢方式,該隧道巡檢機器人能夠在短時間內(nèi)完成更大范圍的隧道巡查任務(wù),避免了人員在惡劣環(huán)境下的工作風險,大大降低了人力成本和安全風險;管理人員也可以更加精準地了解隧道的結(jié)構(gòu)病害、運營隱患、實時交通狀況等信息,及時發(fā)現(xiàn)潛在的安全隱患,并采取相應(yīng)的處理措施,從而確保隧道的正常運行和通行安全。
4" 結(jié)語
本論文通過研究與實踐,設(shè)計并實現(xiàn)了基于ROS2的高速公路隧道巡檢機器人軟件系統(tǒng),該系統(tǒng)能夠有效地提升高速公路隧道的安全管理水平,提高巡檢效率和精度,減少人員的安全風險,對于保障高速公路交通的高效運營具有重要意義。同時通過對ROS2技術(shù)的應(yīng)用,
充分展現(xiàn)了ROS2作為機器人操作系統(tǒng)的優(yōu)勢,其靈活性、便利性以及對復雜系統(tǒng)的支持能力為本研究提供了強大的技術(shù)支撐。
展望未來,隨著ROS2技術(shù)的不斷發(fā)展和完善,ROS2在交通領(lǐng)域的應(yīng)用前景將更加廣闊,應(yīng)進一步探索ROS2技術(shù)在智能交通系統(tǒng)、無人駕駛技術(shù)、交通管理等方面的應(yīng)用,為交通領(lǐng)域的現(xiàn)代化和智能化發(fā)展貢獻更多的力量。
[1]黃" 蔚.智能巡檢機器人在隧道養(yǎng)護管理中的應(yīng)用[J].西部交通科技,2023(10):176-178.
[2]凌曄華.軌道式隧道巡檢機器人系統(tǒng)設(shè)計研究[J].西部交通科技,2023(10):145-147.
[3]黃柳盛.高速公路配電房智能巡檢機器人系統(tǒng)的設(shè)計與應(yīng)用[J].西部交通科技,2023(10):98-100.
[4]王益維,葉" 蕾.巡檢機器人在公路隧道中的應(yīng)用設(shè)計[J].中國交通信息化,2023(12):102-104,108.
[5]李艦飛,孫合力,呂澤龍.基于ROS2的無人安全巡邏車設(shè)計[J].無線互聯(lián)科技,2023(10):37-39.
[6]方育鑫,林盛鑫,史禮帆,等.基于ROS2和視覺SLAM的室內(nèi)導航機器人研究[J].東莞理工學院學報,2024,31(1):59-64.
[7]魯敬敬,秦云川,劉志中,等.機器人操作系統(tǒng)ROS安全性研究綜述[J].軟件學報,2024,35(2):1 010-1 027.
20240228