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