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





