欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

無人機飛行控制裝置、方法及遙控終端與流程

文檔序號:11827399閱讀:1029來源:國知局
無人機飛行控制裝置、方法及遙控終端與流程

本發(fā)明涉及無人機飛行控制技術(shù)領(lǐng)域,具體而言,涉及一種無人機飛行控制裝置、方法及遙控終端。



背景技術(shù):

無人機產(chǎn)品的相關(guān)技術(shù)中,對于無人機的控制方式通常有兩種。第一種是直接通過手柄遙控器控制無人機飛行,另一種是通過手機或可穿戴設(shè)備等遙控終端的傾斜角度對無人機進行體感控制。

其中,通過手柄遙控器控制無人機飛行的方法存在以下缺點:

a.購買無人機的時候,會增加手柄遙控器的購買成本;

b.手柄遙控器體型較大,用戶外出時,攜帶手柄遙控器會占據(jù)用戶一定的存儲空間;

c.一般的手柄遙控器都需要配合手機終端進行使用,操作相對麻煩。

通過手機或可穿戴設(shè)備等遙控終端的傾斜角度對無人機進行體感控制的缺點為:當遙控終端一連接到無人機,無人機立即就會進入體感控制模式,響應遙控終端的體感控制指令,具有一定的危險性和操作難度,并且,在無人機進入體感控制模式后,無人機隨著遙控終端的體感控制指令進行對應飛行動作,若遙控終端在閑置的過程中不小心被改變姿態(tài),則容易出現(xiàn)誤操作,不適合無人機新手操作使用。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于提供一種無人機飛行控制裝置、方法及遙控終端,以提高無人機飛行控制的安全性及便捷性。

為了實現(xiàn)上述目的,本發(fā)明實施例采用的技術(shù)方案如下:

第一方面,本發(fā)明實施例提供了一種無人機飛行控制裝置,應用于遙控終端,所述無人機飛行控制裝置包括:偵測模塊,用于偵測作用于所述遙控終端的長按操作;獲取模塊,用于在所述長按操作的持續(xù)過程中,獲取所述遙控終端的姿態(tài)數(shù)據(jù);生成模塊,用于依據(jù)所述姿態(tài)數(shù)據(jù),生成與所述姿態(tài)數(shù)據(jù)匹配的第一控制指令;發(fā)送模塊,用于將所述第一控制指令發(fā)送給無人機,其中,所述第一控制指令用于控制所述無人機的飛行軌跡。

第二方面,本發(fā)明實施例還提供了一種無人機飛行控制方法,應用于遙控終端,所述無人機飛行控制方法包括:偵測作用于所述遙控終端的長按操作;在所述長按操作的持續(xù)過程中,獲取所述遙控終端的姿態(tài)數(shù)據(jù);依據(jù)所述姿態(tài)數(shù)據(jù),生成與所述姿態(tài)數(shù)據(jù)匹配的第一控制指令;將所述第一控制指令發(fā)送給無人機,其中,所述第一控制指令用于控制所述無人機的飛行軌跡。

第三方面,本發(fā)明實施例還提供了一種遙控終端,所述遙控終端包括:存儲器;處理器;以及無人機飛行控制裝置,所述無人機飛行控制裝置安裝于所述存儲器中并包括一個或多個由所述處理器執(zhí)行的軟件功能模組,所述無人機飛行控制裝置包括:偵測模塊,用于偵測作用于所述遙控終端的長按操作;獲取模塊,用于在所述長按操作的持續(xù)過程中,獲取所述遙控終端的姿態(tài)數(shù)據(jù);生成模塊,用于依據(jù)所述姿態(tài)數(shù)據(jù),生成與所述姿態(tài)數(shù)據(jù)匹配的第一控制指令;發(fā)送模塊,用于將所述第一控制指令發(fā)送給無人機,其中,所述第一控制指令用于控制所述無人機的飛行軌跡。

本發(fā)明實施例提供的一種無人機飛行控制裝置、方法及遙控終端,通過偵測作用于遙控終端的長按操作;在所述長按操作的持續(xù)過程中,獲取遙控終端的姿態(tài)數(shù)據(jù);依據(jù)姿態(tài)數(shù)據(jù),生成與姿態(tài)數(shù)據(jù)匹配的第一控制指令;將第一控制指令發(fā)送給無人機,其中,所述第一控制指令用于控制所述無人機的飛行軌跡。如此,通過長按操作觸發(fā)體感控制模式,可以讓無人機的飛行操作變得更加安全,從而減少了各種飛行意外和事故。同時,也降低了無人機的飛行控制難度,無人機新手也可以進行操作,提高了用戶體驗。

為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。

附圖說明

為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。

圖1示出了本發(fā)明較佳實施例提供的無人機飛行控制裝置、方法及遙控終端的應用環(huán)境示意圖。

圖2示出了本發(fā)明較佳實施例提供的遙控終端的一種顯示界面的示意圖。

圖3示出了本發(fā)明較佳實施例提供的遙控終端的另一種顯示界面的示意圖。

圖4示出了本發(fā)明較佳實施例提供的遙控終端的結(jié)構(gòu)框圖。

圖5示出了本發(fā)明較佳實施例提供的無人機飛行控制裝置的功能模塊圖。

圖6示出了本發(fā)明較佳實施例提供的遙控終端所在的坐標系示意圖。

