设计一款机器狗:对不同的音调频率和游戏控制器都有反应
扫描二维码
随时随地手机看文章
狗被广泛认为是人类最好的朋友,这是有充分理由的——它们忠诚,和它们一起玩很有趣,而且会认真地听命令。但任何养过狗或照顾过狗的人都知道,照顾狗是一项繁重的工作。他们总是需要食物和水。即使在极热或极冷的天气里,它们也需要持续的散步。如果有一种方法可以获得狗的所有好处而没有缺点就好了!
我们介绍创新的机器狗,RoboRex!RoboRex通过不同的音调频率和游戏控制器对指令做出专注而快速的反应。它有能力对三种不同的音调频率做出反应,实现很酷的技巧,比如移动它的手臂,挥舞它的手臂,跟随它的主人,吠叫!主人还可以用游戏控制器直接控制RoboRex的动作,有效地控制它的方向和速度。RoboRex能够穿越多种地形模式,使其能够在任何地方使用。
功能:爪子运动和吠叫
利用附加的伺服电机和蜂鸣器,RoboRex能够将手臂向下移动到坐姿,或者前后摆动手臂。3D打印的手臂连接到伺服器上,伺服器安装在定制设计的3D打印外壳上。利用PWM,伺服器可以通过输入需要移动的位置来控制。蜂鸣器发出“吠叫”的嗡嗡声,每当吠叫的频率被麦克风听到。这个蜂鸣器利用一系列的音符,并通过蜂鸣器播放这些音符每当提示。
频率控制
机器人上的麦克风使用3个FIR滤波器来监听三个特定频率;500hz、1250hz、2000hz。这些过滤器每秒循环一次,并重复循环,因此一次只有一个过滤器是活动的。一旦听到未经过滤的频率,过滤器就变得不活跃。启动、完成相关操作,并在完成所选操作后重新激活过滤器,从而防止重复操作的发生。除了伺服控制或蜂鸣器之外,过滤器动作可以定制。LED、额外的电机激活或激活其他传感器都可以通过当前的代码设置实现。
游戏控制器使用
我们通过蓝牙使用PS5 DualSense来驾驶Segbot。运行Bluepad32的ESP32作为HID主机,读取操纵杆/按钮输入,并通过UART将它们作为紧凑的字节包转发到TI C2000。在C2000方面,我们重建了原始的16位值(处理LSB-first传输+开始/停止帧)并将它们映射到左/右运动命令(ePWM)。
为了改善车轮打滑下的x/y定位,我们使用轻量级卡尔曼滤波器将MPU6050 IMU读数与编码器反馈融合在一起。
挑战:在添加过滤器状态/变量时,UART数据包格式化/位移动、ISR放置(定时)和RAM限制。
结论
我们的团队已经成功实现了一个具有多种功能和两种控制模式的机器狗。然而,在这个迭代中有一定的局限性。当前follow函数的一个限制是,它只有在被跟踪对象完全是直线的情况下才有效。这个功能的未来实现可能会更加强大,让RoboRex能够跟随一些转弯的东西。此外,频率控制的一个限制是不敏感的麦克风,需要在狗旁边播放音调。一个经过优化的麦克风可以更容易地通过不同的频率向狗发送命令。当然,我们也可以给狗狗增加一些很酷的表演。
有了这些优化,再加上不需要食物、水、时间和锻炼,我们希望有一天RoboRex会被当作宠物而不是活狗。
本文编译自hackster.io





