积分陀螺和加速度计读数[复制](Integrating gyro and accelerometer

2019-07-29 23:38发布

可能重复:
结合陀螺仪和加速度计数据

我读了一些关于论文Kalman filters ,但似乎有几个不错的公开访问的工作从数学论文获得实际工作代码示例。

我具有包含三轴加速度计和加速度计轴线中的一个周围的单个陀螺仪测量旋转的系统。 该系统被设计成由人来保持,并且大部分的陀螺仪将测量关于重力矢量旋转时间或接近它。 (在同行业中工作的人可能会承认什么,我从谈论;))我知道这是欠约束。

陀螺仪似乎有接近恒定的偏见,是对系统的每个实例略有不同。 我将如何着手编写一个过滤器来使用加速度计读数当系统倾斜,使陀螺轴不与重力共线,并且正在绕轴陀螺仪校准有时陀螺? 好像应该有足够的信息来做到这一点,但被告知没有,为什么会是一个答案太:)

Answer 1:

nBot,两个车轮平衡机器人
相当多的信息和有关这位作者是如何选择解决问题的平衡,他两轮机器人链接。



Answer 2:

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

1.你并不真正了解卡尔曼滤波器和/或背后的数学。 这是要使它很难正确地实施和使用一个。

2.你似乎并不理解所涉及的问题基本物理。 (基本物理装置底层物理,不简单的物理,因为它不是简单的。)

我建议你尝试使用一个简单得多的集成,如Runga - 库塔4,以便您可以找到很多书籍的实施和使用两个例子。 它应该是足够了这一问题。 (如果客户指定的卡尔曼,询问原因。)

至于为什么这个问题是制约下,在我看来,它是没有办法,以确保器件保持垂直和无法衡量的实际方向。 忘的时刻陀螺仪,并假定该设备不能围绕垂直轴旋转。 你有三个加速度计,大概估算三维位置。 所以,如果你看到在X方向的加速度,你增加你在X方向,其中的估计。 同样,如果你看到在Z方向的加速度(我将假定是“上升”),你增加你在Z方向,其中的估计。 现在稍微旋转设备,说的Y轴30度。 现在,当设备认为你是在X方向加速,该设备实际上是加速有点少比X表示,它也在加快在Z方向。 所以,你的位置估计现在是不正确。

旋转是更难整合(方程是更“硬”的,需要一个较小的时间步长以保持精度)。 但他们将遭受如果设备倾斜(因为该设备无法告诉大家,它是倾斜)计算错误的答案类似的问题。 它会认为绕垂直轴线转动大于或小于它实际上是,由于旋转的部分实际上是一个不同的轴(正如加速一部分的部分是沿着不同的轴)。

也许你需要聘请顾问(不,我不求一份工作),以帮助您制定数学。



Answer 3:

鉴于你在卡尔曼滤波的兴趣,或许你打算和惯性测量来增强GPS数据。 关于你的问题:

“我怎么会去编写一个过滤器来使用加速度计读数当系统倾斜校准有时陀螺使陀螺轴不与重力共线,并且正在绕陀螺轴?好像应该有足够的信息来做到这一点”

这听起来像一个gyrocompasing对齐。 假设你正在做一个工厂校准,并有单位的长凳上,你将能够独立地测量校准。 然后运行练级的代码,你会写,并从测量和gyrocompased路线之间的区别退了出去陀螺仪偏置误差。

如果你要更新,飞陀螺漂移,那么你将需要卡尔曼滤波器。

至于实施去向何方,我建议第7章, 全球定位系统和惯性整合 全球定位系统理论与应用第2卷对话题出色的背景。 它具有理论和数学,但没有源代码。



Answer 4:

我发现关于在导航使用加速度计和陀螺仪的好文章这个博客 。 卡尔曼滤波的部分是一个位朦胧,但似乎有代码示例。

您也将找到卡尔曼滤波一般资源http://academic.csuohio.edu/simond/publications.html 。 中所指的文章(8)是一个很好的,不要太吓人了,介绍卡尔曼滤波器背后的数学。



Answer 5:

在丹麦绅士刚刚发布卡尔曼滤波器的推导的工作实例解决几乎一模一样这个问题。



Answer 6:

如果你碰巧被开发用于螺旋桨uController,比传统视差对象交换了一些代码。 大问题;-)



文章来源: Integrating gyro and accelerometer readings [duplicate]