圖7示出了本發(fā)明較佳實施例提供的無人機飛行控制方法的流程圖。

具體實施方式

本發(fā)明實施例所提供的無人機飛行控制裝置、方法及遙控終端可應用于如圖1所示的應用環(huán)境中。如圖1所示,遙控終端100可以通過無線網(wǎng)絡(luò)300發(fā)送控制指令給無人機200,無人機200接收到所述控制指令之后,可以執(zhí)行與所述控制指令對應的飛行動作。

在本實施例中,所述遙控終端100可以是,但不限于智能手機、個人電腦(personal computer,PC)、平板電腦、個人數(shù)字助理(personal digital assistant,PDA)、移動上網(wǎng)設(shè)備(mobile Internet device,MID)等,優(yōu)選地,本實施例中,遙控終端100為智能手機或智能平板電腦。所述遙控終端100的操作系統(tǒng)可以是,但不限于,安卓(Android)系統(tǒng)、IOS(iPhone operating system)系統(tǒng)、Windows phone系統(tǒng)、Windows系統(tǒng)等。優(yōu)選地,本實施例中,所述遙控終端100的操作系統(tǒng)為IOS系統(tǒng)。

圖2示出了一種可應用本發(fā)明實施例的無人機飛行控制裝置及方法的遙控終端100的一種顯示界面。顯示界面可以為觸控屏幕114,觸控屏幕114包括第一操作區(qū)域120,用戶可以在第一操作區(qū)域120進行按壓操作,例如長按操作或點擊操作,所述按壓操作可以是具體作用于第一操作區(qū)域120的某一個虛擬按鍵上,例如虛擬按鍵121。

圖3示出了一種可應用本發(fā)明實施例的無人機飛行控制裝置及方法的遙控終端100的另一種顯示界面。顯示界面可以為觸控屏幕114,觸控屏幕114設(shè)有第一操作區(qū)域120和第二操作區(qū)域140,用戶可以在第一操作區(qū)域120和第二操作區(qū)域140進行觸控操作。進一步的,用戶可以在第一操作區(qū)域120進行按壓操作,例如長按操作或點擊操作,所述按壓操作也可以作用于第一操作區(qū)域120的某一個虛擬按鍵上,例如虛擬按鍵121;虛擬按鍵121也可以作為第一操作區(qū)域120的操作指示標識,以指示所述第一操作區(qū)域120在所述觸控屏幕114上的區(qū)域,例如,虛擬按鍵121在觸控屏幕114的左側(cè),則指示觸控屏幕114的左側(cè)為第一操作區(qū)域120,若虛擬按鍵121在觸控屏幕114的右側(cè),則指示觸控屏幕114的右側(cè)為第一操作區(qū)域120。用戶可以在第二操作區(qū)域140進行滑動操作,例如,用戶的手指在第二操作區(qū)域140沿圖3所示的A、B、C、D四個方向滑動,或者也可以沿其他更多的方向滑動。需要說明的是,第一操作區(qū)域120和第二操作區(qū)域140并不限定于圖3中所示的左右兩個區(qū)域,也可以為上下兩個區(qū)域,或者為觸控屏幕114上的其他任何兩個區(qū)域。另外,遙控終端100的實體按鍵也可以被按壓,進行上述按壓操作,例如音量鍵111或主頁鍵113被長按,實體按鍵的被按壓操作和上述第一操作區(qū)域120的被按壓操作實現(xiàn)一樣的功能和作用。

圖4示出了一種可應用本發(fā)明實施例的無人機飛行控制裝置及方法的遙控終端100的結(jié)構(gòu)框圖。如圖4所示,遙控終端100包括存儲器102、存儲控制器104,一個或多個(圖中僅示出一個)處理器106、外設(shè)接口108、射頻單元110、音頻單元112、以及觸控屏幕114。

所述存儲器102、存儲控制器104、一個或多個處理器106、外設(shè)接口108、射頻單元110、音頻單元112以及觸控屏幕114各元件相互之間直接或間接地電性連接,以實現(xiàn)數(shù)據(jù)的傳輸或交互,例如,這些組件通過一條或多條通訊總線/信號線116相互通訊。所述無人機飛行控制裝置400包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器102中或固化在所述遙控終端100的操作系統(tǒng)(operating system,OS)中的軟件功能模塊。

存儲器102可用于存儲軟件程序以及模組,如本發(fā)明實施例中的無人機飛行控制裝置及方法對應的程序指令/模塊。所述處理器106用于執(zhí)行所述存儲器102中存儲的可執(zhí)行模塊,例如無人機飛行控制裝置400所包括的軟件功能模塊及計算機程序等。

存儲器102可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。處理器106以及其他可能的組件對存儲器102的訪問可在存儲控制器104的控制下進行。

外設(shè)接口108將各種輸入/輸出裝置耦合至處理器106以及存儲器102。在一些實施例中,外設(shè)接口108、處理器106以及存儲控制器104可以在單個芯片中實現(xiàn)。在其他一些實例中,他們可以分別由獨立的芯片實現(xiàn)。

射頻單元110用于接收以及發(fā)送無線電波信號(如電磁波),實現(xiàn)無線電波與電信號的相互轉(zhuǎn)換,從而實現(xiàn)所述遙控終端100與無人機200之間的無線通信。

音頻單元112向用戶提供音頻接口,其可包括一個或多個麥克風、一個或者多個揚聲器以及音頻電路。

