多旋翼飛行器的控制方法、裝置及多旋翼飛行器的制造方法
【專利摘要】本發明公開了一種多旋翼飛行器的控制方法,根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處理,確定所述飛行器的姿態角度;根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態矩陣;根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行器的各個螺旋槳的轉速。本發明還公開了一種多旋翼飛行器的控制裝置及多旋翼飛行器。本發明實現了提高多旋翼飛行器飛行時的穩定性。
【專利說明】
多旋翼飛行器的控制方法、裝置及多旋翼飛行器
技術領域
[0001] 本發明涉及飛行器控制技術領域,尤其涉及多旋翼飛行器的控制方法、裝置及多 旋翼飛行器。
【背景技術】
[0002] 目前,多旋翼飛行器在攝影、救災、測繪等領域得到了越來越廣泛的應用。多旋翼 飛行器根據旋翼的數量分為四旋翼飛行器、六旋翼飛行器等,在飛行過程中依靠各個螺旋 槳提供動力,可以在由X軸、Y軸、Z軸建立的空間坐標系中進行前后、左右、上下六個方向的 飛行。當多旋翼飛行器沿X軸方向旋轉時,稱為pitch,此時飛行器與X軸構成的角度稱為俯 仰角度,當多旋翼飛行器沿Z軸方向旋轉時,稱為roll,此時飛行器與Z軸構成的角度稱為翻 滾角度。
[0003] 然而在飛行過程中,多旋翼飛行器容易受到外界干擾導致飛行不平穩,當多旋翼 飛行器飛行不平穩時會導致拍攝效果不佳、測繪不準確、降落時摔壞飛機等問題,因此提升 多旋翼飛行器飛行時的穩定性是一個亟需解決的問題。
【發明內容】
[0004] 本發明的主要目的在于提供一種多旋翼飛行器的控制方法、裝置及多旋翼飛行 器,旨在實現提高多旋翼飛行器飛行時的穩定性的目的。
[0005] 為實現上述目的,本發明提供的一種多旋翼飛行器的控制方法包括以下步驟:
[0006] 根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處理,確定所述飛行 器的姿態角度;
[0007] 根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態矩陣;
[0008] 根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行器的各個 螺旋槳的轉速。
[0009] 優選地,所述根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處理, 確定所述飛行器的姿態角度包括:
[0010] 每間隔預置時間獲取預置的飛行檢測裝置檢測到的所述飛行器的飛行參數;
[0011] 利用所述姿態檢測算法對所述飛行參數進行姿態角度計算,確定飛行器的一組姿 態角度,所述姿態角度包括俯仰角度和翻滾角度。
[0012] 優選地,所述根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態矩陣包 括:
[0013] 將連續的N組姿態角度分別輸入預置的飛行狀態矩陣模型,得到N個飛行狀態矩 陣;
[0014] 所述飛行狀態矩陣為:
[0015]
[0016] 兵甲Xi芏xm,yi芏yn艿t貝墳但,撲艿側仰用度,卟艿翻滾用度,乜撲和卟為一組姿態角 度。
[0017] 優選地,所述根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛 行器的各個螺旋槳的轉速包括:
[0018] 將所述N個飛行狀態矩陣輸入基于深度學習的飛行控制模型,得到所述飛行控制 模型輸出的對應各個螺旋槳的轉速的預測值;
[0019] 根據所述預測值控制對應的螺旋槳的轉速。
[0020] 優選地,所述方法還包括:
[0021] 構建深度神經網絡,所述深度神經網絡的輸入層為N個飛行狀態矩陣,輸出層為M 個代表對應的螺旋槳的轉速的預測值,M為正整數且大于等于8,所述深度神經網絡包含網 絡權重值;
[0022] 獲取用于在所述深度神經網絡中進行訓練的訓練集;
[0023] 將所述訓練集通過預置的神經網絡訓練算法進行訓練,得到優化的網絡權重值, 確認包含所述優化的網絡權重值的深度神經網絡為所述飛行控制模型。
[0024]此外,為實現上述目的,本發明還提供一種多旋翼飛行器的控制裝置,所述裝置包 括:
[0025] 確定模塊,用于根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處 理,確定所述飛行器的姿態角度;
[0026] 運算模塊,用于根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態矩 陣;
[0027] 控制模塊,用于根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述 飛行器的各個螺旋槳的轉速。
[0028]優選地,所述確定模塊包括:
[0029] 獲取單元,用于每間隔預置時間獲取預置的飛行檢測裝置檢測到的所述飛行器的 飛行參數;
[0030] 確定單元,用于利用所述姿態檢測算法對所述飛行參數進行姿態角度計算,確定 飛行器的一組姿態角度,所述姿態角度包括俯仰角度和翻滾角度。
[0031] 優選地,所述運算模塊具體用于,將連續的N組姿態角度分別輸入預置的飛行狀態 矩陣模型,得到N個飛行狀態矩陣;
[0032]則所述控制模塊包括:
[0033]運算單元,用于將所述N個飛行狀態矩陣輸入基于深度學習的飛行控制模型,得到 所述飛行控制模型輸出的對應各個螺旋槳的轉速的預測值;
[0034]控制單元,用于根據所述預測值控制對應的螺旋槳的轉速。
[0035] 優選地,所述裝置還包括:
[0036]深度神經網絡構建模塊,用于構建深度神經網絡,所述深度神經網絡的輸入層為N 個飛行狀態矩陣,輸出層為M個代表對應的螺旋槳的轉速的預測值,M為正整數且大于等于 8,所述深度神經網絡包含網絡權重值;
[0037] 訓練集獲取模塊,用于獲取用于在所述深度神經網絡中進行訓練的訓練集;
[0038] 訓練模塊,用于將所述訓練集通過預置的神經網絡訓練算法進行訓練,得到優化 的網絡權重值,確認包含所述優化的網絡權重值的深度神經網絡為所述飛行控制模型。
[0039] 本發明還提供一種多旋翼飛行器,其特征在于,所述多旋翼飛行器包括上述所述 的一種多旋翼飛行器的控制裝置。
[0040] 本發明實施例根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處理, 確定所述飛行器的姿態角度;根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態 矩陣;根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行器的各個螺旋 槳的轉速。通過利用代表飛行器飛行狀態的飛行狀態矩陣和基于深度學習的飛行控制模型 控制螺旋槳的轉速,控制精度更高,從而實現了提高多旋翼飛行器飛行時的穩定性的目的, 同時,由于飛行狀態矩陣代表飛行器的飛行狀態,因此即使飛行器在丟失一個漿的情況下, 也能通過控制其他漿的轉速,使飛行器整體可以平穩著落。
【附圖說明】
[0041] 圖1為本發明多旋翼飛行器的控制方法第一實施例的流程示意圖;
[0042] 圖2為本發明多旋翼飛行器的控制方法第二實施例的流程示意圖;
[0043]圖3為本發明多旋翼飛行器的控制方法第三實施例的流程示意圖;
[0044] 圖4為本發明多旋翼飛行器的控制裝置第一實施例的功能模塊結構示意圖;
[0045] 圖5為本發明多旋翼飛行器的控制裝置第二實施例的功能模塊結構示意圖;
[0046] 圖6為本發明多旋翼飛行器的控制裝置第三實施例的功能模塊結構示意圖。
[0047] 本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0048]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0049] 本發明提供一種多旋翼飛行器的控制方法。參照圖1,在多旋翼飛行器的控制方法 第一實施例中,該方法包括:
[0050] 步驟S10,根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處理,確定 所述飛行器的姿態角度;
[0051] 步驟S20,根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態矩陣;
[0052]步驟S30,根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行 器的各個螺旋槳的轉速。
[0053] 本發明提供的多旋翼飛行器的控制方法用于控制多旋翼飛行器飛行時的穩定性, 主要是在pitch和roll方向的穩定性。通常多旋翼飛行器的各個螺旋槳是設置于電機上,多 旋翼飛行器通過改變電機的轉速使得螺旋槳以一定轉速旋轉,從而調整多旋翼飛行器的飛 行姿態。以下將多旋翼飛行器簡稱為飛行器。
[0054] 本實施例中上述姿態檢測算法是用于檢測飛行器飛行姿態的算法,飛行姿態是指 飛行器的三軸(X軸、Y軸、Z軸)在空中相對于某條參考線或某個參考平面的狀態。具體的姿 態檢測算法可以根據需要進行選擇,常用的姿態檢測算法有卡爾曼濾波、互補濾波等。上述 飛行器的飛行參數是指飛行器飛行時的角速度、加速度等值,當使用姿態檢測算法時通常 需要結合傳感器檢測到的飛行參數來計算,從而得到飛行器的姿態角度。
[0055] 在獲取到姿態角度后,結合預置的飛行狀態矩陣模型得到飛行狀態矩陣,該飛行 狀態矩陣是該飛行器以該姿態角度飛行時的飛行狀態矩陣,所述飛行狀態矩陣模型是預置 的用于代表飛行器的飛行狀態的一個矩陣模型。
[0056] 然后根據飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行器的各個 螺旋槳的轉速。上述飛行控制模型是基于深度學習的數學模型。深度學習是通過構建具有 很多隱層的機器學習模型和海量的訓練數據,來學習更有用的特征,從而最終提升分類或 預測的準確性。基于深度學習的飛行控制模型使得飛行器能夠通過大量的數據訓練學習后 對飛行器的飛行進行控制。
[0057] 本發明實施例通過根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行 處理,確定所述飛行器的姿態角度;根據所述姿態角度和預置的飛行狀態矩陣模型得到飛 行狀態矩陣;根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行器的各 個螺旋槳的轉速。通過利用代表飛行器飛行狀態的飛行狀態矩陣和基于深度學習的飛行控 制模型控制漿的轉速對飛行器的飛行進行控制,控制精度更高,從而實現了提高多旋翼飛 行器飛行時的穩定性,同時,由于飛行狀態矩陣代表飛行器的飛行狀態,因此即使飛行器在 丟失一個漿的情況下,也能通過控制其他漿的轉速,使飛行器整體可以平穩著落。
[0058]參照圖2,基于本發明多旋翼飛行器的控制方法的第一實施例,提出了本發明多旋 翼飛行器的控制方法第二實施例,本實施例中,本發明提出的多旋翼飛行器的控制方法包 括:
[0059] 步驟S110,每間隔預置時間獲取預置的飛行檢測裝置檢測到的所述飛行器的飛行 參數;
[0060] 步驟S120,利用所述姿態檢測算法對所述飛行參數進行姿態角度計算,確定飛行 器的一組姿態角度,所述姿態角度包括俯仰角度和翻滾角度;
[0061] 步驟S130,將連續的N組姿態角度分別輸入預置的飛行狀態矩陣模型,得到N個飛 行狀態矩陣;
[0062]步驟S140,將所述N個飛行狀態矩陣輸入基于深度學習的飛行控制模型,得到所述 飛行控制模型輸出的對應各個螺旋槳的轉速的預測值;
[0063]步驟S150,根據所述預測值控制對應的螺旋槳的轉速。
[0064] 上述步驟3110和步驟3120為步驟310的細化步驟,上述步驟3130為步驟320的細化 步驟,上述步驟S140和步驟S150為步驟S30的細化步驟。
[0065] 本實施例中上述預置的飛行檢測裝置為飛行器中預置的用于檢測飛行器狀態的 裝置,例如預置的陀螺儀、加速度傳感器、傾角傳感器等。其中陀螺儀用于檢測飛行器飛行 時的角速度,加速度傳感器用于檢測飛行器飛行時的加速度,傾角傳感器用于檢測相對于 水平面的傾角變化。上述飛行參數就是陀螺儀、加速度傳感器等裝置檢測到的飛行器飛行 時的角速度、加速度等參數。具體需要獲取哪些飛行參數根據姿態檢測算法需要哪些參數 而定。
[0066] 每間隔預置時間獲取預置的飛行檢測裝置檢測到的所述飛行器的飛行參數,其中 預置時間可以根據需要進行設定,例如當預置時間設置為60ms時,則每間隔60ms獲取一次 飛行器的飛行參數。由于飛行檢測裝置在飛行時是持續的進行檢測,在這里只需要獲取特 定時間點時檢測到的飛行參數。
[0067] 當獲取到飛行器的飛行參數后,利用姿態檢測算法對飛行參數進行姿態角度計 算,確定飛行器的一組姿態角度,是指獲取到的飛行參數輸入姿態檢測算法中進行運算,從 而得到姿態角度。具體的,需要獲取的姿態角度為俯仰角度和翻滾角度。飛行器的俯仰角度 為飛行器饒X軸旋轉時與X軸之間的角度,飛行器的翻滾角度為飛行器饒Z軸旋轉時與Z軸之 間的角度。
[0068] 上述獲取連續的N組姿態角度是為了獲取飛行器飛行時連續的姿態。例如可以根 據時間來獲取最近獲取的N組姿態角度。在N組姿態角度輸入預置的飛行狀態矩陣模型后, 得到N個飛行狀態矩陣,則N個飛行狀態矩陣代表了飛行器在一段時間的狀態。具體的是獲 取最新的連續N組姿態角度,用于控制下一時刻漿的轉速。當飛行器飛行時不同時刻有不同 的狀態,因此得到多個飛行狀態矩陣使飛行器的飛行狀態更精確。
[0069] 例如,獲取與當前時間最近的7組姿態角度,將7組姿態角度分別輸入飛行狀態矩 陣模型,則通過計算可以得到7個飛行狀態矩陣,這7個飛行狀態矩陣代表了飛行器最新的 連續7個飛行狀態。
[0070] 可以理解的是,這里也可以獲取8組姿態角度,來得到8個飛行狀態矩陣,具體的獲 取幾組姿態角度來得到幾個飛行狀態矩陣可以根據需要進行選擇,得到的飛行狀態矩陣 為:
[0071;
[0072]其中,Xi至xm,yi至yn為預設值,代表所述飛行器在X軸與y軸方向的坐標;θρ為俯仰 角度,Qr為翻滾角度,且Θ[^ΡΘΚ為一組姿態角度。幻至&1及71至7 11的具體值的獲取方式是,以 飛行器的中心為原點,根據矩陣的行數為η,列數為m,將飛行器在X軸方向分為η個坐標點,Y 軸方向分為m個坐標點,取X軸方向的坐標點的值為^至^,取Y軸方向的坐標點的值為 71至 yn,其中,11至心和71至7 11的具體數值根據111和11的取值以及飛行器的實際尺寸來決定。
[0073]例如,可以將矩陣設置為9*9的矩陣,則某一個時刻飛行器的狀態矩陣為:
[0074]
[0075] 其中,X1Sx9分別為以飛行器的中心為原點在X軸方向平均分配的9個坐標點,71至 y 9分別為以飛行器的中心為原點在Y軸方向平均分配的9個坐標點,ΘΡ此時刻的俯仰角度,0R 為此時刻的翻滾角度。
[0076]上述飛行控制模型是基于深度學習的模型,基于深度學習的模型通常有輸入層、 隱藏層和輸出層。在這里將N個飛行狀態矩陣輸入飛行控制模型,即將N個飛行狀態矩陣作 為飛行控制模型輸入層的數據輸入。
[0077]當N個飛行狀態矩陣輸入飛行控制模型后,得到飛行控制模型輸出的對應各個螺 旋槳的轉速的預測值。具體的,將當飛行控制模型接收到N個飛行狀態矩陣后,會根據飛行 控制模型包含的網絡權重值尋找路徑得到對應的各個螺旋槳的轉速的預測值。飛行控制模 型包含的網絡權重值是根據訓練得到的,隨著訓練,網絡權重值可以不斷優化更新,在飛行 控制模型的輸出層有預先定義的輸出節點,輸出節點包含的值代表各個螺旋槳的轉速的預 測值,根據網絡權重值找到對應的輸出節點后,輸出該節點代表的螺旋槳的轉速的預測值。 [0078]例如,飛行控制模型的輸入層為7個飛行狀態矩陣時,獲取最新的7組姿態角度,然 后通過飛行狀態矩陣模型得到7個飛行狀態矩陣,將7個飛行狀態矩陣輸入預置的飛行控制 模型,根據輸入的7個飛行狀態矩陣和飛行控制模型包含的網絡權重值,自動選擇路徑,輸 出對應各個螺旋槳的轉速的預測值。
[0079]當得到各個螺旋槳的轉速的預測值以后,再根據各個螺旋槳的轉速的預測值控制 對應的螺旋槳的轉速。具體的,得到轉速的預測值后輸出指令,該指令代表對應螺旋槳的轉 速的預測值。例如,將四旋翼飛行器的螺旋槳分別確認為第一螺旋槳、第二螺旋槳、第三螺 旋槳和第四螺旋槳,若得到的轉速動作為第一螺旋槳轉速增加,則輸出第一螺旋槳轉速增 加的指令,將該指令傳送給電子調速器,電子調速器根據接收到的指令控制漿的轉速在基 準轉速的基礎上增加預置值。例如,預設的基準轉速為l〇〇r/m,每次改變的預置值為5r/ min,當接收到第一螺旋槳轉速增加的指令時,電子調速器根據接收到的指令控制第一螺旋 槳轉速變為l〇5r/min。也可以取飛行器的螺旋槳的當前轉速為基準轉速,在此基礎上進行 轉速的增減變化。具體的控制轉速如何增加可以根據需要進行設定。
[0080] 本發明實施例通過每隔預置時間獲取飛行監測裝置檢測到的飛行器的飛行參數, 然后將飛行參數利用姿態檢測算法進行計算,確定飛行器的一組姿態角度,從而得到多個 時間點的飛行姿態角度。通過獲取連續的N組姿態角度,將N組姿態角度分別輸入飛行狀態 矩陣模型,從而得到N個飛行狀態矩陣,N個飛行狀態矩陣代表了飛行器飛行時連續的飛行 狀態,將N個代表飛行器飛行狀態的飛行狀態矩陣輸入基于深度學習的飛行控制模型,得到 對應各個螺旋槳的轉速的預測值,通過根據預測值控制飛行器螺旋槳的轉速,從而控制飛 行器飛行時的穩定性,使得即使飛行器在丟失一個漿的情況下,也能通過控制其他漿的轉 速,使飛行器整體可以平穩著落。
[0081] 參照圖3,基于本發明多旋翼飛行器的控制方法的第一實施例,提出了本發明多旋 翼飛行器的控制方法第三實施例,本實施例中,本發明提出的多旋翼飛行器的控制方法還 包括:
[0082]步驟S40,構建深度神經網絡,所述深度神經網絡的輸入層為N個飛行狀態矩陣,輸 出層為M個對應的螺旋槳的轉速的預測值,M為正整數且大于等于8,所述深度神經網絡包含 網絡權重值;
[0083] 步驟S50,獲取用于在所述深度神經網絡中進行訓練的訓練集;
[0084] 步驟S60,將所述訓練集通過預置的神經網絡訓練算法進行訓練,得到優化的網絡 權重值,確認包含所述優化的網絡權重值的深度神經網絡為所述飛行控制模型。
[0085] 本實施例介紹了通過深度學習創建飛行控制模型的過程,該過程可以包含在步驟 SlO之前,也可以在步驟S30以后再次優化飛行控制模型,即:每執行一次操作,即是對深度 神經網絡的一次訓練,圖3所示為在步驟SlO之前創建飛行控制模型的示例圖,由于訓練過 程在飛行時是連續的,因此其實也可以看成是上一個訓練的結尾承接下一個訓練的開始, 即步驟S40-S60為上一個訓練的步驟,S10-S30為本次訓練的步驟。
[0086] 本實施例中構建的深度神經網絡(Deep Neural Networks,DNN)用于通過訓練得 到網絡權重值,使得輸入不同狀態序列的飛行狀態矩陣時,根據網絡權重值得到對應的預 測值,從而根據輸出節點代表的預測動作控制飛行器的螺旋槳的轉速。上述深度神經網絡 包含輸入層、隱藏層、輸出層。
[0087] 具體地,輸入層為N個飛行狀態矩陣,該飛行狀態矩陣也是通過前述飛行狀態矩陣 模型得到的,代表飛行器在飛行時的狀態。輸出層為M個代表對應的螺旋槳的轉速的預測 值,M為正整數且大于等于8,一般的,M為偶數,以四旋翼飛行器為例,四旋翼飛行器有4個螺 旋槳,每個螺旋槳的轉速都對應兩種動作,分別是轉速增加、轉速減小,構建的網絡的輸出 層設置至少8個節點代表每個螺旋槳的一種轉速狀態,同時,還可以增加幾個預測值不預先 設置預測值,或者是預先設置預測值作為備用,具體可以根據需要進行選擇。例如,定義輸 出層有10個預測值,其中8個預測值分別代表第一螺旋槳的轉速增加、第一螺旋槳的轉速減 小、第二螺旋槳的轉速增加、第二螺旋槳的轉速減小、第三螺旋槳的轉速增加、第四螺旋槳 的轉速減小,其他兩個預測值沒有任何預測值。
[0088] 同時,獲取用于在所述深度神經網絡中進行訓練的訓練集,該訓練集的數據可以 通過實驗得到,可以通過現有的平臺隨機產生海量符合要求的數據等方式得到。該訓練集 的數據用于輸入構建的深度神經網絡。
[0089] 當獲取到訓練集以后,將訓練集通過預置的神經網絡訓練算法進行訓練,例如DNN 算法,訓練的目的是為了獲取深度神經網絡的網絡權重值。在實現時,以四旋翼飛行器為 例,可以定義兩個回報分數函數,第一回報分數函數包含飛行器在pitch方向的第一姿態角 度與第二姿態角度的差值,第二回報分數函數包含飛行器在roll方向的第三姿態角度與第 四姿態角度的差值,當第二姿態角度與第一姿態角度差值最小時,第一回報分數函數值最 大,當第四姿態角度與第三姿態角度最小時,第二回報分數函數值最大。也可以設置一個回 報分數函數,同時包括第第一姿態角度與第二姿態角度的差值,第三姿態角度的與第四姿 態角度的差值,當第二姿態角度與第一姿態角度最小且第四姿態角度與第三姿態角度最小 時,回報分數函數最大。
[0090] 其中,第二姿態角度是第一姿態角度調整漿的轉速以后的姿態角度,當第二姿態 角度與第一姿態角度最小時,表明姿態調整幅度不大,表明在pitch方向飛行器的變化不 大,即飛行在pitch方向保持穩定;第四姿態角度是第三姿態角度調整漿的轉速以后的姿態 角度,當第四姿態角度與第三姿態角度最小時,表明姿態調整幅度不大,表明在roll方向飛 行器的變化不大,即飛行在roll方向保持穩定。在訓練時通過執行回報分數函數最大的輸 出而不斷調整深度神經網絡中的網絡權重值,最終得到的優化的網絡權重值,確認包含優 化的網絡權重值的深度神經網絡為飛行控制模型。
[0091] 當飛行器飛行時,通過向飛行控制模型輸入不同狀態的飛行狀態矩陣,然后根據 優化的網絡權重值,得到輸出層對應的預測值,即得到對應漿的轉速的預測值。例如,若為 四旋翼飛行器,且飛行器的四個漿都在運轉,則此時得到對應于四個漿各自的轉速的預測 值。若為四旋翼飛行器,但此時丟失了一個漿只有三個漿在運轉,根據輸入的飛行器的姿態 矩陣,得到對應于三個正在運轉的漿的各自的轉速的預測值。
[0092] 本實施例通過構建深度神經網絡、獲取用于在該深度神經網絡中進行訓練的訓練 集,然后將訓練集通過預置的神經網絡算法進行訓練得到優化的網絡權重值,確認包含優 化的網絡權重值的深度神經網絡為飛行控制模型,使得在飛行器飛行時,可以根據輸入的 飛行狀態矩陣和該飛行控制模型得到對應的螺旋槳的轉速的預測值,從而通過控制螺旋槳 的轉速保證飛行器飛行時的穩定性。
[0093]本發明還提供一種多旋翼飛行器的控制裝置,參照圖4,提供了本發明多旋翼飛行 器的控制裝置第一實施例,該實施例中,多旋翼飛行器的控制裝置包括:
[0094]確定模塊10,用于根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處 理,確定所述飛行器的姿態角度;
[0095]運算模塊20,用于根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態矩 陣;
[0096]控制模塊30,用于根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所 述飛行器的各個螺旋槳的轉速。
[0097] 本發明提供的多旋翼飛行器的控制裝置用于控制多旋翼飛行器飛行時的穩定性, 主要是在pitch和roll方向的穩定性。通常多旋翼飛行器的多個螺旋槳是設置于電機上,多 旋翼飛行器通過改變電機的轉速使得螺旋槳以一定轉速旋轉,從而調整多旋翼飛行器的飛 行姿態。以下將多旋翼飛行器簡稱為飛行器。
[0098] 本實施例中上述姿態檢測算法是用于檢測飛行器飛行姿態的算法,飛行姿態是指 飛行器的三軸(X軸、Y軸、Z軸)在空中相對于某條參考線或某個參考平面的狀態。具體的姿 態檢測算法可以根據需要進行選擇,常用的姿態檢測算法有卡爾曼濾波、互補濾波等。上述 飛行器的飛行參數是指飛行器飛行時的角速度、加速度等值,當使用姿態檢測算法時通常 需要結合傳感器檢測到的飛行參數來計算,從而得到飛行器的姿態角度。
[0099] 在獲取到姿態角度后,運算模塊20結合預置的飛行狀態矩陣模型得到飛行狀態矩 陣,該飛行狀態矩陣是該飛行器以該姿態角度飛行時的飛行狀態矩陣,所述飛行狀態矩陣 模型是預置的用于代表飛行器的飛行狀態的一個矩陣模型。
[0100] 控制模塊30根據飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行器 的各個螺旋槳的轉速。上述飛行控制模型是基于深度學習的數學模型。深度學習通過構建 具有很多隱層的機器學習模型和海量的訓練數據,來學習更有用的特征,從而最終提升分 類或預測的準確性。基于深度學習的飛行控制模型使得飛行器能夠通過大量的數據訓練學 習后對飛行器的飛行進行控制。
[0101] 本發明實施例通過根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行 處理,確定所述飛行器的姿態角度;根據所述姿態角度和預置的飛行狀態矩陣模型得到飛 行狀態矩陣;根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行器的各 個螺旋槳的轉速。通過利用代表飛行器飛行狀態的飛行狀態矩陣和基于深度學習的飛行控 制模型控制漿的轉速對飛行器的飛行進行控制,控制精度更高,從而實現了提高多旋翼飛 行器飛行時的穩定性,同時,由于飛行狀態矩陣代表飛行器的飛行狀態,因此即使飛行器在 丟失一個漿的情況下,也能通過控制其他漿的轉速,使飛行器整體可以平穩著落。
[0102] 參照圖5,基于本發明多旋翼飛行器的控制裝置的第二實施例,提出了本發明多旋 翼飛行器的控制裝置第二實施例。
[0103] 本實施例包括多旋翼飛行器的控制裝置的第一實施例中的確定模塊10、運算模塊 20、控制模塊30,對于確定模塊10、運算模塊20、控制模塊30已在多旋翼飛行器的控制裝置 的第一實施例進行了描述,此處不再贅述。
[0104] 其中,確走板塊10包括:
[0105] 獲取單元110,用于每間隔預置時間獲取預置的飛行檢測裝置檢測到的所述飛行 器的飛行參數;
[0106] 確定單元120,用于利用所述姿態檢測算法對所述飛行參數進行姿態角度計算,確 定飛行器的一組姿態角度,所述姿態角度包括俯仰角度和翻滾角度;
[0107] 運算模塊20具體用于:將連續的N組姿態角度分別輸入預置的飛行狀態矩陣模型, 得到N個飛行狀態矩陣;
[0108] 控制模塊30包括:
[0109] 運算單元310,用于將所述N個飛行狀態矩陣輸入基于深度學習的飛行控制模型, 得到所述飛行控制模型輸出的對應各個螺旋槳的轉速的預測值;
[0110] 控制單元320,用于根據預測值控制對應的螺旋槳的轉速。
[0111] 本實施例中上述預置的飛行檢測裝置為飛行器中預置的用于檢測飛行器狀態的 裝置,例如預置的陀螺儀、加速度傳感器、傾角傳感器等。其中陀螺儀用于檢測飛行器飛行 時的角速度,加速度傳感器用于檢測飛行器飛行時的加速度,傾角傳感器用于檢測相對于 水平面的傾角變化。上述飛行參數就是陀螺儀、加速度傳感器等裝置檢測到的飛行器飛行 時的角速度、加速度等參數。具體需要獲取哪些飛行參數根據姿態檢測算法需要哪些參數 而定。
[0112] 獲取單元110每間隔預置時間獲取預置的飛行檢測裝置檢測到的所述飛行器的飛 行參數,其中預置時間可以根據需要進行設定,例如當預置時間設置為60ms時,則每間隔 60ms獲取一次飛行器的飛行參數。由于飛行檢測裝置在飛行時是持續的進行檢測,在這里 只需要獲取特定時間點時檢測到的飛行參數。
[0113] 當獲取到飛行器的飛行參數后,確定單元120利用姿態檢測算法對飛行參數進行 姿態角度計算,確定飛行器的一組姿態角度,是指獲取到的飛行參數輸入姿態檢測算法中 進行運算,從而得到姿態角度。具體的,需要獲取的姿態角度為俯仰角度和翻滾角度。飛行 器的俯仰角度為飛行器饒X軸旋轉時與X軸之間的角度,飛行器的翻滾角度為飛行器饒Z軸 旋轉時與Z軸之間的角度。
[0114] 上述獲取連續的N組姿態角是為了獲取飛行器飛行時連續的姿態。例如可以根據 時間來獲取最近獲取的N組姿態角度。運算模塊20具體用于將N組姿態角度輸入預置的飛行 狀態矩陣模型進行運算,得到N個飛行狀態矩陣,則N個飛行狀態矩陣代表了飛行器在一段 時間的狀態。具體的是獲取最新的連續N組姿態角度,用于控制下一時刻漿的轉速。當飛行 器飛行時不同時刻有不同的狀態,因此得到多個飛行狀態矩陣使飛行器的飛行狀態更精 確。
[0115] 例如,獲取與當前時間最近的7組姿態角度,將7組姿態角度分別輸入飛行狀態矩 陣模型,則通過計算可以得到7個飛行狀態矩陣,這7個飛行狀態矩陣代表了飛行器最新的 連續7個飛行狀態。
[0116] 可以理解的是,這里也可以獲取8組姿態角度,來得到8個飛行狀態矩陣,具體的獲 取幾組姿態角度來得到幾個飛行狀態矩陣可以根據需要進行選擇,得到的飛行狀態矩陣 為:
[0117]
[0118]其中,Xi至Xm,yi至yn為預設值,代表所述飛行器在X軸與y軸方向的坐標;θρ為俯仰 角度,Qr為翻滾角度,且Θ[^ΡΘΚ為一組姿態角度。幻至&1及71至7 11的具體值的獲取方式是,以 飛行器的中心為原點,根據矩陣的行數為η,列數為m,將飛行器在X軸方向分為η個坐標點,Y 軸方向分為m個坐標點,取X軸方向的坐標點的值為^至^,取Y軸方向的坐標點的值為 71至 yn,其中,11至心和71至7 11的具體數值根據111和11的取值以及飛行器的實際尺寸來決定。
[0119] 例如,可以將矩陣設置為9*9的矩陣,則某一個時刻飛行器的狀態矩陣為:
[0120]
[0121] 其中,^至19分別為以飛行器的中心為原點在X軸方向平均分配的9個坐標點,71至 y 9分別為以飛行器的中心為原點在Y軸方向平均分配的9個坐標點,ΘΡ此時刻的俯仰角度,0R 為此時刻的翻滾角度。
[0122] 上述飛行控制模型是基于深度學習的模型,基于深度學習的模型通常有輸入層、 隱藏層和輸出層。在這里將N個飛行狀態矩陣輸入飛行控制模型,即將N個飛行狀態矩陣作 為飛行控制模型輸入層的數據輸入。
[0123] 運算單元310將N個飛行狀態矩陣輸入至飛行控制模型后進行運算,得到飛行控制 模型輸出的對應各個螺旋槳的轉速的預測值。具體的,將當飛行控制模型接收到N個飛行狀 態矩陣后,會根據飛行控制模型包含的網絡權重值尋找路徑得到對應的各個螺旋槳的轉速 的預測值。飛行控制模型包含的網絡權重值是根據訓練得到的,隨著訓練,網絡權重值可以 不斷優化更新,在飛行控制模型的輸出層有預先定義的輸出節點,輸出節點包含的值代表 各個螺旋槳的轉速的預測值,根據網絡權重值找到對應的輸出節點后,輸出該節點代表的 螺旋槳的轉速的預測值。
[0124] 例如,飛行控制模型的輸入層為7個飛行狀態矩陣時,獲取最新的7組姿態角度,然 后通過飛行狀態矩陣模型得到7個飛行狀態矩陣,將7個飛行狀態矩陣輸入預置的飛行控制 模型,根據輸入的7個飛行狀態矩陣和飛行控制模型包含的網絡權重值,自動選擇路徑,輸 出對應各個螺旋槳的轉速的預測值。
[0125] 當得到各個螺旋槳的轉速的預測值以后,控制單元320根據各個螺旋槳的轉速的 預測值控制對應的螺旋槳的轉速。具體的,得到轉速的預測值后輸出指令,該指令代表對應 螺旋槳的轉速的預測值。例如,將四旋翼飛行器的螺旋槳分別確認為第一螺旋槳、第二螺旋 槳、第三螺旋槳和第四螺旋槳,若得到的轉速動作為第一螺旋槳轉速增加,則輸出第一螺旋 槳轉速增加的指令,將該指令傳送給電子調速器,電子調速器根據接收到的指令控制漿的 轉速在基準轉速的基礎上增加預置值。例如,預設的基準轉速為l〇〇r/m,每次改變的預置值 為5r/min,當接收到第一螺旋槳轉速增加的指令時,電子調速器根據接收到的指令控制第 一螺旋槳轉速變為l〇5r/min。也可以取飛行器的螺旋槳的當前轉速為基準轉速,在此基礎 上進行轉速的增減變化。具體的控制轉速如何增加可以根據需要進行設定。
[0126] 本發明實施例通過每隔預置時間獲取飛行監測裝置檢測到的飛行器的飛行參數, 然后將飛行參數利用姿態檢測算法進行計算,確定飛行器的一組姿態角度,從而得到多個 時間點的飛行姿態角度。通過獲取連續的N組姿態角度,將N組姿態角度分別輸入飛行狀態 矩陣模型,從而得到N個飛行狀態矩陣,N個飛行狀態矩陣代表了飛行器飛行時連續的飛行 狀態,將N個代表飛行器飛行狀態的飛行狀態矩陣輸入基于深度學習的飛行控制模型,得到 對應各個螺旋槳的轉速的預測值,通過根據預測值控制飛行器螺旋槳的轉速,從而控制飛 行器飛行時的穩定性,使得即使飛行器在丟失一個漿的情況下,也能通過控制其他漿的轉 速,使飛行器整體可以平穩著落。
[0127] 參照圖6,基于本發明多旋翼飛行器的控制裝置的第一實施例,提出了本發明多旋 翼飛行器的控制裝置第三實施例,本實施例中,本發明提出的多旋翼飛行器的控制裝置還 包括:
[0128] 深度神經網絡構建模塊40,用于構建深度神經網絡,所述深度神經網絡的輸入層 為N個飛行狀態矩陣,輸出層為M個代表對應的螺旋槳的轉速的預測值,M為正整數且大于等 于8,所述深度神經網絡包含網絡權重值;
[0129] 訓練集獲取模塊50,用于獲取用于在所述深度神經網絡中進行訓練的訓練集;
[0130] 訓練模塊60,用于將所述訓練集通過預置的神經網絡訓練算法進行訓練,得到優 化的網絡權重值,確認包含所述優化的網絡權重值的深度神經網絡為所述飛行控制模型。 [0131]本實施例中深度神經網絡構建模塊40、訓練集獲取模塊50、訓練模塊60用于,基于 深度學習創建飛行控制模型。創建飛行控制模型可以在確定模塊10確定飛行器的姿態角度 之前,也可以在控制模塊30控制飛行器的各個螺旋槳的轉速之后,即:每執行一次操作,即 是對深度神經網絡的一次訓練,由于訓練過程在飛行時是連續的,因此其實也可以看成是 上一個訓練的結尾承接下一個訓練的開始。
[0132] 本實施例中深度神經網絡構建模塊40構建的深度神經網絡(Deep Neural NetW〇rkS,DNN)用于通過訓練得到網絡權重值,使得輸入不同狀態序列的飛行狀態矩陣時, 根據網絡權重值得到對應的預測值,從而根據輸出節點代表的預測動作控制飛行器的螺旋 槳的轉速。上述深度神經網絡包含輸入層、隱藏層、輸出層。
[0133] 具體地,輸入層為N個飛行狀態矩陣,該飛行狀態矩陣也是通過前述飛行狀態矩陣 模型得到的,代表飛行器在飛行時的狀態。輸出層為M個代表對應的螺旋槳的轉速的預測 值,M為正整數且大于等于8,一般的,M為偶數,以四旋翼飛行器為例,四旋翼飛行器有4個螺 旋槳,每個螺旋槳的轉速都對應兩種動作,分別是轉速增加、轉速減小,構建的網絡的輸出 層設置至少8個節點代表每個螺旋槳的一種轉速狀態,同時,還可以增加幾個預測值不預先 設置預測值,或者是預先設置預測值作為備用,具體可以根據需要進行選擇。例如,定義輸 出層有10個預測值,其中8個預測值分別代表第一螺旋槳的轉速增加、第一螺旋槳的轉速減 小、第二螺旋槳的轉速增加、第二螺旋槳的轉速減小、第三螺旋槳的轉速增加、第四螺旋槳 的轉速減小,其他兩個預測值沒有任何預測值。
[0134] 同時,訓練集獲取模塊50獲取用于在所述深度神經網絡中進行訓練的訓練集,該 訓練集的數據可以通過實驗得到,可以通過現有的平臺隨機產生海量符合要求的數據等方 式得到。該訓練集的數據用于輸入構建的深度神經網絡。
[0135] 當獲取到訓練集以后,訓練模塊60將訓練集通過預置的神經網絡訓練算法進行訓 練,例如DNN算法,訓練的目的是為了獲取深度神經網絡的網絡權重值。在實現時,以四旋翼 飛行器為例,可以定義兩個回報分數函數,第一回報分數函數包含飛行器在pitch方向的第 一姿態角度與第二姿態角度的差值,第二回報分數函數飛行器在roll方向的第三姿態角度 與第四姿態角度的差值,當第二姿態角度與第一姿態角度差值最小時,第一回報分數函數 值最大,當第四姿態角度與第三姿態角度最小時,第二回報分數函數值最大。也可以設置一 個回報分數函數,同時包括第第一姿態角度與第二姿態角度的差值,第三姿態角度的與第 四姿態角度的差值,當第二姿態角度與第一姿態角度最小且第四姿態角度與第三姿態角度 最小時,回報分數函數最大。
[0136] 其中,第二姿態角度是第一姿態角度調整漿的轉速以后的姿態角度,當第二姿態 角度與第一姿態角度最小時,表明姿態調整幅度不大,表明在pitch方向飛行器的變化不 大,即飛行在pitch方向保持穩定;第四姿態角度是第三姿態角度調整漿的轉速以后的姿態 角度,當第四姿態角度與第三姿態角度最小時,表明姿態調整幅度不大,表明在roll方向飛 行器的變化不大,即飛行在roll方向保持穩定。在訓練時通過執行回報分數函數最大的輸 出而不斷調整深度神經網絡中的網絡權重值,最終得到的優化的網絡權重值,確認包含優 化的網絡權重值的深度神經網絡為飛行控制模型。
[0137] 當飛行器飛行時,通過向飛行控制模型輸入不同狀態的飛行狀態矩陣,然后根據 優化的網絡權重值,得到輸出層對應的預測值,即得到對應漿的轉速的預測值。例如,若為 四旋翼飛行器,且飛行器的四個漿都在運轉,則此時得到對應于四個漿各自的轉速的預測 值。若為四旋翼飛行器,但此時丟失了一個漿只有三個漿在運轉,根據輸入的飛行器的姿態 矩陣,得到對應于三個正在運轉的漿的各自的轉速的預測值。
[0138] 本實施例通過構建深度神經網絡、獲取用于在該深度神經網絡中進行訓練的訓練 集,然后將訓練集通過預置的神經網絡算法進行訓練得到優化的網絡權重值,確認包含優 化的網絡權重值的深度神經網絡為飛行控制模型,使得在飛行器飛行時,可以根據輸入的 飛行狀態矩陣和該飛行控制模型得到對應的螺旋槳的轉速的預測值,從而通過控制螺旋槳 的轉速保證飛行器飛行時的穩定性。
[0139] 以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發 明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技 術領域,均同理包括在本發明的專利保護范圍內。
【主權項】
1. 一種多旋翼飛行器的控制方法,其特征在于,所述方法包括W下步驟: 根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處理,確定所述飛行器的 姿態角度; 根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態矩陣; 根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行器的各個螺旋 獎的轉速。2. 如權利要求1所述的多旋翼飛行器的控制方法,其特征在于,所述根據預置的姿態檢 測算法對獲取到的飛行器的飛行參數進行處理,確定所述飛行器的姿態角度包括: 每間隔預置時間獲取預置的飛行檢測裝置檢測到的所述飛行器的飛行參數; 利用所述姿態檢測算法對所述飛行參數進行姿態角度計算,確定飛行器的一組姿態角 度,所述姿態角度包括俯仰角度和翻滾角度。3. 如權利要求2所述的多旋翼飛行器的控制方法,其特征在于,所述根據所述姿態角度 和預置的飛行狀態矩陣模型得到飛行狀態矩陣包括: 將連續的N組姿態角度分別輸入預置的飛行狀態矩陣模型,得到N個飛行狀態矩陣; 所述飛行狀態矩陣為:其中XI至xm,y適yn為預設值,θρ為俯仰角度,0R為翻滾角度,且θρ和0R為一組姿態角度。4. 如權利要求3所述的多旋翼飛行器的控制方法,其特征在于,所述根據所述飛行狀態 矩陣和基于深度學習的飛行控制模型控制所述飛行器的各個螺旋獎的轉速包括: 將所述Ν個飛行狀態矩陣輸入基于深度學習的飛行控制模型,得到所述飛行控制模型 輸出的對應各個螺旋獎的轉速的預測值; 根據所述預測值控制對應的螺旋獎的轉速。5. 如權利要求1至4任一項所述的多旋翼飛行器的控制方法,其特征在于,所述方法還 包括: 構建深度神經網絡,所述深度神經網絡的輸入層為Ν個飛行狀態矩陣,輸出層為Μ個代 表對應的螺旋獎的轉速的預測值,Μ為正整數且大于等于8,所述深度神經網絡包含網絡權 重值; 獲取用于在所述深度神經網絡中進行訓練的訓練集; 將所述訓練集通過預置的神經網絡訓練算法進行訓練,得到優化的網絡權重值,確認 包含所述優化的網絡權重值的深度神經網絡為所述飛行控制模型。6. -種多旋翼飛行器的控制裝置,其特征在于,所述裝置包括: 確定模塊,用于根據預置的姿態檢測算法對獲取到的飛行器的飛行參數進行處理,確 定所述飛行器的姿態角度; 運算模塊,用于根據所述姿態角度和預置的飛行狀態矩陣模型得到飛行狀態矩陣; 控制模塊,用于根據所述飛行狀態矩陣和基于深度學習的飛行控制模型控制所述飛行 器的各個螺旋獎的轉速。7. 如權利要求6所述的多旋翼飛行器的控制裝置,其特征在于,所述確定模塊包括: 獲取單元,用于每間隔預置時間獲取預置的飛行檢測裝置檢測到的所述飛行器的飛行 參數; 確定單元,用于利用所述姿態檢測算法對所述飛行參數進行姿態角度計算,確定飛行 器的一組姿態角度,所述姿態角度包括俯仰角度和翻滾角度。8. 如權利要求7所述的多旋翼飛行器的控制裝置,其特征在于,所述運算模塊具體用 于,將連續的腺且姿態角度分別輸入預置的飛行狀態矩陣模型,得到N個飛行狀態矩陣; 則所述控制模塊包括: 運算單元,用于將所述N個飛行狀態矩陣輸入基于深度學習的飛行控制模型,得到所述 飛行控制模型輸出的對應各個螺旋獎的轉速的預測值; 控制單元,用于根據所述預測值控制對應的螺旋獎的轉速。9. 如權利要求6至8任一項所述的多旋翼飛行器的控制裝置,其特征在于,所述裝置還 包括: 深度神經網絡構建模塊,用于構建深度神經網絡,所述深度神經網絡的輸入層為N個飛 行狀態矩陣,輸出層為Μ個代表對應的螺旋獎的轉速的預測值,Μ為正整數且大于等于8,所 述深度神經網絡包含網絡權重值; 訓練集獲取模塊,用于獲取用于在所述深度神經網絡中進行訓練的訓練集; 訓練模塊,用于將所述訓練集通過預置的神經網絡訓練算法進行訓練,得到優化的網 絡權重值,確認包含所述優化的網絡權重值的深度神經網絡為所述飛行控制模型。10. -種多旋翼飛行器,其特征在于,所述多旋翼飛行器包括如權利要求6-9任一項所 述的多旋翼飛行器的控制裝置。
【文檔編號】G05D1/08GK105843243SQ201610300437
【公開日】2016年8月10日
【申請日】2016年5月6日
【發明人】張顯志
【申請人】深圳電航空技術有限公司, 深圳一電航空技術有限公司