李 曉, 沈 浩, 趙毅鋒, 黃 浩, 沈潤杰, 郭 帥
(1.華東天荒坪抽水蓄能有限責任公司,浙江 安吉 313302; 2.同濟大學 電子與信息工程學院,上海 201804; 3.合肥工業大學 土木與水利工程學院,安徽 合肥 230009)
抽水蓄能電站高壓引水隧洞在高速水流的不斷沖刷過程中,存在被沖蝕的風險;抽水蓄能電站輸水道普遍長度長、角度大,現階段輸水道在無水情況下通常利用臺車和蜘蛛人檢查,有水情況下通常采用水下機器人檢查,但這些檢查手段普遍存在安全風險高的問題,且不適合具有分段水平洞和垂直隧洞情況,因此開發新型的輸水道系統檢測技術迫在眉睫。
近年來,隨著傳感器技術和無人機技術的快速發展,利用多旋翼無人機搭載采集設備進行隧道內部的快速檢測成為可能,但隧道內部存在GPS信號屏蔽和地磁干擾現象,對無人機的自主飛行帶來技術挑戰。國內外研究者針對無人機在封閉空間內的自主飛行做了大量的研究,取得了較豐富的成果。文獻[1-2]開發了利用多旋翼無人機進行工業煙囪巡檢的無人機導航系統,該系統搭載了多個傳感器,包括輕型3D激光掃描儀,用于無人機的導航和避障;文獻[3]嘗試采用視覺、二維激光雷達、三維激光雷達等不同傳感器組合進行大壩管道內的無人機位姿估計;通過搭載慣性傳感器、2個單線激光雷達及4個相機的水壩管道巡檢無人機,文獻[4-5]提出了依賴管道圓柱幾何形狀的融合慣導、激光雷達、攝像機的六自由度估計算法,該算法利用Velodyne16線激光雷達、慣性測量單元(Inertial Measurement Unit,IMU)、4個攝像頭進行無人機六自由度位姿估計,該系統具有一定的自主導航和構建局部環境地圖的能力;文獻[6]提出了基于三維激光雷達的位姿估計算法,該算法采用Velodyne16線激光雷達,通過在非線性流形上的優化過程重建以無人機為中心的局部地圖,并通過卡爾曼濾波器優化最終的六自由度狀態估計,可以適應不同直徑、橫截面及不同彎曲程度的管道環境,如圖1、圖2所示。

圖1 無人機在大壩管道中的飛行實驗