觸控屏幕114在遙控終端100與用戶之間同時提供一個輸出及輸入界面。在本實施例中,所述觸控屏幕114支持單點和多點觸控操作,例如,該觸控屏幕114可為支持單點和多點觸控操作的電容式觸控屏或電阻式觸控屏等。支持單點和多點觸控操作使觸控屏幕114能感應到來自該觸控屏幕114上一個或多個位置處同時產(chǎn)生的觸控操作,并將該感應到的多點觸控操作交由處理器106進行處理。

可以理解,圖4所示的結(jié)構(gòu)僅為示意,遙控終端100還可包括比圖4中所示更多或者更少的組件,或者具有與圖4所示不同的配置。圖4中所示的各組件可以采用硬件、軟件或其組合實現(xiàn)。

下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。

第一實施例

請參閱圖5,示出了本發(fā)明較佳實施例提供的無人機飛行控制裝置400的功能模塊圖。本發(fā)明較佳實施例提供的無人機飛行控制裝置400包括:偵測模塊410、獲取模塊420、生成模塊430以及發(fā)送模塊440。

偵測模塊410,用于偵測遙控終端100是否與無人機200連接成功。

在本發(fā)明實施例中,遙控終端100與無人機200可以通過無線網(wǎng)絡(luò)300進行連接,優(yōu)選的,在本發(fā)明實施例中,無線網(wǎng)絡(luò)300為WIFI。在偵測模塊410偵測到遙控終端100與無人機200連接成功時,偵測模塊410可以發(fā)送控制信號給遙控終端100的音頻單元112,通過音頻單元112發(fā)出聲音提示信息,例如“連接成功”,以提醒用戶遙控終端100與無人機200的連接狀態(tài)。

發(fā)送模塊440,用于在所述遙控終端100與所述無人機200無線連接成功之后,發(fā)送懸停指令至無人機200。

在本發(fā)明實施例中,遙控終端100與無人機200連接之后,遙控終端100可以通過套接字(Socket)以用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)的傳輸方式,以50HZ的頻率向無人機飛行控制器(飛控)發(fā)送控制指令。所述控制指令為指令數(shù)據(jù)包,該指令數(shù)據(jù)包包括4個用于控制無人機200飛行方向的數(shù)據(jù),上述4個數(shù)據(jù)分別是控制無人機左右飛行的左右值、控制無人機前后飛行的前后值、控制無人機升降的升降值、以及控制無人機旋轉(zhuǎn)的旋轉(zhuǎn)值。對上述4個數(shù)據(jù)可以設(shè)定取值范圍,在本發(fā)明較佳實施例中,上述4個數(shù)據(jù)的取值范圍均為1100到1900,默認值為1500,在其他實施例中,取值范圍也可為其他數(shù)值范圍,默認值也可以為其他值。當上述4個數(shù)據(jù)的值都為默認值1500時,控制指令為懸停指令;當上述4個數(shù)據(jù)中的任何一個不為1500時,控制指令為控制無人機200飛行的除懸停以外的其他指令。例如,預先將大于1500的前后值定義為控制無人機200向后飛行,將小于1500的前后值定義為控制無人機200向前飛行,將大于1500的左右值定義為控制無人機向左飛行,將小于1500的左右值定義為控制無人機200向右飛行,將大于1500的升降值定義為控制無人機200向上飛行,將小于1500的升降值定義為控制無人機200向下飛行,將大于1500的旋轉(zhuǎn)值定義為控制無人機200向左旋轉(zhuǎn),將小于1500的旋轉(zhuǎn)值定義為控制無人機200向右旋轉(zhuǎn)。

其中,無人機200向前、后、左、右四個方向的飛行是指在水平面內(nèi)的無人機200的前、后、左、右四個方向飛行。無人機200向左、右旋轉(zhuǎn)是指以無人機200的前后方向為軸向,順時針或逆時針旋轉(zhuǎn)。

進一步的,可以設(shè)置一個全局變量,用來判斷無人機200是否處于體感控制模式,當全局變量為“NO”時,無人機200未處于體感控制模式,發(fā)送模塊440向無人機200發(fā)送懸停指令;當全局變量為“YES”時,無人機200處于體感控制模式,發(fā)送模塊440向無人機200發(fā)送體感控制模式下的控制指令。在體感控制模式下,遙控終端100可通過自帶的陀螺儀、角度傳感器等偵測遙控終端100的姿態(tài)數(shù)據(jù),并依據(jù)該姿態(tài)數(shù)據(jù)進一步控制無人機200。

當遙控終端100與所述無人機200通過WIFI連接成功之后,全局變量為“NO”,此時,控制指令包括的前后值、左右值、升降值、旋轉(zhuǎn)值均為默認值1500,即懸停指令,發(fā)送模塊440可以以50HZ的頻率向無人機200發(fā)送懸停指令。

偵測模塊410,還用于偵測作用于所述遙控終端100的長按操作。

在本發(fā)明實施例中,所述長按操作可以是作用于遙控終端100的觸控屏幕114的第一操作區(qū)域120或?qū)嶓w按鍵的長按操作,可以預先對長按操作進行定義,例如,觸控屏幕114的第一操作區(qū)域120或?qū)嶓w按鍵被持續(xù)按壓超過預設(shè)時間(例如2s)時則定義為被長按操作。需要說明的是,長按操作不一定是作用于觸控屏幕114的第一操作區(qū)域120的一個固定點上,在長按操作的過程中,只要用戶的手指不離開觸控屏幕114的第一操作區(qū)域120,即使在第一操作區(qū)域120內(nèi)產(chǎn)生一定的位移也可以稱為長按操作。

