首页 > 解决方案 > 如何将两种不同类型的数据“融合”在一起以获得最终结果?

问题描述

我正在建造一个机器人(2 个动力轮和一个滚珠轴承)。问题是我似乎无法让它直行。我真的觉得这是不可能的,我已经尝试了好几个星期。

目前我能够依靠(两个电机的)旋转或陀螺仪读数(我还有两个陀螺仪,每个都靠近两个轮胎)

有没有办法可以将它们融合在一起,给我一个更准确的方法来确定我需要加速哪个电机?

我的电机接受 0-900 的值(尽管速度应该由我决定,而不是固定的)。此外,如果存在算法,我想要一些关于如果我让电机倒退我需要交换的方向。

标签: roboticssensor-fusioncontrol-theory

解决方案


机器人不能直行的问题是因为两个电机的转速可能不同。例如,一个可能每秒完成 30 次旋转,而另一个可能完成 31 次。这可以使用轮式编码器轻松解决。使用它,您可以获得两个轮子的旋转差异,然后相应地改变电机速度。陀螺仪可以给你单位时间的角度误差,例如如果机器人在 2 秒后向左移动 5 度,那么右侧的电机速度将被降低。但是它需要减少多少并不是一个小问题,因为最终它是由于硬件错误而发生的。所以你可以做的是收集一些陀螺角度的数据,也许每秒 10 个读数,然后分析数据,找出你需要多少来降低一个电机的速度。


推荐阅读