徐滔宏,王志勝,鹿山山
(南京航空航天大學自動化學院,江蘇 南京 211106)
隨著無人機技術的發展,無人機在眾多領域中得到了廣泛的應用。傳統的無人機定點降落主要是利用GPS和慣導數據來實現,但在森林、城市街區等場景下,GPS信號易出現偏差和丟失,因而很難為無人機提供自主降落時所需的高精度的導航數據[1-2]。近年來,機器視覺導航技術迅速發展成一種新的導航技術,無人機利用自身搭載的攝像頭通過圖像算法提取出目標的特征信息,然后解算得到自身的導航信息并反饋給飛控系統完成自主飛行降落。相比于GPS/INS組合導航,視覺導航不受高樓、云層等干擾,定位精度可達到厘米級別,并且不會隨時間推移而出現累積誤差。現在的視覺導航設備體積小、性能強,十分適用于無人機系統的集成應用。
目前,國內外在無人機視覺引導降落研究中取得了一定的成果,文獻[3-6]做了說明。文獻[7]設計了一種基于同心圓環嵌套且兩圓環之間用紅色填充的地標,通過檢測該地標的顏色特征來判斷是否可以降落,然后再利用橢圓擬合計算地標的橢圓位置來調整無人機的位置和姿態,最后通過實驗平臺驗證了識別算法和位姿估計的有效性。
基于上述的研究成果,本文以四旋翼無人機為實驗平臺,對無人機的視覺引導降落技術進行研究。
系統首先將攝像頭中的圖像信息進行灰度化處理,然后調用機器視覺模塊(OpenMV)的庫函數blob.cx()、blob.cy()提取出地面黑色塊的X、Y軸像素坐標Tx、Ty,并根據通信協議將像素坐標封裝成數據幀發送給飛控系統完成無人機相對位置估計。源圖像灰度化處理與X/Y軸像素坐標提取結果如圖1所示。

圖1 圖像灰度化處理與X/Y軸像素坐標提取
在進行視覺引導無人機自主動降落過程中,本文的控制策略是先讓無人機水平飛行至地面黑色塊上方,然后再進行定速高度下降控制。
為了實現無人機朝向地面黑色塊上方飛行,首先估計出無人機與地面黑色塊的相對位置,根據這個位置關系對無人機進行水平位置控制,引導無人機水平飛行至地面黑色塊上方。由成像原理可得到無人機與地面黑色塊在X軸和Y軸上的水平位置偏移量為
(1)
Ps為鏡頭中每個像素單元對應的物理距離;Px、Py為整個圖像平面的中心點像素坐標值40和30;f為攝像頭焦距;H為超聲波傳感器所測得的無人機豎直對地高度;θ、φ分別為無人機的橫滾角(Roll)和俯仰角(Pitch)。由于攝像頭安裝過程中不一定安裝在機架正中心,導致在實際定點時無人機不能定在黑色塊正上方,因此需要測量攝像頭與機架中心在X軸和Y軸上的偏移量Xo和Yo,對估計的無人機相對位置進行補償。
在引導無人機水平飛行過程中,水平位置控制器外環采用PID算法進行控制,并將其輸出項映射成期望姿態傾角給到內環姿態環來調整無人機的姿態,以實現視覺引導無人機飛行至地面黑色塊上方。以橫滾通道為例來進行水平位置控制器設計,其結構形式如圖2所示,俯仰通道同理。

圖2 無人機水平位置控制器結構
圖2中將位置指令置置零是期望能控制無人機不斷朝向地面黑色塊上方飛行,當無人機與地面黑色塊的水平位置差趨于零時,表明無人機正處于地面黑色塊上方,然后再進行第二階段的定速高度下降控制。
自主降落中無人機始終在定高模式下飛行,保持自身高度的穩定,高度控制器采用高度+速度的串級PID控制形式,相比于單級PID,串級PID對無人機的豎直速度也進行了控制,增加了系統的抗擾能力。基于串級PID的無人機高度控制器結構如圖3所示。

圖3 無人機高度控制器結構
圖3中,Hf、vf分別為慣導融合得到的無人機豎直高度和速度;vr為高度環輸出的期望速度;Δu為串級PID的輸出,實現對無人機的高度控制。
本文以四旋翼無人機為飛行實驗硬件平臺,平臺中安裝了4個螺旋槳保護圈,保證了實驗的安全性以及避免了無人機墜毀時螺旋槳斷裂的情況。實驗數據利用3DR無線數傳電臺回傳,便于分析和調試。無人機實物如圖4所示。

圖4 飛行實驗硬件平臺
飛行中機器視覺模塊(OpenMV)安裝于機架下方,用于識別地面目標獲取飛行器的相對位置。傳感器自身搭載了一顆豪威OV7725攝像頭用于采集圖像信息,并利用STM32H743VIT6處理器進行圖像算法運算,最后通過串口與飛控系統通信,完成信息交互。OpenMV實物如圖5所示。

圖5 機器視覺模塊(OpenMV)
無人機從地面定高起飛,飛行過程中當進入視覺定位范圍時,水平位置控制器開始調整無人機的姿態并引導無人機朝向地面黑色塊上方飛行,然后高度控制器和水平位置控制器進行協調控制引導無人機自主降落至地面黑色塊上。基于視覺引導的無人機自主降落實驗如圖6所示。

圖6 視覺引導無人機著陸過程
飛行過程中無人機與地面黑色塊在X/Y軸上的水平位置偏移量曲線如圖7所示。曲線分2部分,一部分是未進入視覺定位范圍時無人機與地面黑色塊在X/Y軸上的水平位置偏移量,另一部分是進入視覺定位范圍后的偏移量。當無人機未進入視覺定位范圍,此時無人機有姿態運動,式(1)在計算無人機相對位置時會進行傾角補償,因此在未進入視覺定位范圍時無人機與地面黑色塊的相對位置不為零,在實際飛行中此部分數據不參與控制。

圖7 X/Y軸水平位置偏移量
無人機從地面起飛最后視覺引導自主降落的高度變化曲線如圖8所示。

圖8 無人機高度變化曲線
當無人機飛行到圖8中的 A點時,連續30次檢測到無人機與地面黑色塊在X、Y軸方向上的水平位置偏移量同時在5 cm范圍內,系統認定無人機可以進行高度下降控制,無人機以40 cm/s的速度定速下降,同時關閉水平位置控制器;當在下降的過程中檢測到不滿足下降條件,水平位置控制器重新開始工作并引導無人機朝向地面黑色塊上方飛行;當到達B點時,檢測到此時滿足下降條件,無人機再次進行定速下降控制并關閉水平位置控制器,在下降的過程中檢測到不滿足下降條件,水平位置控制器重新開始工作并引導無人機朝向地面黑色塊上方飛行;當到達C點時,檢測到此時滿足下降條件,無人機進行定速高度下降控制,最終自主降落至地面黑色塊上。
本文以四旋翼無人機為研究對象,利用機載機器視覺模塊(OpenMV)來進行整個飛行實驗,成功引導無人機自主降落至地面黑色塊上。實驗結果表明,在室內白色地板條件下,當無人機進入視覺定位范圍,通過多次的調整無人機水平位置和高度,最終無人機能自主降落至地面黑色塊上,提高了無人機的自主飛行能力。