在本發(fā)明實施例中,當用戶長按遙控終端100的觸控屏幕114的第一操作區(qū)域120或第一操作區(qū)域120的虛擬按鍵121時,觸控屏幕114上的觸控信號發(fā)送至處理器106,由處理器106依據(jù)觸控信號生成第一長按操作指令,偵測模塊410可以偵測到該第一長按操作指令,如此,偵測模塊410可以偵測到用戶作用于所述觸控屏幕114的長按操作?;蛘?,當用戶長按遙控終端100的實體按鍵(例如音量鍵111或主頁鍵113)時,實體按鍵的按壓信號發(fā)送至處理器106,由處理器106依據(jù)按壓信號生成第二長按操作指令,偵測模塊410可以偵測到該第二長按操作指令,如此,偵測模塊410可以偵測到作用于所述遙控終端100的實體按鍵的長按操作。

進一步的,在偵測作用于遙控終端100的觸控屏幕114的第一操作區(qū)域120的長按操作之前,生成模塊430還可以在所述第一操作區(qū)域120生成操作指示標識(例如虛擬按鍵121或其他符號標識),操作指示標識指示所述第一操作區(qū)域120在觸控屏幕114上的區(qū)域。

長按操作可以觸發(fā)無人機200進入體感控制模式,進入體感控制模式之后,無人機飛行控制器可以根據(jù)遙控終端100的姿態(tài)數(shù)據(jù),控制無人機200飛行。

獲取模塊420,用于在所述長按操作的持續(xù)過程中,獲取所述遙控終端100的姿態(tài)數(shù)據(jù)。

在遙控終端100的第一操作區(qū)域120或?qū)嶓w按鍵被長按的過程中,全局變量變?yōu)椤癥ES”,此時,獲取模塊420可以以一定的頻率(例如50HZ)獲取所述遙控終端100的姿態(tài)數(shù)據(jù)。

遙控終端100的姿態(tài)數(shù)據(jù)包括遙控終端的傾斜方向和傾斜角度,例如,遙控終端向左傾斜第一角度、向右傾斜第二角度、向前傾斜第三角度、向后傾斜第四角度。姿態(tài)數(shù)據(jù)可以為用戶臨時對遙控終端100的操作以控制遙控終端100的傾斜方向和傾斜角度。例如,當遙控終端100在進入體感控制模式之后處于一水平面時,用戶通過翻轉(zhuǎn)遙控終端100的方式控制遙控終端100向左傾斜30度,則此時的姿態(tài)數(shù)據(jù)為遙控終端向左傾斜30度。當用戶再次通過翻轉(zhuǎn)遙控終端100的方式控制遙控終端向右傾斜50度,則此時的姿態(tài)數(shù)據(jù)為遙控終端向右傾斜50度。姿態(tài)數(shù)據(jù)還可以為遙控終端100的預先被放置的左右傾斜的角度和前后傾斜的角度,此時無需用戶臨時對遙控終端100進行調(diào)整。例如,遙控終端100在進入體感控制模式之前,預先被放置的位置相對一水平面為向左傾斜40度,則此時的姿態(tài)數(shù)據(jù)為遙控終端100向左傾斜40度。需要說的是,在遙控終端100進入體感控制模式之后,該姿態(tài)數(shù)據(jù)仍可被偵測到。

其中,遙控終端100的傾斜方向和傾斜角度是基于遙控終端100所在的坐標系,例如,請參閱圖6,以遙控終端100的重心為原點O,以與遙控終端100的長邊平行的直線為X軸,以與遙控終端100的短邊平行的直線為Y軸,遙控終端100向左傾斜即:從+Y方向看向原點O,遙控終端100饒Y軸順時針旋轉(zhuǎn),遙控終端100向右傾斜即:從+Y方向看向原點O,遙控終端100饒Y軸逆時針旋轉(zhuǎn),遙控終端100向前傾斜即:從+X方向看向原點O,遙控終端100饒X軸順時針旋轉(zhuǎn),遙控終端100向后傾斜即:從+X方向看向原點O,遙控終端100饒X軸逆時針旋轉(zhuǎn)。

生成模塊430,用于依據(jù)所述姿態(tài)數(shù)據(jù),生成與所述姿態(tài)數(shù)據(jù)匹配的第一控制指令。

在本發(fā)明實施例中,生成模塊430可以依據(jù)遙控終端左右傾斜的角度,根據(jù)一定的算法計算出指令數(shù)據(jù)包中的左右值,生成模塊430可以依據(jù)遙控終端前后傾斜的角度,根據(jù)一定的算法計算出指令數(shù)據(jù)包中前后值。然后,生成模塊430將依據(jù)姿態(tài)數(shù)據(jù)計算出的左右值和前后值,以及默認的升降值和旋轉(zhuǎn)值進行打包,生成第一控制指令。在本實施例中,遙控終端100的姿態(tài)數(shù)據(jù)并不用于計算指令數(shù)據(jù)包中的升降值和旋轉(zhuǎn)值,當用戶長按遙控終端100的第一操作區(qū)域120時,升降值和旋轉(zhuǎn)值為默認值1500,升降值和旋轉(zhuǎn)值的改變將在后續(xù)進行詳細說明。

