<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何利用TinyML實現語音識別機器人車的設計

科技觀察員 ? 來源:文森特·科克 ? 作者:文森特·科克 ? 2022-04-11 16:51 ? 次閱讀

在本文中,我將在 Wio 終端上制作一個帶有內置麥克風的聲控機器人車,以通過 TinyML 識別行駛、停止和背景噪音。

使用由 Edge Impulse 提供支持的 Codecraft 訓練了一個喚醒詞識別模型!

在這篇詳細的博客文章中,我將介紹以下內容:

什么是 UART 串??行通信?

Wio終端和uKit之間的UART串行通信探索

1.0 使用 Codecraft 訓練嵌入式機器學習模型

2.0 Arduino文本代碼修改

3.0 對機器人汽車進行編程(uKit 探索 - 基于 Arduino Mega 2560)

4.0 預期結果

什么是 UART 串??行通信?

通俗地說,UART 允許嵌入式設備(例如 Arduino)通過 TX(發送)和 RX(接收)線將數據發送到另一個 Arduino,如下所示。

poYBAGJT69uAWZIPAAEbOZX4TOA343.png

舉一個具體的例子:

Arduino UNO 沒有內置的 WiFi,因此不可能做 IOT 相關的項目。通過了解基本的 UART 串??行通信,我能夠利用ESP8266/ESP32作為 Arduino UNO 的協處理器,以便從連接到 Arduino UNO 的傳感器收集的數據將發送到 ESP8266/ESP32 發送轉移到云平臺,例如 Web 服務器、Blynk 或 FAVORIOT。

Wio終端和uKit之間的UART串行通信探索

Wio 終端的 TX 和 RX 引腳在引腳 8和10上可用。

TXD - 引腳 8

RXD - 引腳 10

pYYBAGJT69iAV5pFAAMkV0o58ag124.png

而對于 uKit Explore,引腳 D0 和 D1 上也有可用的 TX/RX 引腳。您可以在此處查看完整的 uKit 探索引腳排列

RX0 - D0

TX0 - D1

poYBAGJT69OAdW2XAAT4-qQk-eA588.png

對于硬件連接,基本上,您只需要如下連接:

Wio 終端(引腳 8)到 uKit 探索(引腳 0) - TXD 到 RXD

Wio 終端(引腳 10)到 uKit 探索(引腳 1) - RXD 到 TXD

我將詳細解釋軟件編程如何在 3.0 Program the Robot Car(uKit Explore - Arduino Mega 2560 based)上完成。

第 1 步:使用 Codecraft 訓練嵌入式機器學習模型

在第一部分中,我們的目標是使用 Codecraft 平臺創建一個嵌入式機器學習模型(語音識別)。

使用 Codecraft 訓練嵌入式機器學習模型涉及 4 個步驟。

1.創建“喚醒詞識別(內置麥克風)”模型

2.數據采集(車載)

3.培訓和部署

4.編程與模型使用

創建“喚醒詞識別(內置麥克風)”模型轉到https://ide.tinkergen.com/。選擇“(對于 TinyML)Wio 終端”。

pYYBAGJT686APoH3AAJMS00wbFs693.png

點擊左中嵌入式機器學習框上的“模型創建”。然后選擇“Wake-Up Words Recognition(內置麥克風)”,如下圖。根據需求輸入模型名稱。

poYBAGJT68uAD88QAAGJyZLE7P0872.png

點擊確定,窗口會自動切換到“數據采集”界面。

第 2 步:數據采集(車載)

pYYBAGJT68aABXJZAAIKM-3odkY814.png

系統會自動為您創建 3 個默認標簽(hi wio、background 和其他詞)。

除非您想為標簽使用不同的名稱,否則您可以不加任何更改地使用它。就我而言,我更改了兩個默認標簽,如下所示:

hi wio 刪掉

其他詞改成停止

重要提示:現在,您必須記住更改默認數據采集程序上的標簽以反映正確的修改標簽

pYYBAGJT68OAVjCUAAN_c4gBVAk283.png

連接 Wio 終端和上傳數據采集程序。

注意:您需要下載“ Codecraft Assistant ”才能在Codecraft在線IDE上連接和上傳代碼。

數據采集??:在右上角的超鏈接中,您將找到數據采集的分步介紹。按照說明根據修改后的標簽收集數據。

第 3 步:培訓和部署

點擊“Training & Deployment”,您將看到如下圖所示的模型訓練界面。

pYYBAGJT67-AP5X2AAHb6SOFrEg301.png

選擇神經網絡參數。選擇合適的神經網絡大?。盒?、中、大

設置參數:

訓練周期數(正整數),

學習率(從 0 到 1 的數字)

最小置信度(從 0 到 1 的數字)

接口提供了50個訓練周期的默認參數值,但是準確度不是很好。因此,我將訓練周期更改為 100。

poYBAGJT67mAbmzWAAGnp60IgFU108.png

