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