遙控終端100的傾斜方向可以與無人機200的飛行方向?qū)?,例如,遙控終端100向左傾斜,無人機200則向左飛行,遙控終端100向右傾斜,無人機200則向右飛行,遙控終端100向前傾斜,無人機200則向前飛行,遙控終端100向后傾斜,無人機200則向后飛行。更加具體的,例如,當遙控終端100向左傾斜40度,遙控終端100在前后方向不傾斜,那么生成模塊430可以依據(jù)遙控終端100向左傾斜的角度,根據(jù)一定的算法計算出左右值為1700,前后值為1500,將左右值、前后值以及默認的升降值和旋轉(zhuǎn)值打包為第一控制指令,無人機200的飛行控制器在接收到該第一控制指令之后,就會控制無人機200向左飛行。當遙控終端100向右傾斜40度,遙控終端100在前后方向不傾斜,那么生成模塊430可以依據(jù)遙控終端100向右傾斜的角度,根據(jù)一定的算法計算出左右值為1300,前后值為1500,將左右值、前后值以及默認的升降值和旋轉(zhuǎn)值打包為第一控制指令,無人機200的飛行控制器在接收到該第一控制指令之后,就會控制無人機200向右飛行。前后值的計算方法與左右值的計算方法相同,在此不再贅述。

需要說明的是,遙控終端100可以在前后方向和左右方向上均傾斜一定角度,此時,遙控終端100第一控制指令中的前后值和左右值均不為1500,例如,遙控終端100向左前方傾斜,生成模塊430可以將遙控終端100的傾斜角度分解為向左的傾斜角度和向前的傾斜角度,并根據(jù)一定的算法分別計算出左右值(例如1600)和前后值(例如1400),并將左右值、前后值以及默認的升降值和旋轉(zhuǎn)值打包為第一控制指令,無人機飛行控制器在接收到該第一控制指令之后,即控制無人機200向左前方飛行。

進一步地,遙控終端100的傾斜角度的大小可以與左右值或前后值成正比,左右值或前后值可以與無人機200在對應方向的飛行速度成正比,因此,遙控終端100的傾斜角度可以與無人機200在對應方向的飛行速度成正比。例如,當遙控終端100向左傾斜20度時,生成模塊430根據(jù)一定的算法計算出左右值為1600,此時,無人機200向左的飛行速度為0.5m/s;當遙控終端100向左傾斜40度時,生成模塊430根據(jù)一定的算法計算出左右值為1700,此時,無人機200向左飛行的飛行速度為1m/s。

發(fā)送模塊440,還用于將所述第一控制指令發(fā)送給無人機200,其中,所述第一控制指令用于控制所述無人機200的飛行軌跡。

在本發(fā)明實施例中,第一控制指令由生成模塊430生成之后,發(fā)送模塊440可以將第一控制指令發(fā)送給無人機200上的無人機飛行控制器(飛控),飛控可以依據(jù)第一控制指令控制無人機200在與第一控制指令對應的方向上、以與第一控制指令對應的速度飛行。需要說明的是,獲取模塊420可以以一定的頻率(例如50HZ)獲取所述遙控終端100的姿態(tài)數(shù)據(jù),再由生成模塊430生成與所述姿態(tài)數(shù)據(jù)匹配的第一控制指令,因此,第一控制指令也可以以一定的頻率(例如50HZ)被發(fā)送給無人機200。

進一步的,所述偵測模塊410還用于在作用于所述遙控終端100的長按操作的持續(xù)過程中,偵測作用于所述遙控終端100的第二操作區(qū)域140的滑動操作。

本發(fā)明實施例中,用戶在長按遙控終端100的實體按鍵或第一操作區(qū)域120的同時,還可以在第二操作區(qū)域140進行滑動操作,例如,沿圖3所示的A、B、C、D四個方向滑動,用戶在第二操作區(qū)域140的滑動操作可以由偵測模塊410偵測。

生成模塊430還用于依據(jù)所述滑動操作以及所述姿態(tài)數(shù)據(jù),生成第二控制指令。

本發(fā)明實施例中,當用戶在第二操作區(qū)域140沿A、B、C、D四個方向滑動時,沿A方向的滑動操作可以定義為升降值增加,沿B方向的滑動操作可以定義為升降值減少,沿C方向滑動的距離可以定義為旋轉(zhuǎn)值增加,沿D方向滑動的距離可以定義為旋轉(zhuǎn)值減少。因此,生成模塊430可以依據(jù)沿A、B方向的滑動操作計算升降值,依據(jù)沿C、D方向的滑動操作計算旋轉(zhuǎn)值。

