董陽武
(山西工程職業學院 山西省太原市 030000)
如今,無人機可通過遠程控制方式執行既定任務,但在面對多變復雜的飛行環境時,無人機仍需擁有自主飛行能力[1-4]。隨著科學技術的不斷發展,無人機自主飛行能力逐漸成熟,已然能夠自主應對復雜的飛行環境問題,但也仍面臨著地圖構建問題,也就是SLAM 問題[5-7]。為了解決該問題,本文將對機載激光雷達的無人機三維地圖構建進行研究,以明確地圖構建的不足之處,并加以解決,推動無人機的地圖構建能力,提高無人機的智能化水平。
由于本文研究的是無人機機載激光雷達的三維地圖構建,因此,在地圖構建算法上具有一定的要求,也就是應當具備較高的漂移誤差和實時性。通過綜合性考量,決定使用LeGo-LOAM算法[8]作為此次的地圖構建算法,其具體架構如圖1所示。

圖1:LeGo-LOAM 算法架構
前端部分由點云分割、特征提取、雷達里程計和回環檢測這四個環節構成,后端則由位姿圖優化部分組成。通過前端與后端的處理,能夠極大程度降低漂移誤差,提高三維點云圖構建的實時性。其中,在特征提取環節上,我們在計算其平滑度時一般用到式子(1)進行求解。
式子中,深度信息由rki表示,點云圖中某一點及其同一行左右兩邊5 個點的集合由S 表示。而后在雷達里程計環節上,借助迭代公式式子(2)進行迭代處理。
式子中,J 為雅克比矩陣,Tk為位姿估計,h 代表兩種含義,第一是邊緣特征間的距離;第二是平面特征間的距離。在后端設計上,我們可以借助位姿圖目標函數求解,以得到準確的位姿變換信息,如式子(3)所示。
式子中,位姿圖中,全部位姿節點的位姿估計由V表示,全部邊的集合由ε表示,位姿估計誤差由eij表示,協方差矩陣由∑ij表示。在得到位姿變換結果后,便可以進行最后的回環檢測和地圖構建環節,得到最終的三維點云地圖。
通過綜合考慮比較,選用了650mm 軸距的無人機作為本文研究的載體,該無人機機體材質為碳纖維,質量輕且強度剛性較高,具有良好的飛行性能。在動力硬件設備上,我們選用了15*15 英寸的碳纖維槳葉和MN4014 400KV 無刷電機,這樣即使油門量控制在50%,也能夠為無人機提供1.5kg 的升力,極大程度提升了無人機的搭載能力。電池為1000mA 時6S 鋰電池,該規格電池能夠為無人機帶來充足的續航能力,最高續航時間可達到20min。除了這些基礎硬件之外,還配備了激光雷達、Rixhawk 飛控、差分GPS 板卡、數傳電臺、差分GPS 蘑菇頭天線、機載計算機單元等硬件設備。其中,激光雷達這種傳感器的工作原理較為簡單,借助發射器發射激光,當激光掃射到物體時,會發生漫反射,此時接收機會接收到漫反射激光,此時通過計算激光接收時間便能得到物體的具體距離。當然,激光雷達也有不同種類之分,常見的有三維激光雷達和二維激光雷達,如Hokuyo UST-10LX 激光雷達就屬于二維激光雷達,通過發射一束激光束來實現物體的探測工作。這種雷達存在著一定的不足,無法實現360°無死角掃描,探測距離也是存在一定局限性,最大探測范圍僅有10m,優點則是整體質量較小,容易攜帶。而三維激光雷達則可以發射出多束激光束來實現物體的探測,如VLP-16 激光雷達就是常見的三維激光雷達,其沒有掃描死角,能夠進行全方位探測,探測范圍最高可達到100m,所以,在雷達設備的選用上,選擇了VLP-16 激光雷達。
2.2.1 無人機端的軟件設計
軟件設計包括兩個部分:
(1)無人機端的軟件設計;
(2)地面站端的軟件設計。
無人機端的軟件系統由飛行控制單元、機載計算單元、激光雷達等部分組成,飛行控制單元與機載計算單元之間通過UART 協議實現數據的交換工作,激光雷達借助UDP 協議實現電云數據的傳輸工作。地面站端軟件系統的數據交換是利用SSH 協議實現的,除了數據交換之外,還借助MAVLink 協議與飛行控制單元進行相互通信。具體而言,不同模塊之間存在著數據交互能力,所有執行工作均在ROS 中完成。為了滿足前文設計的地圖構建算法,加入了SLAM 節點,負責電暈數據話題的輸入與位置估計結果、全局電暈地圖的輸出。為了確保MAVLink 協議與ROS 之間的穩定性,添加了MAVROS 功能包,借助該功能包能夠實現uORB信息的實時轉換,使之成為通用的ROS 話題,在ROS中,MAVROS 會以mavros 節點形式存在,負責信息傳遞,如傳感器采集得到的信息、飛控狀態信息等,除了信息傳輸功能外,還具備訂閱信息能力,如訂閱外部傳感器采集的數據信息等。正方形框框內的話題均是本文的主攻話題,因為這些話題均在mavros 節點話題訂閱范圍之內,同時,外部傳感器采集得到的位姿信息也是包含在內的。所以,無人機若要實現自主定位,那么/integrated_to_init 應重映射成/mavros/vision_pose/pose,但實際上這種重映射是無法完成的。通過分析,導致這種問題發生的原因是話題的類型不一致,所以不能進行重映射。因此添加了一個節點transpose,通過該節點對/integrated_to_init 進行訂閱,而后發布/mavros/vision_pose/pose,實現類型的轉換,使之能夠進行重映射。
激光雷達數據傳輸是在UDP 協議下實現的,為了得到激光雷達的實時數據,可將Wireshark 軟件應用其中,每一幀數據長度都是固定不變的,均為1248 字節,其中,數據包頭部有42 個字節,數據12 組(每組數據有100 個字節),時間戳有4 個字節,帶標識的雷達型號參數有2 個字節。而后是距離信息32 組(一組3 個字節),其中,距離值2 個字節,激光反射強度值1 個字節。在飛行控制單元中,我們會借助PID 算法來實現飛行控制的目的[9]。而后借助EKF 算法[10]估算IMU 數據與/mavros/vision_pose/pose 位置信息,以獲取最終的位姿信息。無人機根據此信息完成閉環控制操作。
2.2.2 地面站端的軟件設計
該軟件有兩項核心功能:
(1)借助SSH(加密性網絡傳輸協議)實現對計算單元NUC 軟件的遠程控制;
(2)借助相應軟件實現對無人機的實時監控,如QGroundControl 軟件。
當網絡出現不安全問題或隱患時,SSH 能夠單獨開辟出一條安全的傳輸渠道,提供安全的網絡服務條件。在此系統中,機載計算單元與地面站端的局域網相同,只需獲悉IP 地址便能借助SSH 對機載計算單元進行訪問,進而調動地圖構建算法,并對其發布頻率、內容等情況進行檢驗,在結束檢驗后可遠程結束算法的使用。飛行控制單元與地面站間的連接使用到了無線網絡,并在MAVLink 協議的作用下完成最終的通信工作。該協議屬于開元通訊協議,常用于飛行器的通訊環節上,為地面站端提供相應的校檢功能。在監控環節上,QGroundControl 軟件能夠對MAVLink 信息進行解析,并實時展現出各類核心信息,如姿態、位置、GPS信息等。
為了檢驗無人機機載激光雷達的三維地圖構建情況,首先對其定位精度檢驗,以明確地圖構建算法定位情況。其次對三維點云地圖構建情況進行驗證,以明確建圖效果。最后對三維點云地圖進行處理,也就是環境重構,以獲取更為清晰的三維點云地圖。
為了檢驗無人機機載激光雷達的三維地圖構建情況,此處進行了定位精度檢驗,具體而言,通過手持無人機方式,進行矩形軌跡和定點運動。通過室內室外兩種不同環境結合的方式,對其運動估計值進行比較分析,以明確最終定位精度。首先室內進行定點實驗,此次實驗時長為3min,結果發現,無人機在X、Y、Z 方向上的定位精度均在2cm 范圍內,在規定時間內位置估計并未出現漂移行徑。而后在矩形軌跡運動實驗中,無人機沿著長3*2.5m 規格的矩形進行行走,得到地圖構建算法估計的位置信息,而后與運動捕捉系統采集得到的位置信息進行比較,結果發現無人機在進行矩形軌跡運動時,定位精度能夠保持在15cm 范圍之內。接著將實驗環境換到室外,進行定位精度測試,在X、Y 平面上,位置估計誤差僅有1cm,在Z 平面上,位置估計誤差為5cm。在定點測試環節中,激光雷達地圖構建算法在Z 方向上的定位精度為5cm,在X、Y 方向上的定位精度分別為10cm 與20cm,造成定位誤差較大的原因是試驗環境較為空曠所致,而x 方向上的特征點與Y 方向上的特征點成反比關系,這是一大一小所導致。在進行矩形軌跡測試時,選擇了規格為6*4m 的矩形空間進行檢測,結果發現,X 方向的定位誤差為50cm,Y、Z 方向上的定位誤差均為20cm,導致定位誤差較大的原因同上。所以,在特征點穩定情況,定位誤差可以控制在20cm,能夠達到室外建圖要求。
為了檢驗無人機機載激光雷達的三維地圖構建情況,進行了三維點云圖構建實驗,實驗環境均在室外完成。下面我們以某市A 廣場為研究對象,進行三維點云地圖構建工作,得到的結果如圖2所示。

