0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

構(gòu)建語音控制機器人 - 線性模型和機器學(xué)習(xí)

海闊天空的專欄 ? 來源:Annabel Ng ? 作者:Annabel Ng ? 2024-10-02 16:31 ? 次閱讀

2024-07-31 |Annabel Ng

在該項目的[上一篇博客文章]中,我介紹了運行機器人電機、處理音頻信號和調(diào)節(jié)電壓所需的電路的基礎(chǔ)知識。然而,機器人還沒有完全完成!盡管機器人可以正確移動輪子并識別音頻信號,但它仍然無法通過語音命令控制或按預(yù)定義路徑行駛。

線性控制模型

首先要解決的問題是實現(xiàn)直線驅(qū)動。為此,我們使用線性模型來控制提供給車輪的電壓。使用線性模型適合對汽車系統(tǒng)進行建模,因為線性系統(tǒng)更容易分析,并且我們可以通過找到具有近似線性行為的工作點來估計真實系統(tǒng)。對于我們的每個車輪,我們使用以下模型,其中 v 代表速度,d 代表編碼器測量的刻度數(shù),u 代表 PWM 信號傳遞的電壓,theta 代表輸入電壓的變化以改變速度變化,beta 代表一些常數(shù)。

構(gòu)建語音控制機器人 - 線性模型和機器學(xué)習(xí)

為了測試不同的數(shù)據(jù)收集速度,我們改變了脈寬調(diào)制信號 (PWM) 的占空比,這些信號是具有可變“開啟”時間的方波。這些占空比代表信號所花費的時間百分比,使我們能夠控制 PWM 信號的平均電壓。這對于電機等系統(tǒng)特別有用,您可以[在此處]閱讀有關(guān) PWM 周期的更多信息!例如,占空比為 0.75 的 5V 信號會產(chǎn)生 3.75V 的平均電壓,因此通過循環(huán)不同的占空比,我們可以輕松測試不同特定電壓對汽車速度的影響。

最小二乘法

為了選擇直線驅(qū)動機器人的運行速度,我們首先收集 50 到 250 個 PWM 周期的一些粗輪速度數(shù)據(jù),然后查看數(shù)據(jù)圖表以觀察數(shù)據(jù)的近似線性范圍。確定特定的 PWM 范圍后,我們重新運行數(shù)據(jù)收集并對左右車輪速度應(yīng)用最小二乘模型。最小二乘法的工作原理是找到一個線性方程,最小化到給定數(shù)據(jù)點的平方距離。這種最小二乘模型使我們能夠控制輸入 PWM 電壓,從而線性控制速度。

構(gòu)建語音控制機器人 - 線性模型和機器學(xué)習(xí)

閉環(huán)反饋

然而,最小二乘法是一個開環(huán)系統(tǒng),這意味著它不會響應(yīng)外部反饋。這種開環(huán)系統(tǒng)使機器人沿圓周行駛,而不是沿所需的直線行駛。一旦我們將反饋變量納入系統(tǒng)中,使其成為閉環(huán)系統(tǒng),兩個車輪就會以相等的速度驅(qū)動,從而使汽車直線行駛。我們的閉環(huán)系統(tǒng)必須是穩(wěn)定的,這意味著系統(tǒng)特征值的大小必須小于 1。最后,為了實現(xiàn)轉(zhuǎn)彎,我們必須采用圓弧的幾何形狀,并考慮到左圓弧之間行駛距離的差異。和右輪。

現(xiàn)在我們的機器人可以直行并左右轉(zhuǎn)彎,下一步就是建立語音分類模型。由于不同的單詞有不同的波形,我們選擇了 4 個具有不同音節(jié)和聲音的單詞,以產(chǎn)生不同的波形。我們使用機器人上的麥克風(fēng)將每個單詞錄制 50 次,預(yù)處理數(shù)據(jù),然后將數(shù)據(jù)分成訓(xùn)練和測試部分。我們通過垂直堆疊數(shù)據(jù)、貶低數(shù)據(jù)并對該數(shù)據(jù)進行奇異值分解(SVD)來構(gòu)建矩陣。

這是分解任意矩陣的 SVD 方程:

構(gòu)建語音控制機器人 - 線性模型和機器學(xué)習(xí)