點擊“開始訓練”。單擊“開始訓練”時,窗口將顯示“正在加載?!?!等待訓練完成!

觀察模型性能以選擇理想模型。在“模型訓練報告”窗口中,您可以觀察訓練結果,包括模型的準確率、損失和性能。

pYYBAGJT67WAd6SiAAECHERQyPs833.png

在“模型訓練報告”窗口中,點擊“模型部署”。部署完成后,單擊“確定”進入“編程”窗口,這是我們將模型部署到 Wio 終端之前的最后一步。

poYBAGJT67GAMn3lAAD4aDxFAgU966.png

第 4 步:編程和模型使用

好的,現在我們完成了使用 UART通信協議將人工智能(在本例中為機器學習)與機器人(機器人汽車)集成的模型和有趣的部分。

這是從塊編程接口創建的示例程序:

pYYBAGJT66yARubtAARFSEssNkE936.png

我們使用 if-else 條件語句來評估標簽的置信度。

如果“go”的置信度大于0.8(80%),我會在串口終端打印“1”。

如果“停止”的置信度大于 0.8(80%),我會在串口終端上打印“2”。

否則,如果“背景”的置信度大于0.8(80%),我會在串口終端上打印“0”。

好的,所以現在,只需記住 3 個不同的條件:

“go” 》 0.8,命令為 ‘1’

“停止”》 0.8,命令為“2”

“背景”。命令是‘0’

2.0 Wio終端Arduino文本代碼修改

好的,所以請注意以下兩個重要發現,因為這將是我們項目的關鍵部分!

您可以從 Wio Temrinal 的 40 針接頭訪問的串行線是 Serial1,而不是通常的 Serial,后者基本上通過串行終端顯示輸出。

我們在引腳 8 和 10 上提供了 TX/RX 引腳,可用于連接到另一塊電路板(本例中為 uKit 探索)。

poYBAGJT66eAX5OGAALu6YmLFP0814.png

如果我們查看相應塊代碼的文本編碼,您會注意到 Serial.print 沒有使用 Serial1 行。因此,這導致我們進入第二步,即繼續在 Arduino IDE 上進行編碼以進行定制。

pYYBAGJT66OAIVZjAAKRgtKjJD8158.png

切換到文本代碼區域并復制文本代碼

在文本代碼區域,按 CTRL + A 復制所有代碼以選擇所有代碼。

打開 Arduino IDE,創建一個新文件,按 CTRL+V 將代碼粘貼到空草圖中。繼續以所需名稱保存草圖。

pYYBAGJT65-AV6YcAAIqCfsB5DA108.png

復制 Edge Impulse TinyML Arduino 庫

導航到 C:\Users\《User_Name》\AppData\Local\Programs\cc-assistant\resources\compilers\Arduino\contents\libraries

找到與 Arduino 文本代碼頂部的 Edge Impulse 頭文件具有相同編號的文件夾名稱(在我的情況下為 47606)。

pYYBAGJT65uACPkeAAKiAiEwAEw622.png

復制整個 ei-project_47606 文件夾并將其粘貼到 C:\Users\《User_Name》\Documents\Arduino\libraries\

pYYBAGJT65iAVUZtAAEp4xoL6oE763.png

修改 Serial.println 函數

改為將 Serial.println 函數修改為 Serial1.println。

pYYBAGJT65KAGoOrAAQX1oxW3SI969.png

上傳代碼

確保您已安裝 Wio 端子板支持包。如果沒有,請參閱Seeed Wiki 上的“ Wio 終端入門”指南。

在將代碼上傳到 Wio 終端之前,請確保選擇了正確的板和 COM 端口。

poYBAGJT642AW6vdAAOGcv1D1fc299.png

第 4 步:對機器人汽車進行編程(uKit 探索 - 基于 Arduino Mega 2560)

我們將對基于 uKit Explore 的 Robot Car 進行編程。

uKit 簡介探索

讓我讓您了解一下這個 uKit Explore 的內容。

uKit Explore 是 UBTECH Robotics 制造的機器人套件,它基于 Arduino 生態系統(芯片組為 Arduino 2560)。

“uKit Explore 有一個主控箱,配備 Arduino 開源平臺,提供來自全球用戶貢獻的大量電子和編程學習資源?!?/p>

pYYBAGJT64iAesu5AAT4RJNtUW8505.png

編程 uKit Explore 以讀取 UART 數據

現在,我們需要對 Robo Car 進行編程,使其在收到來自 Wio Terminal 的命令“1”、“2”和“0”時根據不同的條件采取行動。

這里的關鍵概念是,如果它包含任何數據,我們將需要讓 uKit Explore繼續偵聽串行線。如果它確實包含串行數據,則串行讀取數據并將其分配給一個變量。最后一步是我們將比較變量并執行不同的操作。

對于我們的案例,當 uKit 探索

收到命令“1”(go),RoboCar 將向前移動;

