1
3
nBot, a two wheel balancing robot
|
2
7
你这里似乎有两个(或三个)独立的问题。 1.你不太了解卡尔曼滤波器和/或它们背后的数学原理。这将使正确实施和使用一个非常困难。 2。你似乎不了解这个问题所涉及的基础物理。(基础物理是指基础物理,而不是简单物理,因为它并不简单。) 我建议您尝试使用一个更简单的集成器,例如Runga Kutta 4,对于它,您可以找到许多关于实现和使用示例的书籍。这对于这个问题应该是足够的。(如果客户指定了卡尔曼,请询问原因。)
至于为什么这个问题受到限制,在我看来,它似乎没有办法确保设备是垂直的,也没有办法测量实际的方向。暂时忘记陀螺,假设装置不能绕垂直轴旋转。你有三个加速度计,大概是用来估计三维中的位置,所以如果你看到x方向的加速度,你就增加了对x方向的位置的估计。同样,如果你看到z方向的加速度(我假设是“向上”),你会增加z方向的估计值。现在稍微旋转设备,比如说围绕Y轴旋转30度。现在,当设备认为你正在沿着x方向加速时,设备实际上加速的速度比x中指示的要慢一点。 和 它也在z方向加速。所以你的位置估计现在是不正确的。 旋转更难整合(方程式更“僵硬”,需要更小的时间步来保持精度)。但是,如果设备被提示,他们也会遇到类似的计算错误答案的问题(因为设备不能分辨出它被提示)。它会认为围绕垂直轴的旋转比实际的大或小,因为旋转的一部分实际上是围绕不同的轴(就像加速部分沿着不同的轴一样)。
也许你需要雇佣一个顾问(不,我不是在找工作)来帮助你制定数学。 |
3
4
考虑到你对卡尔曼滤波器的兴趣,也许你打算用惯性测量来增强GPS数据。关于你的问题:
这听起来像是陀螺罗盘校准。假设您正在进行工厂校准,并且将设备放在工作台上,您将能够独立地测量校准。然后运行调平代码,您将从测量和陀螺罗盘对中的差异中写出陀螺偏差误差。 如果你想在飞行中更新陀螺漂移,那么你需要卡尔曼滤波器。 就实施而言,我建议第7章, GPS和惯性集成 属于 Global Position System Theory and Applications vol 2 在这个问题上有很好的背景。它有理论和数学,但没有源代码。 |
4
3
我在上找到了关于在导航中使用加速度计和陀螺仪的好文章。 this blog . 卡尔曼滤波的部分有点模糊,但似乎有代码样本。 您还可以在以下网址找到有关卡尔曼滤波的一般资源: http://academic.csuohio.edu/simond/publications.html . 中提到的文章 (8) 是一个好的,不太可怕,介绍卡尔曼滤波器背后的数学。 |
5
2
丹麦的一位先生刚刚寄了一封信 a worked example of the derivation of a Kalman filter 几乎完全解决了这个问题。 |
6
1
如果你正好在为螺旋桨控制器开发,那么 the Parallax Object Exchange 有一些代码。好问题;-) |