5

我有陀螺仪和磁力计的原始数据。根据这些数据,我必须以 1Deg 的精度计算航向信息。

我想知道,是否有任何算法可以帮助我使用具有上述准确性的可用信息来获取航向信息?

任何文章或任何链接也会有所帮助。

谢谢

4

1 回答 1

7

我假设您正在使用手机收集gyroscope+magnetometer数据。

Gyro+Magnetometer除非您知道设备的初始状态,否则您无法计算航向。你必须尝试Accelerometer+Magnetometerrotation-matrix' or您可以从Android/IOS 设备的 Motion sensor API 的 yaw 组件中获取航向值。

如果您想实现自己的尝试倾斜补偿算法。您所要做的就是使用accelerometer和实现倾斜补偿电子罗盘magnetometer。您在设备框架中获得accelerometer和读数。并给出读数作为设备旋转的函数。该旋转包含设备的滚动、俯仰和航向信息。以下是使用 的航向估计的解释和推导。magnetometerAccelerometerMagnetometeraccelerometer+magnetometer

Android传感器坐标系


倾斜补偿算法

让给你accelerometer_magnetometer

分别读数。它们在设备框架中,并且设备旋转通过

.

正在寻找的方向。所以设备的旋转矩阵将是

我们必须解决. 于是一步步解决

从上面,我们得到等于零

从上面有

这是从 中获取 Heading 值的基本方法accelerometer+magentomete。偏航/航向值由手机中的运动传感器 API 提供。

sensor-fusion在实现算法时,您必须注意一些事情。Accelerometers并不总是重力方向,它给出了传感器所经历的整体加速度的方向,例如线性加速度下的设备。Magnetometer由于附近的铁磁物质,读数会失真。精度也取决于gyroscope传感器中的系统偏置分量。

有许多算法可以估计准确的航向值。他们之中有一些是

于 2016-01-29T09:34:06.873 回答