2024-07-31 |Annabel Ng
在該項(xiàng)目的[上一篇博客文章]中,我介紹了運(yùn)行機(jī)器人電機(jī)、處理音頻信號(hào)和調(diào)節(jié)電壓所需的電路的基礎(chǔ)知識(shí)。然而,機(jī)器人還沒(méi)有完全完成!盡管機(jī)器人可以正確移動(dòng)輪子并識(shí)別音頻信號(hào),但它仍然無(wú)法通過(guò)語(yǔ)音命令控制或按預(yù)定義路徑行駛。
線(xiàn)性控制模型
首先要解決的問(wèn)題是實(shí)現(xiàn)直線(xiàn)驅(qū)動(dòng)。為此,我們使用線(xiàn)性模型來(lái)控制提供給車(chē)輪的電壓。使用線(xiàn)性模型適合對(duì)汽車(chē)系統(tǒng)進(jìn)行建模,因?yàn)榫€(xiàn)性系統(tǒng)更容易分析,并且我們可以通過(guò)找到具有近似線(xiàn)性行為的工作點(diǎn)來(lái)估計(jì)真實(shí)系統(tǒng)。對(duì)于我們的每個(gè)車(chē)輪,我們使用以下模型,其中 v 代表速度,d 代表編碼器測(cè)量的刻度數(shù),u 代表 PWM 信號(hào)傳遞的電壓,theta 代表輸入電壓的變化以改變速度變化,beta 代表一些常數(shù)。
為了測(cè)試不同的數(shù)據(jù)收集速度,我們改變了脈寬調(diào)制信號(hào) (PWM) 的占空比,這些信號(hào)是具有可變“開(kāi)啟”時(shí)間的方波。這些占空比代表信號(hào)所花費(fèi)的時(shí)間百分比,使我們能夠控制 PWM 信號(hào)的平均電壓。這對(duì)于電機(jī)等系統(tǒng)特別有用,您可以[在此處]閱讀有關(guān) PWM 周期的更多信息!例如,占空比為 0.75 的 5V 信號(hào)會(huì)產(chǎn)生 3.75V 的平均電壓,因此通過(guò)循環(huán)不同的占空比,我們可以輕松測(cè)試不同特定電壓對(duì)汽車(chē)速度的影響。
最小二乘法
為了選擇直線(xiàn)驅(qū)動(dòng)機(jī)器人的運(yùn)行速度,我們首先收集 50 到 250 個(gè) PWM 周期的一些粗輪速度數(shù)據(jù),然后查看數(shù)據(jù)圖表以觀(guān)察數(shù)據(jù)的近似線(xiàn)性范圍。確定特定的 PWM 范圍后,我們重新運(yùn)行數(shù)據(jù)收集并對(duì)左右車(chē)輪速度應(yīng)用最小二乘模型。最小二乘法的工作原理是找到一個(gè)線(xiàn)性方程,最小化到給定數(shù)據(jù)點(diǎn)的平方距離。這種最小二乘模型使我們能夠控制輸入 PWM 電壓,從而線(xiàn)性控制速度。
閉環(huán)反饋
然而,最小二乘法是一個(gè)開(kāi)環(huán)系統(tǒng),這意味著它不會(huì)響應(yīng)外部反饋。這種開(kāi)環(huán)系統(tǒng)使機(jī)器人沿圓周行駛,而不是沿所需的直線(xiàn)行駛。一旦我們將反饋?zhàn)兞考{入系統(tǒng)中,使其成為閉環(huán)系統(tǒng),兩個(gè)車(chē)輪就會(huì)以相等的速度驅(qū)動(dòng),從而使汽車(chē)直線(xiàn)行駛。我們的閉環(huán)系統(tǒng)必須是穩(wěn)定的,這意味著系統(tǒng)特征值的大小必須小于 1。最后,為了實(shí)現(xiàn)轉(zhuǎn)彎,我們必須采用圓弧的幾何形狀,并考慮到左圓弧之間行駛距離的差異。和右輪。
現(xiàn)在我們的機(jī)器人可以直行并左右轉(zhuǎn)彎,下一步就是建立語(yǔ)音分類(lèi)模型。由于不同的單詞有不同的波形,我們選擇了 4 個(gè)具有不同音節(jié)和聲音的單詞,以產(chǎn)生不同的波形。我們使用機(jī)器人上的麥克風(fēng)將每個(gè)單詞錄制 50 次,預(yù)處理數(shù)據(jù),然后將數(shù)據(jù)分成訓(xùn)練和測(cè)試部分。我們通過(guò)垂直堆疊數(shù)據(jù)、貶低數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行奇異值分解(SVD)來(lái)構(gòu)建矩陣。
這是分解任意矩陣的 SVD 方程:
對(duì)數(shù)據(jù)進(jìn)行 SVD 使我們能夠找到數(shù)據(jù)的“本質(zhì)”,或者從頭開(kāi)始重建數(shù)據(jù)最重要的數(shù)據(jù)。我們可以通過(guò)選擇前 3 個(gè)主成分作為新的矩陣基礎(chǔ)來(lái)找到這些重要成分。將數(shù)據(jù)投影到這個(gè)新的基礎(chǔ)上后,數(shù)據(jù)分裂成不同的簇,使我們能夠找到每個(gè)簇的中心,也稱(chēng)為質(zhì)心。然后,我們使用這些質(zhì)心對(duì)我們的測(cè)試點(diǎn)進(jìn)行分類(lèi):分類(lèi)的工作原理是找到從測(cè)試點(diǎn)到質(zhì)心的歐幾里得距離并將其與閾值進(jìn)行比較 - 如果距離小于閾值,則該點(diǎn)將被分類(lèi)為相同的點(diǎn)類(lèi)作為該特定質(zhì)心。一旦我們有了很強(qiáng)的模型準(zhǔn)確性,我們就在 Arduino 上使用這個(gè)模型來(lái)測(cè)試實(shí)時(shí)分類(lèi)。
這是我們選擇的四個(gè)單詞的簇的圖像:狗、拉布拉多、柯基犬、汽油。這些簇非常不同且分離,因此可以輕松創(chuàng)建基于歐幾里德距離的準(zhǔn)確分類(lèi)模型。
當(dāng)機(jī)器人能夠成功地直線(xiàn)行駛、轉(zhuǎn)向不同方向以及對(duì)語(yǔ)音命令進(jìn)行分類(lèi)之后,就到了將所有內(nèi)容組合在一起的時(shí)候了。集成涉及將運(yùn)動(dòng)命令添加到分類(lèi)程序中,因此如果 Arduino 將某個(gè)詞分類(lèi)為“直”,則相應(yīng)的運(yùn)動(dòng)將是直行。經(jīng)過(guò)大量測(cè)試和調(diào)整響度和歐幾里德閾值,我們的機(jī)器人終于工作了!這是整個(gè)學(xué)期學(xué)習(xí)電路、控制系統(tǒng)和 PCA 的成果,看到它的實(shí)際應(yīng)用真是太酷了。
這是完成的機(jī)器人的圖像!
如果我再次做這個(gè)項(xiàng)目,我會(huì)嘗試以更高層次的視角來(lái)研究它,而不是總是試圖關(guān)注較小的細(xì)節(jié)。有時(shí),我太沉迷于實(shí)際構(gòu)建電路或編碼算法,以至于忘記了電路在大局中的作用,直到最后我才對(duì)所有組件有了更好的欣賞。進(jìn)入了這個(gè)項(xiàng)目。有幾周我還害怕實(shí)驗(yàn)室,因?yàn)槲抑肋@需要實(shí)驗(yàn)室的整整三個(gè)小時(shí)甚至更多,但我會(huì)提醒自己最終產(chǎn)品,并且我非常感激有機(jī)會(huì)將我所學(xué)到的知識(shí)應(yīng)用到這個(gè)項(xiàng)目中!
特別感謝我的實(shí)驗(yàn)室合作伙伴 Eric Wen(他也是加州大學(xué)伯克利分校 EECS 的學(xué)生),以及使學(xué)習(xí)所有這些內(nèi)容成為可能的課程工作人員!所有數(shù)據(jù)均來(lái)自官方網(wǎng)站[https://www.eecs16b.org/]。
審核編輯 黃宇
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29748瀏覽量
212888 -
PWM
+關(guān)注
關(guān)注
116文章
5521瀏覽量
219410 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8503瀏覽量
134619 -
語(yǔ)音控制
+關(guān)注
關(guān)注
5文章
497瀏覽量
28809 -
線(xiàn)性模型
+關(guān)注
關(guān)注
0文章
9瀏覽量
7927
發(fā)布評(píng)論請(qǐng)先 登錄
Al大模型機(jī)器人
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人大模型
SPCE061A語(yǔ)音識(shí)別機(jī)器人應(yīng)用方案
智能避障語(yǔ)音遙控機(jī)器人
會(huì)物體識(shí)別和語(yǔ)音識(shí)別的nao機(jī)器人
智能語(yǔ)音機(jī)器人
企鵝機(jī)器人是怎么樣的?
AI語(yǔ)音智能機(jī)器人開(kāi)發(fā)實(shí)戰(zhàn)
機(jī)器人基礎(chǔ)書(shū)籍
ROS環(huán)境下控制Baxter機(jī)器人的學(xué)習(xí)記錄
“協(xié)作機(jī)器人”如何快速處理傳感器數(shù)據(jù)
四足機(jī)器人的機(jī)構(gòu)設(shè)計(jì)
機(jī)器人技術(shù)和機(jī)器學(xué)習(xí)
將Simulink模型與Lego機(jī)器人結(jié)合使用
語(yǔ)音機(jī)器人的構(gòu)建

評(píng)論