設(shè)計(jì)一款機(jī)器狗:對(duì)不同的音調(diào)頻率和游戲控制器都有反應(yīng)
狗被廣泛認(rèn)為是人類最好的朋友,這是有充分理由的——它們忠誠(chéng),和它們一起玩很有趣,而且會(huì)認(rèn)真地聽命令。但任何養(yǎng)過狗或照顧過狗的人都知道,照顧狗是一項(xiàng)繁重的工作。他們總是需要食物和水。即使在極熱或極冷的天氣里,它們也需要持續(xù)的散步。如果有一種方法可以獲得狗的所有好處而沒有缺點(diǎn)就好了!
我們介紹創(chuàng)新的機(jī)器狗,RoboRex!RoboRex通過不同的音調(diào)頻率和游戲控制器對(duì)指令做出專注而快速的反應(yīng)。它有能力對(duì)三種不同的音調(diào)頻率做出反應(yīng),實(shí)現(xiàn)很酷的技巧,比如移動(dòng)它的手臂,揮舞它的手臂,跟隨它的主人,吠叫!主人還可以用游戲控制器直接控制RoboRex的動(dòng)作,有效地控制它的方向和速度。RoboRex能夠穿越多種地形模式,使其能夠在任何地方使用。
功能:爪子運(yùn)動(dòng)和吠叫
利用附加的伺服電機(jī)和蜂鳴器,RoboRex能夠?qū)⑹直巯蛳乱苿?dòng)到坐姿,或者前后擺動(dòng)手臂。3D打印的手臂連接到伺服器上,伺服器安裝在定制設(shè)計(jì)的3D打印外殼上。利用PWM,伺服器可以通過輸入需要移動(dòng)的位置來控制。蜂鳴器發(fā)出“吠叫”的嗡嗡聲,每當(dāng)吠叫的頻率被麥克風(fēng)聽到。這個(gè)蜂鳴器利用一系列的音符,并通過蜂鳴器播放這些音符每當(dāng)提示。
頻率控制
機(jī)器人上的麥克風(fēng)使用3個(gè)FIR濾波器來監(jiān)聽三個(gè)特定頻率;500hz、1250hz、2000hz。這些過濾器每秒循環(huán)一次,并重復(fù)循環(huán),因此一次只有一個(gè)過濾器是活動(dòng)的。一旦聽到未經(jīng)過濾的頻率,過濾器就變得不活躍。啟動(dòng)、完成相關(guān)操作,并在完成所選操作后重新激活過濾器,從而防止重復(fù)操作的發(fā)生。除了伺服控制或蜂鳴器之外,過濾器動(dòng)作可以定制。LED、額外的電機(jī)激活或激活其他傳感器都可以通過當(dāng)前的代碼設(shè)置實(shí)現(xiàn)。
游戲控制器使用
我們通過藍(lán)牙使用PS5 DualSense來駕駛Segbot。運(yùn)行Bluepad32的ESP32作為HID主機(jī),讀取操縱桿/按鈕輸入,并通過UART將它們作為緊湊的字節(jié)包轉(zhuǎn)發(fā)到TI C2000。在C2000方面,我們重建了原始的16位值(處理LSB-first傳輸+開始/停止幀)并將它們映射到左/右運(yùn)動(dòng)命令(ePWM)。
為了改善車輪打滑下的x/y定位,我們使用輕量級(jí)卡爾曼濾波器將MPU6050 IMU讀數(shù)與編碼器反饋融合在一起。
挑戰(zhàn):在添加過濾器狀態(tài)/變量時(shí),UART數(shù)據(jù)包格式化/位移動(dòng)、ISR放置(定時(shí))和RAM限制。
結(jié)論
我們的團(tuán)隊(duì)已經(jīng)成功實(shí)現(xiàn)了一個(gè)具有多種功能和兩種控制模式的機(jī)器狗。然而,在這個(gè)迭代中有一定的局限性。當(dāng)前follow函數(shù)的一個(gè)限制是,它只有在被跟蹤對(duì)象完全是直線的情況下才有效。這個(gè)功能的未來實(shí)現(xiàn)可能會(huì)更加強(qiáng)大,讓RoboRex能夠跟隨一些轉(zhuǎn)彎的東西。此外,頻率控制的一個(gè)限制是不敏感的麥克風(fēng),需要在狗旁邊播放音調(diào)。一個(gè)經(jīng)過優(yōu)化的麥克風(fēng)可以更容易地通過不同的頻率向狗發(fā)送命令。當(dāng)然,我們也可以給狗狗增加一些很酷的表演。
有了這些優(yōu)化,再加上不需要食物、水、時(shí)間和鍛煉,我們希望有一天RoboRex會(huì)被當(dāng)作寵物而不是活狗。
本文編譯自hackster.io