進一步的,沿A、B方向滑動的距離可以與升降值成正比,升降值可以與無人機200在上下方向的飛行速度成正比,因此,沿A、B方向滑動的距離可以與無人機200在上下方向的飛行速度成正比。沿C、D方向滑動的距離可以與旋轉(zhuǎn)值成正比,旋轉(zhuǎn)值可以與無人機200在左右方向的旋轉(zhuǎn)角度成正比,因此,沿C、D方向滑動的距離可以與無人機200在左右方向的旋轉(zhuǎn)角度成正比。例如,沿A方向滑動1cm時,生成模塊430根據(jù)一定的算法計算出升降值為1600,此時,無人機200向上飛行的速度為0.5m/s;沿A方向滑動2cm時,生成模塊430根據(jù)一定的算法計算出升降值為1700,此時,無人機200向上飛行的速度為1m/s。沿C方向滑動1cm時,生成模塊430根據(jù)一定的算法計算出旋轉(zhuǎn)值為1600,此時,無人機200向左旋轉(zhuǎn)的角度為10度;沿C方向滑動2cm時,生成模塊430根據(jù)一定的算法計算出旋轉(zhuǎn)值為1700,此時,無人機200向左旋轉(zhuǎn)的角度為20度。

生成模塊430依據(jù)所述滑動操作計算出升降值和旋轉(zhuǎn)值,以及依據(jù)所述姿態(tài)數(shù)據(jù)計算出前后值和左右值(請參考前文敘述內(nèi)容),并將計算出的升降值、旋轉(zhuǎn)值、前后值以及左右值打包成指令數(shù)據(jù)包,以生成第二控制指令。

發(fā)送模塊440還用于將所述第二控制指令發(fā)送給所述無人機。

在本發(fā)明實施例中,第二控制指令由生成模塊430生成之后,發(fā)送模塊440可以將第二控制指令發(fā)送給無人機200上的無人機飛行控制器(飛控),飛控可以依據(jù)第二控制指令控制無人機200在與第二控制指令對應的方向上、以與第二控制指令對應的速度飛行。

需要說明的是,第二控制指令是升降值、旋轉(zhuǎn)值、前后值以及左右值進行疊加之后的一個指令,例如,第二控制指令中的升降值為1600,旋轉(zhuǎn)值為1500,前后值為1700,左右值為1500,那么,該第二控制指令即為控制無人機200向后上方飛行的指令。

發(fā)送模塊440還用于在作用于所述遙控終端100的長按操作結(jié)束時,發(fā)送懸停指令至所述無人機200。

本發(fā)明實施例中,在作用于所述遙控終端100的第一操作區(qū)域120或?qū)嶓w按鍵的長按操作結(jié)束時,用來判斷無人機200是否處于體感控制模式的全局變量變?yōu)椤癗O”,此時,發(fā)送模塊440可以發(fā)送升降值、旋轉(zhuǎn)值、前后值以及左右值均為1500的控制指令(即懸停指令)至無人機200,無人機200接收到懸停指令之后即執(zhí)行懸停動作。

另外,若用戶沒有在述遙控終端100進行長按操作,而只在第二操作區(qū)域140進行滑動操作,那么,生成模塊430可以生成第三控制指令,在該第三控制指令中,前后值和左右值均為1500,無人機200在前、后、左、右方向上不會有位移。無人機200可以依據(jù)第三控制指令執(zhí)行向上飛行、向下飛行、向左旋轉(zhuǎn)以及向右旋轉(zhuǎn)的動作。

第二實施例

請參閱圖7,示出了本發(fā)明較佳實施例提供的無人機飛行控制方法的流程圖。本發(fā)明較佳實施例提供的無人機飛行控制方法包括以下步驟:

步驟S1,偵測遙控終端100是否與無人機200連接成功。

在本發(fā)明實施例中,步驟S1可以由偵測模塊410執(zhí)行。遙控終端100與無人機200可以通過無線網(wǎng)絡(luò)300進行連接,優(yōu)選的,在本發(fā)明實施例中,無線網(wǎng)絡(luò)300為WIFI。當遙控終端100與無人機200連接成功時,執(zhí)行步驟S2,當遙控終端100與無人機200未連接成功時,遙控終端100的飛行控制不可用,無人機200不會響應遙控終端100發(fā)出的控制指令。

步驟S2,在所述遙控終端100與所述無人機200無線連接成功之后,發(fā)送懸停指令至無人機200。

在本發(fā)明實施例中,步驟S2可以由發(fā)送模塊440執(zhí)行。遙控終端100與無人機200連接之后,遙控終端100可以通過套接字(Socket)以用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)的傳輸方式,以50HZ的頻率向無人機飛行控制器(飛控)發(fā)送控制指令。所述控制指令為指令數(shù)據(jù)包,該指令數(shù)據(jù)包包括4個用于控制無人機200飛行方向的數(shù)據(jù),該4個數(shù)據(jù)分別是控制無人機左右飛行的左右值、控制無人機前后飛行的前后值、控制無人機升降的升降值、以及控制無人機旋轉(zhuǎn)的旋轉(zhuǎn)值。對該4個數(shù)據(jù)可以設(shè)定取值范圍,在本發(fā)明較佳實施例中,該4個數(shù)據(jù)的取值范圍均為1100到1900,在其他實施例中,取值范圍也可為其他數(shù)值范圍。當該4個數(shù)據(jù)的值都為1500時,控制指令為懸停指令;當該4個數(shù)據(jù)中的任何一個不為1500時,控制指令為控制無人機200飛行的除懸停以外的其他指令。

進一步的,可以設(shè)置一個全局變量,用來判斷無人機200是否處于體感控制模式,當全局變量為“NO”時,無人機200未處于體感操控模式,發(fā)送模塊440向無人機200發(fā)送懸停指令;當全局變量為“YES”時,無人機200處于體感控制模式,發(fā)送模塊440向無人機200發(fā)送體感控制模式下的控制指令。

