• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于安卓語音識別的無人機(jī)控制系統(tǒng)

      2017-05-31 08:54:00應(yīng)捷韓旭
      軟件導(dǎo)刊 2017年5期

      應(yīng)捷 韓旭

      摘要摘要:為了使四旋翼無人機(jī)更加智能,控制更加簡便,需設(shè)計(jì)新的控制方式。語音識別技術(shù)發(fā)展日趨成熟,在信息處理和自動(dòng)化等領(lǐng)域應(yīng)用相當(dāng)廣泛。通過在Android設(shè)備上傳入語音命令操控四旋翼無人機(jī),調(diào)整飛行姿態(tài)、速度、方向,解放了人的雙手,實(shí)現(xiàn)了語音控制無人機(jī)飛行。不同環(huán)境下的測試結(jié)果表明,該系統(tǒng)功能良好。

      關(guān)鍵詞關(guān)鍵詞:四旋翼無人機(jī);Android;語音控制;語音識別技術(shù)

      DOIDOI:10.11907/rjdk.162849

      中圖分類號:TP319

      文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2017)005005403

      0引言

      無人機(jī)是一種機(jī)內(nèi)無人駕駛的飛行器,具有動(dòng)力裝置和傳感器等模塊,在一定范圍內(nèi)靠無線電遙控設(shè)備或由內(nèi)置程序自主控制飛行,自出現(xiàn)以來就受到發(fā)燒友的熱烈追捧,相關(guān)研究進(jìn)展迅速[1]。Android設(shè)備在移動(dòng)終端市場占有率較高,為使無人機(jī)控制方式更加簡便、智能化,本文在Android平臺設(shè)計(jì)了語音控制四旋翼無人機(jī)系統(tǒng)。

      1系統(tǒng)總體設(shè)計(jì)

      通過語音識別控制無人機(jī)的設(shè)計(jì)由硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分組成。其硬件結(jié)構(gòu)由動(dòng)力部分、姿態(tài)感知、控制部分、WiFi模塊、氣壓感知裝置5大部分組成[2];軟件部分基于萬維網(wǎng)聯(lián)盟的語音識別語法規(guī)范1.0標(biāo)準(zhǔn)(簡稱SRGS1.0),采用ABNF格式的文檔完成語音識別,識別結(jié)果經(jīng)軟件處理,匹配生成相應(yīng)的控制指令,通過手機(jī)WiFi功能發(fā)送到無人機(jī)端。無人機(jī)端通過TICC3200 WiFi模塊接收控制命令,在STM32F3的控制下驅(qū)動(dòng)電機(jī)完成用戶的相應(yīng)命令。控制器根據(jù)控制命令以及由傳感器組感知的無人機(jī)實(shí)時(shí)狀態(tài)數(shù)據(jù)(飛行姿態(tài)、高度、方向等),經(jīng)過姿態(tài)融合算法和控制算法運(yùn)算后調(diào)節(jié)電機(jī)轉(zhuǎn)速,從而實(shí)現(xiàn)按照人的語音控制命令來控制無人機(jī)[36]。圖1為系統(tǒng)設(shè)計(jì)原理。

      2硬件設(shè)計(jì)

      2.1飛控硬件模塊

      本設(shè)計(jì)選用市場上常用的F450四軸機(jī)架作無人機(jī)機(jī)架,選用SP Racing F3 飛控板作無人機(jī)控制器,負(fù)責(zé)檢測無人機(jī)姿態(tài)和加速度,控制無人機(jī)各項(xiàng)電機(jī)的轉(zhuǎn)速,從而控制無人機(jī)姿態(tài)和運(yùn)動(dòng)方向、控制WiFi模塊(或GSM模塊或藍(lán)牙模塊)進(jìn)行通信工作。SP Racing F3 飛控板以STM32F3處理器為核心,集成氣壓計(jì)、陀螺儀、加速度計(jì)、地磁計(jì),可加GPS、LED燈帶、聲納等配件,使定高、定點(diǎn)、翻滾等飛行姿態(tài)的開發(fā)工作變得十分簡便[34]。圖2為飛控主控制器系統(tǒng)電路。

      2.2無線傳輸模塊

      無人機(jī)通信模塊可選擇WiFi模塊、GSM模塊和藍(lán)牙模塊作為通信模塊,與Android終端通信。GSM模塊通信范圍廣,不管Android設(shè)備在哪都能進(jìn)行遠(yuǎn)程控制;如果要異地控制,可選用GSM模塊,但通信速率偏低;藍(lán)牙模塊成本低,功耗低,但通信范圍有限,不適合本使用場景;考慮到傳輸視頻圖像數(shù)據(jù)吞吐量大,且?guī)装倜淄ㄐ欧秶銐蚴褂?,而WiFi模塊通信速率高,所以選用WiFi模塊。本系統(tǒng)采用TI CC3300WiFi模塊,此模塊功耗極低,尺寸超小,高速UART波特率可達(dá)到3M bps。

      2.3語音識別端

      語音識別方案有很多,如LE3320模塊、ISD系列芯片以及PM系列芯片,雖然都具有語音識別功能,但是使用較繁瑣,除此之外PC和手機(jī)端的Microsoft系統(tǒng)集成語音識別功能雖然也可應(yīng)用于本系統(tǒng),但調(diào)試后發(fā)現(xiàn)效果不佳。相比之下安卓手機(jī)作為語音識別硬件,使用更方便,開源資料更豐富,識別效果更好,省去了繁瑣的語音訓(xùn)練過程,更加符合本系統(tǒng)設(shè)計(jì)。圖3為硬件設(shè)計(jì)框架。

      3軟件設(shè)計(jì)

      語音控制系統(tǒng)算法如DTW、HMM等都很成熟,主要采用單片機(jī)或DSP加上語音識別算法實(shí)現(xiàn)語音控制,這種控制方式通過內(nèi)部算法簡化了外部電路,同時(shí)語音識別精度也較高。但要求處理器具有較強(qiáng)的運(yùn)算分析能力,而且需要足夠大的外擴(kuò)存儲空間。

      本系統(tǒng)軟件設(shè)計(jì)由兩部分組成,分別是STM32處理器程序和Android應(yīng)用程序。STM32處理器程序是在Keil IDE開發(fā)環(huán)境下用C語言編寫,運(yùn)行在STM32主控制芯片中。STM32處理器代碼還包括控制器與外設(shè)通信的代碼編寫。Android應(yīng)用程序在eclipse+ADT環(huán)境下用JAVA語言開發(fā),編譯生成的APK文件運(yùn)行在安卓手機(jī)平臺[56]。

      Android手機(jī)由WiFi模塊實(shí)現(xiàn)和無人機(jī)通信并對其控制。首先,Android應(yīng)用程序向無人機(jī)發(fā)送配對請求及配對密碼,STM32通過WiFi收到配對請求并判斷密碼與預(yù)設(shè)值相同后,STM32對此請求應(yīng)答,Android應(yīng)用程序收到應(yīng)答后停止發(fā)送配對請求,至此配對過程結(jié)束。配對完成后,STM32周期性地將無人機(jī)傳感器的實(shí)時(shí)數(shù)據(jù)發(fā)送給Android應(yīng)用程序,Android應(yīng)用程序監(jiān)測WiFi信號并接收實(shí)時(shí)數(shù)據(jù),根據(jù)這些數(shù)據(jù)更新應(yīng)用程序顯示無人機(jī)狀態(tài)。應(yīng)用程序監(jiān)測WiFi信號的同時(shí)監(jiān)測語音信號,若識別出語音控制命令(包括開啟、關(guān)閉、前進(jìn)、后退、向左飛行、向右飛行、升高、下降),立即將控制命令發(fā)送至無人機(jī)。STM32收到控制命令后即根據(jù)控制命令做出相應(yīng)動(dòng)作。

      3.1SRGS1.0規(guī)范

      SRGS1.0規(guī)范等同于某些編程語言的正則表達(dá)式,它定義了一個(gè)句子的集合。解碼器將根據(jù)文法生成的集合,對語音輸入的句子進(jìn)行兩個(gè)部分的搜索,分別是文檔的頭部和文檔正文,文檔頭部必須出現(xiàn)在開頭部分,指定文檔版本號,與編譯工具對應(yīng)[7]。一個(gè)典型的頭部示例如下:

      #ABNF 1.0 UTF-8

      Mode SMS;Meta;

      #include;Mount “name”;

      Root main;

      #ABNF HEAD-END

      3.2Android端應(yīng)用程序設(shè)計(jì)

      Android應(yīng)用程序中監(jiān)聽語音命令方案:編寫基于萬維網(wǎng)聯(lián)盟的語音識別語法規(guī)范1.0標(biāo)準(zhǔn)(簡稱SRGS1.0),采用ABNF格式文檔,經(jīng)編譯工具處理生成匹配網(wǎng)絡(luò)。網(wǎng)絡(luò)作為匹配引擎輸入,可由匹配引擎對用戶語音輸入進(jìn)行匹配,啟動(dòng)手機(jī)內(nèi)置WiFi與外部WiFi模塊連接實(shí)現(xiàn)通信[8]。下面是安卓端語音轉(zhuǎn)換成指令的部分程序:

      ArrayList results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); for(int i=0;i<1;i++){

      strRet +=results.get(i);

      if(strRet.length()>0) {

      if(strRet.equals("向前")){

      strRet="1";

      }

      3.3STM32處理器端程序設(shè)計(jì)

      無人機(jī)端程序一方面將飛控搭載的傳感器模塊數(shù)據(jù)發(fā)送給安卓手機(jī)端,另一方面通過TICC3300模塊接收安卓平臺匹配后發(fā)來的飛行控制指令,將指令轉(zhuǎn)化為PWM定時(shí)器,生成飛控可識別的控制指令,發(fā)送給飛行器執(zhí)行模塊,執(zhí)行偏轉(zhuǎn)舵面或改變螺旋槳轉(zhuǎn)速或改變槳距,達(dá)到預(yù)期的飛行狀態(tài)。程序運(yùn)行中還包括各個(gè)模塊的初始化及通信[910]。下面是STM32PWM控制舵機(jī)的部分程序:

      Void IO_int(VOID)

      {

      RCC->APB2ENR|=1<<0;

      RCC->APB2ENR|=1<<2;

      RCC->APB2ENR|=1<<3;

      GPIOC->CRL=0X88888888;

      GPIO->CRH=0X33333333;

      GPIOC->ODR=OXFFFF;

      }

      4實(shí)驗(yàn)結(jié)果

      隨機(jī)分配3人在同一天的不同時(shí)間點(diǎn)進(jìn)行室外試飛,對無人機(jī)進(jìn)行語音控制,在不同環(huán)境下測試控制精度,得到數(shù)據(jù)如表1、表2所示(表中0表示起,1表示降,2表示向左,3表示向右,4表示懸停)。

      在相對嘈雜建筑物密集的市區(qū)會影響到WiFi信號的傳輸以及語音信號的接收。由于WiFi信號主要采用微波頻段,微波在遇到障礙物時(shí)穿透力不強(qiáng),因此會影響語音信號的傳輸,嘈雜的室外環(huán)境也會影響語音輸入的精度。測試結(jié)果顯示成功率達(dá)到84%,圖4為實(shí)物。

      5結(jié)語

      目前,絕大部分無人機(jī)采用手動(dòng)操作遙控方式,購買無人機(jī)時(shí)還要另購一個(gè)航模遙控器(價(jià)格幾百元不

      等),本文采用基于Android設(shè)備的語音控制方式大大簡化了操作,只需用語言傳達(dá)操控命令,通過手機(jī)端直接與無人機(jī)交互,節(jié)省了成本,使得無人機(jī)更加智能。

      圖4四旋翼無人機(jī)

      嵌入式語音控制系統(tǒng)主要采用內(nèi)嵌語音芯片方案,即在處理器外圍電路焊接語音芯片,語音芯片采集語音數(shù)據(jù),經(jīng)處理器讀取和分析后得到相關(guān)信息,開發(fā)難度高、工作繁瑣。本文利用基于Android設(shè)備的語音識別技術(shù)去控制系統(tǒng),大大簡化了開發(fā)過程,省去了嵌入式很多不必要的重復(fù)性工作。

      參考文獻(xiàn)參考文獻(xiàn):

      [1]潘海珠.四旋翼無人機(jī)自適應(yīng)導(dǎo)航控制[J].計(jì)算機(jī)仿真,2012,29(5) :98102.

      [2]周建軍,陳趨,崔麥金.無人直升機(jī)的發(fā)展及其軍事應(yīng)用[J].航空科學(xué)技術(shù),2003(1):3840.

      [3]華成英,童詩白.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2004.

      [4]莫力.Protel電路設(shè)計(jì)[M].北京:國防工業(yè)出版社,2005.

      [5]Speech recognition grammar specification version 1.0,W3C recommendation 16 March 2004[EB/OL].https://www.w3.org/TR/speechgrammar/.

      [6]張稀,土德銀,張晨.MSP430系列單片機(jī)實(shí)用C語言程序設(shè)計(jì)[M].北京:人民郵電出版社,2005.

      [7]D CROCKER ED.Augmented BNF for syntax specifications:ABNF,network working group[EB/OL].http://www.ietf.org/rfc/rfc2234.txt.pdf.

      [8]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2013.

      [9]譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,1999.

      [10]STM32F303xB STM32F303xC datasheet,STMicroelectronics[EB/OL].http://www.ic37.com/STMICROELECTRONICS/STM32F303VCT6_datasheet_12732065/.

      責(zé)任編輯(責(zé)任編輯:杜能鋼)

      邯郸县| 徐汇区| 石首市| 宾阳县| 海伦市| 通海县| 防城港市| 唐海县| 北宁市| 武冈市| 留坝县| 旬阳县| 鹿泉市| 正宁县| 株洲市| 贵南县| 肇庆市| 景德镇市| 兴安县| 苍山县| 信丰县| 凌云县| 博兴县| 明水县| 凤台县| 含山县| 乌什县| 读书| 铜川市| 潮安县| 巧家县| 阳曲县| 保亭| 淮北市| 曲阳县| 奉贤区| 昌吉市| 海林市| 白山市| 桦南县| 上杭县|