相关疑难解决方法(0)

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

我正在使用Lego Mindstorm的NXT系统构建一个平衡机器人.我使用的是HiTechnic的两个传感器,第一个是加速度计,第二个是陀螺仪.我已经成功地滤除了传感器和衍生角度的噪声,两者的范围在-90到90度之间,0度完全平衡.

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

在此输入图像描述

我见过的最常用的方法是将这些传感器结合起来使用卡尔曼滤波器.但是,我不是微积分的专家,我真的不懂数学符号,但我确实理解源代码中的数学.

我正在使用RobotC(就像任何其他C衍生产品一样),如果有人能给我一些如何在C中完成此任务的例子,我将非常感激.

谢谢您的帮助!

解决方案结果:

好吧,kersny通过向我介绍补充过滤器解决了我的问题.这是一个说明我的结果的图表:

结果#1

在此输入图像描述

结果#2

在此输入图像描述

如您所见,滤波器校正陀螺仪漂移并将两个信号组合成单个平滑信号.

编辑:因为我正在修复破碎的图像,我认为显示我用来生成这些数据的装备会很有趣:

在此输入图像描述

c algorithm accelerometer lego nxt

69
推荐指数
2
解决办法
9万
查看次数

加速度计校准

我正在使用加速度计在屏幕上以X/Y移动某些东西.

如果手机在桌子上平放,这很容易.

我想出了一些东西,试图能够从任何给定的位置开始,并从那里开始工作.但它似乎并不自然地起作用.

我如何校准事物,以便从起点上获得方向上的差异?

cursorX -= accelerometerCalibrationY - getAccelerometerY();
cursorY += accelerometerCalibrationX - getAccelerometerX();
Run Code Online (Sandbox Code Playgroud)

这适用于桌子上的平板和一些起始位置.这些变量在开始时只是getAccelerometerXY.

android physics

12
推荐指数
1
解决办法
3038
查看次数

标签 统计

accelerometer ×1

algorithm ×1

android ×1

c ×1

lego ×1

nxt ×1

physics ×1