我有陀螺仪和磁力计的原始数据。根据这些数据,我必须以1Deg的精度计算标题信息。
我想知道,是否有任何算法可以帮助我使用提到的准确度的可用信息获取标题信息?
任何文章或任何链接也会有所帮助。
由于
答案 0 :(得分:6)
我假设您正在使用手机收集gyroscope+magnetometer
数据。
除非您知道设备的初始状态,否则无法使用Gyro+Magnetometer
计算标题。你必须尝试Accelerometer+Magnetometer
。您可以从Android / IOS设备的Motion传感器API中获取rotation-matrix' or
yaw`组件的标题值。
如果您想实施自己的尝试倾斜补偿算法。您所要做的就是使用accelerometer
和magnetometer
实现倾斜补偿的ecompass。您在设备框架中获得accelerometer
和magnetometer
个读数。 Accelerometer
和Magnetometer
将读数作为设备旋转的函数。此旋转包含设备的Roll,Pitch和Heading信息。以下是使用accelerometer+magnetometer
进行航向估算的解释和推导。
让accelerometer
和magnetometer
给你
分别是读数。它们位于设备框架中,设备通过旋转
正在寻找的地方。所以设备的旋转矩阵将是
我们必须解决。所以一步一步解决。
从上面,等于零,我们得到
上面有
这是从accelerometer+magentomete
获取标题值的基本方法。偏航/航向值由移动电话中的运动传感器API提供。
在实施sensor-fusion
算法时,您必须查看一些内容。 Accelerometers
并不总是重力方向,它给出了传感器所经历的超长加速度的方向,例如线性加速度下的设备。由于附近的铁磁性物质,Magnetometer
读数会受到失真。准确度也取决于gyroscope
传感器中的系统偏差分量。
有许多算法可用于估算准确的航向值。其中一些是