磁强计和加速度计读数的方向
回报取向
= ecompass (accelerometerReading
,magnetometerReading
)四元
可以将数量从父(NED)帧旋转到子(sensor)帧。
将方向格式指定为取向
= ecompass (accelerometerReading
,magnetometerReading
,orientationFormat
)四元
或旋转矩阵。
还允许您指定参考帧取向
= ecompass (accelerometerReading
,magnetometerReading
,orientationFormat
,'参考范围'
,RF)射频
的取向
输出。指定射频
如'NED'
(北 - 东 - 下)或'ENU'
(East-North-Up)。默认值为'NED'
。
该电子罗盘
函数返回一个四元数或旋转矩阵,该矩阵可以将数量从父(例如NED)帧旋转到子(传感器)帧。对于这两种输出方向格式,旋转操作符是通过计算旋转矩阵来确定的。
旋转矩阵首先通过中介计算:
然后按列标准化。一种和米是accelerometerReading
输入和magnetometerReading
分别输入。
为了理解旋转矩阵的计算,考虑地球上任意一点及其对应的局部NED坐标系。设传感器体框架为,[X,ÿ,ž],具有相同的起源。
回想一下,传感器主体的方位被定义为旋转算(旋转矩阵或四元数),以从父(NED)帧的量旋转到子(传感器本体)帧必需的:
在哪里
[R是一个3×3的旋转矩阵,可以理解为子帧的方向。
p亲是一个3×1矢量在父帧。
p儿童是一个3×1向量在子帧。
对于一个稳定的传感器主体,加速计返回由于重力的加速度。如果传感器主体被完美地与NED坐标系对齐,所有重力加速度是沿ž轴,和加速计读取[0 0 1]。考虑到旋转从NED的量的坐标系的数量由所述加速度计所指示所需的旋转矩阵。
旋转矩阵对应于加速计读数的第三列:
磁力计读数朝磁北极点,是在ñ-d飞机。同样,考虑一个与NED坐标系对齐的传感器体框架。
根据定义,Ë轴垂直于所述ñ-d平面上,因此ñ⨯d=Ë,一些幅度缩放范围内。如果传感器主体框架与NED,既来自加速度计的加速度矢量和从磁力计横亘在磁场矢量对准ñ-d飞机。因此米⨯一种=ÿ,再次与一些幅度缩放。
考虑需要旋转NED给孩子框架旋转矩阵,Xÿž]。
旋转矩阵对应于加速度计读数和所述磁力计读数的交叉乘积的第二列:
通过旋转矩阵的定义中,第1列是2列3的交叉乘积:
最后,旋转矩阵按列方向归一化:
该电子罗盘
算法使用磁北,而不是真正的北方,对于NED坐标系。