结合陀螺仪和加速度计数据

我正在使用Lego Mindstorm的NXT系统构建平衡机器人。我正在使用HiTechnic的两个传感器,第一个是加速度计,第二个是陀螺仪。我已经成功滤除了两个传感器的噪声以及在-90到90度之间的两个角度的派生角度,其中0度是完美平衡的。


我的下一个挑战是将两个传感器值结合起来以校正陀螺仪随时间的漂移。下面是我根据实际数据创建的示例图,以演示陀螺仪的漂移:

http://img2.mukewang.com/5d9804cb00019f9908250371.jpg

我见过的使这些传感器坚如磐石的最常用方法是使用卡尔曼滤波器。但是,我不是微积分专家,我真的不懂数学符号,但是我确实懂源代码中的数学。


我正在使用RobotC(与其他任何C派生类一样),如果有人可以给我示例如何在C中实现此功能,我将不胜感激。


谢谢您的帮助!


解决方案结果:


好的,kersny通过向我介绍互补过滤器解决了我的问题。这是说明我的结果的图表:


结果1

http://img1.mukewang.com/5d9804d0000115b106950440.jpg

结果#2

http://img4.mukewang.com/5d9804d400015dde06980442.jpg

如您所见,该滤波器会校正陀螺仪的漂移并将两个信号合并为一个平滑信号。


编辑:由于我还是要修复损坏的图像,所以我认为显示用于生成此数据的装备会很有趣:

http://img.mukewang.com/5d9804e20001f7c505280395.jpg

呼啦一阵风
浏览 877回答 3
3回答

慕虎7371278

太神奇了,我相信这可能正是我想要的。Filter.pdf文件确实是最大的帮助,它解释并解决了我的确切问题。我尚未验证(我在工作)。但是今晚,我会尽力做到这一点,并将我的问题标记为已回答! 
打开App,查看更多内容
随时随地看视频慕课网APP