寇云凱 林浩意 蘇芃橋 黃韋 徐書涵


摘?要:針對未來智慧機場建設和發展的需要,本文提出了一種搭載深度相機、激光雷達、語音交互等智能模塊的機場航站樓智能指引機器人設計與實現方案,分析了機器人在機場候機樓特定場景下可實現的預期功能,使用一種基于深度學習模型的目標檢測算法,并通過即時定位與地圖構建算法構建二維地圖,確定了其在機場航站樓中路徑導航與避障運動方案。
關鍵詞:ROS系統開發;目標識別;機器人路徑規劃
1?概述
1.1?問題描述
智能機器人利用計算機視覺、自然語言處理、機器學習和深度開發程序等技術,根據工作環境及相應指令做出快速與準確響應。當前,隨著智能化技術的不斷發展,人工智能、機器人技術等已成為各國重點發展的科技領域之一,在制造業、物流業、家庭服務業和軍事領域展現出了優秀的應用性能,可用于工業自動化、環境監測、智能家居、無人物流、無人駕駛等領域。例如,大疆創新制造的“曉”Spark小型航拍無人機;波士頓動力公司研發的可適應復雜地形條件的Big?Dog型四足機器狗[1]。其中基于輪式移動系統的智能機器人已相當成熟,相比于其他結構,輪式機器人具有易于平穩移動、驅動裝置容易維護、制造成本相對較低等優點,能協助完成煩瑣、危險、重復性高的任務,極大地提高了工作效率和安全性,提供了諸多便利。例如,以巡檢機器人為代表,通過廣泛應用機械臂、3D激光導航技術和視覺識別等技術,在各類天氣情況下完成路況的巡檢工作及簡單安全維護的機器人;通過磁條引導、激光引導、慣性導航以及磁釘導航等方式,用于物流分配車間物品搬運的AGV(Automated?Guided?Vehicle)物流小車;家用自動吸塵器機器人iRobot?Roomba,采用人工智能系統iAdapt,用于自動清掃和清除家庭中的各類垃圾、灰塵。
在民航領域,機場航站樓結構相對復雜,特定人群如老人、未成年人、初次選擇民航客運的乘客等難以找到登機口、衛生間、值機柜臺等相應區域,給旅客出行造成了較大困難。根據智慧機場建設以及提高民航服務水平的要求,引進一款用于航站樓指引的機器人十分必要。但市場上的引路機器人大多存在著在室內環境下定位不夠準確、目標識別僅限于有明顯特征的物品以及機器人自主導航避障低效的問題。因此,在此背景下開展新型航站樓智能機器人的設計工作具有積極意義。
1.2?國內外研究現狀
目前,針對機場智能機器人的研究一直非常活躍,形成了新的研究熱點:國外領域在比較早的時期就有不斷對于機器人運動規劃的研究。例如,Karaman等設計出用于機器人最佳運動規劃的基于增量采樣的算法[2]。Palmieri等設計出一種名為POSQ的新的RRT擴展功能,該功能可以實現高效流暢的移動機器人的運動規劃[3]。國內領域起步較晚,但目前也有一些對于機器人路徑規劃的研究。例如,李名杰等設計出一種基于SLAM的智能服務機器人。該機器人通過配備視覺傳感器、激光雷達和紅外等傳感器在未知的陌生環境中構建出地圖和結構,并確定自身的位置和方向,可以實現人臉識別、進行查詢登機口、全方位場景掃描、行李托運和移動導航等功能[4]。王勇等設計了一種用于機場服務、協助機場管理的服務機器人控制系統[5]。控制系統設計利用輪式移動并且加入了人機交互系統界面的設計與程序編寫,實現了可以通過互聯網查詢信息,語音識別并預設應答和機器人移動避障等功能,該機器人配備了上位機(PC)、控制器、傳感器模塊、通信模塊、電源模塊、驅動模塊和語音模塊。該機器人通過測距超聲波傳感器和紅外線傳感器檢測環境中障礙物的位置與自身距離,通過程序判斷運行狀況并實現實時調整機器人運行速度和方向,避免與人或物體發生碰撞。
在應用領域方面,廣州白云國際機場引入了一種名為“云朵”的智能問詢機器人,通過大數據和云計算技術可實現乘機咨詢、語音交互、定位導航等功能;韓國仁川機場使用了由韓國LG公司研制的名為特羅伊卡(Troika)的機器人,可識別多種語言并幫助旅客尋找登機口,以及幫助保潔人員清掃地板。
綜上可見,在機器人路徑規劃方面國內外都有了一定的研究,但如何優化用于機場輪式機器人的路徑規劃是我們仍需要繼續研究的。
1.3?文章概述
本文提出了一種用于機場候機樓指引的輪式機器人設計方案,實現機器人的障礙識別與路徑動態規劃,為其在未知或部分未知環境下的自主導航提供技術支持,提升躲避障礙物的效率與復雜環境下的運行能力。項目將基于機器人上搭載的激光雷達、深度相機、語音交互模塊等硬件配置,通過深度圖像數據識別與處理,實現機器人的建圖導航、自主避障和跟隨等功能。本文篇章結構組織如下:第二部分介紹機器人的總體功能與配置;第三部分提出機器人所需的硬件結構;第四部分提出機器人圖像處理及目標識別檢測算法;第五部分介紹機器人二維運動地圖構建和導航避障功能的實現;第六部分對本文章進行總結。
2?總體功能
指引機器人旨在協助旅客到達目的地,且在無任務狀態時通過自動巡邏功能尋找需要幫助的旅客,并幫助機場完成航班信息的傳達。具體功能如下:
2.1?語音交互及廣播
此功能能夠幫助旅客及時搜尋航站樓的信息位置,為有需要幫助的旅客能準時到達登機口順利搭乘航班提供必要協助。機器人搭載的語音交互系統與旅客實現語音交互,通過平臺提供的多項服務,識別旅客的指令,理解旅客需求,及時做出回應,實現與旅客的交流。同時,在執行任務時,還能為旅客播報航班狀態[6],協助旅客完成登機。在巡邏狀態下,能廣播尋人啟事等通知。
2.2?自動巡邏
在機器人未收到外界指令時,可在候機樓內自動巡邏,利用深度攝像頭進行目標檢測。同時尋找需要幫助的旅客,及時回答旅客問題,并且協助發現安全隱患。
2.3?導航引路
收到旅客的導航指令后,機器人通過內置的機場地圖,及時搜尋出目的地信息,并規劃出從當前位置出發的最短距離。同時,它還會計算出預計花費的時間進行及時播報,會在經過洗手間、商店等地點時告知旅客。為了實現實時定位,可通過在機場內放置定位標,借助SLAM技術、深度相機以及激光雷達,通過同時對多個定位標的角度測量以及距離測量,確定自身在三維空間中的位置,使機器人計算出自身在航站樓所處的位置[7]。在運行過程中,可提前通過SLAM建圖獲得候機樓內部環境信息,即獲得靜態障礙物數據;而對于行人、車輛等動態障礙物,則采取激光雷達實時掃描的方案,通過在ROS系統中加載局部路徑規劃器實現避障[8]。
綜上所述,機器人導航引路的邏輯與基本流程如圖1所示,將在后續章節中討論探測障礙物與路徑規劃的具體方法。
2.4?其他功能
機器人在未執行導航任務時,進入巡邏狀態,此時可通過電控裝置自動或手動執行噴灑消毒水、播放城市旅游宣傳視頻等功能。機器人還安裝了基于多機通信的一鍵報警程序,旅客可使用機器人與機場工作人員溝通,尋找人工幫助。
3?硬件系統設計
為實現機器人的障礙識別與路徑動態規劃,為其在未知或部分未知環境下的自主導航提供技術支持,提升躲避障礙物的效率與復雜環境下的運行能力的目標,機器人選用阿克曼轉向結構底盤配合520電機以及金屬舵機,配備深度相機和激光雷達用來感知周圍環境。配合語音交互模板實現對小車的命令。硬件選型與設計如下:
3.1?深度相機
機器人采用的是Astra?pro深度相機,其包含了彩色攝像頭(RGB)、紅外相機(IR?camera)、紅外投影儀(LDM)、深度計算處理器(depth?processor)等,能夠快速準確地進行物體的測距追蹤、目標物體識別,更方便準確感知外界環境,幫助分析判斷機器人自身所處的位置[9]。
3.2?激光雷達
激光雷達采用的是YDLIDAR?4ROS激光雷達,其原理是靠旋轉反射鏡將激光發射出去,并通過計算發射與返回的時間差計算距離,利用其較高的測距精準度能為機器人導航提供有效的環境感知[10]。
3.3?科大訊飛的語音交互系統
機器人利用訊飛開放平臺實現語音交互。訊飛平臺提供了語音識別、語音喚醒、語義理解等多項服務,借助其語音交互系統強大的AI識別功能,能準確理解旅客需求,正確回答旅客問題并將語音命令轉化為對小車的運動指令。
3.4?機器人操作系統
ROS(Robot?Operating?System)是適用于機器人軟件開發的元操作系統。它借助Linux系統,實現底層設備控制、常用函數應用、進程間消息傳遞等功能。它能在完善功能包的配置后,完成航站樓3D坐標的建設、機器人運動的規劃和相機的標定等功能,完成從指令到實際操作的實現[11]。
4?目標識別
機器人的目標識別是指利用攝像輸入裝置檢測預定目標的幾何或者統計特征的圖像分析處理技術,采用目標識別的方法,機器人可以實現顏色追蹤、二維碼掃描、障礙物識別等功能。目前,主流的目標識別技術主要包括三種:一是模板匹配法,對目標圖像的形狀特征采集后,在待檢測圖像中逐點尋找與目標圖像模板距離、梯度、方差等特征值最為相似的區域[12];二是特征提取法,例如Blob分析(Blob?Analysis),將圖像中顏色、紋理相近的部分進行連通域提取和標記,即二值化處理圖像之后再檢測灰度突變區域;三是深度學習,通過訓練深度學習模型來自動識別和分類目標。
考慮到機器人主板的性能,為了快速且有效地實現對目標的特征提取,因此選擇了基于深度學習的目標檢測算法:在深度相機采集深度信息和RGB圖像后,圖像數據和圖像元數據(圖像寬度、高度、編碼格式等信息)返回給機器人主板,主板上搭載的ROS系統通過圖像消息系統(sensor_msgs)傳輸存儲圖像數據,在此過程中,可使用rosbag記錄圖像消息或用ROS的話題(Topic)機制實時傳輸圖像消息。
此后利用Open?CV(Open?Source?Computer?Vision?Library)對輸入圖像進行處理,Open?CV是一個跨平臺的計算機視覺庫,具有強大的圖像數據處理功能,庫中有各種函數可以對圖像進行分析,且占用存儲較小,在ROS系統中能較為流暢地使用。首先,將ROS圖像數據轉化為Open?CV格式的圖像數據,再對圖像數據進行灰度化、去噪等預處理,這可以減少圖像數據中的無關信息,而Open?CV中Canny函數可對預處理的圖像進行邊緣檢測,實現對目標的特征提取,并將處理后的數據保存在相應文件中[13]。
基于深度學習的目標檢測算法YOLOv5(You?Only?Look?Once?version?5)可通過卷積神經網絡(Convolutional?Neural?Network,CNN)實現對圖像中目標物體的識別和定位,它在檢測過程中會將輸入的圖像分割成多個網格單元,分析并輸出預測框(Bounding?Box),其中包含目標物體位置、大小和該物體屬于不同類別的概率值。為了實現圖像的識別,需提前構建機場中機器人可能拍攝圖像的訓練數據集,并按照行人、建筑物、路標、出入口、定位二維碼進行分類,采用YOLOv5作為深度學習模型,對已準備數據集中的圖像進行分類訓練,提高精準度。在機器人實際運行過程中,YOLOv5通過ROS系統調用Open?CV存儲的文件,從而獲得目標的位置類別信息。進一步,還可以增加目標跟蹤的相關算法實現對物體的實施跟蹤和位置預測[14]。
5?路徑導航
機器人的路徑規劃是指機器人根據自身定位與目標地點選擇最佳路線,機器人的路徑規劃通常面對三大問題:一是機器人對所處環境的地圖構建和自身定位;二是單次運動中機器人對起點與終點之間路徑的選擇與優化;三是運動過程中避障行為的局部路線規劃。基于此,文章提出以下方案。
5.1?基于SLAM的二維建圖
機器人通過YDLIDAR?4ROS激光雷達與Astra?pro深度相機完成SLAM二維地圖的構建。YDLIDAR?4ROS激光雷達以固定頻率向四周掃描,發射的激光在經過障礙物反射后被接收器接收,采集多組信息后,根據地圖的數學特征(直角、曲線)來進行地圖匹配,將分散的地圖組成完整地圖,采集數據被提交到ROS系統中,我們將接收信息在(x,y)坐標軸上用Cartographer?SLAM生成2D柵格地圖[15]。
Astra?pro深度相機可采集像素點與相機間的距離信息,根據三角相似的計算原理,將三緯空間上的點信息在二維像素平面上完全體現,并在相鄰圖像上進行特征點匹配。Astra?pro深度相機可以獲取環境中的深度信息,將得到的信息提交到ROS系統中,通過RGBD?SLAM算法進行建圖,作為激光雷達生成2D地圖的輔助。
2D激光雷達僅能采集到單一平面內的點云數據;而深度相機可以采集到一定范圍的深度圖像和彩色圖像,通過例如RTAB—MAP等算法,可構建三維彩色地圖,但地圖精度較低。融合激光雷達和深度相機的采集數據可在實現三維建圖的同時,保留雷達的高精度避障功能。
5.2?機器人的導航和規避
本項目中,機器人的運動場景固定為機場候機樓,預先將機器人帶至場地,利用傳感器提前掃描場景即可完成SLAM二維地圖構建;而機器人與乘客交互確定目標點后,采用一種啟發式搜索算法(A*搜索、Dijkstra算法結合)來規劃路徑,由于全局路徑規劃的靈動性較差,而面對移動目標時,機器人不能及時做出路線改正,動態窗口法算法(Dun?amigo?Window?Approach,DWA)可解決這個問題,進而DWA算法、A*算法與Dijkstra算法結合后,可讓機器人在有移動目標情況下達到目的地。
A*搜索算法(啟發式搜索)是基于廣度優先算法提供搜索方向,通過“路程代價”和“預估代價”,找到一條代價最低的路徑(路程代價和預估代價的和),這條路徑是最佳路徑,在此路徑的基礎上,通過DWA算法來進行局部規劃,從而到達目的地。
DWA算法通過機器人測試得到機器人速度、加速度信息后,通過評價函數來對當前路線進行評估,得到一組最優速度解,通過調整評價函數中方向角、機器人與障礙物距離、軌跡對應速度的權重來獲得規劃路線。
機器人路徑規劃是基于激光雷達與深度相機收集周邊信息和獲得自身位置與姿勢信息,當機器人在ROS系統中生成二維地圖后,再根據相關的運動算法與路徑規劃算法到達目的地,如圖2所示。
圖2?機器人路徑規劃流程圖
5.3?機器人控制
在候機樓中布置供機器人定位的二維碼,機器人行進過程借助目標識別算法即可實現自身定位,利用路徑算法,獲取目標位置后得到路徑信息,通過PID(Proportional?Integral?Differential)給出機器人四個輪子的運動參數,從而完成導航行為。
結語
本文對候機樓特定環境下的機器人的指引工作原理進行了分析,通過裝配硬件設施與加載軟件開發環境,展示了指引機器人可能實現的功能,思考了實現目標檢測識別、避障、路徑導航等功能的可行辦法,最終給出了相對合理的設計方案。
參考文獻:
[1]王哲,馮曉輝,李藝銘,等.智能機器人產業的現狀與未來[J].人工智能,2018(03):1227.
[2]Karaman?S,Frazzoli?E.Incremental?samplingbased?algorithms?for?optimal?motion?planning[J].Robotics?Science?and?Systems?VI,2010,104(2):267274.
[3]Palmieri?L,Arras?K?O.A?novel?RRT?extend?function?for?efficient?and?smooth?mobile?robot?motion?planning[C]//2014?IEEE/RSJ?International?Conference?on?Intelligent?Robots?and?Systems.IEEE,2014:205211.
[4]李名杰,詹紅梅.基于SLAM的智能機器人在大型樞紐機場的應用[J].中國新技術新品,2022(07):1921.
[5]王勇,祝鑫,朱嘉敏,等.機場服務機器人控制系統設計與研究,20190208.
[6]周君,劉璟.酒店服務機器人語音交互系統設計[J].軟件導刊,2018,17(11):1316+21.
[7]徐慧,孫宏圖.室內移動機器人激光雷達定位方法研究與仿真[J].機械設計,2022,39(05):9195.
[8]查榮瑞,馬云華,燕翔,等.基于場景理解與改進型BUG算法的移動機器人避障[J].計算機測量與控制,2023,31(03):228234.
[9]丁子琳.基于深度相機的移動機器人視覺SLAM技術研究與實現[D].東北石油大學,2022.
[10]何小英,王旭.激光雷達和視覺技術的機器人移動位置跟蹤系統[J].激光雜志,2023,44(01):232237.
[11]李昕哲,高雨源,何棋威,等.一種基于ROS的SLAM智能小車設計[J].信息與電腦(理論版),2022,34(11):144146.
[12]謝永杰,智賀寧.基于機器視覺的圖像識別技術研究綜述[J].科學技術創新,2018(07):7475.
[13]黃俊明,陳平平,王彩申.在Linux環境下基于OpenCV圖像處理的研究與實現[J].電腦編程技巧與維護,2023(01):143146.
[14]鄭太雄,江明哲,馮明馳.基于視覺的采摘機器人目標識別與定位方法研究綜述[J].儀器儀表學報,2021,42(09):2851.
[15]薛迎港.基于ROS的倉儲機器人自主導航研究和實現[D].西安工業大學,2022.
項目基金:用于輪式機器人避障的嵌入式系統程序開發(項目號:IECAUC2023186)
作者簡介:寇云凱(2001—?),男,漢族,山東濰坊人,本科,中歐航空工程師學院工科試驗班;林浩意(2002—?),男,漢族,安徽宿州人,本科,中歐航空工程師學院工科試驗班;蘇芃橋(2002—?),男,漢族,四川會理人,本科,中歐航空工程師學院工科試驗班;黃韋(2003—?),男,漢族,安徽滁州人,本科,中歐航空工程師學院工科試驗班;徐書涵(2003—?),女,漢族,天津人,本科,中歐航空工程師學院工科試驗班。