我正在努力解决有关四元数以及如何在应用程序中使用它们的问题。我花了几天时间寻找解决方案,但找不到任何类似的应用程序或示例。
我已经很清楚所有四元数的性质以及为什么要使用它们,但是也许我错过了一些小细节。
我的问题描述如下:
尤其是,由于IMU处于静止状态且加速度和陀螺仪能量基本上为零(或非常低),因此很容易识别出初始方向(或物体每次稳定在表面上时说的话)。
如以下链接中所述,可以从初始旋转找到所有相对旋转,并将初始旋转用作参考旋转。
此步骤非常清楚,并记录在该论坛的许多帖子中。
但是,我不清楚如何识别所有超出或重合于特定姿势的姿势。
例如,对于我的应用程序来说,查看对象在俯仰角介于0到45度之间(对象朝上)或0到-45之间的方向保持了多长时间会很有趣。或者只是生成一个标志,指示对象朝上或对象朝下
除了从四元数移到欧拉角,然后尝试通过简单地对欧拉角设定阈值来推断这些信息外,我找不到任何解决方法。
但是,由于欧拉角具有某些奇点,因此基本上不可能获得准确的估计。