對數(shù)據(jù)進行 SVD 使我們能夠找到數(shù)據(jù)的“本質(zhì)”,或者從頭開始重建數(shù)據(jù)最重要的數(shù)據(jù)。我們可以通過選擇前 3 個主成分作為新的矩陣基礎(chǔ)來找到這些重要成分。將數(shù)據(jù)投影到這個新的基礎(chǔ)上后,數(shù)據(jù)分裂成不同的簇,使我們能夠找到每個簇的中心,也稱為質(zhì)心。然后,我們使用這些質(zhì)心對我們的測試點進行分類:分類的工作原理是找到從測試點到質(zhì)心的歐幾里得距離并將其與閾值進行比較 - 如果距離小于閾值,則該點將被分類為相同的點類作為該特定質(zhì)心。一旦我們有了很強的模型準(zhǔn)確性,我們就在 Arduino 上使用這個模型來測試實時分類。

這是我們選擇的四個單詞的簇的圖像:狗、拉布拉多、柯基犬、汽油。這些簇非常不同且分離,因此可以輕松創(chuàng)建基于歐幾里德距離的準(zhǔn)確分類模型。

構(gòu)建語音控制機器人 - 線性模型和機器學(xué)習(xí)

當(dāng)機器人能夠成功地直線行駛、轉(zhuǎn)向不同方向以及對語音命令進行分類之后,就到了將所有內(nèi)容組合在一起的時候了。集成涉及將運動命令添加到分類程序中,因此如果 Arduino 將某個詞分類為“直”,則相應(yīng)的運動將是直行。經(jīng)過大量測試和調(diào)整響度和歐幾里德閾值,我們的機器人終于工作了!這是整個學(xué)期學(xué)習(xí)電路、控制系統(tǒng)和 PCA 的成果,看到它的實際應(yīng)用真是太酷了。

這是完成的機器人的圖像!

構(gòu)建語音控制機器人 - 線性模型和機器學(xué)習(xí)

如果我再次做這個項目,我會嘗試以更高層次的視角來研究它,而不是總是試圖關(guān)注較小的細節(jié)。有時,我太沉迷于實際構(gòu)建電路或編碼算法,以至于忘記了電路在大局中的作用,直到最后我才對所有組件有了更好的欣賞。進入了這個項目。有幾周我還害怕實驗室,因為我知道這需要實驗室的整整三個小時甚至更多,但我會提醒自己最終產(chǎn)品,并且我非常感激有機會將我所學(xué)到的知識應(yīng)用到這個項目中!

