本發(fā)明涉及無人機(jī)技術(shù)領(lǐng)域,尤其是涉及一種基于移動終端的無人機(jī)控制方法和裝置。
背景技術(shù):
隨著無人機(jī)技術(shù)的迅速發(fā)展,無人機(jī)已逐漸應(yīng)用于各個領(lǐng)域,包括農(nóng)業(yè)、電影電視劇拍攝、物流快遞、餐飲送餐、保險(xiǎn)查勘、警務(wù)執(zhí)法等領(lǐng)域。無人機(jī)被譽(yù)為“空中機(jī)器人”,必將逐漸走入人們的日常生活,應(yīng)用于生產(chǎn)生活的各個方面。
目前,人和無人機(jī)交互的方式主要有遙控、語音、體感等。語音識別目前只能識別一部分語音命令,對于自然語言語義的理解還有很大難度,體感則需要更多的傳感器數(shù)據(jù)及復(fù)雜算法的支持,而遙控方式則較為簡單、可靠,直接給無人機(jī)發(fā)送控制指令即可。
遙控?zé)o人機(jī)的方式多種多樣,例如可以通過電腦鍵盤、游戲手柄、移動終端等遙控?zé)o人機(jī)。目前,基于移動終端的無人機(jī)控制方式是安裝一個應(yīng)用(app),應(yīng)用的控制界面上有上下左右四個控制按鈕,通過按壓四個控制按鈕來控制無人機(jī)執(zhí)行相應(yīng)的運(yùn)動動作,例如,按壓上鍵,無人機(jī)前進(jìn),按壓左鍵,無人機(jī)左移等等,但無人機(jī)的速度、角度等動作參數(shù)則是固定的,用戶不能實(shí)時(shí)調(diào)整和控制。
因此,現(xiàn)有的基于移動終端的無人機(jī)控制方法,控制方式比較單調(diào)刻板,不能實(shí)現(xiàn)靈活精確的對無人機(jī)進(jìn)行操控,用戶體驗(yàn)不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的主要目的在于提供一種基于移動終端的無人機(jī)控制方法和裝置,旨在提高通過移動終端控制無人機(jī)的靈活性和精確性。
為達(dá)以上目的,一方面提出一種基于移動終端的無人機(jī)控制方法,包括以下步驟:
檢測觸摸動作以及所述觸摸動作產(chǎn)生的觸摸壓力;
根據(jù)檢測到的所述觸摸動作和所述觸摸壓力確定所述無人機(jī)的運(yùn)動動作及動作參數(shù);
根據(jù)所述運(yùn)動動作及動作參數(shù)生成控制指令發(fā)送給所述無人機(jī)。
進(jìn)一步地,所述觸摸動作與所述運(yùn)動動作之間存在映射關(guān)系,不同的觸摸動作對應(yīng)不同的運(yùn)動動作。例如:當(dāng)觸摸動作為直線滑動、弧線滑動或持續(xù)按壓時(shí),對應(yīng)的運(yùn)動動作為翻滾動作、旋轉(zhuǎn)動作或升降動作。
進(jìn)一步地,所述根據(jù)檢測到的所述觸摸動作和所述觸摸壓力確定所述無人機(jī)的運(yùn)動動作及動作參數(shù),包括:
當(dāng)所述觸摸動作為直線滑動時(shí),確定所述無人機(jī)的運(yùn)動動作為翻滾動作,并根據(jù)滑動方向確定翻滾方向,根據(jù)滑動距離確定翻滾角度,根據(jù)所述觸摸壓力的大小確定執(zhí)行所述翻滾動作時(shí)的速度。
進(jìn)一步地,通過以下公式計(jì)算所述翻滾角度:
其中,l表示實(shí)際檢測到的滑動距離,lmax表示設(shè)定的最大滑動距離,dmax表示設(shè)定的最大翻滾角度,d表示最終計(jì)算出的翻滾角度。
進(jìn)一步地,所述根據(jù)檢測到的所述觸摸動作和所述觸摸壓力確定所述無人機(jī)的運(yùn)動動作及動作參數(shù),包括:
當(dāng)所述觸摸動作為弧線滑動時(shí),確定所述無人機(jī)的運(yùn)動動作為旋轉(zhuǎn)動作,并根據(jù)滑動方向確定旋轉(zhuǎn)方向,根據(jù)滑動角度確定旋轉(zhuǎn)角度,根據(jù)所述觸摸壓力確定執(zhí)行所述旋轉(zhuǎn)動作時(shí)的速度。
進(jìn)一步地,通過以下公式計(jì)算所述速度:
其中,p表示實(shí)際檢測到的觸摸壓力,pmax表示設(shè)定的最大觸摸壓力,pmin表示設(shè)定的最小觸摸壓力,pdegree表示將p映射到0°~90°的值,α表示設(shè)定的比例系數(shù),sα表示最終計(jì)算出的速度。
進(jìn)一步地,所述根據(jù)檢測到的所述觸摸動作和所述觸摸壓力確定所述無人機(jī)的運(yùn)動動作及動作參數(shù),包括:
當(dāng)所述觸摸動作為持續(xù)按壓動作時(shí),確定所述無人機(jī)的運(yùn)動動作為升降動作,并根據(jù)所述觸摸壓力確定升降高度。
進(jìn)一步地,通過以下公式計(jì)算所述升降高度:
其中,p表示實(shí)際檢測到的觸摸壓力,pmax表示設(shè)定的最大觸摸壓力,pmin表示設(shè)定的最小觸摸壓力,hmax表示設(shè)定的最大升降高度,hmin表示設(shè)定的最小升降高度,h表示最終計(jì)算出的升降高度。
進(jìn)一步地,將所述運(yùn)動動作及動作參數(shù)組成一個數(shù)據(jù)包并加上數(shù)據(jù)包頭,計(jì)算校驗(yàn)和,將所述校驗(yàn)和連同所述數(shù)據(jù)包一起作為控制指令發(fā)送給所述無人機(jī)。
另一方面,提出一種基于移動終端的無人機(jī)控制裝置,包括:
觸摸屏,用于檢測觸摸動作;
壓力傳感器,用于檢測所述觸摸動作產(chǎn)生的觸摸壓力;
處理模塊,用于根據(jù)檢測到的所述觸摸動作和所述觸摸壓力確定所述無人機(jī)的運(yùn)動動作及動作參數(shù),并根據(jù)所述運(yùn)動動作及動作參數(shù)生成控制指令發(fā)送給所述無人機(jī)。
進(jìn)一步地,所述處理模塊用于:
當(dāng)所述觸摸動作為直線滑動時(shí),確定所述無人機(jī)的運(yùn)動動作為翻滾動作,并根據(jù)滑動方向確定翻滾方向,根據(jù)滑動距離確定翻滾角度,根據(jù)所述觸摸壓力的大小確定執(zhí)行所述翻滾動作時(shí)的速度。
進(jìn)一步地,所述處理模塊用于:
當(dāng)所述觸摸動作為弧線滑動時(shí),確定所述無人機(jī)的運(yùn)動動作為旋轉(zhuǎn)動作,并根據(jù)滑動方向確定旋轉(zhuǎn)方向,根據(jù)滑動角度確定旋轉(zhuǎn)角度,根據(jù)所述觸摸壓力確定執(zhí)行所述旋轉(zhuǎn)動作時(shí)的速度。
進(jìn)一步地,所述處理模塊用于:
當(dāng)所述觸摸動作為持續(xù)按壓動作時(shí),確定所述無人機(jī)的運(yùn)動動作為升降動作,并根據(jù)所述觸摸壓力確定升降高度。
進(jìn)一步地,還包括通信模塊,所述通信模塊用于:通過藍(lán)牙、無線網(wǎng)絡(luò)或移動通信網(wǎng)絡(luò)與所述無人機(jī)建立通信連接。
本發(fā)明實(shí)施例所提供的一種基于移動終端的無人機(jī)控制方法,通過檢測用戶在觸摸屏上的觸摸動作和觸摸壓力,來確定無人機(jī)的運(yùn)動動作及動作參數(shù),進(jìn)而控制無人機(jī)依據(jù)該動作參數(shù)來執(zhí)行相應(yīng)的運(yùn)動動作。由于觸摸操作非常方便快捷,而且在觸摸時(shí)可以靈活的改變觸摸壓力,用戶在操作時(shí)可以隨心所欲一氣呵成,可以以任意角度、速度、高度等動作參數(shù)來調(diào)整無人機(jī)的運(yùn)動姿態(tài),實(shí)現(xiàn)通過移動終端對無人機(jī)的靈活、精確操控,使得用戶與無人機(jī)的交互更加友好,提高了無人機(jī)的智能化程度。采用本發(fā)明實(shí)施例的技術(shù)方案,能夠讓用戶擁有實(shí)時(shí)控制無人機(jī)姿態(tài)、速度、高度的實(shí)時(shí)控制體驗(yàn),讓無人機(jī)能夠跟隨用戶的手指滑動而運(yùn)動,極大的提升了用戶體驗(yàn)。
附圖說明
圖1是本發(fā)明基于移動終端的無人機(jī)控制方法第一實(shí)施例的流程圖;
圖2是本發(fā)明基于移動終端的無人機(jī)控制方法第二實(shí)施例的流程圖;
圖3是本發(fā)明實(shí)施例中一無人機(jī)的結(jié)構(gòu)示意圖;
圖4是圖3所示的無人機(jī)的模塊示意圖;
圖5是本發(fā)明基于移動終端的無人機(jī)控制裝置的模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參見圖1,提出本發(fā)明基于移動終端的無人機(jī)控制方法第一實(shí)施例,所述方法包括以下步驟:
s11、移動終端與無人機(jī)建立通信連接。
移動終端與無人機(jī)可以通過藍(lán)牙、無線網(wǎng)絡(luò)(如wifi網(wǎng)絡(luò))、移動通信網(wǎng)絡(luò)(即蜂窩網(wǎng)絡(luò))等建立通信連接。
例如,移動終端與無人機(jī)具有藍(lán)牙模塊(近程通信模塊),二者通過藍(lán)牙模塊建立近程通信連接;又如,移動終端與無人機(jī)具有wifi模塊(遠(yuǎn)程通信模塊),二者通過wifi模塊接入無線網(wǎng)絡(luò),通過無線網(wǎng)絡(luò)建立遠(yuǎn)程通信連接;再如,移動終端與無人機(jī)具有蜂窩射頻模塊(遠(yuǎn)程通信模塊),二者通過蜂窩射頻模塊接入移動通信網(wǎng)絡(luò),通過移動通信網(wǎng)絡(luò)建立遠(yuǎn)程通信連接。
此外,移動終端與無人機(jī)還可以通過其它近程或遠(yuǎn)程通信模塊建立通信連接,在此不再一一列舉。
建立通信連接后,移動終端可以初始化觸摸動作與運(yùn)動動作及動作參數(shù)的映射關(guān)系,觸摸壓力與動作參數(shù)的映射關(guān)系,以及相關(guān)參數(shù)。映射關(guān)系可以出廠預(yù)置,也可以由用戶自定義設(shè)置。
觸摸動作即用戶手指在移動終端的觸摸屏上的操作動作,包括直線滑動(如向前、向后、向右或向左直線滑動)、弧線滑動(如順時(shí)針或逆時(shí)針滑動)、持續(xù)按壓(或稱長按,即按著不滑動)等。
運(yùn)動動作即無人機(jī)執(zhí)行的翻滾動作、旋轉(zhuǎn)動作、升降動作等運(yùn)動姿態(tài)。其中,翻滾動作包括往任意方向翻滾,例如可以包括俯仰(即向前俯沖和向前仰沖)和橫滾(即向左翻滾和向右翻滾);旋轉(zhuǎn)動作可以包括左旋和右旋,升降動作可以包括直線升高和直線下降。
可選地,可以建立觸摸動作與運(yùn)動動作及動作參數(shù)的如下映射關(guān)系:
直線滑動對應(yīng)翻滾動作,不同的滑動方向?qū)?yīng)不同的翻滾方向或方式(如俯沖、仰沖、左滾、右滾),不同的滑動距離對應(yīng)不同的翻滾角度(如俯仰角度、橫滾角度);弧線滑動動作對應(yīng)旋轉(zhuǎn)動作,不同的滑動方向?qū)?yīng)不同的旋轉(zhuǎn)方向(如左旋、右旋,或稱正旋、反旋),不同的滑動角度對應(yīng)不同的旋轉(zhuǎn)角度;持續(xù)按壓對應(yīng)升降動作。其中,翻滾方向、翻滾角度、旋轉(zhuǎn)方向可以理解為動作參數(shù),或者將翻滾角度理解為動作參數(shù),翻滾方向和旋轉(zhuǎn)方向理解為具體的運(yùn)動動作。
可選地,可以建立觸摸壓力與動作參數(shù)的如下映射關(guān)系:
不同的觸摸壓力對應(yīng)不同的速度或升降高度,速度指執(zhí)行翻滾動作、旋轉(zhuǎn)動作時(shí)的速度,升降高度指執(zhí)行升降動作時(shí)離參考面(如地面)的高度。
本領(lǐng)域技術(shù)人員可以理解,除了前述列舉的觸摸動作和運(yùn)動動作外,還可以同理設(shè)置其它的觸摸動作和運(yùn)動動作;除了前述列舉的觸摸動作和觸摸壓力與運(yùn)動動作及動作參數(shù)的映射關(guān)系外,還可以同理設(shè)置其它的映射關(guān)系。在此不再一一列舉。
s12、移動終端檢測觸摸動作以及該觸摸動作產(chǎn)生的觸摸壓力。
移動終端通過觸摸屏檢測觸摸動作,通過位于該觸摸屏下方的壓力傳感器檢測該觸摸動作產(chǎn)生的觸摸壓力。
s13、移動終端根據(jù)檢測到的觸摸動作和觸摸壓力確定無人機(jī)的運(yùn)動動作及動作參數(shù)。
移動終端檢測到觸摸動作和觸摸壓力后,根據(jù)觸摸動作與運(yùn)動動作及動作參數(shù)的映射關(guān)系,以及觸摸壓力與動作參數(shù)的映射關(guān)系,確定與觸摸動作和觸摸壓力對應(yīng)的運(yùn)動動作及運(yùn)動參數(shù)。
舉例而言:
當(dāng)觸摸動作為直線滑動時(shí),確定無人機(jī)的運(yùn)動動作為翻滾動作,并根據(jù)滑動方向確定翻滾方向,根據(jù)滑動距離確定翻滾角度,根據(jù)觸摸壓力的大小確定執(zhí)行翻滾動作時(shí)的速度;當(dāng)觸摸動作為弧線滑動時(shí),確定無人機(jī)的運(yùn)動動作為旋轉(zhuǎn)動作,并根據(jù)滑動方向確定旋轉(zhuǎn)方向,根據(jù)觸摸壓力的大小確定執(zhí)行旋轉(zhuǎn)動作時(shí)的速度;當(dāng)觸摸動作為持續(xù)按壓時(shí),確定無人機(jī)的運(yùn)動動作為升降動作,并根據(jù)觸摸壓力的大小確定升降高度。
確定翻滾角度時(shí),可以對滑動距離與翻滾角度建立線性映射關(guān)系,通過以下公式計(jì)算翻滾角度:
其中,l表示實(shí)際檢測到的滑動距離,lmax表示設(shè)定的最大滑動距離,dmax表示設(shè)定的最大翻滾角度,通常為無人機(jī)能夠達(dá)到的最大翻滾角度,d表示最終計(jì)算出的翻滾角度。
進(jìn)一步地,對于不同方向的翻滾動作,可以分別設(shè)置不同的最大翻滾角度。例如,對于俯仰(前后翻滾)和橫滾(左右翻滾),可以分別通過以下公式計(jì)算翻滾角度:
其中,
確定執(zhí)行翻滾動作和旋轉(zhuǎn)動作時(shí)的速度時(shí),可以對觸摸壓力與翻滾、旋轉(zhuǎn)的速度建立非線性映射關(guān)系,通過以下公式計(jì)算速度:
其中,p表示實(shí)際檢測到的觸摸壓力,pmax表示設(shè)定的最大觸摸壓力,通常為用戶手指按壓移動終端觸摸屏能達(dá)到的最大壓力,pmin表示設(shè)定的最小觸摸壓力,通常為用戶手指按壓移動終端觸摸屏能達(dá)到的最小壓力,pdegree表示將p映射到0°~90°的值,α表示設(shè)定的比例系數(shù),sα表示最終計(jì)算出的速度。α可以根據(jù)實(shí)際需求設(shè)定,α越大,無人機(jī)執(zhí)行翻滾和旋轉(zhuǎn)動作時(shí)的速度變化越快,反之則變化越慢。
確定旋轉(zhuǎn)動作的旋轉(zhuǎn)角度時(shí),以弧線滑動的滑動角度作為旋轉(zhuǎn)角度d。
確定升降高度時(shí),可以對觸摸壓力與升降高度建立線性映射關(guān)系,通過以下公式計(jì)算升降高度:
其中,p表示實(shí)際檢測到的觸摸壓力,pmax表示設(shè)定的最大觸摸壓力,通常為用戶手指按壓移動終端觸摸屏能達(dá)到的最大壓力,pmin表示設(shè)定的最小觸摸壓力,通常為用戶手指按壓移動終端觸摸屏能達(dá)到的最小壓力,hmax表示設(shè)定的最大升降高度,通常為無人機(jī)能夠達(dá)到的最大升降高度,hmin表示設(shè)定的最小升降高度,h表示最終計(jì)算出的升降高度。
以上分別列舉了翻滾角度、翻滾和旋轉(zhuǎn)的速度以及升降高度的計(jì)算公式,實(shí)際上,也可以采用其它的計(jì)算公式來計(jì)算上述動作參數(shù),在此不再贅述。
s14、移動終端根據(jù)確定的運(yùn)動動作及動作參數(shù)生成控制指令并發(fā)送給無人機(jī)。
移動終端將確定的運(yùn)動動作及動作參數(shù)等數(shù)據(jù)進(jìn)行融合,組成一個數(shù)據(jù)包,然后將該數(shù)據(jù)包作為控制指令,通過藍(lán)牙、無線網(wǎng)絡(luò)、移動通信網(wǎng)絡(luò)等發(fā)送給無人機(jī)。
移動終端可以根據(jù)檢測到的觸摸動作向無人機(jī)實(shí)時(shí)發(fā)送控制指令,也可以每隔預(yù)設(shè)時(shí)間向無人機(jī)發(fā)送一次控制指令。
s15、無人機(jī)接收控制指令,解析該控制指令后獲取運(yùn)動動作及動作參數(shù)。
無人機(jī)通過藍(lán)牙、無線網(wǎng)絡(luò)、移動通信網(wǎng)絡(luò)等接收移動終端發(fā)送的控制指令,解析該控制指令后獲取運(yùn)動動作及動作參數(shù)等數(shù)據(jù)。
s16、無人機(jī)根據(jù)動作參數(shù)執(zhí)行運(yùn)動動作。
例如,無人機(jī)以相應(yīng)的俯沖角度dfy和速度執(zhí)行俯沖動作,以相應(yīng)的速度sα及旋轉(zhuǎn)角度d執(zhí)行左旋動作,根據(jù)升降高度h執(zhí)行直線上升或下降動作,等等。
無人機(jī)根據(jù)dfy、dhg、d值改變其俯仰、橫滾、左旋及右旋角度時(shí)可以采用相對變化,也就是說,無人機(jī)將上次轉(zhuǎn)動后的位置作為下次轉(zhuǎn)動的起始位置。無人機(jī)根據(jù)h值改變其高度時(shí)是在初始高度上加h,當(dāng)用戶手指離開觸摸屏?xí)r,無人機(jī)又恢復(fù)到其初始高度。
進(jìn)一步地,在步驟s14中,移動終端將確定的運(yùn)動動作及動作參數(shù)等數(shù)據(jù)進(jìn)行融合,組成一個數(shù)據(jù)包后,再加上數(shù)據(jù)包頭,計(jì)算校驗(yàn)和,將校驗(yàn)和連同數(shù)據(jù)包一起發(fā)送給無人機(jī)。在步驟s15中,無人機(jī)接收到控制指令后,讀取數(shù)據(jù)包并計(jì)算校驗(yàn)和,判斷計(jì)算的校驗(yàn)和與數(shù)據(jù)包攜帶的移動終端計(jì)算的校驗(yàn)和是否一致,當(dāng)一致時(shí)才根據(jù)控制指令執(zhí)行相應(yīng)的運(yùn)動動作,當(dāng)不一致時(shí)說明數(shù)據(jù)傳輸過程中產(chǎn)生了錯誤,忽略該控制指令,不予執(zhí)行運(yùn)動動作。從而保證控制的準(zhǔn)確性。
參見圖2,提出本發(fā)明基于移動終端的無人機(jī)控制方法第二實(shí)施例,所述方法應(yīng)用于移動終端側(cè),包括以下步驟:
s21、與無人機(jī)建立通信連接。
可選地,移動終端與無人機(jī)建立通信連接后,對lmax、dmax(如
s22、檢測觸摸動作以及該觸摸動作產(chǎn)生的觸摸壓力。
s23、根據(jù)檢測到的觸摸動作和觸摸壓力確定無人機(jī)的運(yùn)動動作及動作參數(shù)。
s24、根據(jù)確定的運(yùn)動動作及動作參數(shù)生成控制指令并發(fā)送給無人機(jī)。
移動終端可以根據(jù)檢測到的觸摸動作向無人機(jī)實(shí)時(shí)發(fā)送控制指令,也可以每隔預(yù)設(shè)時(shí)間向無人機(jī)發(fā)送一次控制指令。當(dāng)發(fā)送完控制指令后,返回步驟s22,執(zhí)行下輪控制。
本實(shí)施例中的步驟s21-s24分別與第一實(shí)施例中的步驟s11-s14相同,在此不再贅述。
進(jìn)一步地,在步驟s24,移動終端將確定的運(yùn)動動作及動作參數(shù)等數(shù)據(jù)進(jìn)行融合,組成一個數(shù)據(jù)包后并加上數(shù)據(jù)包頭后,還計(jì)算校驗(yàn)和,將校驗(yàn)和連同數(shù)據(jù)包一起發(fā)送給無人機(jī),以使無人機(jī)進(jìn)行校驗(yàn)和驗(yàn)證并通過驗(yàn)證后才執(zhí)行運(yùn)動動作。從而保證控制的準(zhǔn)確性。
本發(fā)明實(shí)施例基于移動終端的無人機(jī)控制方法,通過檢測用戶在觸摸屏上的觸摸動作和觸摸壓力,來確定無人機(jī)的運(yùn)動動作及動作參數(shù),進(jìn)而控制無人機(jī)依據(jù)該動作參數(shù)來執(zhí)行相應(yīng)的運(yùn)動動作。由于觸摸操作極其方便快捷,而且在觸摸時(shí)可以靈活的改變觸摸壓力,用戶在操作時(shí)可以隨心所欲一氣呵成,可以以任意角度、速度、高度等動作參數(shù)來調(diào)整無人機(jī)的運(yùn)動姿態(tài),實(shí)現(xiàn)通過移動終端對無人機(jī)的靈活、精確操控,使得用戶與無人機(jī)的交互更加友好,提高了無人機(jī)的智能化程度。采用本發(fā)明實(shí)施例的技術(shù)方案,能夠讓用戶擁有實(shí)時(shí)控制無人機(jī)姿態(tài)、速度、高度的實(shí)時(shí)控制體驗(yàn),讓無人機(jī)能夠跟隨用戶的手指滑動而運(yùn)行,極大的提升了用戶體驗(yàn)。
在某些實(shí)施例中,移動終端也可以只根據(jù)觸摸動作和觸摸壓力計(jì)算出動作參數(shù),并將觸摸動作和動作參數(shù)等數(shù)據(jù)發(fā)送給無人機(jī),無人機(jī)接收到數(shù)據(jù)后,根據(jù)觸摸動作確定對應(yīng)的運(yùn)動動作,并根據(jù)動作參數(shù)來執(zhí)行該運(yùn)動動作。這種情況需要在無人機(jī)中設(shè)置觸摸動作與運(yùn)動動作的映射關(guān)系。
在某些實(shí)施例中,移動終端也可以像現(xiàn)有技術(shù)那樣在屏幕上顯示控制按鈕,檢測用戶按壓的控制按鈕來確定無人機(jī)的運(yùn)動動作,同時(shí)檢測用戶按壓控制按鈕的觸摸壓力來確定無人機(jī)的動作參數(shù)。
本發(fā)明實(shí)施例中的移動終端,可以是任何具有觸摸動作和觸摸壓力檢測功能以及運(yùn)算能力的便攜式設(shè)備,如手機(jī)、平板等,應(yīng)用廣泛,實(shí)現(xiàn)成本低。同時(shí),無論是移動終端的應(yīng)用(app),還是無人機(jī)端的控制程序均可靈活擴(kuò)展,來完成更復(fù)雜的無人機(jī)控制。
本發(fā)明實(shí)施例的技術(shù)方案可移植性強(qiáng),可以用來控制各種無人機(jī),如各種多旋翼無人機(jī)、固定翼無人機(jī)、兒童玩具無人機(jī)等等。其中,多旋翼無人機(jī)包括四旋翼、六旋翼、八旋翼等。
參見圖3、圖4,以下以四旋翼無人機(jī)為例,詳細(xì)闡述應(yīng)用本發(fā)明實(shí)施例基于移動終端的無人機(jī)控制方法控制四旋翼無人機(jī)的過程。
圖3、圖4所示為擁有四個旋翼的無人機(jī)示意圖。無人機(jī)包括主處理器(s3c6410嵌入式單元)、通信單元(如藍(lán)牙模塊、wifi模塊等)、慣性測量單元、電子羅盤、電機(jī)驅(qū)動以及四個旋翼電機(jī)。通信模塊用于與移動終端通訊,主處理器用于控制各個元件,慣性測量單元和電子羅盤用于測量無人機(jī)的姿態(tài),電機(jī)驅(qū)動用于驅(qū)動無人機(jī)的4個旋翼電機(jī)。
以無人機(jī)的中心建立如圖3所示的坐標(biāo)系。定義y軸正方向?yàn)闊o人機(jī)的頭部,即旋翼1所在的位置,如圖虛線箭頭所指;定義y軸負(fù)方向?yàn)闊o人機(jī)的尾部,即旋翼3所在的位置;定義x軸正方向?yàn)闊o人機(jī)的右部,即旋翼4所在的位置;定義x軸負(fù)方向?yàn)闊o人機(jī)的左部,即旋翼2所在的位置。
參考圖3,本實(shí)施例中無人機(jī)的運(yùn)動動作auav包括六大類:懸停、俯仰、橫滾、左旋、右旋及升降。其中俯仰即為無人機(jī)繞x軸旋轉(zhuǎn),當(dāng)從x軸正方向看去,無人機(jī)繞x軸順時(shí)針旋轉(zhuǎn),無人機(jī)前俯(即向前俯沖),用
移動終端與無人機(jī)通過藍(lán)牙建立通信連接后,分別進(jìn)行初始化。移動終端對lmax、dmax(如
移動終端通過觸摸屏及觸摸屏下方的壓力傳感器分別感知用戶手指的觸摸動作auser和手指按壓觸摸屏的觸摸壓力p,auser的取值如下:
移動終端根據(jù)auser的值給auav賦值如下:
根據(jù)上述映射關(guān)系,當(dāng)用戶手指在移動終端觸摸屏向上滑動aup時(shí),無人機(jī)前俯
其中,無人機(jī)前俯和前仰的角度dfy,可以根據(jù)用戶手指滑動距離l通過前述公式(2)進(jìn)行計(jì)算確定,同時(shí)無人機(jī)左滾和右滾時(shí)的角度dhg,可以根據(jù)用戶滑動距離l通過前述公式(3)進(jìn)行計(jì)算確定;無人機(jī)前俯、前仰、左滾、右滾、左旋、右旋時(shí)的速度sα,可以根據(jù)用戶手指的觸摸壓力p通過前述公式(4)計(jì)算確定;無人機(jī)左旋或右旋的角度d可以等于用戶手指逆時(shí)針或順時(shí)針旋轉(zhuǎn)的角度d;無人機(jī)升降的高度,可以根據(jù)用戶手指的觸摸壓力p通過前述公式(5)計(jì)算確定。
移動終端將確定的運(yùn)動動作及動作參數(shù)等數(shù)據(jù)進(jìn)行融合,組成一個數(shù)據(jù)包并加上數(shù)據(jù)包頭,計(jì)算校驗(yàn)和,將校驗(yàn)和連同數(shù)據(jù)包一起作為控制指令通過藍(lán)牙發(fā)送給無人機(jī)。
無人機(jī)通過藍(lán)牙接收到控制指令后,讀取數(shù)據(jù)包并計(jì)算校驗(yàn)和,判斷計(jì)算的校驗(yàn)和與數(shù)據(jù)包攜帶的移動終端計(jì)算的校驗(yàn)和是否一致;當(dāng)不一致時(shí)說明數(shù)據(jù)傳輸過程中產(chǎn)生了錯誤,忽略該控制指令,不予執(zhí)行運(yùn)動動作;當(dāng)一致時(shí),解析該控制指令后獲取運(yùn)動動作及動作參數(shù)等數(shù)據(jù),執(zhí)行相應(yīng)的運(yùn)動動作auav,并根據(jù)sa值調(diào)整其執(zhí)行俯仰、橫滾、左旋及右旋動作時(shí)的速度,根據(jù)dfy、dhg值調(diào)整其俯仰、橫滾的角度,根據(jù)d值調(diào)整其左旋或右旋的角度,根據(jù)h值調(diào)整其升降的高度。
無人機(jī)根據(jù)dfy、dhg、d值改變其俯仰、橫滾、左旋及右旋角度時(shí)可以采用相對變化,也就是說,無人機(jī)將上次轉(zhuǎn)動后的位置作為下次轉(zhuǎn)動的起始位置。無人機(jī)根據(jù)h值改變其高度時(shí)是在初始高度上加h,也即hmin+5+h,當(dāng)用戶手指離開觸摸屏?xí)r,無人機(jī)又恢復(fù)到其初始高度hmin+5。
在某些實(shí)施例中,移動終端也可以只根據(jù)觸摸動作auser和觸摸壓力p計(jì)算出動作參數(shù),并將觸摸動作auser和動作參數(shù)dfy、dhg、sα、h、d等數(shù)據(jù)打包后發(fā)送給無人機(jī),無人機(jī)接收到數(shù)據(jù)包后,根據(jù)觸摸動作auser與運(yùn)動動作auav的映射關(guān)系,根據(jù)auser的值給auav賦值,即根據(jù)觸摸動作確定對應(yīng)的運(yùn)動動作,并根據(jù)動作參數(shù)來執(zhí)行該運(yùn)動動作。
以上詳細(xì)說明了利用本發(fā)明實(shí)施例基于移動終端的無人機(jī)控制方法控制四旋翼無人機(jī)的過程,同理也可以采用本發(fā)明的技術(shù)方案來控制其它類型的無人機(jī),在此不再贅述。
參見圖5,提出本發(fā)明基于移動終端的無人機(jī)控制裝置一實(shí)施例,所述裝置應(yīng)用于移動終端,包括通信模塊10、觸摸屏30、壓力傳感器40和處理模塊20,其中:
通信模塊10:用于與無人機(jī)建立通信連接,可以是近程或遠(yuǎn)程通信模塊。
通信模塊10可以通過藍(lán)牙、無線網(wǎng)絡(luò)(如wifi網(wǎng)絡(luò))、移動通信網(wǎng)絡(luò)(即蜂窩網(wǎng)絡(luò))等建立通信連接。
例如,通信模塊10為藍(lán)牙模塊(近程通信模塊),通過藍(lán)牙與無人機(jī)建立近程通信連接;又如,通信模塊10為wifi模塊(遠(yuǎn)程通信模塊),通過無線網(wǎng)絡(luò)與無人機(jī)建立遠(yuǎn)程通信連接;再如,通信模塊10為蜂窩射頻模塊(遠(yuǎn)程通信模塊),通過移動通信網(wǎng)絡(luò)與無人機(jī)建立遠(yuǎn)程通信連接。
觸摸屏30:用于檢測觸摸動作,并將檢測到的觸摸動作發(fā)送給處理模塊20。
觸摸動作即用戶手指在移動終端的觸摸屏上的操作動作,包括直線滑動(如向前、向后、向右或向左直線滑動)、弧線滑動(如順時(shí)針或逆時(shí)針滑動)、持續(xù)按壓(或稱長按,即按著不滑動)等。
壓力傳感器40:用于檢測觸摸動作產(chǎn)生的觸摸壓力,并將檢測到的觸摸壓力發(fā)送給處理模塊20。
壓力傳感器40設(shè)于觸摸屏30下方,當(dāng)用戶手指以不同力度按壓觸摸屏30時(shí),壓力傳感器40將不同的按壓力度量化為相應(yīng)的壓力值。
處理模塊20:用于根據(jù)檢測到的觸摸動作和觸摸壓力確定無人機(jī)的運(yùn)動動作及動作參數(shù),并根據(jù)運(yùn)動動作及動作參數(shù)生成控制指令發(fā)送給無人機(jī)。
可選地,當(dāng)通信模塊10與無人機(jī)建立通信連接后,處理模塊20還初始化觸摸動作與運(yùn)動動作及動作參數(shù)的映射關(guān)系,觸摸壓力與動作參數(shù)的映射關(guān)系,以及相關(guān)參數(shù)。映射關(guān)系可以出廠預(yù)置,也可以由用戶自定義設(shè)置。
運(yùn)動動作即無人機(jī)執(zhí)行的翻滾動作、旋轉(zhuǎn)動作、升降動作等運(yùn)動姿態(tài)。其中,翻滾動作包括往任意方向翻滾,例如可以包括俯仰(即向前俯沖和向前仰沖)和橫滾(即向左翻滾和向右翻滾);旋轉(zhuǎn)動作可以包括左旋和右旋,升降動作可以包括直線升高和直線下降。
可選地,處理模塊20可以建立觸摸動作與運(yùn)動動作及動作參數(shù)的如下映射關(guān)系:
直線滑動對應(yīng)翻滾動作,不同的滑動方向?qū)?yīng)不同的翻滾方向或方式(如俯沖、仰沖、左滾、右滾),不同的滑動距離對應(yīng)不同的翻滾角度(如俯仰角度、橫滾角度);弧線滑動動作對應(yīng)旋轉(zhuǎn)動作,不同的滑動方向?qū)?yīng)不同的旋轉(zhuǎn)方向(如左旋、右旋,或稱正旋、反旋),不同的滑動角度對應(yīng)不同的旋轉(zhuǎn)角度;持續(xù)按壓對應(yīng)升降動作。其中,翻滾方向、翻滾角度、旋轉(zhuǎn)方向可以理解為動作參數(shù),或者將翻滾角度理解為動作參數(shù),翻滾方向和旋轉(zhuǎn)方向理解為具體的運(yùn)動動作。
可選地,處理模塊20可以建立觸摸壓力與動作參數(shù)的如下映射關(guān)系:
不同的觸摸壓力對應(yīng)不同的速度或升降高度,速度指執(zhí)行翻滾動作、旋轉(zhuǎn)動作時(shí)的速度,升降高度指執(zhí)行升降動作時(shí)離參考面(如地面)的高度。
處理模塊20接收到檢測到觸摸動作和觸摸壓力后,根據(jù)觸摸動作與運(yùn)動動作及動作參數(shù)的映射關(guān)系,以及觸摸壓力與動作參數(shù)的映射關(guān)系,確定與觸摸動作和觸摸壓力對應(yīng)的運(yùn)動動作及運(yùn)動參數(shù)。
舉例而言:
當(dāng)觸摸動作為直線滑動時(shí),處理模塊20確定無人機(jī)的運(yùn)動動作為翻滾動作,并根據(jù)滑動方向確定翻滾方向,根據(jù)滑動距離確定翻滾角度,根據(jù)觸摸壓力確定執(zhí)行翻滾動作時(shí)的速度;當(dāng)觸摸動作為弧線滑動時(shí),處理模塊20確定無人機(jī)的運(yùn)動動作為旋轉(zhuǎn)動作,并根據(jù)滑動方向確定旋轉(zhuǎn)方向,根據(jù)觸摸壓力確定執(zhí)行旋轉(zhuǎn)動作時(shí)的速度;當(dāng)觸摸動作為持續(xù)按壓動作時(shí),處理模塊20確定無人機(jī)的運(yùn)動動作為升降動作,并根據(jù)觸摸壓力確定升降高度。
處理模塊20可以根據(jù)前述公式(1)-(5)來計(jì)算無人機(jī)的翻滾角度、翻滾和旋轉(zhuǎn)速度、升降高度等動作參數(shù)。
處理模塊20確定運(yùn)動動作及動作參數(shù)后,將確定的數(shù)據(jù)進(jìn)行融合,組成一個數(shù)據(jù)包,然后將該數(shù)據(jù)包作為控制指令發(fā)送給無人機(jī),以控制無人機(jī)執(zhí)行相應(yīng)的運(yùn)動動作。
處理模塊20可以根據(jù)檢測到的觸摸動作向無人機(jī)實(shí)時(shí)發(fā)送控制指令,也可以每隔預(yù)設(shè)時(shí)間向無人機(jī)發(fā)送一次控制指令。
進(jìn)一步地,處理模塊20將確定的運(yùn)動動作及動作參數(shù)等數(shù)據(jù)進(jìn)行融合,組成一個數(shù)據(jù)包后,再加上數(shù)據(jù)包頭,計(jì)算校驗(yàn)和,將校驗(yàn)和連同數(shù)據(jù)包一起發(fā)送給無人機(jī),以使無人機(jī)進(jìn)行校驗(yàn)和驗(yàn)證并通過驗(yàn)證后才執(zhí)行運(yùn)動動作。從而保證控制的準(zhǔn)確性。
本發(fā)明實(shí)施例基于移動終端的無人機(jī)控制裝置,通過檢測用戶在移動終端觸摸屏上的觸摸動作和觸摸壓力,來確定無人機(jī)的運(yùn)動動作及動作參數(shù),進(jìn)而控制無人機(jī)依據(jù)該動作參數(shù)來執(zhí)行相應(yīng)的運(yùn)動動作。由于觸摸操作極其方便快捷,而且在觸摸時(shí)可以靈活的改變觸摸壓力,用戶在操作時(shí)可以隨心所欲一氣呵成,可以以任意角度、速度、高度等動作參數(shù)來調(diào)整無人機(jī)的運(yùn)動姿態(tài),實(shí)現(xiàn)通過移動終端對無人機(jī)的靈活、精確操控,使得用戶與無人機(jī)的交互更加友好,提高了無人機(jī)的智能化程度。采用本發(fā)明實(shí)施例的裝置進(jìn)行無人機(jī)控制,能夠讓用戶擁有實(shí)時(shí)控制無人機(jī)姿態(tài)、速度、高度的實(shí)時(shí)控制體驗(yàn),讓無人機(jī)能夠跟隨用戶的手指滑動而運(yùn)行,極大的提升了用戶體驗(yàn)。
在某些實(shí)施例中,基于移動終端的無人機(jī)控制裝置也可以只根據(jù)觸摸動作和觸摸壓力計(jì)算出動作參數(shù),并將觸摸動作和動作參數(shù)等數(shù)據(jù)發(fā)送給無人機(jī),無人機(jī)接收到數(shù)據(jù)后,根據(jù)觸摸動作確定對應(yīng)的運(yùn)動動作,并根據(jù)動作參數(shù)來執(zhí)行該運(yùn)動動作。這種情況需要在無人機(jī)中設(shè)置觸摸動作與運(yùn)動動作的映射關(guān)系。
需要說明的是:,上述實(shí)施例提供的基于移動終端的無人機(jī)控制裝置與基于移動終端的無人機(jī)控制方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,且方法實(shí)施例中的技術(shù)特征在裝置實(shí)施例中均對應(yīng)適用,這里不再贅述。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。
應(yīng)當(dāng)理解的是,以上僅為本發(fā)明的優(yōu)選實(shí)施例,不能因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。