本發(fā)明涉及飛行器技術(shù)領(lǐng)域,尤其涉及一種飛行器的飛行控制方法和飛行控制裝置。
背景技術(shù):
飛行器在國民經(jīng)濟、軍事上都有很多應(yīng)用,目前飛行器己被廣泛應(yīng)用于航拍攝影、電力巡檢、環(huán)境監(jiān)測、森林防火、災(zāi)情巡查、防恐救生、軍事偵察、戰(zhàn)場評估等領(lǐng)域,飛行器是利用無線電遙控設(shè)備和自備的程序控制裝置操縱的不載人飛機。機上無駕駛艙,但安裝有自動駕駛儀、程序控制裝置、信息采集裝置等設(shè)備,遙控站人員通過雷達等設(shè)備,對其進行跟蹤、定位、遙控、遙測和數(shù)字傳輸。
目前飛行器在執(zhí)行飛行動作時通常采用如下兩種方案:1、飛行器在飛行過程中,用戶通過人工控制遙控器上的搖桿,手動控制飛行器做基本的飛行運動;2、用戶操作手持設(shè)備模擬控制搖桿,由搖桿來控制飛行器的飛行運動,手持設(shè)備可以是指智能手機、平板電腦等移動設(shè)備。
基于上述目前的方案中,通常存在如下的應(yīng)用場景,多個用戶分別操作各自的飛行器進行飛行,則在天空中多個飛行器之間可以實現(xiàn)共同飛行,每個用戶都可以體驗到與其它用戶共同操控的可玩性體驗,例如在飛行器1V1應(yīng)用場景下,兩個飛行器可以由不同用戶操作實現(xiàn)一對一對戰(zhàn)。但是目前的解決方案中,多個飛行器需要多個用戶分別同時操控才能完成,對于一個用戶無法同時操控多個飛行器的實現(xiàn)場景下就無法完成至少兩個飛行器之間的共同飛行。另外,在每個飛行器由一個用戶操控的實現(xiàn)場景下,無論是使用遙控器還是手持設(shè)備,都是通過搖桿來控制飛行器的飛行運動,但是這種通過搖桿控制飛行器的方法需要用戶隨時關(guān)注飛行器的飛行軌跡,并且不同用戶之間的操控手法都不同,很難完成至少兩個飛行器之間的共同飛行。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種飛行器的飛行控制方法和飛行控制裝置,用于完成至少兩個飛行器之間的共同飛行。
為解決上述技術(shù)問題,本發(fā)明實施例提供以下技術(shù)方案:
第一方面,本發(fā)明實施例提供一種飛行器的飛行控制方法,包括:
獲取移動終端下發(fā)的第一飛行控制指令和飛行參數(shù),所述第一飛行控制指令包括:控制第一飛行器進入人工智能自動飛行模式,所述飛行參數(shù)包括:預(yù)置的飛行高度;
根據(jù)所述第一飛行控制指令控制所述第一飛行器啟動所述人工智能自動飛行模式,并根據(jù)所述飛行參數(shù)控制所述第一飛行器飛行至所述預(yù)置的飛行高度后進行懸停狀態(tài);
判斷在所述第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,并根據(jù)對所述第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整所述第一飛行器的飛行姿態(tài)。
第二方面,本發(fā)明實施例還提供一種飛行控制裝置,包括:
獲取模塊,用于獲取移動終端下發(fā)的第一飛行控制指令和飛行參數(shù),所述第一飛行控制指令包括:控制第一飛行器進入人工智能自動飛行模式,所述飛行參數(shù)包括:預(yù)置的飛行高度;
飛行模式控制模塊,用于根據(jù)所述第一飛行控制指令控制所述第一飛行器啟動所述人工智能自動飛行模式,并根據(jù)所述飛行參數(shù)控制所述第一飛行器飛行至所述預(yù)置的飛行高度后進行懸停狀態(tài);
目標(biāo)跟蹤模塊,用于判斷在所述第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,并根據(jù)對所述第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整所述第一飛行器的飛行姿態(tài)。
從以上技術(shù)方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
在本發(fā)明實施例中,第一飛行器可以根據(jù)移動終端下發(fā)的第一飛行控制指令和飛行參數(shù)啟動人工智能自動飛行模式,并飛行至預(yù)置的飛行高度后進行懸停狀態(tài),因此第一飛行器可以不需要用戶的實時操控就可以自動起飛,本發(fā)明實施例中還可以判斷在第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,并根據(jù)對第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整第一飛行器的飛行姿態(tài)。從而第一飛行器的飛行過程與目標(biāo)飛行器緊密相關(guān),從而可以實現(xiàn)第一飛行器和目標(biāo)飛行器的共同飛行,實現(xiàn)至少兩個飛行器之間的共同飛行。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種飛行器的飛行控制方法的流程方框示意圖;
圖2-a為本發(fā)明實施例提供的飛行器的一種飛行控制實現(xiàn)方案示意圖;
圖2-b為本發(fā)明實施例提供的飛行器的自動尋路實現(xiàn)方案示意圖;
圖2-c為本發(fā)明實施例提供的飛行器的一種自動尋路算法示意圖;
圖2-d為本發(fā)明實施例提供的飛行器的另一種自動尋路算法示意圖;
圖3-a為本發(fā)明實施例提供的一種飛行控制裝置的組成結(jié)構(gòu)示意圖;
圖3-b為本發(fā)明實施例提供的一種目標(biāo)跟蹤模塊的組成結(jié)構(gòu)示意圖;
圖3-c為本發(fā)明實施例提供的另一種目標(biāo)跟蹤模塊的組成結(jié)構(gòu)示意圖;
圖3-d為本發(fā)明實施例提供的另一種目標(biāo)跟蹤模塊的組成結(jié)構(gòu)示意圖;
圖3-e為本發(fā)明實施例提供的另一種飛行控制裝置的組成結(jié)構(gòu)示意圖;
圖3-f為本發(fā)明實施例提供的另一種飛行控制裝置的組成結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例提供的飛行器的飛行控制方法應(yīng)用于終端的組成結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明實施例提供了一種飛行器的飛行控制方法和飛行控制裝置,用于一個用戶無法同時操控多個飛行器的實現(xiàn)場景下完成至少兩個飛行器之間的共同飛行。
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例。基于本發(fā)明中的實施例,本領(lǐng)域的技術(shù)人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它單元。
以下分別進行詳細說明。
本發(fā)明飛行器的飛行控制方法的一個實施例,具體可以應(yīng)用于對第一飛行器的自動飛行控制,從而實現(xiàn)第一飛行器和目標(biāo)飛行器的共同飛行,請參閱圖1所示,第一飛行器由飛行控制裝置進行飛行控制,飛行控制裝置通過移動終端來接收到飛行控制指令,飛行控制裝置控制飛行器,該飛行器具體可以是無人機、也可以是遙控飛機、航模飛機等。接下來從飛行控制裝置的角度來說明,本發(fā)明一個實施例提供的飛行器的飛行控制方法,可以包括如下步驟:
101、獲取移動終端下發(fā)的第一飛行控制指令和飛行參數(shù),第一飛行控制指令包括:控制第一飛行器進入人工智能自動飛行模式,飛行參數(shù)包括:預(yù)置的飛行高度。
在本發(fā)明實施例中,移動終端可以是第一飛行器的用戶控制器,用戶可以通過移動終端下第一飛行器來下發(fā)控制指令,移動終端中的通信模塊和飛行控制裝置中的通信模塊可以是采用無線網(wǎng)絡(luò)連接或者配對的數(shù)傳模塊。移動終端和飛行控制裝置可以采用微型航空器連接(英文全稱:Micro Air Vehicle Link,英文簡稱:MavLink)協(xié)議,MavLink協(xié)議是一種用于小型無人載具的通信協(xié)議,移動終端和飛行控制裝置之間可以實現(xiàn)通信交互。
在第一飛行器初始化啟動之后,移動終端可以向第一飛行器下發(fā)第一飛行控制指令和飛行參數(shù),用戶可以通過移動終端指示第一飛行器,例如用戶可以控制第一飛行器進入人工智能(英文全稱:Artificial Intelligence,英文簡稱:AI)自動飛行模式,用戶還可以預(yù)置第一飛行器的飛行高度,則飛行控制裝置可以接收移動終端下發(fā)的第一飛行控制指令和飛行參數(shù)。其中,飛行控制指令由用戶通過移動終端下發(fā)給第一飛行器,飛行控制指令中攜帶有用戶需要控制第一飛行器的飛行模式,在實際應(yīng)用中,第一飛行器可以有多種飛行模式,例如飛行模式可以是人工控制飛行模式,也可以是人工智能自動飛行模式。本發(fā)明實施例中第一飛行器除了可以按照用戶實時操控進行飛行外,還可以根據(jù)配置的人工智能自動飛行模式進行自動尋路飛行,而不需要用戶的實時操控就可以完成自動尋路飛行。飛行參數(shù)中包括用戶通過移動終端配置的飛行高度,該飛行高度是第一飛行器在起飛階段需要起飛到的高度,具體可以根據(jù)應(yīng)用場景進行默認配置或者預(yù)先配置。
102、根據(jù)第一飛行控制指令控制第一飛行器啟動人工智能自動飛行模式,并根據(jù)飛行參數(shù)控制第一飛行器飛行至預(yù)置的飛行高度后進行懸停狀態(tài)。
在本發(fā)明實施例中,獲取到第一飛行控制指令和飛行參數(shù)之后,飛行控制裝置可以根據(jù)該第一飛行控制指令和飛行參數(shù)進行起飛,第一飛行器啟動人工智能自動飛行模式,并飛行至預(yù)置的飛行高度后進行懸停狀態(tài)。從而第一飛行器進入人工智能自動飛行模式后,第一飛行器就不需要再接收移動終端發(fā)送的飛行控制指令就可以自動飛行,第一飛行器的自動飛行過程實現(xiàn)詳見后續(xù)步驟103和步驟104的說明。
在本發(fā)明的一些實施例中,本發(fā)明實施例提供的飛行器的飛行控制方法除了執(zhí)行前述步驟之外,該飛行器的飛行控制方法還包括:
A1、獲取移動終端下發(fā)的第二飛行控制指令,第二飛行控制指令包括:控制第一飛行器取消人工智能自動飛行模式;
A2、根據(jù)第二飛行控制指令控制第一飛行器退出人工智能自動飛行模式,控制第一飛行器回到懸停狀態(tài)。
其中,第一飛行器在飛行的過程中,對用戶輸入保持優(yōu)先響應(yīng),用戶可以打斷第一飛行器的自動飛行,自行控制第一飛行器的飛行,這樣可以優(yōu)先保障第一飛行器的安全,避免第一飛行器碰撞等異常情況發(fā)生,例如當(dāng)用戶仍需要控制第一飛行器時,用戶可以通過移動終端發(fā)送第二飛行控制指令,然后根據(jù)第二飛行控制指令控制第一飛行器退出人工智能自動飛行模式,控制第一飛行器回到懸停狀態(tài)。
在本發(fā)明的一些實施例中,本發(fā)明實施例提供的飛行器的飛行控制方法除了執(zhí)行前述步驟之外,該飛行器的飛行控制方法還包括:
B1、采集第一飛行器的電池能量狀態(tài),判斷第一飛行器的電池能量狀態(tài)是否小于預(yù)置的能量門限;
B2、若電池能量狀態(tài)小于能量門限,控制第一飛行器降落;
B3、若電池能量狀態(tài)大于或等于能量門限,控制第一飛行器返航到起飛點。
在本發(fā)明的一些實施例中,在第一飛行器按照人工智能自動飛行模式飛行期間,還可以實時的監(jiān)測第一飛行器的飛行器參數(shù),例如可以檢測第一飛行器的電池能量狀態(tài),以獲取到第一飛行器的電池能量能否繼續(xù)維持飛行狀態(tài),判斷第一飛行器的電池能量狀態(tài)是否小于預(yù)置的能量門限,若電池能量狀態(tài)小于能量門限,控制第一飛行器降落,若電池能量狀態(tài)大于或等于能量門限,控制第一飛行器返航到起飛點。
103、判斷在第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,并根據(jù)對第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整第一飛行器的飛行姿態(tài)。
在本發(fā)明實施例中,第一飛行器啟動人工智能自動飛行模式飛行至預(yù)置的飛行高度后進入懸停狀態(tài),接下來可以對第一飛行器的周邊范圍進行檢測,從而判斷出是否有其它飛行器(即前述的目標(biāo)飛行器)出現(xiàn),此處的目標(biāo)飛行器可以特指某一些類型的飛行器,也可以不特指某些飛行器,只需要是除該第一飛行器以外的其它飛行器即可。例如可以通過對第一飛行器的周邊環(huán)境圖像的采集與分析來判斷,或者也可以通過第一飛行器中配置的紅外成像模塊來檢測目標(biāo)飛行器。其中,自然界的一切物體都可以輻射紅外線,利用紅外成像模塊(例如探測儀)測量目標(biāo)本身與背景間的紅外線差可以得到不同的熱紅外線形成的紅外圖像,通過紅外圖像判斷出在第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器。在判斷出第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器后,可以根據(jù)對目標(biāo)飛行器的判斷來調(diào)整第一飛行器的飛行姿態(tài),其中,第一飛行器的飛行姿態(tài)可以指的是飛行器的朝向,高度和位置,在使用第一飛行器跟蹤目標(biāo)飛行器的實現(xiàn)過程中,主要控制第一飛行器隨目標(biāo)飛行器進行的位置移動。例如,調(diào)整飛行姿態(tài)可以只是控制第一飛行器往前飛行,也可以指控制第一飛行器實現(xiàn)翻滾等飛行動作。
在本發(fā)明的一些實施例中,步驟103中的判斷在第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,可以包括:
C1、采集第一飛行器處于懸停狀態(tài)時的周邊環(huán)境圖像;
C2、根據(jù)周邊環(huán)境圖像判斷在第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器。
其中,步驟C1中,第一飛行器通過步驟102中的描述完成起飛之后,第一飛行器處于懸停狀態(tài),此時可以啟用第一飛行器中的攝像頭來采集該第一飛行器的周邊環(huán)境圖像,周邊環(huán)境圖像是指第一飛行器起飛完成之后第一飛行器處于懸停狀態(tài)時在該第一飛行器的周圍所采集到的圖像信息。
在本發(fā)明的一些實施例中,步驟C1采集第一飛行器處于懸停狀態(tài)時的周邊環(huán)境圖像,具體可以包括:
C11、按照第一飛行器的攝像頭的當(dāng)前視角方向采集第一飛行器處于懸停狀態(tài)時的前方環(huán)境圖像,然后調(diào)整第一飛行器的攝像頭視角方向,從而采集到第一飛行器處于懸停狀態(tài)時的后方環(huán)境圖像、左方環(huán)境圖像和右方環(huán)境圖像。
其中,第一飛行器中還可以設(shè)置視覺系統(tǒng),通過視覺系統(tǒng)來采集第一飛行器的周邊環(huán)境圖像,例如該視覺系統(tǒng)中配置有至少一個的攝像頭,則按照攝像頭的當(dāng)前視角方向采集第一飛行器處于懸停狀態(tài)時的前方環(huán)境圖像,然后調(diào)整第一飛行器的攝像頭視角方向,從而采集到第一飛行器處于懸停狀態(tài)時的后方環(huán)境圖像、左方環(huán)境圖像和右方環(huán)境圖像。不限定的是,第一飛行器還可以設(shè)置多個攝像頭來同時采集周邊環(huán)境圖像,此處不做限定。
通過步驟C1采集到的第一飛行器的周邊環(huán)境圖像之后,接下來執(zhí)行步驟C2,對該周邊環(huán)境圖像進行圖像檢測,以判斷第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,例如可以獲取到目標(biāo)飛行器的圖像特征,然后以目標(biāo)飛行器的圖像特征來對周邊環(huán)境圖像進行圖像分類檢測,從而可以判斷出在第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器。另外,還可以采用模糊判斷方式,通常第一飛行器起飛之后會處于半空中,在第一飛行器的周邊是否出現(xiàn)有飛行物可以通過周邊環(huán)境圖像的檢測來確定,本發(fā)明實施例采用的飛行器檢測算法可以是基于Adaboost學(xué)習(xí)算法的方法,例如Haar-like矩形特征的特征值的快速計算方法等等。不限的是,在本發(fā)明的其他實施例中,本發(fā)明實施例采用的飛行器檢測算法還可以是神經(jīng)網(wǎng)絡(luò)的方法,或者基于幾何特征的方法等等。根據(jù)對目標(biāo)飛行器的判斷來調(diào)整第一飛行器的飛行姿態(tài),其中,第一飛行器的飛行姿態(tài)可以指的是飛行器的朝向,高度和位置,在使用第一飛行器跟蹤目標(biāo)飛行器的實現(xiàn)過程中,主要控制第一飛行器隨目標(biāo)飛行器進行的位置移動。例如,調(diào)整飛行姿態(tài)可以只是控制第一飛行器往前飛行,也可以指控制第一飛行器實現(xiàn)翻滾等飛行動作。
在本發(fā)明的一些實施例中,步驟103中的根據(jù)對第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整第一飛行器的飛行姿態(tài),包括:
D1、根據(jù)當(dāng)前判斷結(jié)果確定在第一飛行器的后方環(huán)境中發(fā)現(xiàn)目標(biāo)飛行器,然后獲取目標(biāo)飛行器的飛行方向;
D2、若目標(biāo)飛行器從第一飛行器的左方向飛向第一飛行器,則控制第一飛行器向右方向飛行,并改變第一飛行器的飛行高度;
D3、若目標(biāo)飛行器從第一飛行器的右方向飛向第一飛行器,則控制第一飛行器向左方向飛行,并改變第一飛行器的飛行高度;
D4、若目標(biāo)飛行器向第一飛行器的前方向飛向第一飛行器,則控制第一飛行器向前方向飛行,或向右方向飛行,或向左方向飛行,并改變第一飛行器的飛行高度。
其中,步驟D1至步驟D4中描述了第一飛行器和目標(biāo)飛行器共同飛行的一種具體實現(xiàn)場景,首先根據(jù)當(dāng)前判斷結(jié)果確定在第一飛行器的后方環(huán)境中發(fā)現(xiàn)目標(biāo)飛行器,此時目標(biāo)飛行器處于第一飛行器的當(dāng)前飛行位置的后方,接下來獲取目標(biāo)飛行器的飛行方向,例如可以通過對目標(biāo)飛行器的拍攝圖像進行實時檢測,從而判斷出目標(biāo)飛行器的飛行方向,對于目標(biāo)飛行器的不同飛行方向,第一飛行器可以分別按照步驟D2至步驟D4中所述的飛行控制方法進行飛行。需要說明的是,上述步驟D2至步驟D4只是在第一飛行器的后方環(huán)境中發(fā)現(xiàn)目標(biāo)飛行器時調(diào)整第一飛行器的飛行姿態(tài)的一種實現(xiàn)方式,若第一飛行器的前方環(huán)境、左方環(huán)境、右方環(huán)境中發(fā)現(xiàn)目標(biāo)飛行器時也可以基于此處實施例描述的方式來靈活調(diào)整第一飛行器的飛行姿態(tài),從而實現(xiàn)第一飛行器和目標(biāo)飛行器的共同飛行。
在本發(fā)明的另一些實施例中,步驟103中的根據(jù)對第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整第一飛行器的飛行姿態(tài),包括:
E1、根據(jù)當(dāng)前判斷結(jié)果確定在第一飛行器的后方環(huán)境中沒有發(fā)現(xiàn)目標(biāo)飛行器;
E2、獲取在當(dāng)前判斷結(jié)果之前的歷史判斷結(jié)果中第一飛行器的后方環(huán)境中是否發(fā)現(xiàn)目標(biāo)飛行器;
E3、若根據(jù)歷史判斷結(jié)果確定在第一飛行器的后方環(huán)境中發(fā)現(xiàn)目標(biāo)飛行器,則根據(jù)歷史判斷結(jié)果對第一飛行器的飛行姿態(tài)調(diào)整方式調(diào)整第一飛行器的飛行姿態(tài);
E4、若根據(jù)歷史判斷結(jié)果確定在第一飛行器的后方環(huán)境中沒有發(fā)現(xiàn)目標(biāo)飛行器,則控制第一飛行器向前方向飛行,或向右方向飛行,或向左方向飛行。
其中,在前述步驟D1至步驟D4的實現(xiàn)方式中,對第一飛行器的后方環(huán)境中發(fā)現(xiàn)目標(biāo)飛行器時的解決方案,在此處實施例中描述了第一飛行器的后方環(huán)境中沒有發(fā)現(xiàn)目標(biāo)飛行器時對第一飛行器的調(diào)整方案。本發(fā)明實施例中飛行控制裝置調(diào)整第一飛行器的飛行姿態(tài)是周期性的控制行為,在當(dāng)前調(diào)整過程之前還存在歷史調(diào)整過程,調(diào)整周期可以設(shè)置,比如5次/秒,10次/秒等等,則在當(dāng)前判斷結(jié)果中沒有發(fā)現(xiàn)目標(biāo)飛行器時還可以結(jié)合歷史判斷結(jié)果來確定在當(dāng)前調(diào)整過程中該如何調(diào)整第一飛行器的飛行姿態(tài)。具體的,可以獲取在當(dāng)前判斷結(jié)果之前的歷史判斷結(jié)果中第一飛行器的后方環(huán)境中是否發(fā)現(xiàn)目標(biāo)飛行器,若根據(jù)歷史判斷結(jié)果確定在第一飛行器的后方環(huán)境中發(fā)現(xiàn)目標(biāo)飛行器,則根據(jù)歷史判斷結(jié)果對第一飛行器的飛行姿態(tài)調(diào)整方式調(diào)整第一飛行器的飛行姿態(tài),即跟隨上一次的飛行姿態(tài)調(diào)整方式來繼續(xù)調(diào)整第一飛行器的飛行姿態(tài),例如上一次的飛行姿態(tài)調(diào)整方式可以如前述步驟D1至步驟D4所示的實施例。若根據(jù)歷史判斷結(jié)果確定在第一飛行器的后方環(huán)境中沒有發(fā)現(xiàn)目標(biāo)飛行器,則控制第一飛行器向前方向飛行,或向右方向飛行,或向左方向飛行,因此當(dāng)本次判斷結(jié)果以及上次判斷結(jié)果都沒有發(fā)現(xiàn)目標(biāo)飛行器時,可以采用隨意調(diào)整第一飛行器的飛行姿態(tài)的方式,控制第一飛行器向前方向飛行,或向右方向飛行,或向左方向飛行,此處不能向后方向飛行,以免增加和目標(biāo)飛行器碰撞的風(fēng)險。
在本發(fā)明的一些實施例中,飛行參數(shù)還包括:預(yù)置的飛行邊界,飛行邊界包括如下信息中的至少一種:最大飛行距離、最高飛行高度和最低飛行高度。在這種實現(xiàn)場景下,步驟103中的根據(jù)對第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整第一飛行器的飛行姿態(tài)之后,本發(fā)明實施例提供的飛行器的飛行控制方法還包括:
F1、判斷第一飛行器按照當(dāng)前飛行姿態(tài)飛行時到達的飛行位置是否達到飛行邊界;
F2、若第一飛行器達到飛行邊界,調(diào)整第一飛行器的飛行姿態(tài)使第一飛行器返回飛行邊界內(nèi)。
其中,用戶通過移動終端向第一飛行器下發(fā)了飛行邊界的各種參數(shù)時,那么在第一飛行器的飛行過程中還需要對第一飛行器的飛行位置進行檢測,若第一飛行器達到飛行邊界,則需要調(diào)整第一飛行器的飛行姿態(tài)使第一飛行器返回飛行邊界內(nèi),從而實現(xiàn)對第一飛行器按照飛行邊界進行實時自動調(diào)整,而不需要用戶進行手工操控。
進一步的,在本發(fā)明的一些實施例中,步驟F2調(diào)整第一飛行器的飛行姿態(tài)使第一飛行器返回飛行邊界內(nèi),包括:
F21、控制第一飛行器向上方向飛行并向后方向飛行,或者向下方向飛行并向后方向飛行,或者向上方向飛行并向右方向飛行,或者向下方向飛行并向右方向飛行,或者向上方向飛行并向左方向飛行,或者向下方向飛行并向左方向飛行;
F22、判斷第一飛行器向上方向飛行是否達到最高飛行高度,若是,控制第一飛行器向下飛行;
F23、判斷第一飛行器向下方向飛行是否達到最低飛行高度,若是,控制第一飛行器向上飛行。
其中,在調(diào)整第一飛行器的飛行姿態(tài)從而控制第一飛行器返回飛行邊界的實現(xiàn)方案中,可以有多種實現(xiàn)方式,只需要第一飛行器不越過用戶提前設(shè)置的飛行邊界即可。當(dāng)?shù)谝伙w行器的飛行距離達到最大飛行距離時,可以執(zhí)行步驟F21,并且在步驟F21中調(diào)整第一飛行器的飛行高度之后還需要判斷出是否超過最高、最低的飛行高度,從而再次調(diào)整第一飛行器的飛行高度,以避免高度越界,實現(xiàn)對第一飛行器按照飛行邊界進行實時自動調(diào)整,而不需要用戶進行手工操控。
通過以上實施例對本發(fā)明實施例的描述可知,第一飛行器可以根據(jù)移動終端下發(fā)的第一飛行控制指令和飛行參數(shù)啟動人工智能自動飛行模式,并飛行至預(yù)置的飛行高度后進行懸停狀態(tài),因此第一飛行器可以不需要用戶的實時操控就可以自動起飛,本發(fā)明實施例中還可以判斷在第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,并根據(jù)對第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整第一飛行器的飛行姿態(tài)。從而第一飛行器的飛行過程與目標(biāo)飛行器緊密相關(guān),從而可以實現(xiàn)第一飛行器和目標(biāo)飛行器的共同飛行,實現(xiàn)至少兩個飛行器之間的共同飛行。
為便于更好的理解和實施本發(fā)明實施例的上述方案,下面舉例相應(yīng)的應(yīng)用場景來進行具體說明。接下來以前述的飛行器具體為無人機為例進行說明,例如前述的第一飛行器為自動尋路飛行的無人機,目標(biāo)飛行器為由用戶進操控的無人機?,F(xiàn)有技術(shù)中無人機大多應(yīng)用于航拍場景方面,對于無人機的可玩性方面考慮較少,本發(fā)明實施例能較大程度上提升無人機在可玩性方面的體驗,從而豐富無人機的應(yīng)用場景。無人機1V1情況下的AI尋路需要兩臺無人機一起進行,一臺無人機由用戶操控,一臺無人機根據(jù)本發(fā)明實施例描述的飛行控制方法進行自己尋路飛行,無需用戶操控。
請參閱圖2-a所示,為本發(fā)明實施例提供的飛行器的一種飛行控制實現(xiàn)方案示意圖。無人機1V1情況下的AI尋路包括如下幾部分:用戶手機設(shè)定進行AI自動飛行模式;手機APP將飛行控制指令發(fā)送到飛行控制裝置;飛行控制裝置進入AI自動飛行模式;無人機根據(jù)AI算法自動飛行;用戶手機取消AI自動飛行模式;手機通知飛行控制裝置退出AI自動飛行模式;無人機自動懸停后降落。
1.用戶手機設(shè)定進入AI自動飛行模式,是指用戶在使用手機打開AI自動飛行模式,并設(shè)置好無人機的可飛范圍:最高、最低飛行高度,和可以飛行的最大距離參數(shù),完成初始化工作。
2.完成設(shè)置后,手機端APP通過MavLink協(xié)議將控制指令和相關(guān)參數(shù)發(fā)送到飛行控制裝置。
3.無人機的飛行控制裝置收到控制指令和參數(shù)數(shù)據(jù)后,進入到AI自動尋路飛行模式,并根據(jù)無人機視覺系統(tǒng)提供的數(shù)據(jù),執(zhí)行不同的AI算法。
3.1無人機進入AI自動飛行模式后,幾秒后起飛進入預(yù)定高度(時間及高度可以設(shè)置),并懸停在設(shè)置高度上。
3.2無人機的飛行控制裝置根據(jù)視覺系統(tǒng)判斷后面是否發(fā)現(xiàn)有無人機目標(biāo),如圖2-b所示,為本發(fā)明實施例提供的飛行器的自動尋路實現(xiàn)方案示意圖。如果發(fā)現(xiàn)無人機,則執(zhí)行AI算法1;如果沒有發(fā)現(xiàn)無人機,則執(zhí)行AI算法2;由算法計算出飛行動作。AI算法1如圖2-c所示,AI算法2如圖2-d所示。
3.2.1 AI算法1:先判斷后方無人機的飛行方向,如果后方無人機是向左/向右飛來,則選擇向右/左邊方向飛行(相反方向飛行),并隨機改變一次高度飛行。如果后方無人機向前飛來,則選擇向前或隨機左右飛行(不選擇向后飛行,有可能會撞上后方無人機),并有概率的隨機改變一次高度。
然后進行安全邊界檢查,如果沒有達到可以飛行的邊界,則算法完成。如果達到可以飛行的邊界,隨機向下或向上飛行,并向飛行邊界的相反方向飛行一段距離(即從邊界位置折返回來)。如果在向下或向上飛行時,達到最低/最高飛行高度,則先向上/向下飛行一段距離,再向飛行邊界相反方向飛行一段距離。
3.2.2 AI算法2:先判斷上一次視覺系統(tǒng)是否發(fā)現(xiàn)無人機,如果上一次計算沒有發(fā)現(xiàn)無人機,則從前,左,右三個方向中隨機選擇一個方向進行飛行(不選擇后方,有可能會撞上后方無人機)。如果上一次計算時發(fā)現(xiàn)后方無人機,本次計算沒有發(fā)現(xiàn)后方無人機,則按上一次的方向飛行,并隨機改變一次高度。
然后進行安全邊界檢查,如果沒有達到可以飛行的邊界,則算法完成。如果達到可以飛行的邊界,隨機向下或向上飛行,并向飛行邊界的相反方向飛行一段距離(即從邊界位置折返回來),如果在向下或向上飛行時,達到最低/最高飛行高度,則先向上/向下飛行一段距離,再向飛行邊界相反方向飛行一段距離。
3.3在一定范圍內(nèi)隨機一個時間值(如3~5秒),由飛行控制裝置執(zhí)行此飛行動作。
3.4完成此動作后,如果收到退出AI自動飛行模式指令,則退出AI自動飛行模式;否則繼續(xù)進行算法計算下一飛行動作。
4.用戶手機設(shè)定退出AI自動飛行模式,機端APP通過MavLink協(xié)議將控制指令發(fā)送到無人機飛行控制裝置,飛行控制裝置收到控制指令后,退出AI自動飛行模式。
5.無人機根據(jù)預(yù)先設(shè)置回到懸停狀態(tài),等待一定時間后,如果沒有用戶控制信號,則自己降落或返航到起飛點。
無人機在飛行的過程中,對用戶輸入保持優(yōu)先響應(yīng),用戶可以打斷無人機的自動飛行,自行控制無人機的飛行,這樣可以優(yōu)先保障無人機的安全,避免無人機碰撞等異常情況發(fā)生。
本發(fā)明實施例通過無人機AI尋路算法,可以自動計算飛行動作,并控制無人機進行自動飛行;解決了無人機飛行一定需要用戶操控的問題,提創(chuàng)意性的提出兩個無人機一起飛行,一個由用戶控制,一個用AI尋路算法控制的解決方案,較大程度上提升無人機在可玩性方面的體驗,從而豐富無人機的應(yīng)用場景。核心功能為無人機AI尋路算法,飛行控制裝置將根據(jù)相關(guān)的參數(shù)和視覺數(shù)據(jù)自行計算下一個需要飛行的動作,并執(zhí)行此飛行動作。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
為便于更好的實施本發(fā)明實施例的上述方案,下面還提供用于實施上述方案的相關(guān)裝置。
請參閱圖3-a所示,本發(fā)明實施例提供的一種飛行控制裝置300,可以包括:獲取模塊301、飛行模式控制模塊302、圖像采集模塊303、目標(biāo)跟蹤模塊303,其中,
獲取模塊301,用于獲取移動終端下發(fā)的第一飛行控制指令和飛行參數(shù),所述第一飛行控制指令包括:控制第一飛行器進入人工智能自動飛行模式,所述飛行參數(shù)包括:預(yù)置的飛行高度;
飛行模式控制模塊302,用于根據(jù)所述第一飛行控制指令控制所述第一飛行器啟動所述人工智能自動飛行模式,并根據(jù)所述飛行參數(shù)控制所述第一飛行器飛行至所述預(yù)置的飛行高度后進行懸停狀態(tài);
目標(biāo)跟蹤模塊303,用于判斷在所述第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,并根據(jù)對所述第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整所述第一飛行器的飛行姿態(tài)。
在本發(fā)明的一些實施例中,請參閱圖3-b所示,目標(biāo)跟蹤模塊303,包括:
圖像采集模塊3031,用于采集所述第一飛行器處于所述懸停狀態(tài)時的周邊環(huán)境圖像;
目標(biāo)判斷模塊3032,用于根據(jù)所述周邊環(huán)境圖像判斷在所述第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器。
在本發(fā)明的一些實施例中,所述圖像采集模塊303,具體用于按照所述第一飛行器的攝像頭的當(dāng)前視角方向采集所述第一飛行器處于所述懸停狀態(tài)時的前方環(huán)境圖像,然后調(diào)整所述第一飛行器的攝像頭視角方向,從而采集到所述第一飛行器處于懸停狀態(tài)時的后方環(huán)境圖像、左方環(huán)境圖像和右方環(huán)境圖像。
在本發(fā)明的一些實施例中,請參閱圖3-c所示,所述目標(biāo)跟蹤模塊303,包括:
第一目標(biāo)飛行器監(jiān)測模塊3033,用于根據(jù)當(dāng)前判斷結(jié)果確定在所述第一飛行器的后方環(huán)境中發(fā)現(xiàn)所述目標(biāo)飛行器,然后獲取所述目標(biāo)飛行器的飛行方向;
第一飛行控制模塊3034,用于若所述目標(biāo)飛行器從所述第一飛行器的左方向飛向所述第一飛行器,則控制所述第一飛行器向右方向飛行,并改變所述第一飛行器的飛行高度;若所述目標(biāo)飛行器從所述第一飛行器的右方向飛向所述第一飛行器,則控制所述第一飛行器向左方向飛行,并改變所述第一飛行器的飛行高度;若所述目標(biāo)飛行器向所述第一飛行器的前方向飛向所述第一飛行器,則控制所述第一飛行器向前方向飛行,或向右方向飛行,或向左方向飛行,并改變所述第一飛行器的飛行高度。
在本發(fā)明的一些實施例中,請參閱圖3-d所示,所述目標(biāo)跟蹤模塊303,包括:
第二目標(biāo)飛行器監(jiān)測模塊3035,用于根據(jù)當(dāng)前判斷結(jié)果確定在所述第一飛行器的后方環(huán)境中沒有發(fā)現(xiàn)所述目標(biāo)飛行器;
歷史判斷結(jié)果獲取模塊3036,用于獲取在當(dāng)前判斷結(jié)果之前的歷史判斷結(jié)果中所述第一飛行器的后方環(huán)境中是否發(fā)現(xiàn)所述目標(biāo)飛行器;
第二飛行控制模塊3037,用于若根據(jù)所述歷史判斷結(jié)果確定在所述第一飛行器的后方環(huán)境中發(fā)現(xiàn)所述目標(biāo)飛行器,則根據(jù)所述歷史判斷結(jié)果對所述第一飛行器的飛行姿態(tài)調(diào)整方式調(diào)整所述第一飛行器的飛行姿態(tài);
第三飛行控制模塊3038,用于若根據(jù)所述歷史判斷結(jié)果確定在所述第一飛行器的后方環(huán)境中沒有發(fā)現(xiàn)所述目標(biāo)飛行器,則控制所述第一飛行器向前方向飛行,或向右方向飛行,或向左方向飛行。
在本發(fā)明的一些實施例中,所述飛行參數(shù)還包括:預(yù)置的飛行邊界,所述飛行邊界包括如下信息中的至少一種:最大飛行距離、最高飛行高度和最低飛行高度。請參閱圖3-e所示,所述飛行控制裝置300還包括:飛行邊界控制模塊304,用于所述目標(biāo)跟蹤模塊303根據(jù)對所述第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整所述第一飛行器的飛行姿態(tài)之后,判斷所述第一飛行器按照當(dāng)前飛行姿態(tài)飛行時到達的飛行位置是否達到所述飛行邊界;若所述第一飛行器達到所述飛行邊界,調(diào)整所述第一飛行器的飛行姿態(tài)使所述第一飛行器返回所述飛行邊界內(nèi)。
在本發(fā)明的一些實施例中,所述飛行邊界控制模塊304,具體用于控制所述第一飛行器向上方向飛行并向后方向飛行,或者向下方向飛行并向后方向飛行,或者向上方向飛行并向右方向飛行,或者向下方向飛行并向右方向飛行,或者向上方向飛行并向左方向飛行,或者向下方向飛行并向左方向飛行;判斷所述第一飛行器向上方向飛行是否達到所述最高飛行高度,若是,控制所述第一飛行器向下飛行;判斷所述第一飛行器向下方向飛行是否達到所述最低飛行高度,若是,控制所述第一飛行器向上飛行。
在本發(fā)明的一些實施例中,所述獲取模塊301,還用于獲取所述移動終端下發(fā)的第二飛行控制指令,所述第二飛行控制指令包括:控制所述第一飛行器取消人工智能自動飛行模式;
所述飛行模式控制模塊302,還用于根據(jù)所述第二飛行控制指令控制所述第一飛行器退出所述人工智能自動飛行模式,控制所述第一飛行器回到懸停狀態(tài)。
在本發(fā)明的一些實施例中,請參閱圖3-f所示,所述飛行控制裝置300還包括:
能量檢測模塊305,用于采集所述第一飛行器的電池能量狀態(tài),判斷所述第一飛行器的電池能量狀態(tài)是否小于預(yù)置的能量門限;
第四飛行控制模塊306,用于若所述電池能量狀態(tài)小于能量門限,控制所述第一飛行器降落;若所述電池能量狀態(tài)大于或等于能量門限,控制所述第一飛行器返航到起飛點。
通過以上對本發(fā)明實施例的描述可知,第一飛行器可以根據(jù)移動終端下發(fā)的第一飛行控制指令和飛行參數(shù)啟動人工智能自動飛行模式,并飛行至預(yù)置的飛行高度后進行懸停狀態(tài),因此第一飛行器可以不需要用戶的實時操控就可以自動起飛,本發(fā)明實施例中還可以判斷在第一飛行器的周邊范圍內(nèi)是否出現(xiàn)目標(biāo)飛行器,并根據(jù)對第一飛行器的周邊范圍是否出現(xiàn)目標(biāo)飛行器進行判斷后得到的當(dāng)前判斷結(jié)果調(diào)整第一飛行器的飛行姿態(tài)。從而第一飛行器的飛行過程與目標(biāo)飛行器緊密相關(guān),從而可以實現(xiàn)第一飛行器和目標(biāo)飛行器的共同飛行,實現(xiàn)至少兩個飛行器之間的共同飛行。
請參閱圖4,本發(fā)明實施例提供一種飛行控制裝置400,能夠?qū)崿F(xiàn)圖3-a至圖3-e所示實施例中飛行控制裝置的功能。飛行控制裝置400包括:
相互連接的輸入裝置401、輸出裝置402、至少一個處理器403及至少一個存儲器404;其中,存儲器404可以是短暫存儲或持久存儲。存儲在存儲器404的程序可以包括一個或一個以上模塊,每個模塊可以包括對飛行控制裝置中的一系列指令操作。更進一步地,中央處理器403可以設(shè)置為與存儲器404通信,在飛行控制裝置400上執(zhí)行存儲器404中的一系列指令操作。
飛行控制裝置400還可以包括一個或一個以上電源,一個或一個以上有線或無線網(wǎng)絡(luò)接口,一個或一個以上輸入輸出接口,和/或,一個或一個以上操作系統(tǒng),上述實施例中由飛行控制裝置所執(zhí)行的方法步驟可以基于該圖4所示的飛行控制裝置結(jié)構(gòu)。
另外需說明的是,以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。另外,本發(fā)明提供的裝置實施例附圖中,模塊之間的連接關(guān)系表示它們之間具有通信連接,具體可以實現(xiàn)為一條或多條通信總線或信號線。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過專用硬件包括專用集成電路、專用CPU、專用存儲器、專用元器件等來實現(xiàn)。一般情況下,凡由計算機程序完成的功能都可以很容易地用相應(yīng)的硬件來實現(xiàn),而且,用來實現(xiàn)同一功能的具體硬件結(jié)構(gòu)也可以是多種多樣的,例如模擬電路、數(shù)字電路或?qū)S秒娐返?。但是,對本發(fā)明而言更多情況下軟件程序?qū)崿F(xiàn)是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機的軟盤,U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
綜上所述,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照上述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對上述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。