特別感謝我的實驗室合作伙伴 Eric Wen(他也是加州大學(xué)伯克利分校 EECS 的學(xué)生),以及使學(xué)習(xí)所有這些內(nèi)容成為可能的課程工作人員!所有數(shù)據(jù)均來自官方網(wǎng)站[https://www.eecs16b.org/]。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關(guān)注

    關(guān)注

    210

    文章

    28078

    瀏覽量

    205776
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    114

    文章

    5115

    瀏覽量

    213116
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8343

    瀏覽量

    132286
  • 語音控制
    +關(guān)注

    關(guān)注

    5

    文章

    481

    瀏覽量

    28211
  • 線性模型
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7797
收藏 人收藏

    評論

    相關(guān)推薦

    Al大模型機器人

    豐富的知識儲備。它們可以涵蓋各種領(lǐng)域的知識,并能夠回答相關(guān)問題。靈活性與通用性: AI大模型機器人具有很強的靈活性和通用性,能夠處理各種類型的任務(wù)和問題。持續(xù)學(xué)習(xí)和改進: 這些模型可以
    發(fā)表于 07-05 08:52

    SPCE061A語音識別機器人應(yīng)用方案

    為了提高廣大單片機愛好者學(xué)習(xí)單片機的興趣,凌陽科技大學(xué)計劃教育推廣中心推出了應(yīng)用SPCE061A作為主控制器,外加電機驅(qū)動電路制作的語音識別機器人。該
    發(fā)表于 03-08 17:09

    智能避障語音遙控機器人

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

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

    是nao機器人的偉大之處。面部探測與識別這是最廣為人知的一項互動功能。nao機器人可探測并學(xué)習(xí)記憶不同的面部,此后,它可對其進行識別。語音合成nao
    發(fā)表于 02-13 14:09

    智能語音機器人

    ` 本帖最后由 星希望532 于 2015-12-2 20:06 編輯 作品名稱:基于微型操作系統(tǒng)的智能多平臺控制語音機器人http://v.youku.com/v_show
    發(fā)表于 12-02 19:08

    企鵝機器人是怎么樣的?

    企鵝機器人由BS2控制控制兩個角度舵機實現(xiàn)模擬企鵝的行走,包括前進,后退與轉(zhuǎn)向,同時還可以控制另外兩個角度舵機模擬企鵝翅膀的動作;語音播放
    發(fā)表于 03-29 17:29

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

    一個人們最為關(guān)心的問題大概就是,電銷機器人如何做到語音識別,通俗來講,就是電銷機器人如何“聽懂”人們說話?其實語音識別技術(shù)是人工智能的一項基礎(chǔ)研究,但同時也是多年來一直橫亙在研究者面前
    發(fā)表于 06-12 14:03

    AI語音智能機器人開發(fā)實戰(zhàn)

    第四期直播PPT下載:第三期直播PPT+程序下載:第二期直播PPT下載:第一期直播PPT下載:主題簡介及亮點:以AI智能語音陪護機器人為載體,徹底講解整個機器人研發(fā)的全流程,從開發(fā)環(huán)境搭建、到軟硬件
    發(fā)表于 01-04 11:48

    機器人基礎(chǔ)書籍

    列舉部分學(xué)習(xí)過程中接觸的部分書籍,部分有中文版,部分有更新版本。1.機器人基礎(chǔ)書籍適合入門的書籍:機器人學(xué)機器人建模規(guī)劃與控制
    發(fā)表于 05-22 06:53

    ROS環(huán)境下控制Baxter機器人學(xué)習(xí)記錄

    1、前記:這篇博文為自己學(xué)習(xí)是的記錄,做這一切的目的就是熟悉ROS環(huán)境下如何控制Baxter機器人做運動。以便將來對其控制的擴展,如基于視覺(單目,雙目,或Kinect)交互的
    發(fā)表于 05-28 07:50

    “協(xié)作機器人”如何快速處理傳感器數(shù)據(jù)

    無論是傳統(tǒng)的工業(yè)機器人系統(tǒng),還是當(dāng)今最先進的協(xié)作機器人(Cobot),它們都要依靠可生成大量高度可變數(shù)據(jù)的傳感器。這些數(shù)據(jù)有助于構(gòu)建更佳的機器學(xué)習(xí)
    發(fā)表于 08-05 07:08

    四足機器人的機構(gòu)設(shè)計

    機器人結(jié)構(gòu)本體能夠有效承受運動沖擊、模擬四足動物運動的先決條件;高性能驅(qū)動器為機器人運動提供足夠動力,行走穩(wěn)定性控制負責(zé)協(xié)調(diào)多個關(guān)節(jié)驅(qū)動器,實現(xiàn)機器人穩(wěn)定行走;強化
    發(fā)表于 09-15 06:54

    機器人技術(shù)和機器學(xué)習(xí)

    機器人技術(shù)和機器學(xué)習(xí)正成為嵌入式系統(tǒng)硬件和軟件供應(yīng)商的下一個重大事件。嵌入式系統(tǒng)可以通過網(wǎng)絡(luò)連接和物聯(lián)網(wǎng)(IoT)來傳遞信息、共享資源。無論是智能,低能耗,邊緣設(shè)備,中間網(wǎng)關(guān)還是計算節(jié)點,都需要
    發(fā)表于 12-20 06:03

    將Simulink模型與Lego機器人結(jié)合使用

    。Simulink工廠和控制模型與LEGO的最新高科技機器人(基于ARM的LEGO Mindstorms NXT)一起使用,以說明基于模型的設(shè)計與生產(chǎn)代碼生成的工業(yè)應(yīng)用。注意
    發(fā)表于 12-20 07:15

    語音機器人構(gòu)建

    電子發(fā)燒友網(wǎng)站提供《語音機器人構(gòu)建.zip》資料免費下載
    發(fā)表于 07-06 09:59 ?0次下載
    <b class='flag-5'>語音</b><b class='flag-5'>機器人</b>的<b class='flag-5'>構(gòu)建</b>