你似乎在这里有两个(或三个)单独的问题.
你真的不了解卡尔曼滤波器和/或它们背后的数学.这将使正确实现和使用它变得非常困难.
你似乎不理解这个问题所涉及的基本物理学.(基础物理学意味着潜在的物理学,而不是简单的物理学,因为它并不简单.)
我建议您尝试使用更简单的集成器,例如Runga-Kutta 4,您可以找到许多书籍,其中包含实现和使用的示例.这个问题应该足够了.(如果客户指定卡尔曼,请查询原因.)
至于为什么问题受到限制,在我看来,它无法确保设备垂直保持并且无法测量实际方向.暂时忘掉陀螺仪并假设设备不能绕垂直轴旋转.你有三个加速度计,大概是估算3D中的位置.因此,如果您在X方向上看到加速度,则会增加您在X方向上的位置估计值.同样,如果你看到Z方向上的加速度(我假设是"向上"),你会增加你在Z方向上的估计值.现在稍微旋转设备,比如绕Y轴旋转30度.现在,当设备认为您正在沿X方向加速时,设备实际上加速的速度比X 和 X中指示的要少它也在Z方向加速.所以你的位置估计现在是不正确的.
旋转更难集成(方程更加"僵硬",需要更小的时间步长来保持精度).但是如果设备被倾斜,他们将遇到计算错误答案的类似问题(因为设备无法判断它是否倾斜).它会认为围绕垂直轴的旋转大于或小于实际的旋转,因为旋转的一部分实际上是围绕不同的轴(正如加速部分的一部分沿着不同的轴).
也许你需要聘请一名顾问(不,我不是在找工作)来帮助你制定数学.
你似乎在这里有两个(或三个)单独的问题.
你真的不了解卡尔曼滤波器和/或它们背后的数学.这将使正确实现和使用它变得非常困难.
你似乎不理解这个问题所涉及的基本物理学.(基础物理学意味着潜在的物理学,而不是简单的物理学,因为它并不简单.)
我建议您尝试使用更简单的集成器,例如Runga-Kutta 4,您可以找到许多书籍,其中包含实现和使用的示例.这个问题应该足够了.(如果客户指定卡尔曼,请查询原因.)
至于为什么问题受到限制,在我看来,它无法确保设备垂直保持并且无法测量实际方向.暂时忘掉陀螺仪并假设设备不能绕垂直轴旋转.你有三个加速度计,大概是估算3D中的位置.因此,如果您在X方向上看到加速度,则会增加您在X方向上的位置估计值.同样,如果你看到Z方向上的加速度(我假设是"向上"),你会增加你在Z方向上的估计值.现在稍微旋转设备,比如绕Y轴旋转30度.现在,当设备认为您正在沿X方向加速时,设备实际上加速的速度比X 和 X中指示的要少它也在Z方向加速.所以你的位置估计现在是不正确的.
旋转更难集成(方程更加"僵硬",需要更小的时间步长来保持精度).但是如果设备被倾斜,他们将遇到计算错误答案的类似问题(因为设备无法判断它是否倾斜).它会认为围绕垂直轴的旋转大于或小于实际的旋转,因为旋转的一部分实际上是围绕不同的轴(正如加速部分的一部分沿着不同的轴).
也许你需要聘请一名顾问(不,我不是在找工作)来帮助你制定数学.