一種對無人機進行定位的方法及裝置與流程
2023-05-09 03:57:46 1
本發明涉及無人機控制領域,具體涉及一種對無人機進行定位的方法及裝置。
背景技術:
無人機在防災救險、科學考察等領域有著廣闊的應用,而飛行控制系統(簡稱飛控系統)是無人機的重要組成部分,在無人機智能化和實用化中起著重要的作用。無人機在執行任務的過程中,常常需要懸停在空中。
現有技術中,無人機可以在無人機的存儲模塊中預先存儲第三方提供的地圖數據,而後在懸停時藉助全球衛星定位系統Global Position System,GPS)來實現無人機的定位,以在懸停時能夠保持原地不動。然而,第三方提供的地圖數據的解析度和無人機距離地面的高度有關,通常而言,無人機的離地飛行高度越高,解析度越低。由於無人機在執行任務的過程中,其懸停的高度具有一定的差異性,因此,容易造成在不同的高度懸停時,地面目標的解析度相差較大,容易導致地面目標的匹配精度低,使得無人機在懸停時定位的精度較差。此外,全球衛星定位系統測量水平位置的精度通常在米級,測量精度偏低,無人機在懸停時容易導致較大的晃動。
因此,如何提高無人機的定位精度成為亟待解決的技術問題。
技術實現要素:
本發明要解決的技術問題在於如何提高無人機的定位精度。
為此,根據第一方面,本發明實施例提供了一種對無人機進行定位的方法,包括:
在確認進行懸停操作時,採集第一地面圖像,其中,第一地面圖像被用作為基準圖像;在當前時刻採集第二地面圖像;根據第一地面圖像和第二地面圖像,確定無人機的當前位置。
可選地,本發明實施例提供的對無人機進行定位的方法還包括:接收控制器發送的用於指示無人機進行懸停操作的指令。
可選地,根據第一地面圖像和第二地面圖像,確定無人機的當前位置,包括:將第二地面圖像與第一地面圖像進行匹配,得到無人機在當前時刻相對於第一地面圖像的運動矢量;根據運動矢量確定無人機在當前時刻相對於第一地面圖像的定位信息。
可選地,定位信息包括以下至少之一:無人機的位置、無人機的高度、無人機的姿態、無人機的方位向、無人機的速度和無人機的航向。
可選地,將第二地面圖像與第一地面圖像進行匹配,得到無人機在當前時刻相對於第一地面圖像的運動矢量,包括:選取第一地面圖像中的特徵點,其中,選取的特徵點被用作為基準特徵點;確定在第二地面圖像中與基準特徵點匹配的特徵點,其中,匹配得到的特徵點被用作為當前特徵點;將當前特徵點與基準特徵點進行匹配,得到無人機在當前時刻相對於第一地面圖像的運動矢量。
可選地,將當前特徵點與基準特徵點進行匹配,包括:通過仿射變換或者射影變換,將當前特徵點與基準特徵點進行匹配。
根據第二方面,本發明實施例提供一種對無人機進行定位的裝置,包括:
基準模塊,用於在確認進行懸停操作時,採集第一地面圖像,其中,第一地面圖像被用作為基準圖像;採集模塊,用於在當前時刻採集第二地面圖像;定位模塊,用於根據基準模塊採集的第一地面圖像和採集模塊採集的第二地面圖像,確定無人機的當前位置。
可選地,還包括:指令模塊,用於接收控制器發送的用於指示無人機進行懸停操作的指令。
可選地,定位模塊包括:匹配單元,用於將第二地面圖像與第一地面圖像進行匹配,得到無人機在當前時刻相對於第一地面圖像的運動矢量;確定單元,用於根據運動矢量確定無人機在當前時刻相對於第一地面圖像的定位信息。
可選地,定位信息包括以下至少之一:無人機的位置、無人機的高度、無人機的姿態、無人機的方位向、無人機的速度和無人機的航向。
可選地,匹配單元包括:基準特徵子單元,用於選取第一地面圖像中的特徵點,其中,選取的特徵點被用作為基準特徵點;當前特徵子單元,用於確定在第二地面圖像中與基準特徵點匹配的特徵點,其中,匹配得到的特徵點被用作為當前特徵點;矢量子單元,用於將當前特徵點與基準特徵點進行匹配,得到無人機在當前時刻相對於第一地面圖像的運動矢量。
可選地,矢量子單元具體用於通過仿射變換或者射影變換,將當前特徵點與基準特徵點進行匹配。
本發明技術方案,具有如下優點:
本發明實施例提供的對無人機進行定位的方法及裝置,由於在確認進行懸停操作時,採集作為基準圖像的第一地面圖像,其能夠實時地反應最新的地面情況。由於第二地面圖像和在當前時刻採集的第一地面圖像均在無人機懸停過程採集的,因此,根據第一地面圖像和第二地面圖像就可以確定無人機在採集第二地面圖像時的位置相對於該無人機在採集第一地面圖像時的位置的變化情況。通過位置的變化情況可以確定無人機在執行懸停操作時的穩定程度。位置的變化越小,懸停的精度越高,無人機越穩定。當位置的變化為零時,無人機實現穩定的懸停。另外,在確定了無人機的位置變化之後也可以確定無人機的當前位置。
無人機在採集第一圖像和第二圖像的過程中,無人機所處的外部環境相同或者接近相同,相對於現有技術中不可控因素導致的定位系統誤差和絕對誤差大,本發明實施例根據第一地面圖像和第二地面圖像確定無人機的當前位置,能夠減少因外界環境因素不同而導致解析度差異所產生的系統誤差,從而提高了無人機在懸停時的定位精度。
作為可選的技術方案,根據基準特徵點和當前特徵點進行匹配得到無人機在當前時刻相對於第一地面圖像的運動矢量,能夠減少匹配第二地面圖像與第一地面圖像的數據量。
附圖說明
為了更清楚地說明本發明具體實施方式或現有技術中的技術方案,下面將對具體實施方式或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施方式,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例中一種對無人機進行定位的方法流程圖;
圖2為本發明實施例中一種通過仿射變換模型得到運動矢量流程圖;
圖3為本發明實施例中一種通過射影變換模型得到運動矢量流程圖;
圖4為本發明實施例中一種對無人機進行定位的裝置結構示意圖;
圖5為本發明實施例中一種無人機結構示意圖。
具體實施方式
下面將結合附圖對本發明的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
在本發明的描述中,需要說明的是,術語「中心」、「上」、「下」、「左」、「右」、「豎直」、「水平」、「內」、「外」等指示的方位或位置關係為基於附圖所示的方位或位置關係,僅是為了便於描述本發明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解為對本發明的限制。此外,術語「第一」、「第二」、「第三」僅用於描述目的,而不能理解為指示或暗示相對重要性,也不能理解為先後順序。
在本發明的描述中,需要說明的是,除非另有明確的規定和限定,術語「安裝」、「相連」、「連接」應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,還可以是兩個元件內部的連通,可以是無線連接,也可以是有線連接。對於本領域的普通技術人員而言,可以具體情況理解上述術語在本發明中的具體含義。
此外,下面所描述的本發明不同實施方式中所涉及的技術特徵只要彼此之間未構成衝突就可以相互結合。
為了提高無人機在懸停時的定位精度,本實施例公開了一種對無人機進行定位的方法,請參考圖1,該方法包括:
步驟S101,在確認進行懸停操作時,採集第一地面圖像。
其中,第一地面圖像被用作為基準圖像。本實施例中,所稱地面圖像是指無人機在飛行過程中以俯視視角採集的圖像,該俯視視角方向與豎直方向的夾角小於90度。優選地,該俯視視角方向可以是豎直向下的,在此情況下,俯視視角方向與豎直方向的夾角為0度。
無人機確認進行懸停操作的方式可以有多種。在其中一種方式中,無人機自身自主確認需要進行懸停操作。例如,無人機在遇到障礙物時或者在沒有GPS信號時,無人機的飛控系統會自主確定需要進行懸停操作。在另外一種可能的方式中,無人機也可以受其他設備的控制而進行懸停操作。例如,無人機可以接收控制器發送的用於指示無人機進行懸停操作的指令。在接收到該指令後,無人機確認進行懸停操作。本實施例中,控制器可以是無人機專用的手柄式遙控器,也可以是對無人機進行控制的終端。該終端可以包括移動終端、計算機、筆記本等。
步驟S102,在當前時刻採集第二地面圖像。
在無人機處於懸停狀態後,為確定無人機的當前位置,可以在當前時刻通過圖像採集裝置來採集地面圖像,在當前時刻採集的地面圖像被稱為第二地面圖像。需要說明的是,採集第二地面圖像的圖像採集裝置和採集第一地面圖像的圖像採集裝置可以是同一個圖像採集裝置,也可以是不同的圖像採集裝置。優選地,採集第二地面圖像的圖像採集裝置和採集第一地面圖像的圖像採集裝置為同一圖像採集裝置。
步驟S103,根據第一地面圖像和第二地面圖像,確定無人機的當前位置。
本實施例中,在得到第一地面圖像後,可以將第二地面圖像和第一地面圖像進行比對,於是,可以得到第二地面圖像和第一地面圖像的差異,根據該差異可以估算無人機的運動矢量,根據該運動矢量可以確定無人機的當前位置。
可選地,步驟S103可以具體包括:將第二地面圖像與第一地面圖像進行匹配,得到無人機當前時刻相對於第一地面圖像的運動矢量;根據運動矢量確定無人機在當前時刻相對於第一地面圖像的定位信息。
通過將第二地面圖像與第一地面圖像進行匹配能夠得到無人機當前時刻所在的位置相對於採集第一地面圖像時的位置的運動矢量,通過該運動矢量能夠得到無人機當前時刻在第一地面圖像中的位置。
本實施例中,定位信息包括以下至少之一:無人機的位置、無人機的高度、無人機的姿態、無人機的方位向、無人機的速度和無人機的航向,其中,無人機的方向位是指無人機在當前時刻採集的當前圖像與基準圖像的相對角度。具體到本發明實施例中,方向位就是第二地面圖像與第一地面圖像的相對角度。無人機的航向是指無人機的實際的飛行方向。
在具體實施例中,在將第二地面圖像與第一地面圖像進行匹配,得到無人機當前時刻相對於第一地面圖像的運動矢量時,可以選取第一地面圖像中的特徵點,其中,選取的特徵點被用作為基準特徵點;確定在第二地面圖像中與基準特徵點匹配的特徵點,其中,匹配得到的特徵點被用作為當前特徵點;將當前特徵點與基準特徵點進行匹配,得到無人機在當前時刻相對於第一地面圖像的運動矢量。在具體將當前特徵點與基準特徵點進行匹配的過程中,可以通過仿射變換或者射影變換,將當前特徵點與基準特徵點進行匹配,具體地,請參考圖2和圖3。
圖2示出了通過放射變換模型得到運動矢量的方法,該方法包括:
步驟S201,選取第一地面圖像的特徵點,該選取的特徵點被用作為基準特徵點。
可以選取容易識別的點或者建築物作為基準特徵點,例如紋理豐富的物體邊緣點等。由於不共線的三對對應點決定了一個唯一的仿射變換,因此,只要能找到三組不共線的特徵點,就可以計算出完整的仿射變換參數;如果有三組以上的特徵點,優選通過最小二乘解法計算得到更精確的仿射變換參數。本實施例中,求解得到的仿射變換參數可以用來表示無人機的運動矢量。
步驟S202,確定在第二地面圖像中與基準特徵點匹配的特徵點,其中,匹配得到的特徵點被用作為當前特徵點。
可以通過相同的數學描述方式來描述第二地面圖像中的像素,利用數學知識可以確定第二地面圖像中與基準特徵點匹配的當前特徵點。
步驟S203,根據基準特徵點和當前特徵點建立仿射變換模型。
可以通過方程組或者矩陣的方式來建立仿射變換模型。具體地,有關通過方程組建立的仿射變換模型如下:
其中,(x,y)為第一地面圖像中基準特徵點的坐標,(x',y')為第二地面圖像中與基準特徵點匹配的特徵點的坐標,a、b、c、d、m和n為仿射變換參數。本實施例中,當匹配的特徵點為三組不共線的特徵點時,便可以解算出完整的仿射變換參數;當匹配的特徵點為三組以上時,可以通過最小二乘解法求解出更精確的仿射變換參數。
具體地,有關通過矩陣的方式建立的仿射變換模型如下:
其中,(x,y)為第一地面圖像中基準特徵點的坐標,(x',y')為第二地面圖像中與基準特徵點匹配的特徵點的坐標,a0、a1、a2、b0、b1和b2為仿射變換參數。本實施例中,當匹配的特徵點為三組不公線的特徵點時,便可以解算出完整的仿射變換參數;當匹配的特徵點為三組以上時,可以通過最小二乘解法求解出更精確的仿射變換參數。
步驟S204,根據仿射變換模型得到無人機當前時刻相對於第一地面圖像的運動矢量。
本實施例中,在根據步驟S203建立的仿射變換模型計算得到的仿射變換參數可以被用來表示無人機的運動矢量。
圖3示出了通過射影變換模型得到運動矢量的方法,該方法包括:
步驟S301,選取第一地面圖像的特徵點,該選取的特徵點被用作為基準特徵點。
可以選取容易識別的點或者建築物作為基準特徵點,例如文理豐富的物體邊緣點等。本實施例中,由於射影變換模型中待計算的變換參數為8個,因此,需要選取四組基準特徵點。
步驟S302,確定在第二地面圖像中與基準特徵點匹配的特徵點,其中,匹配得到的特徵點被用作為當前特徵點。
在具體實施例中,可以通過相同的數學描述方式來描述第二地面圖像中的像素,利用數學知識可以確定第二地面圖像中與基準特徵點匹配的當前特徵點。
步驟S303,根據基準特徵點和當前特徵點建立射影變換模型。
可以通過方程組的方式來建立射影變換模型,具體地,有關通過方程組建立的射影變換模型:
其中,(x,y)為第一地面圖像中基準特徵點的坐標,(x',y')為第二地面圖像中與基準特徵點匹配的特徵點的坐標,(w'x' w'y' w')和(wx wy w)分別為(x,y)和(x',y')的齊次坐標,為射影變換矩陣,在具體實施例中,變換矩陣可以拆分為4部分,其中,表示線性變換,[a31 a32]用於平移,[a13 a23]T產生射影變換,a33=1。
步驟S304,根據射影變換模型得到無人機當前時刻相對於第一地面圖像的運動矢量。
本實施例中,在根據步驟S303建立的射影變換模型計算得到的射影變換矩陣可以被用來表示無人機的運動矢量。
本實施例還公開了一種對無人機進行定位的裝置,如圖4所示。該裝置包括:基準模塊401、採集模塊402和定位模塊403,其中:
基準模塊401用於在確認進行懸停操作時,採集第一地面圖像,其中,第一地面圖像被用作為基準圖像;採集模塊402用於在當前時刻採集第二地面圖像;定位模塊403用於根據基準模塊401採集的第一地面圖像和採集模塊402採集的第二地面圖像,確定無人機的當前位置。
在可選的實施例中,還包括:指令模塊,用於接收控制器發送的用於指示無人機進行懸停操作的指令。
在可選的實施例中,定位模塊包括:匹配單元,用於將第二地面圖像與第一地面圖像進行匹配,得到無人機在當前時刻相對於第一地面圖像的運動矢量;確定單元,用於根據運動矢量確定無人機在當前時刻相對於第一地面圖像的定位信息。
在可選的實施例中,定位信息包括以下至少之一:無人機的位置、無人機的高度、無人機的姿態、無人機的方位向、無人機的速度和無人機的航向。
在可選的實施例中,匹配單元包括:基準特徵子單元,用於選取第一地面圖像中的特徵點,其中,選取的特徵點被用作為基準特徵點;當前特徵子單元,用於確定在第二地面圖像中與基準特徵點匹配的特徵點,其中,匹配得到的特徵點被用作為當前特徵點;矢量子單元,用於將當前特徵點與基準特徵點進行匹配,得到無人機在當前時刻相對於第一地面圖像的運動矢量。
在可選的實施例中,矢量子單元具體用於通過仿射變換或者射影變換,將當前特徵點與基準特徵點進行匹配。
本實施例還公開了一種無人機,如圖5所示。該無人機包括:機身501、圖像採集裝置502和處理器(圖中未示出),其中:
機身501用於承載無人機的各個部件,例如電池、發動機(馬達)、攝像頭等;
圖像採集裝置502設置在機身501上,圖像採集裝置502用於採集圖像數據。
需要說明的是,在本實施例中,圖像採集裝置502可以是攝像機。可選地,圖像採集裝置502可以用於全景攝像。例如,圖像採集裝置502可以包括多目攝像頭,也可以包括全景攝像頭,還可以同時包括多目攝像頭和全景攝像頭,以便從多角度採集圖像或視頻。
處理器用於執行圖1所示實施例中所記載的方法。
本發明實施例提供的對無人機進行定位的方法及裝置,由於在確認進行懸停操作時,採集作為基準圖像的第一地面圖像,其能夠實時地反應最新的地面情況。由於第二地面圖像和在當前時刻採集的第一地面圖像均在無人機懸停過程採集的,因此,根據第一地面圖像和第二地面圖像就可以確定無人機在採集第二地面圖像時的位置相對於該無人機在採集第一地面圖像時的位置的變化情況。通過位置的變化情況可以確定無人機在執行懸停操作時的穩定程度。位置的變化越小,懸停的精度越高,無人機越穩定。當位置的變化為零時,無人機實現穩定的懸停。另外,在確定了無人機的位置變化之後也可以確定無人機的當前位置。
無人機在採集第一圖像和第二圖像的過程中,無人機所處的外部環境相同或者接近相同,相對於現有技術中不可控因素導致的定位系統誤差和絕對誤差大,本發明實施例根據第一地面圖像和第二地面圖像確定無人機的當前位置,能夠減少因外界環境因素不同而導致解析度差異所產生的系統誤差,從而提高了無人機在懸停時的定位精度。
在可選的實施例中,根據基準特徵點和當前特徵點進行匹配得到無人機在當前時刻相對於第一地面圖像的運動矢量,能夠減少匹配第二地面圖像與第一地面圖像的數據量。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,上述實施例僅僅是為清楚地說明所作的舉例,而並非對實施方式的限定。對於所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這裡無需也無法對所有的實施方式予以窮舉。而由此所引伸出的顯而易見的變化或變動仍處於本發明創造的保護範圍之中。