圖2 基于三維激光雷達算法的管道局部地圖
在國內,對于無人機在室內、隧道內等無GPS信號空間內的自主導航技術也有一些研究報道。文獻[7]研究了基于單目視覺的無人機室內導航方法;文獻[8]設計開發了面向隧道內的自主偵查無人機系統;文獻[9]研究了針對小型無人機在無衛星導航信號條件下的導航問題;同濟大學無人機開發團隊利用單線激光雷達融合IMU和氣壓計等實現了隧洞的自主飛行技術,并于2019年首次對天荒坪、桐柏抽水蓄能電站進行自主飛行,獲得成功。
本文研究四旋翼無人機在無GPS信號環境中的自主導航方法,提出了基于三維激光雷達、慣導、氣壓計的多傳感器融合無人機位姿估計算法,實現了無人機在電站輸水隧洞內的智能感知和自主飛行。仿真模擬和實驗結果表明本文位置控制算法的有效性。本文研究成果可為抽水蓄能電站輸水隧洞無人機檢測技術提供參考。
考慮到抽水蓄能輸水隧洞為圓形特殊工業環境,其隧道的紋理特征貧乏,結構特征重復,難于用傳統的激光雷達測距與建圖 (LiDAR Odometry and Mapping,LOAM)或視覺的方法對無人機進行定位,本文提出一種基于隧洞圓形特征(曲率、法線及圓心)的無人機定位方法。無人機在飛行時,對于路徑規劃和最優路徑的選取,都相對圓心來確定自身位置的定位。因此,本文采用圓心算法——Hough變換[10]和對最小二乘法進行優化的Levenberg-Marquardt算法提取圓面特征。
隨機Hough變換提取圓的基本原理是隨機采樣3個點來確定一個圓。檢測圓心坐標,是根據圓的幾何性質,即圓心為圓周上任意兩條不平行弦的中垂線的交點來確定。點云擬合求解圓心示意圖如圖3所示。
最小二乘法求解圓心坐標原理如下。設圓周上有n個點,任意2點坐標為(xi,yi)、(xj,yj)(0
(xi-a)2+(yi-b)2=
(xj-a)2+(yj-b)2
(1)
可以列出n-1個方程的方程組,簡化成矩陣表達式為:
V=Ax-l
(2)
其中,A、x、l分別為:
(3)

(4)
(5)

圖3 點云擬合求解圓心示意圖

V(Tδ+ΔTδ)≈V(Tδ)+J(Tδ)ΔTδ
(6)
其中,J(Tδ)為V(Tδ)的雅克比矩陣。
Levenberg-Marquardt算法通過比較近似模型和實際函數之間的差異來確定ΔTδ的可信賴范圍,給定近似范圍μ,其增量方程為:
‖Tδ‖2≤μ
(7)
增量方程是帶有不等式約束的優化問題,用拉格朗日乘子λ將其轉化成無約束優化問題,即
(8)
(8)式可以通過對ΔTδ求偏導,逐步迭代求解。
而對于法線,通過最近鄰(k-nearest neighbors,KNN)算法計算無人機激光雷達采集的點云,通過鄰近點云計算出小區域的平面,從而獲得相應的法向量。
在四旋翼無人機的位姿控制中,以電子羅盤、IMU及氣壓計等傳感器為基礎的互補濾波姿態和高度估計算法相對成熟。通常以陀螺儀為主,用加速度計來輔助檢測無人機的俯仰角和滾轉角,使用電子羅盤修正無人機的偏航角,使用氣壓計修正無人機的高度。其算法框架如圖4所示。

圖4 基于多傳感器融合的位姿估計算法框架
四旋翼無人機姿態解算是將陀螺儀、加速度計及氣壓計等測得的數據進行融合得到姿態角的。陀螺儀測得的數據本身存在溫漂和零漂誤差,導致在長時間探測時具有較大的誤差,而加速度計不具備良好的動態能力,因此單獨使用加速度計或陀螺儀不能精確地進行姿態解算,需要對陀螺儀數據和加速度數據分別進行高通濾波和低通濾波,并將濾波后的數據進行融合求解,從而提高姿態解算精度。基于互補濾波器的滾轉角、俯仰角算法流程如圖5所示。

圖5 基于互補濾波器的滾轉角、俯仰角算法流程
通過IMU和氣壓計獲得無人機的3個自由度(滾轉角、俯仰角及高度)的相對準確值后,還需要估計水平方向位置和偏航角。對于偏航估計,同樣可以分為特征提取、特征匹配與運動估計、位姿優化3步,基本原理相近,僅在算法上,由于已知部分姿態信息,會有一些差別。以t1~t2時間段內激光雷達的運動估計為例,假設已知在該時間段內x、y方向的運動增量和t1時刻的偏航角,在未知部分姿態的情況下,是以上一次估計的運動增量作為本次運動增量的估計值進行轉換。在已知滾轉角、俯仰角及高度情況下,可以更精準地轉換。
根據當前時刻和上一時刻的高度,可以求得高度方向的運動增量,進而可以通過坐標轉換關系反求得平移增量。由于在無人機飛行過程中,無人機的偏航角變化不大,可以假定當前無人機的偏航角與上一時刻相同。
本算法考慮隧洞工業環境的特殊性,作出如下假設:
(1) 隧道本身呈規則形狀,即本身的立體空間是以立方體、圓柱體及球體為核心的組合空間體。
(2) 隧道表面不存在劇烈不規則形變,隧洞管道的平面特征可以粗略獲取。
(3) 無人機在過渡段不會有橫截面積的突變。
無人機自主飛行的機載傳感器(加速度計、氣壓計、IMU、激光/紅外測距儀等)中,在位置控制算法中需要涉及的傳感器主要以16線激光雷達為主,激光/紅外測距儀作為輔助手段。通過轉換關系將無人機坐標轉換為世界坐標。通過16線激光雷達對前側有明顯線、面特征轉變的面進行處理,獲得該面的法向量,同時在無人機前進方向和通過機身的法向量形成的平面上做法向量的垂線,以保證無人機在飛行時相對底部障礙物的距離為恒定高度,即軸心飛行。
當無人機進入水平激光雷達點云圖呈封閉圖形時,認為無人機進入了工作段,即無人機飛行下一時刻的位置坐標可以通過前一時刻的位移增量來估計,或者可以通過激光點云圖計算出其特征軸線或特征中心作為下一時刻的飛行位置。
仿真實驗的主要目的是通過仿真獲得無人機在各種特殊工業環境中的最佳飛行路徑和特殊路徑過渡優化,同時要考慮在不同環境中激光點云的建圖效果和位置估計精度。本文借鑒多傳感器融合的位姿估計算法,提出針對特殊立體的法線、軸線來優化無人機過渡段飛行穩定性算法,并通過仿真模擬來驗證算法的有效性。
本文的仿真系統運行在無人機操作系統(Robot Operating System,ROS)下,由PX4仿真飛控、自主飛行系統及Gazebo仿真模型3部分構成,仿真系統框架如圖6所示,三維管道模型如圖7所示。

圖6 無人機位姿仿真系統框架

圖7 引水隧道Gazebo模型
PX4是當前最流行的開源飛控板之一,其本身是一個Firmware軟件系統,以Nuttx實時ARM系統為核心操作系統,內含Gazebo中使用的傳感器驅動程序,通過傳感器輸出信息到飛控程序,最后轉化為電機轉速,輸出到仿真環境。在本文中,通過IMU、氣壓計、激光雷達等計算無人機當前的位置姿態信息,并將其發布在ROS話題中。
隧洞三維點云地圖如圖8所示。在點云圖成像上,因為飛行不平穩和水平段長度的影響,點云成像會有一定的偏移,但當無人機飛行至鄰近區域時,會對錯誤點云信息進行自糾正,所以該偏移不影響無人機本身的飛行。從飛行路徑來看,無人機在圓柱形管道中的飛行路徑有一定量的累計誤差,同時在到達過渡目標點周圍時,無人機會在周圍減速,逐步抬高自身位置,進入到斜飛段或垂直段。

圖8 隧洞三維點云地圖
無人機仿真飛行過程中的y方向世界真值與仿真預測值對比如圖9所示。

圖9 y方向位姿世界真值與仿真值對比
從圖9可以看出:
(1) 在整體趨勢上,世界真值與仿真值保持了高度的一致,能夠精準描繪出隧洞環境各位置的信息變化和趨勢。
(2) 仿真值與世界真值相比整體偏小,這在一定程度上避免了無人機發生碰撞,降低了無人機墜機的可能性,但從最后應用于檢測環境來看,會損失一定的精度,因此還存在一定的優化空間。
偏航角對于無人機在隧洞內的飛行至關重要,偏航角世界真值和仿真值對比如圖10所示。從圖10可以看出,無人機在仿真飛行過程中兩者變化的趨勢高度相似,但其仍然存在以下2個問題:
問題1 偏航角仿真值的波動非常明顯,雖然波動范圍較小,但仍然會使得無人機在飛行過程中存在不斷左、右偏斜的問題,不利于無人機的穩定飛行和實際工作環境中對于需要檢測位置的鎖定。
問題2 仿真值整體偏大,這會導致在實際飛行過程中存在過補償的問題,而過補償的問題會直接導致無人機不斷糾正自身的偏航角,因而產生問題1。因此,需要對無人機飛行過程中的偏航角進行精準計算和擬合,以確保無人機在隧洞類環境飛行過程中的安全性、穩定性。

圖10 偏航角世界真值與仿真值對比
3.3.1 位置精度分析
因垂直段飛行立體空間具有特殊性,位置估計結果取另一次仿真實驗中傾斜段的數據進行分析。無人機在傾斜段飛行的軌跡如圖11所示。將在局部坐標系下估計得到的局部位置,通過無人機的高度和管道傾角轉換到全局坐標系中,作為位置參考。

圖11 傾斜段飛行軌跡
從局部坐標位置可以看出在切換飛行模式之后,無人機逐漸運動到局部坐標系的原點并一直保持在原點附近,對應了管道的中軸線。多傳感器融合算法輸出的位置與局部坐標估計轉換到全局坐標后的結果基本吻合,兩者之間的偏差最大不超過0.5 m。
3.3.2 速度精度分析
無人機飛行過程中軸線速度的仿真值與世界真值對比如圖12所示。從圖12可以看出:兩者的誤差在0.2 m/s之內;世界真值波動較大,但在可接受范圍之內。兩者誤差較小,表明無人機飛行可以得到精準控制。

圖12 仿真軸線速度仿真值與世界真值對比
在某水電站引水隧洞進行無人機實地飛行實驗。當無人機進入傾斜段時,考慮到點云信息已經是完整的圓,沿軸線飛行意味著x、y方向速度期望均值為0 m/s。
實際采集的傾斜段x、y方向速度部分數據如圖13所示。
從圖13可以看出,在無人機實際飛行過程中,x、y方向上的速度均值分別為-0.031、0.017 m/s,與預期速度相符;斜段速度以0為均值上、下波動,最大的波動分別為0.3、0.2 m/s。

圖13 傾斜段實測x、y方向速度
(1) 從無人機飛行點云圖成像可以看出,激光雷達的成像與實際飛行環境的情況之間存在一定的誤差,會出現點云偏離成像,但當無人機位置與管道壁相對較近時,激光雷達的成像會自行糾正本身的錯誤成像。激光雷達的偏離成像會在一定程度上干擾無人機在過渡段的飛行,但控制無人機自身的飛行速度可以將錯誤成像的影響降低,實現較為精準的飛行路徑規劃。激光雷達成像在垂直方向仰角的限制,會導致激光雷達成像并不封閉,觀察激光雷達成像,在圓柱管道仿真環境內飛行上方成像缺失,但其本身并不影響無人機的飛行,可以忽略。
(2) 無人機在隧洞類仿真環境中的飛行,其路徑、飛行速度、位姿估計等輸出結果與世界真值比較,誤差均在可以接受范圍之內,表明本文提出的算法能夠高效、安全地解決無人機在缺乏GPS信號、受地磁干擾、光照不足條件下的隧洞類環境中的自主飛行問題。