收到命令‘2’(停止),它將停止;

收到命令‘0’(背景),它也會停止。

pYYBAGJT64WAIl5MAAPZSPuKLnw816.png

上傳代碼

最后,我們將代碼上傳到板上。與往常一樣,請確保在上傳之前選擇了正確的板和 COM 端口。

最后,Robo Car 可以通過語音“go,go,go”激活,并通過“stopppps.。。?!被颉癰ackground”停止。達到我們想要的目標!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5006

    文章

    18444

    瀏覽量

    292170
  • 語音識別
    +關注

    關注

    38

    文章

    1651

    瀏覽量

    111959
  • uart
    +關注

    關注

    22

    文章

    1163

    瀏覽量

    100288
收藏 人收藏

    評論

    相關推薦

    SPCE061A語音識別機器人應用方案

    為了提高廣大單片機愛好者學習單片機的興趣,凌陽科技大學計劃教育推廣中心推出了應用SPCE061A作為主控制器,外加電機驅動電路制作的語音識別機器人。該機器人采用特定人
    發表于 03-08 17:09

    智能避障語音遙控機器人

    我們設計的這款智能機器人,通過語音識別功能對智能機器人進行遙控,遙控的語音指令有前進、后退、左拐、右拐等運動控制指令,另外還加入一個音頻播放
    發表于 10-26 22:50

    會物體識別語音識別的nao機器人

    ` nao機器人識別大量物體和自動語音識別,并可通過Choregraphe軟件保存物體信息和語音。此后,當它再次看到已保存的物體時或需要與
    發表于 02-13 14:09

    【Aworks申請】家庭服務機器人

    申請理由:以開發板為處理器,利用深度傳感器Kinect,實現家庭服務機器人的 物體識別技術、人體識別技術、動態不確定環境下的自定位、地圖創建
    發表于 07-19 23:33

    智能語音機器人

    與人工智能系統算法設計;與國內外同類研究的比較:1.該機器人能與人進行簡單的語言交流,能夠識別部分方言;2.能夠多平臺控制:語音控制,手機控制,電腦控制; 3.搭載多種傳感器,隨時知道當地溫度、濕度
    發表于 12-02 19:08

    51版游高鐵機器人

    游高鐵機器人是中國教育機器人大賽的標準競賽平臺,主要面向大學和高職用戶。機器人利用前后端的安裝的QTI傳感器進行雙向循線,到達比賽規則要求的各景點,通過RFID讀卡器
    發表于 03-29 09:46

    企鵝機器人是怎么樣的?

    ,可以實現企鵝機器人對前方障礙物的識別,從而實現企鵝機器人的智能避障和互動表演。重要技術點:行走結構、行走步態、
    發表于 03-29 17:29

    游高鐵機器人套件介紹-鷗鵬科技

    名稱。C51機器人游高鐵小車能從一個指定高鐵站到指定終點站自動選擇最簡便的路程方式,實現快速,精準。 重要技術點:循線算法、語音播放、電子標簽識別、矢量控制算法
    發表于 04-01 15:26

    請問電銷機器人智能語音識別的原理是什么?

    一個人們最為關心的問題大概就是,電銷機器人如何做到語音識別,通俗來講,就是電銷機器人如何“聽懂”人們說話?其實語音
    發表于 06-12 14:03

    AI語音智能機器人開發實戰

    ) "AI語音識別機器人"前后臺通信協議實現(4) "AI語音識別
    發表于 01-04 11:48

    機器人如何識別?

    現在想做機器人圖像識別方面的研究,有問題請教大家,比如說:現在有十種瓶子,機器人識別我指定的瓶子,并把它從A位置移動到B位置,關鍵是如何識別
    發表于 11-04 09:02

    【 平頭哥CB5654語音開發板試用連載】智能語音識別機器人

    項目名稱:智能語音識別機器人試用計劃:使用開發板完成智能機器人設計,預期達到的目標可以語音控制機器人
    發表于 03-13 16:19

    使用旅游機器人需要注意哪些問題?

    、講解互動功能  新型的旅游機器人,可以在公共場與游客互動交流,與人進行實時語音對話,通過語音識別、屏交互等方式,為人提供智能化、人性化的
    發表于 06-12 17:04

    【HarmonyOS HiSpark AI Camera】基于圖像的手語識別機器人系統

    項目名稱:基于圖像的手語識別機器人系統試用計劃:申請理由本人是物聯網專業在校大學生,疫情期間曾設計過基于勘智K210的口罩人臉離線識別打卡門禁系統,熟悉使用tensorflow lite iot部署
    發表于 09-25 10:11

    【HarmonyOS HiSpark AI Camera】廳堂機器人

    項目名稱:廳堂機器人試用計劃:申請理由:機器人項目集成攝像頭實現人臉識別跟隨,熟悉鴻蒙系統。項目名稱:廳堂機器人項目計劃:一個月內
    發表于 11-19 20:49
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>