本發明屬于無人機圖像處理與控制領域,特別涉及面向移動平臺固定模板的無人機自主起降算法。
背景技術:
隨著無人機技術的發展與無人機航拍領域的逐漸飽和,目前無人機已從專業航拍領域逐步向行業應用領域發展和過渡。目前在行業應用領域,無人機主要搭載各種傳感器進行周圍環境的感知,從而成為能夠為多種用途的工作平臺,典型應用包括道路交通監控,災區救援和軍事應用。而這三種應用都對無人機達到指定區域的及時性提出很高要求,即從無人機操作手從接到起飛命令到無人機達到指定區域的時間要短。而目前大部分的固定翼無人機在起飛階段都是采用的靜止手動或自動起飛,而在降落階段,則基本都是手動或自動降落到固定gps位置。這種固定無人機的起降方式難以達到快速起降的目的,且一般無人機達到指定區域前都是隨車攜帶。當無人機操作手達到指定區域周圍后,需要先停車才能控制無人機起飛,而降落則需要先降落在固定點,然后搬運到車上,無法完成在移動的平臺上完成起降飛行。因此,面向移動平臺的旋翼無人機自主起降算法,目前還未有人實現。
旋翼無人機起飛和著陸對空間要求較小,因此起飛和降落在移動平臺上具有實現的可能性。而旋翼無人機可以飛至離目標很近的位置,不想傳統的單旋翼無人機那樣,由于其巨大的單旋翼而不能近距離靠近。當靠近移動平臺時,旋翼無人機可以保持與移動平臺相對靜止的狀態,從而實現精確降落。為實現無人機與移動平臺的相對定位,需要無人機自主檢測和定位地面移動平臺。目前通用的目標檢測和定位是采用圖像技術,對無人機上云臺相機獲取的視頻圖像序列的特定目標進行檢測、識別和定位。由于圖像的目標識別定位成本較低,精度較高,抗干擾能力強,因此該技術在眾多領域得以廣泛適用。因此,本發明也將采用圖像處理技術,來對移動平臺上的固定目標進行識別和定位,以完成自主移動降落目的。
技術實現要素:
本發明的目的在于提供一種面向移動平臺的旋翼無人機自主起降方法,該方法可以實現旋翼無人機在移動的平臺上進行起飛和降落操作。特別的,移動平臺上的固定標志采用apriltags標志,旋翼無人機可以降落在速度為3m/s的移動平臺上。
本發明采用如下技術方案實現:
一種面向移動平臺的旋翼無人機自主起降方法,包括自主起飛過程和自主降落過程,所述自主起飛過程通過無人機遠程控制端一鍵控制無人機起飛,所述自主降落過程通過機載計算機實時處理機載云臺相機視頻流來定位移動平臺并實現精準降落,其特征在于:所述自主起飛過程通過移動端app與無人機之間進行數據透傳實現機翼旋轉并自主上升懸停;所述自主降落過程包括以下具體步驟:a:無人機機載處理器獲取視頻并對移動平臺上的apriltags固定目標檢測與定位;
b:無人機利用獲取的標志位置進行相對位置控制并降落在移動平臺上。
所述步驟a具體包括:
a1:用棋盤格法對高清相機進行標定,獲取包括相機的焦距、徑向畸變參數在內的內參;
a2:無人機機載處理器獲取云臺相機視頻流,利用圖像處理算法檢測識別圖像中的apriltags標志;
a3:利用標定好的相機參數,結合圖像中檢測的apriltags標志進行移動平臺的降落全程相對定位。
所述步驟a2具體包括:
a201:圖像線檢測過程,即計算圖像中像素的梯度,根據梯度相似度度量采用類似圖割方法得到圖像中的直線;
a202:四邊形檢測過程,即利用線線交叉得到多邊形,利用固定標志的形狀先驗限制多邊形邊數和角點個數得到四邊形,利用一個大的四邊形包含所有小四邊形,并利用幾何編碼計算得到更加準確的四邊形目標;
a203:利用已檢測的apriltag標志加速檢測過程,即結合地面移動平臺的移動速度估計出相鄰兩幀影像中apriltag移動的距離,因此結合當前幀中apriltag的位置縮小在下一幀中apriltag的檢測范圍;
a204:計算單應性矩陣及外參,即通過仿射變換模型,把把檢測出來的目標通過圖像坐標系解算其單應性矩陣,并利用直接線性變化法(directlineartransformalgorithm)解算相機外參。
所述步驟a3中的apriltags標志有多個,其中包括一個大apriltags標志和多個小apriltags標志。
所述步驟b具體包括:
b1:利用移動平臺上大的apriltag標志檢測結果,獲取的移動平臺相對于無人機的水平方向距離,采用位置式pid控制方法,使無人機在水平方向上跟隨移動平臺飛行;
b2:當無人機相對移動平臺水平距離維持相對穩定時,垂直方向上開始控制無人機已固定位置偏差開始下降,水平方向上繼續采用位置式pid控制策略;
b3:當垂直方向上相對距離達到第一個固定值時,水平方向上開始加速,讓無人機與移動平臺的水平距離縮小;
b4:當垂直方向相對距離達到第二個固定值時,切換檢測目標采用小的apriltags標志進行定位,同時豎直方向上繼續下降;
b5:當垂直方向相對距離達到第三個固定值時時,無人機急速下降并落在移
動平臺上。
所述步驟b4中,采用步驟a的方法對小的apriltags標志進行定位。
本發明提供了一種面向移動平臺的旋翼無人機自主起降方法,該方法通過實時處理無人機機載云臺相機獲取的圖像,捕捉地面上的移動平臺上的多apriltags目標并對其定位,利用多段位置式控制方法,使旋翼無人機順利降落在移動平臺上。該方法結合無人機技術和圖像處理算法,利用無人機機載相機和機載計算機,實現了無人機面向移動平臺的精準起降。相對于傳統的遙控起落和定點自主起降方法,本發明自動化程度更高,操作更簡單,可廣泛應用于無人機快速應急領域。
附圖說明
圖1為面向移動平臺的旋翼無人機自主起降方法的整體流程示意圖;
圖2為移動平臺上的固定標志示意圖;
圖3為apriltags固定標志檢測和定位過程示意圖;
圖4為無人機位置式分段控制降落過程示意圖。
具體實施方式
本發明提供了一種面向移動平臺的旋翼無人機自主起降方法。為使本發明的目的,技術方案及效果更加清楚、明確,以下參考附圖對本發明進一步詳細說明。
本發明主要包含兩個部分,對移動平臺上apritag固定標志檢測定位和對無人機的相對位置控制降落過程。整體流程示意圖如圖1。移動降落平臺上的apriltag固定標志如圖2。所述面向移動平臺的旋翼無人機自主起降方法,主要包含以下步驟:
步驟s100:依靠無人機遠程控制端一鍵控制無人機起飛;
步驟s200:依靠機載計算機平臺對無人機機載相機獲取的視頻流進行處理,檢測定位移動平臺上apritag固定標志;
步驟s300:無人機利用獲取的標志位置進行相對位置控制并降落在移動平臺上。
本發明所依靠的無人機系統包括大疆m100無人機,機載禪絲x3相機,機載計算機平臺妙算(manifold),地面控制端包括遙控器,安卓手機控制app。本發明為一種面向移動平臺的旋翼無人機自主起降方法,包括自主起飛和自主降落兩個過程。在移動平臺上自主起飛過程較為簡單,因此本發明僅在步驟s100對無人機在移動平臺上起飛做了介紹。而核心步驟則為步驟s200和s300,此過程主要是無人機自身依靠圖像處理技術對地面移動平臺進行檢測,檢測上面的固定標識。在檢測到固定標識后,對移動平臺進行相對定位,定位的結果則輸入到無人機的控制端,作為輸入信號控制無人機緊跟著移動平臺。然后通過分段控制無人機精確降落在該移動平臺上。整個無人機起飛和降落過程為全自動化過程,起飛和降落僅需要移動端app通過數據透傳發送起飛和降落的命令。下面對各個步驟進行詳細描述。
所述面向移動平臺的無人機自主起降方法,其中,步驟s100具體包括:
步驟s101:無人機放置在移動的平臺上,通過在移動端的app上手動發送一鍵起飛命令;發送的內容為設定的“q”(圖1所示);
步驟s102:無人機接收一鍵起飛的命令,控制電機轉動并垂直離開移動平臺,無人機依靠定位模式控制,水平方向速度迅速下降為零并垂直上升到指定高度。至此完成無人機在移動平臺上自主起飛的過程。
所述面向移動平臺的無人機自主起降方法,其中,步驟s200具體包括:
步驟s201:用棋盤格法對高清相機進行標定,獲取相機的焦距,徑向畸變等參數。由于采用的相機是廣角定焦相機,相機標定相對簡單。采用matlab相機標定工具箱進行標定。相機參數包含相機的本真矩陣p(其中包含水平和垂直的相機焦距fx,fy,主點c=[cx,cy],偏移s),徑向畸變k和偏心畸變p。
步驟s202:無人機機載處理器獲取云臺相機視頻流,利用圖像處理算法檢測識別圖像中的apriltags標志。考慮到移動平臺可能多種多樣,為簡化檢測識別過程,統一在移動平臺上粘貼固定降落標志,如圖2所示,這樣把跟蹤降落移動平臺問題轉化為跟蹤降落固定標志問題。標志包括一個大的apriltag標志和若干個小的apriltag標志,大的標志作為遠距離檢測跟蹤使用,而若干個小的apriltags則作為無人機降落到充分靠近移動平臺時最后的無人機姿態導引使用。在無人機機載計算機獲取云臺相機視頻流之后,具體的apriltags檢測定位過程包括三步:線檢測,四邊形檢測,計算單應性矩陣和外參。
線檢測過程:計算圖像中每個像素的梯度方向和梯度大小,然后利用像素點梯度的相似性度量,具有相似的梯度信息的相鄰的像素點被合并成一個整體。采用類似圖割的方法,圖的節點為一個像素點,邊的權重為兩個像素點(區域)的梯度相似性。對于像素(區域)n,利用d(n)代表其梯度方向,m(n)代表梯度值大小,像素(區域)n與像素(區域)m合并的條件是:
d(n∪m)≤min(d(n),d(m))+kd/|n∪m|
m(n∪m)≤min(m(n),m(m))+km/|n∪m|
其中,根據經驗值kd=100,km=1200。由于采用了梯度,對噪聲很敏感,因此在求梯度前,先對原圖像進行高斯濾波。
四邊形檢測:將檢測出的線通過空間相鄰準則連接構成多邊形,通過對多邊形邊長的限制和對多邊形所構成的角點的個數對多邊形的數量進行限制,得到四邊形,空間相鄰的四邊形則合并成新的四邊形,最終得到一個包含很多0,1編碼(0,1代表小的四邊形)的大四邊形。在檢測到四邊形之后,通過對大四邊形的編碼和預先設定的編碼類型對比計算距離,得到更加準確的檢測目標。
計算單應性矩陣和外參:這個過程主要是通過仿射變換模型,把檢測出來的目標通過圖像坐標系解算其3*3的單應性矩陣。通過直接線性變化法(directlineartransformalgorithm)解算相機外參。相機內參用p表示,包括相機焦距,中心偏差。外參用e表示。
其中,rij(i,j=0,1,2)代表旋轉參數,tk(k=x,y,z)代表平移參數。
利用上述三個步驟可以檢測圖像中的apriltags標志。然而在實際操作中,由于全圖搜索apriltag的速度無法達到實時要求,無人機會跟丟地面移動平臺。因此結合地面移動平臺的移動速度,可以估計出相鄰兩幀影像中apriltag移動的距離,因此結合當前幀中apriltag的位置,可以縮小在下一幀中apriltag的檢測范圍。加速檢測過程的流程示意圖如圖3所示。具體操作為根據上一幀中出現的apriltag標志的中心和長寬,在下一幀中設置同樣的中心,兩倍的長寬矩形范圍掩膜與圖像做交集,只在掩膜區域中進行apriltag檢測。采用掩膜后,若檢測到目標,則可以讓檢測過程實時處理。
步驟s203:利用標定好的相機參數,結合圖像中檢測的apriltags標志進行移動平臺的相對定位。獲取相機外參之后,結合相機內參和實際測得的apriltags的尺寸,單應性矩陣可以分解為相機內參矩陣和相機外參矩陣的乘積。結合相機外參矩陣可以估計目標相對相機的位置和姿態。具體的,相機外參包括3個自由度的平移變換參數和3個自由度的旋轉參數,
結合單應性矩陣和相機內參可得:
h00=sr00fx+sr20cx
所有的旋轉參數rij和平移參數tk都可以通過單應性矩陣求解。
利用步驟s200,可以實時得到地面移動平臺相對于無人機的位置與姿態。所述面向移動平臺的無人機自主起降方法,其中,控制無人機跟蹤降落過程的流程示意圖如圖4所示。步驟s300具體包括:
s301:利用步驟a獲取的移動平臺相對于無人機的水平方向距離,采用位置式pid控制方法,使無人機在水平方向上跟隨移動平臺飛行。首先,無人機通過gps定點控制達到需要降落的地點,由于gps定位不準,只能到達目標位置附近,然后利用云臺相機掃視地面是否存在移動平臺,即檢測apriltag標志,一旦檢測到標志則對其進行跟蹤。無人機跟蹤過程采用位置式控制邏輯,即用距離來控制無人機飛行的速度,內部多次pid閉環處理。當無人機與地面移動平臺的水平距離在5m以內時,此階段結束,進入下一階段。
s302:當無人機相對移動平臺水平距離維持相對穩定且在固定水平偏差(5m)以內時,垂直方向上開始控制無人機已固定位置偏差開始下降,水平方向上繼續采用位置式pid控制策略,即在固定時間間隔內在無人機當前的垂直高度上減去一個小的偏差,控制其高度逐漸下降,而此時,其水平方向上仍由位置式pid控制無人機跟隨移動平臺移動。由于水平方向上采用的是位置式控制模式,其水平方向上的速度需要一定的位置差來保持,所以此階段中無人機無法做到和移動平臺在同一豎直線上。
s303:當垂直方向上相對距離達到第一個固定值(2.5m)時,水平方向上開始加速,讓無人機與移動平臺的水平距離縮小。具體的實施方法為根據無人機的下降速度,在檢測到移動平臺水平方向距離移動平臺的距離偏差上加上一個固定偏差,由此偏差導致無人機加速追趕移動平臺。此過程中無人機與地面移動平臺之間是一個追趕問題。無人機在加速過程中,水平偏差減小,會給無人機速度一個負反饋,而此時我們根據位移差逐漸增大額外偏差值,直到無人機與移動平臺間達到水平位移差很小(0.5m),同時垂直方向上繼續下降,由于下降過程導致云臺相機視野中包含的移動平臺上apriltag逐漸增大,此過程中為防止大的apriltag標志由于急劇膨脹離開視野,測算apriltag與云臺相機中軸線的夾角,并用該夾角值實時控制云臺相機的轉軸轉動,保持apriltag的中心始終位于相機光心得中軸線上。
s304:當垂直方向相對距離達到第二個固定值(1.6m)時,切換檢測目標采用小的apriltags標志進行定位,定位方法采用和a一樣的步驟,同時豎直方向上繼續下降。切換為小的apriltag進行引導的原因是因為下降過程中隨著圖像膨脹,大的apriltag會超出圖像視野,因此,在垂直距離小于1.6m時,切換檢測小的apriltag,由于小的apriltag所屬的編碼族和大的apriltag不是一類,所以此時切換不存在檢測目標的跳動問題,可以實現平穩過渡。在切換到小的apriltag引導后,采用位置式pid控制方法,類似s302控制無人機繼續跟蹤下降。
s305:當垂直方向相對距離達到第三個固定值時(0.6m)時,無人機急速下降并落在移動平臺上。切換到小的apriltag進行引導后,無人機會快速靠近移動平臺。當垂直方向上的相對距離小于0.6m之后,直接在無人機垂直絕對位置控制的輸入上給0,即無人機離地面的距離為0,無人機會快速降落在移動平臺上。至此完成全部移動降落過程。
本發明提供了一種面向移動平臺的旋翼無人機自主起降方法,該方法通過實時處理無人機機載云臺相機獲取的圖像,捕捉地面上的移動平臺上的多apriltags目標并對其定位,利用多段位置式控制方法,使旋翼無人機降落在移動平臺上。實驗采用真實的無人機和地面移動平臺,無人機移動降落速度可達3m/s,驗證了本發明的實用性。