當遙控終端100與所述無人機200通過WIFI連接成功之后,全局變量為“NO”,此時,控制指令包括的前后值、左右值、升降值、旋轉(zhuǎn)值均為1500,即懸停指令,發(fā)送模塊440可以以50HZ的頻率向無人機200發(fā)送懸停指令。

步驟S3,偵測作用于所述遙控終端100的長按操作。

在本發(fā)明實施例中,步驟S3可以由偵測模塊410執(zhí)行。當用戶長按遙控終端100的觸控屏幕114的第一操作區(qū)域120或遙控終端100實體按鍵時,偵測模塊410可以偵測到作用于所述遙控終端100的觸控屏幕114的第一操作區(qū)域120或遙控終端100的實體按鍵的長按操作,在本發(fā)明實施例中,可以預先對作用于所述遙控終端100的長按操作進行定義,例如,第一操作區(qū)域120或?qū)嶓w按鍵被持續(xù)按壓超過預設(shè)時間(例如2s)時則定義為被長按。若偵測到作用于所述遙控終端100的長按操作,則執(zhí)行步驟S4,若未偵測到作用于所述遙控終端100的長按操作,則執(zhí)行步驟S2。

進一步的,在步驟S3之前,還可以包括步驟S31,在第一操作區(qū)域120生成操作指示標識(例如虛擬按鍵121或其他符號標識),操作指示標識指示所述第一操作區(qū)域120在觸控屏幕114上的區(qū)域。其中,步驟S31可以由生成模塊430執(zhí)行。

步驟S4,無人機200進入體感控制模式。

在本發(fā)明實施例中,作用于所述遙控終端100的長按操作可以觸發(fā)無人機200進入體感控制模式。

步驟S5,在所述長按操作的持續(xù)過程中,獲取所述遙控終端100的姿態(tài)數(shù)據(jù)。

在本發(fā)明實施例中,步驟S5可以由獲取模塊420執(zhí)行。在遙控終端100的第一操作區(qū)域120或?qū)嶓w按鍵被長按的過程中,全局變量變?yōu)椤癥ES”,此時,獲取模塊420可以以一定的頻率(例如50HZ)獲取所述遙控終端100的姿態(tài)數(shù)據(jù)。

步驟S6,依據(jù)所述姿態(tài)數(shù)據(jù),生成與所述姿態(tài)數(shù)據(jù)匹配的第一控制指令。

在本發(fā)明實施例中,步驟S6可以由生成模塊430執(zhí)行。遙控終端100的姿態(tài)數(shù)據(jù)包括遙控終端100的傾斜角度和傾斜方向,遙控終端100的傾斜方向可以與無人機200的飛行方向?qū)?,遙控終端100向左傾斜,無人機200則向左飛行,遙控終端100向右傾斜,無人機200則向右飛行,遙控終端100向前傾斜,無人機200則向前飛行,遙控終端100向后傾斜,無人機200則向后飛行。生成模塊430可以依據(jù)遙控終端左右傾斜的角度,根據(jù)一定的算法計算出指令數(shù)據(jù)包中的左右值,生成模塊430可以依據(jù)遙控終端前后傾斜的角度,根據(jù)一定的算法計算出指令數(shù)據(jù)包中前后值。然后,生成模塊430將依據(jù)姿態(tài)數(shù)據(jù)計算出的左右值和前后值,以及默認的升降值和旋轉(zhuǎn)值進行打包,生成第一控制指令。

在本實施例中,遙控終端100的姿態(tài)數(shù)據(jù)并不用于計算指令數(shù)據(jù)包中的升降值和旋轉(zhuǎn)值,當用戶長按遙控終端100的第一操作區(qū)域120時,升降值和旋轉(zhuǎn)值為默認值1500,升降值和旋轉(zhuǎn)值的改變將在后續(xù)進行詳細說明。

進一步地,遙控終端100的傾斜角度可以與左右值或前后值成正比,左右值或前后值可以與無人機200在對應方向的飛行速度成正比,因此,遙控終端100的傾斜角度可以與無人機200在對應方向的飛行速度成正比。例如,當遙控終端100向左傾斜20度時,生成模塊430根據(jù)一定的算法計算出左右值為1600,此時,無人機200向左的飛行速度為0.5m/s;當遙控終端100向左傾斜40度時,生成模塊430根據(jù)一定的算法計算出左右值為1700,此時,無人機200向左飛行的飛行速度為1m/s。

在本發(fā)明實施例中,第一控制指令由生成模塊430生成之后,還可以包括將第一控制指令發(fā)送給無人機200上的無人機飛行控制器(飛控)的步驟,該步驟可以由發(fā)送模塊440執(zhí)行,第一控制指令用于控制所述無人機200的飛行軌跡,飛控可以依據(jù)第一控制指令控制無人機200在與第一控制指令對應的方向上、以與第一控制指令對應的速度飛行。

步驟S7,在作用于所述遙控終端100的長按操作的持續(xù)過程中,偵測作用于所述遙控終端100的觸控屏幕114的第二操作區(qū)域140的滑動操作。

