本發明涉及無人機領域,尤其涉及一種無人機速度測量方法、裝置及無人機。
背景技術:
本部分旨在為權利要求書中陳述的本發明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現有技術。
傳統無人機利用慣性測量單元(Inertial Measurement Unit,IMU)測得的三圍加速度數據、三軸角速度數據、以及磁羅盤測得航向數據進行處理分析,進行姿態控制處理;無人機控制系統同時引用衛星信號測得經緯度、高度數據、及航速數據,進行飛行位置的計算和校正。
由于慣性測量單元中的加速度計存在系統誤差和測量誤差,且通常對加速度進行積分可以得到當前速度,故這個方法會產生累積誤差,因此需要使用全球定位系統(Global Positioning System,簡稱為GPS)提供的位置/速度信息對飛機當前速度進行修正。目前的無人機在GPS信號消失或者有較大誤差的時候,飛行控制系統無法獲得一個有效的速度信息來修正無人機加速度計帶來的誤差,從而導致飛機無法對目前的飛行速度做出準確的計算,導致飛機就會慢慢失控,且飛機懸停時會發生漂移。
技術實現要素:
本發明提出一種無人機速度測量方法、裝置及無人機,以解決現有的無人機在GPS信號消失或者有較大誤差的時候,不能獲得一個有效的速度信息來修正無人機加速度計帶來的誤差的問題。
為了達到上述目的,本發明實施例提出一種無人機速度測量方法,包括:在第一時刻的第一位置,獲取無人機的激光雷達的多個激光束在多個平面的第一組距離;在第二時刻的第二位置,獲取所述多個激光束在所述多個平面的第二組距離;依據預設的幾何關系處理所述第一組距離和所述第二組距離,得到所述無人機在同一個坐標系下所述第一位置和所述第二位置的坐標;依據在同一個坐標系下所述第一位置和所述第二位置的位置坐標,以及所述第一時刻和所述第二時刻的時間差,確定所述無人機的移動速度信息。
為了達到上述目的,本發明實施例還提出一種無人機速度測量裝置,包括:距離獲取模塊,用于在第一時刻的第一位置,獲取無人機的激光雷達的多個激光束在多個平面的第一組距離;且在第二時刻的第二位置,獲取所述多個激光束在所述多個平面的第二組距離;坐標處理模塊,用于依據預設的幾何關系處理所述第一組距離和所述第二組距離,得到所述無人機在同一個坐標系下所述第一位置和所述第二位置的坐標;速度確定模塊,用于依據在同一個坐標系下所述第一位置和所述第二位置的位置坐標,以及所述第一時刻和所述第二時刻的時間差,確定所述無人機的移動速度信息。
為了達到上述目的,本發明實施例還提出一種無人機,所述無人機包括:激光雷達;存儲器;一個或多個處理器;一個或多個模塊,所述一個或多個模塊存儲在所述存儲器中并且由所述一個或多個處理器執行,所述一個或多個模塊包括:距離獲取模塊,用于在第一時刻的第一位置,獲取所述激光雷達的多個激光束在多個平面的第一組距離;且在第二時刻的第二位置,獲取所述多個激光束在所述多個平面的第二組距離;坐標處理模塊,用于依據預設的幾何關系處理所述第一組距離和所述第二組距離,得到所述無人機在同一個坐標系下所述第一位置和所述第二位置的坐標;速度確定模塊,用于依據在同一個坐標系下所述第一位置和所述第二位置的位置坐標,以及所述第一時刻和所述第二時刻的時間差,確定所述無人機的移動速度信息。
本發明實施方式提出的無人機速度測量方法、裝置及無人機,使得無人機在GPS信號不穩定或者消失的時候,能夠利用機載的激光雷達信號進行對自身速度的檢測,從而能夠利用該檢測的速度對從IMU獲得的速度進行修正,以實現無人機的懸停。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例的無人機的方框示意圖;
圖2為本發明實施例的無人機速度測量方法的處理流程圖;
圖3為本發明實施例的計算原理示意圖;
圖4為本發明實施例的無人機速度測量裝置的結構示意圖;
圖5為圖4所示實施例的坐標處理模塊302的結構示意圖;
圖6為圖4所示實施例的坐標處理模塊302的另一實施例的結構示意圖;
圖7為本發明另一實施例的無人機速度測量裝置的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本領域技術技術人員知道,本發明的實施方式可以實現為一種系統、裝置、設備、方法或計算機程序產品。因此,本公開可以具體實現為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結合的形式。
下面參考本發明的若干代表性實施方式,詳細闡釋本發明的原理和精神。
如圖1所示,是本發明實施例提供的無人機100的方框示意圖。所述無人機100的組成元件包括飛行控制裝置101、存儲器102、處理器103、輸入輸出單元104、功能設備105、定位設備106以及其他。各元件相互之間直接或間接地電性連接,以實現數據的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實現電性連接。所述飛行控制裝置101包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器102或處理器103中的軟件功能模塊。所述處理器103用于執行該存儲于存儲器102或處理器103中的可執行的軟件功能模塊,例如所述飛行控制裝置101包括的軟件功能模塊或計算機程序。所述處理器103在接收到執行指令后,執行所述可執行的軟件功能模塊包括的程序,本發明實施例任一實施例揭示的無人機所執行的方法可以應用于處理器103中,或者由處理器103實現。
其中,所述存儲器102用于存儲所述無人機100的各類數據。所述存儲器102可以是所述無人機100的內部存儲器,也可為可移除的存儲器,存儲器101可以是,但不限于,隨機存取存儲器102(Random Access Memory,RAM),只讀存儲器102(Read Only Memory,ROM),可編程只讀存儲器102(Programmable Read-Only Memory,PROM),可擦除只讀存儲器102(Erasable Programmable Read-Only Memory,EPROM),電可擦除只讀存儲器102(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存儲器102可用于存儲程序。
處理器103可能是一種集成電路芯片,具有信號的處理能力。上述的處理器103可以是通用處理器,包括中央處理器(Central Processing Unit,簡稱CPU)、網絡處理器103(Network Processor,簡稱NP)等;還可以是數字信號處理器(DSP)、專用集成電路(ASIC)、現成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器103可以是微處理器或者該處理器103也可以是任何常規的處理器等。
輸入輸出單元104用于接收無人機100的控制終端通過有線或者無線發送的數據,或者,輸入輸出單元104通過有線或者無線發送無人機100的數據到所述無人機100的控制終端,實現控制終端與該無人機100的交互。
功能設備105包括攝像設備、LED燈、蜂鳴器以及紅外發生裝置等,用于無人機執行特定飛行任務(例如,拍照,燈的閃爍,紅外線遙測等)。
定位設備106包括定位裝置(例如,慣性測量單元IMU)、導航裝置(例如,GPS)、激光雷達及氣壓計等,用于對無人機的當前位置進行定位,其中,激光雷達作為一種重要的傳感器,廣泛應用在無人機領域。激光雷達是一種光學遙感技術,它通過首先向目標物體發射一束激光,再根據接收-反射的時間間隔來確定目標物體的實際距離,然后根據距離及激光發射的角度,通過簡單的幾何變化可以推導出物體的位置信息。由于激光的傳播受外界影響小,能夠檢測的距離一般可達100m以上。
本發明的實施例提出一種無人機速度測量方法、裝置及無人機,利用上述定位設備106中激光雷達提供的距離信息,計算出無人機在兩個時刻的絕對位置坐標,從而得出無人機在當前時刻的即時速度,利用這個速度來替代或者補償GPS給出的速度對當前無人機速度進行修正。
圖2為本發明實施例的無人機速度測量方法的處理流程圖。如圖所示,包括:
步驟S101,在第一時刻的第一位置,獲取無人機的激光雷達的多個激光束在多個平面的第一組距離;
步驟S102,在第二時刻的第二位置,獲取所述多個激光束在所述多個平面的第二組距離;
步驟S103,依據預設的幾何關系處理所述第一組距離和所述第二組距離,得到所述無人機在同一個坐標系下所述第一位置和所述第二位置的坐標;
步驟S104,依據在同一個坐標系下所述第一位置和所述第二位置的位置坐標,以及所述第一時刻和所述第二時刻的時間差,確定所述無人機的移動速度信息。
具體實施時,在步驟S101和S102中,可以通過無人機上的激光雷達傳感器直接獲取到激光照射的距離數據。例如,參看圖3,在t1時刻(第一時刻),激光雷達的位置為Pt1(第一位置),一束激光照射到空間中的P1點,在t2時刻(第二時刻),雷達的位置為Pt2(第二位置),相同方向的一束激光照射到空間中的P2點,可以直接從激光雷達傳感器獲取的數據中得到線段Pt1P1的長度l1以及線段Pt2P2的長度l2。
此時,存在一個參考平面,使得P1點和P2點均位于該參考平面上,且t1時刻(第一時刻)的激光雷達距離該參考平面的距離為l1,t2時刻(第二時刻)的激光雷達距離該參考平面的距離為l2,如圖3中所示的平面為β。
在本發明實施例中,對應于圖3,確定參考平面β的方法如下:
1)對P1周圍的點進行平面擬合,生成第一平面。具體實施時,取P1點周圍各點進行平面擬合,如果P1點周圍各點到某一平面的距離小于某一閾值,則認為P1及周圍各點都在某一平面上,該平面設為第一平面。
2)對P2周圍的點進行平面擬合,生成第二平面。具體實施時,取P2點周圍各點進行平面擬合,如果P2點周圍各點到某一平面的距離小于某一閾值,則認為P2及周圍各點都在某一平面上,該平面設為第二平面。
3)計算所述第一平面和第二平面的法向量n1和n2。
4)判斷所述第一平面和第二平面的法向量n1和n2的夾角是否小于某一閾值,若小于某一閾值,則認為第一平面與第二平面平行,進而確定所述第一位置點和所述第二位置點位于同一平面β上。如果不平行,則選取其他激光束,重新獲取P1點和P2點,進行上述的相同處理。
同理,在步驟S101和S102中,獲取激光雷達在第一時刻t1的第一位置Pt1發出的其他方向的激光束與激光雷達在第二時刻t2的第二位置Pt2發出的相同方向的激光束,根據上述確定參考平面的方法,可以確定對應于該方向的激光束的一第二參考平面,并得到t1時刻(第一時刻)的激光雷達距離該第二參考平面的距離,以及t2時刻(第二時刻)的激光雷達距離該第二參考平面的距離。
因此,通過選擇不同方向的激光束,可以得到在第一時刻的第一位置,激光雷達的多個激光束在多個平面的第一組距離;以及在第二時刻的第二位置,多個激光束在所述多個平面的第二組距離,所述第一組距離與所述第二組距離根據激光束的方向,存在對應關系,即不同時刻的相同的方向的兩束激光對應生成一個參考平面。
具體實施時,在步驟S103中,依據預設的幾何關系處理所述第一組距離和所述第二組距離,得到所述無人機在同一個坐標系下所述第一位置和所述第二位置的坐標。在一實施方式中,即是得到所述第二位置在所述第一位置的坐標系下的坐標,其具體實現方法(即預設的幾何關系)如下:
在第一位置到參考平面的距離連線上確定一參考點,使得所述參考點到參考平面的距離等于第二位置到參考平面的距離,通過所述參考點生成一平行于所述參考平面的第一輔助平面。同理,根據選擇的不同時刻的具有相同方向的一對激光束,可以對應生成第二輔助平面和第三輔助平面,根據所述第一輔助平面、所述第二輔助平面和所述第三輔助平面,得到所述第二位置在所述第一位置的坐標系下的坐標。
結合圖3詳細闡述步驟S103的具體實現過程,在線段Pt1P1上取參考點A,使得AP1=l2,通過所述參考點A生成一平行于所述參考平面β的第一輔助平面α,根據平面幾何知識,得知該第一輔助平面α是唯一確定的。
理論上,如果可以得到三個互不平行的輔助平面(第一輔助平面、第二輔助平面和第三輔助平面),即可通過線性方程組得到Pt2在t1時刻的坐標系下的坐標,但是,考慮到測量誤差,可以獲取多個(大于3個)互不平行的輔助平面αi。
(1)如果只利用三個互不平行的輔助平面,采用的計算方法如下:
1、根據所述第一輔助平面的法向量及對應的參考點在所述第一時刻的坐標系下的坐標,生成所述第一輔助平面的方程式。繼續參考圖3的實施例,平面α在t1時刻的坐標系下表示為:A1x+B1y+C1z+D1=0,其中,A1,B1,C1,D1為該平面方程的參數,由平面β的法向量n1及點A坐標確定,若n1=(a,b,c),A點坐標為(xA,yA,zA),那么:A1=a,B1=b,C1=c,D1=-(axA+byA+czA)。根據平行四邊形法則,易知Pt2位于平面α上,即Pt2在t1時刻的坐標系下的坐標(xt2,yt2,zt2)滿足A1xt2+B1yt2+C1zt2+D1=0。
2、根據所述第二輔助平面的法向量及對應的參考點在所述第一時刻的坐標系下的坐標,生成所述第二輔助平面的方程式。根據相同的計算方法同樣可以得到第二輔助平面的方程式A2x+B2y+C2z+D2=0,Pt2在t1時刻的坐標系下的坐標(xt2,yt2,zt2)同樣滿足A2xt2+B2yt2+C2zt2+D2=0。
3、根據所述第三輔助平面的法向量及對應的參考點在所述第一時刻的坐標系下的坐標,生成所述第三輔助平面的方程式。根據相同的計算方法同樣可以得到第三輔助平面的方程式A3x+B3y+C3z+D3=0,Pt2在t1時刻的坐標系下的坐標(xt2,yt2,zt2)同樣滿足A3xt2+B3yt2+C3zt2+D3=0。
4、利用所述第一輔助平面的方程式、第二輔助平面的方程式、第三輔助平面的方程式,計算生成所述第二位置在所述第一位置的坐標系下的坐標。
具體實施時,通過求解下述線性方程組,獲取Pt2在第一位置的坐標系下的坐標(xt2,yt2,zt2)。
(2)如果利用多個(大于3個)互不平行的輔助平面,采用的計算方法如下所示:
1、建立所述第二位置在所述第一位置的坐標系下的坐標與所述第二位置到每一輔助平面的距離的目標函數。
在一實施方式中,該目標函數為:其中,Distance(Pt2,αi)表示點Pt2到平面αi的距離。
2、通過最小化所述目標函數生成所述第二位置點在所述第一時刻的坐標系下的坐標。
具體實施時,在所述步驟S104中,在根據以上兩種方法的任一種得到第二位置在所述第一位置的坐標系下的坐標Pt2后,根據所述第一時刻的第一位置的坐標(Pt1點的坐標)、第二位置點在所述第一位置的坐標系下的坐標Pt2(xt2,yt2,zt2)以及第一時刻和第二時刻的時間差(t2-t1),計算所述激光雷達測得的無人機速度,從而確定無人機的移動速度信息。
其中,在一實施方式中,確定無人機的移動速度信息,包括判斷所述無人機的飛行速度參數是否與目標飛行參數一致,在不一致的情況下,調整所述飛行速度參數到所述目標飛行參數。通過修正飛行速度參數,從而實現無人機的懸停。
另外,在另一實施方式中,確定所述無人機的移動速度信息之后,還包括:
通過擴展卡爾曼濾波EKF處理所述飛行速度信息,以及所述無人機上IMU測量的加速度信息,將所述處理后的所述無人機上IMU測量的加速度信息和所述無人機的飛行速度信息發送給所述無人機的飛行控制裝置,其中,所述飛行控制裝置依據所述無人機上慣性測量單元IMU測量的加速度信息和所述無人機的飛行速度信息確定所述無人機的飛行速度參數。
如果存在GPS位置速度信息,則利用所述激光雷達的速度,并結合IMU的速度信息和GPS位置速度信息,通過基于擴展卡爾曼濾波進行數據融合后,對無人機的速度進行修正。例如,將激光雷達的速度,IMU的速度信息和GPS位置速度信息進行基于擴展卡爾曼濾波的數據融合處理,生成融合后的無人機速度v,如果v與無人機的目標速度相等,則證明無人機的速度無需修正,如果不相等,無人機的飛控通過控制加速度向速度偏移的相反方向以對速度進行修正。
應當注意,盡管在附圖中以特定順序描述了本發明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執行這些操作,或是必須執行全部所示的操作才能實現期望的結果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執行,和/或將一個步驟分解為多個步驟執行。
在介紹了本發明示例性實施方式的方法之后,接下來,參考圖3對本發明示例性實施方式的無人機速度測量裝置進行介紹。該裝置的實施可以參見上述方法的實施,重復之處不再贅述。以下所使用的術語“模塊”和“單元”,可以是實現預定功能的軟件和/或硬件。盡管以下實施例所描述的模塊較佳地以軟件來實現,但是硬件,或者軟件和硬件的組合的實現也是可能并被構想的。
圖4為本發明實施例的無人機速度測量裝置的結構示意圖。如圖4所示,包括:
距離獲取模塊301,用于在第一時刻的第一位置,獲取無人機的激光雷達的多個激光束在多個平面的第一組距離;且在第二時刻的第二位置,獲取所述多個激光束在所述多個平面的第二組距離;
坐標處理模塊302,用于依據預設的幾何關系處理所述第一組距離和所述第二組距離,得到所述無人機在同一個坐標系下所述第一位置和所述第二位置的坐標;
速度確定模塊303,用于依據在同一個坐標系下所述第一位置和所述第二位置的位置坐標,以及所述第一時刻和所述第二時刻的時間差,確定所述無人機的移動速度信息。
具體實施時,所述坐標處理模塊302用于依據預設的幾何關系處理所述第一組距離和所述第二組距離,得到所述無人機在同一個坐標系下所述第一位置和所述第二位置的坐標,如圖5所示,其具體包括:
距離提取單元3021,用于獲取所述多個激光束的第一激光束在所述第一時刻照射到的第一位置點的第一距離,以及所述多個激光束中與所述第一時刻相同方向的第二激光束在所述第二時刻照射到的第二位置點的第二距離,其中,所述第一距離為所述第一位置到所述第一位置點的距離,所述第二距離為所述第二位置到所述第二位置點的距離;
輔助平面生成單元3022,用于將所述第一位置點和所述第二位置點共同所在的平面生成參考平面,在所述第一距離的連線上確定一參考點,使得所述參考點與所述第一位置點的距離等于所述第二距離,通過所述參考點生成一平行于所述參考平面的第一輔助平面;且,當所述距離提取單元從所述多個激光束中提取與所述第一激光束和所述第二激光束不同方向的激光束的距離信息時,所述輔助平面生成單元還用于生成第二輔助平面和第三輔助平面;
坐標計算單元3023,用于根據所述第一輔助平面、所述第二輔助平面和所述第三輔助平面,得到所述第一位置與所述第二位置在所述第一位置的坐標系下的坐標。
具體實施時,所述輔助平面生成單元3022還生成除所述第一輔助平面、所述第二輔助平面、所述第三輔助平面之外的其他多個輔助平面;
對應的,如圖6所示,所述坐標處理模塊302還包括:
目標函數建立單元3024,用于建立所述第二位置在所述第一位置的坐標系下的坐標與所述第二位置到每一輔助平面的距離的目標函數;
最小化單元3025,用于最小化所述目標函數,生成所述第二位置在所述第一位置的坐標系下的坐標。
具體實施時,所述速度確定模塊303用于確定所述無人機的飛行速度參數,具體包括:判斷所述無人機的飛行速度參數是否于目標飛行參數一致,在不一致的情況下,調整所述飛行速度參數到所述目標飛行參數。
具體實施時,如圖7所示,本發明實施例的無人機測量裝置還包括:
EKF處理單元304,用于通過擴展卡爾曼濾波EKF處理所述飛行速度信息,以及所述無人機上IMU測量的加速度信息,將所述處理后的所述無人機上IMU測量的加速度信息和所述無人機的飛行速度信息發送給所述無人機的飛行控制裝置,其中,所述飛行控制裝置依據所述無人機上慣性測量單元IMU測量的加速度信息和所述無人機的飛行速度信息確定所述無人機的飛行速度參數。
本發明實施方式提出的無人機速度測量方法、裝置及無人機,使得無人機在GPS信號不穩定或者消失的時候,能夠利用機載的激光雷達信號進行對自身速度的檢測,從而能夠利用該檢測的速度對從IMU獲得的速度進行修正,從而實現無人機的懸停。
此外,盡管在上文詳細描述中提及了無人機速度測量裝置的若干單元,但是這種劃分僅僅并非強制性的。實際上,根據本發明的實施方式,上文描述的兩個或更多單元的特征和功能可以在一個單元中具體化。同樣,上文描述的一個單元的特征和功能也可以進一步劃分為由多個單元來具體化。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
本發明中應用了具體實施例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。