圖2:三維點云圖構建結果
可以看出,借助無人機搭載激光雷達能夠較好地構建出三維點云圖,具有較高的可行性。但是存在無明顯重影問題,所以,下文將會借助CloudCompare 軟件進行處理,以提高點云圖中物體的辨識度,具體處理效果圖下文所示。
CloudCompare 軟件中的qPCV 算法能夠為處理提供光線數量選擇功能和光照類型選擇功能,這樣便能夠將點云圖中的物體立體效果充分展現處理,以提高點云圖中物體的識別度,經軟件處理后,A 廣場三維點云圖如圖3所示。

圖3:處理后的三維點云圖
可以看出,經過處理后的三維點云圖,能夠清晰看出其中物體的立體形象,為三維點云圖的構建展現提供了正向推動力,使得三維地圖構建的更加具體清晰。
本文首先對地圖構建算法進行了分析,為后續的實驗平臺搭建奠定了基礎。其次,根據前面提出的地圖構建算法,搭建了實驗平臺,包括硬件平臺與軟件平臺。最后,通過室內室外相結合的方式對地圖構建算法的定位情況進行了驗證,結果發現室內定位誤差在15cm 左右,室外定位誤差在20cm 以內,能夠滿足室內室外建圖的要求,肯定了算法的可行性。而后進行了室外建圖試驗,發現得到的三維點云圖難以識別其中物體的問題,為了優化這一問題,借助CloudCompare 軟件進行了處理,得到了最優點云地圖,能夠清楚識別圖中的物體。