【问题标题】:Can I cancel out gravity only with gyro and magnetometer?我可以只用陀螺仪和磁力计来抵消重力吗?
【发布时间】:2017-04-11 08:51:17
【问题描述】:

在设备上,我想检测一系列力:小力(最小约 0.01g),但也有更强的力,例如 0.1g - 0.15g。

这个设备在 3d 空间中会有不同的位置,所以为了检测小力,我必须知道它的角度才能减去 1g。因为设备可以有一个随机的位置(角度位置)。

到目前为止我所做的:我使用了 MPU6050 并使用了带加速的互补滤波器。和陀螺。 是这样的:

agnleX_k+1 = 0.98*(angle_k + deltaT * gyro_k+1) + 0.02*angle_acc_k+1;

angle_acc 是根据加速度计算的角度。传感器。比如:

arctan(accelX / sqrt(accelX^2 + accelY^2 + accelZ^2 + ))

所以我有兴趣:

forceX_k+1 = accelX_k+1 - 1g*sin(agnleX_k+1)

问题是:

如果我想检测一个非常快的小力,假设在accelX_k+1 上,我想检测从 0g 到 0.01g 或更多的变化,但在非常小的时间范围内。问题是我计算的角度也会受到加速度的这种小而快的变化的影响。传感器虽然角度并没有真正改变。

我想我必须独立于加速度进行角度计算。传感器。我可以用陀螺仪和磁力计做一个互补滤波器吗?这会和我上面描述的过滤器一样工作,但只是用 mag.代替传感器?或者你会怎么做?我正在考虑使用 MPU9250。

【问题讨论】:

    标签: arduino raspberry-pi sensors mpu


    【解决方案1】:

    使用 Jeff Rowberg 的 DMP 库将为您完成这项工作。 它可以比 Arduino 代码更快地在内部补偿重力加速度。

    Link to github

    【讨论】:

      【解决方案2】:

      您说使用的是 MPU6050,它包含一个加速度计和一个陀螺仪。您可以独立使用它们 - 从加速度计获取加速度并从陀螺仪获取角度,然后使用这些角度来补偿旋转。角度不需要取决于您的加速度计。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-04
        • 2016-05-05
        • 2011-07-15
        • 1970-01-01
        • 2017-05-30
        • 1970-01-01
        相关资源
        最近更新 更多