【问题标题】:Integrating gyro and accelerometer readings [duplicate]集成陀螺仪和加速度计读数[重复]
【发布时间】:2010-09-11 18:25:08
【问题描述】:

可能重复:
Combine Gyroscope and Accelerometer Data

我在 Kalman filters 上阅读了许多论文,但似乎很少有从数学论文到实际工作代码的公开可访问的工作示例。

我有一个系统,其中包含一个三轴加速度计和一个陀螺仪,用于测量围绕加速度计轴之一的旋转。该系统设计为由人手持,大部分时间陀螺仪将测量围绕重力矢量或接近重力矢量的旋转。 (在同一行业工作的人可能会从中认出我在说什么;))我意识到这是缺乏约束的。

陀螺仪似乎具有近乎恒定的偏差,对于系统的每个实例都略有不同。当系统倾斜时,我将如何编写过滤器以使用加速度计读数来校准陀螺仪,因此陀螺轴与重力不共线,并且围绕陀螺轴旋转?似乎应该有足够的信息来做到这一点,但被告知没有,为什么也会有答案:)

【问题讨论】:

  • 您能在这些论文中添加一些链接吗?
  • 实际上,wikipedia article 现在比我第一次获得规范时要好得多。但是,当我看到所有这些方程式时,我的眼睛仍然呆滞。
  • 干杯。祝你的三轴加速度计好运 ;)
  • 告诉我们进展如何,以及您在任务中找到了哪些资源。

标签: signal-processing robotics gyroscope kalman-filter


【解决方案1】:

你这里似乎有两个(或三个)不同的问题。

1. 您并不真正了解卡尔曼滤波器和/或它们背后的数学原理。这将使正确实施和使用一个变得非常困难。

2. 你似乎不了解这个问题所涉及的基本物理学。 (基础物理是指基础物理,而不是简单物理,因为它并不简单。)

我建议您尝试使用更简单的积分器,例如 Runga-Kutta 4,您可以找到许多书籍,其中包含实现和使用的示例。对于这个问题应该足够了。 (如果客户指定卡尔曼,请询问原因。)

至于为什么问题受到限制,在我看来,它无法确保设备垂直握持,也无法测量实际方向。暂时忘记陀螺仪,假设设备不能绕垂直轴旋转。您有三个加速度计,大概用于估计 3D 中的位置。因此,如果您看到 X 方向的加速度,您会增加您在 X 方向的估计值。同样,如果您看到 Z 方向上的加速度(我假设它是“向上”),您会增加您在 Z 方向上的位置的估计值。现在稍微旋转设备,比如绕 Y 轴旋转 30 度。现在,当设备认为您正在沿 X 方向加速时,实际上该设备的加速比 X 中指示的小一点并且它也在 Z 方向上加速。所以你现在的位置估计是不正确的。

旋转更难积分(方程更“僵硬”,需要更小的时间步来保持精度)。但是如果设备被倾斜,他们将遭受类似的计算错误答案的问题(因为设备无法判断它是否被倾斜)。它会认为绕垂直轴的旋转比实际大或小,因为旋转的一部分实际上是绕着不同的轴(就像加速部分是沿着不同的轴一样)。

也许你需要聘请一位顾问(不,我不是在找工作)来帮助你制定数学公式。

【讨论】:

  • 请记住,重力是加速度计感应到的恒定力。我可以并且确实使用它来推断设备的当前俯仰和滚动。我不能单独用加速度计推断出偏航;这就是陀螺仪的用途。然而,它的读数会随着时间的推移而漂移,因此我的问题是。
  • 感谢 Runga-Kutta 的建议,我会调查的。
【解决方案2】:

鉴于您对卡尔曼滤波器的兴趣,也许您打算通过惯性测量来增强 GPS 数据。关于您的问题:

“我将如何编写过滤器 使用加速度计读数 有时校准陀螺仪 系统是倾斜的,所以陀螺轴是 与重力不共线,并且是 绕陀螺轴旋转?它 好像应该够了 这样做的信息”

这听起来像是陀螺仪校准。假设您正在进行工厂校准,并将设备放在工作台上,您将能够独立测量对齐情况。然后运行您将编写的调平代码,并从测量和陀螺压缩对齐之间的差异中消除陀螺偏差误差。

如果您想即时更新陀螺漂移,则需要卡尔曼滤波器。

就实施而言,我推荐第 7 章,Global Position System Theory and Applications vol 2GPS 和惯性集成 具有很好的主题背景。它有理论和数学,但没有源代码。

【讨论】:

  • 谢谢!虽然我打算增强的不是 GPS 数据,但问题是相似的。 “Gyrocompassing alignment”看起来是一个非常有用的搜索词,我会研究一下。
  • 即使您没有使用 GPS,GPS 理论和应用中的第 7 章也可能为您提供有用的背景知识。我能够在谷歌图书上找到章节。
【解决方案3】:

nBot, a two wheel balancing robot
关于作者如何选择解决他的两轮机器人的平衡问题的相当多的信息和链接。

【讨论】:

  • 第一个链接“MAV-blog : Kalman demo application”已失效。
【解决方案4】:

我在this blog 上找到了关于在导航中使用加速度计和陀螺仪的好文章。关于卡尔曼滤波的部分有点模糊,但似乎有代码示例。

您还可以在http://academic.csuohio.edu/simond/publications.html 找到有关卡尔曼滤波的一般资源。 (8) 中提到的文章很好,不太吓人,介绍了卡尔曼滤波器背后的数学。

【讨论】:

    【解决方案5】:

    丹麦的一位绅士刚刚发布了a worked example of the derivation of a Kalman filter,几乎完全解决了这个问题。

    【讨论】:

      【解决方案6】:

      如果您碰巧正在为 Propeller uController 开发,那么the Parallax Object Exchange 有一些代码。好问题;-)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-07
        • 2017-11-10
        • 1970-01-01
        相关资源
        最近更新 更多