我正在使用Lego Mindstorm的NXT系统构建平衡机器人。我正在使用HiTechnic的两个传感器,第一个是加速度计,第二个是陀螺仪。我已经成功滤除了两个传感器的噪声以及在-90到90度之间的两个角度的派生角度,其中0度是完美平衡的。
我的下一个挑战是将两个传感器值结合起来以校正陀螺仪随时间的漂移。下面是我根据实际数据创建的示例图,以演示陀螺仪的漂移:
我见过的使这些传感器坚如磐石的最常用方法是使用卡尔曼滤波器。但是,我不是微积分专家,我真的不懂数学符号,但是我确实懂源代码中的数学。
我正在使用RobotC(与其他任何C派生类一样),如果有人可以给我示例如何在C中实现此功能,我将不胜感激。
谢谢您的帮助!
解决方案结果:
好的,kersny通过向我介绍互补过滤器解决了我的问题。这是说明我的结果的图表:
结果1
结果#2
如您所见,该滤波器会校正陀螺仪的漂移并将两个信号合并为一个平滑信号。
编辑:由于我还是要修复损坏的图像,所以我认为显示用于生成此数据的装备会很有趣:
慕虎7371278