本發(fā)明實施例中,步驟S7可以由偵測模塊410執(zhí)行。用戶在長按遙控終端100的觸控屏幕114的第一操作區(qū)域120或?qū)嶓w按鍵時,還可以在觸控屏幕114的第二操作區(qū)域140進行滑動操作,例如,沿圖3所示的A、B、C、D四個方向滑動,用戶在第二操作區(qū)域140的滑動操作可以由偵測模塊410偵測。若偵測到作用于所述遙控終端100的第二操作區(qū)域140的滑動操作,則執(zhí)行步驟S8,若未偵測到作用于所述遙控終端100的第二操作區(qū)域140的滑動操作,則執(zhí)行步驟S5。

步驟S8,依據(jù)所述滑動操作以及所述姿態(tài)數(shù)據(jù),生成第二控制指令。

本發(fā)明實施例中,步驟S8可以由生成模塊430執(zhí)行。當用戶在第二操作區(qū)域140沿A、B、C、D四個方向滑動時,沿A方向的滑動操作可以定義為升降值增加,沿B方向的滑動操作可以定義為升降值減少,沿C方向滑動的距離可以定義為旋轉(zhuǎn)值增加,沿D方向滑動的距離可以定義為旋轉(zhuǎn)值減少。因此,生成模塊430可以依據(jù)沿A、B方向的滑動操作計算升降值,依據(jù)沿C、D方向的滑動操作計算旋轉(zhuǎn)值。

進一步的,沿A、B方向滑動的距離可以與升降值成正比,升降值可以與無人機200在上下方向的飛行速度成正比,因此,沿A、B方向滑動的距離可以與無人機200在上下方向的飛行速度成正比。沿C、D方向滑動的距離可以與旋轉(zhuǎn)值成正比,旋轉(zhuǎn)值可以與無人機200在左右方向的旋轉(zhuǎn)角度成正比,因此,沿C、D方向滑動的距離可以與無人機200在左右方向的旋轉(zhuǎn)角度成正比。

生成模塊430依據(jù)所述滑動操作計算出升降值和旋轉(zhuǎn)值,以及依據(jù)所述姿態(tài)數(shù)據(jù)計算出前后值和左右值(請參考前文敘述內(nèi)容),并將計算出的升降值、旋轉(zhuǎn)值、前后值以及左右值打包成指令數(shù)據(jù)包,以生成第二控制指令。

在本發(fā)明實施例中,第二控制指令由生成模塊430生成之后,還可以包括將第二控制指令發(fā)送給無人機200上的無人機飛行控制器(飛控)的步驟,該步驟可以由發(fā)送模塊440執(zhí)行。飛控可以依據(jù)第二控制指令控制無人機200在與第二控制指令對應的方向上、以與第二控制指令對應的速度飛行。

步驟S9,偵測作用于所述遙控終端100的長按操作是否結(jié)束。

在本發(fā)明實施例中,步驟S9可以由偵測模塊410執(zhí)行。當偵測模塊410未偵測到作用于所述遙控終端100的第一操作區(qū)域120或?qū)嶓w按鍵的長按操作時,即可判定作用于所述遙控終端100的長按操作已經(jīng)結(jié)束。需要說明的是,步驟S9可以在長按操作的持續(xù)過程中的任何時間點執(zhí)行。若長按操作結(jié)束,則執(zhí)行步驟S10,若長按操作未結(jié)束,則執(zhí)行步驟S5。

步驟S10,發(fā)送懸停指令至所述無人機200,無人機200退出體感控制模式并懸停。

本發(fā)明實施例中,步驟S10中,可以由發(fā)送模塊440發(fā)送懸停指令至所述無人機200。在作用于所述遙控終端100的長按操作結(jié)束時,用來判斷無人機200是否處于體感控制模式的全局變量變?yōu)椤癗O”,此時,無人機200退出體感控制模式。發(fā)送模塊440可以發(fā)送升降值、旋轉(zhuǎn)值、前后值以及左右值均為1500的控制指令(即懸停指令)至無人機200,無人機200接收到懸停指令之后即執(zhí)行懸停動作。

本發(fā)明提供的一種無人機飛行控制裝置、方法及遙控終端,通過偵測作用于遙控終端的長按操作;在所述長按操作的持續(xù)過程中,獲取遙控終端的姿態(tài)數(shù)據(jù);依據(jù)姿態(tài)數(shù)據(jù),生成與姿態(tài)數(shù)據(jù)匹配的第一控制指令;將第一控制指令發(fā)送給無人機,其中,所述第一控制指令用于控制所述無人機的飛行軌跡。如此,通過長按操作觸發(fā)體感控制模式,可以讓無人機的飛行操作變得更加安全,從而減少了各種飛行意外和事故。同時,也降低了無人機的飛行控制難度,無人機新手也可以進行操作,提高了用戶體驗。

在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,也可以通過其它的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的裝置、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。

另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。

所述功能如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
金堂县| 郁南县| 漠河县| 宁晋县| 漳平市| 洱源县| 姜堰市| 南漳县| 晋州市| 濮阳市| 韶关市| 昌吉市| 平谷区| 亳州市| 金华市| 达拉特旗| 景德镇市| 昂仁县| 鄂托克前旗| 循化| 百色市| 禄劝| 拜城县| 新竹市| 德阳市| 十堰市| 寿宁县| 江油市| 高邮市| 普兰店市| 慈溪市| 长兴县| 兴安县| 阜新市| 思茅市| 宝兴县| 翁源县| 西贡区| 紫云| 银川市| 马龙县|