从磁力计和加速度计读取方向
返回一个方向
= ecompass (加速度计
,magnetometerReading
)四元数
可以将数量从父帧(NED)旋转到子帧(sensor)。
指定方向格式为方向
= ecompass (加速度计
,magnetometerReading
,orientationFormat
)四元数
或旋转矩阵。
也允许您指定参考框架方向
= ecompass (加速度计
,magnetometerReading
,orientationFormat
,“ReferenceFrame”
, RF)射频
的方向
输出。指定射频
作为'ned'
(North-East-Down)或'enu'
(East-North-Up)。默认值为'ned'
。
的ecompass
函数返回一个四元数或旋转矩阵,它可以将数量从父帧(例如内德帧)旋转到子帧(传感器帧)。对于这两种输出方向格式,旋转操作符都是通过计算旋转矩阵来确定的。
旋转矩阵首先用一个中间物来计算:
然后按列归一化。一个和米是加速度计
输入和magnetometerReading
分别输入。
为了理解旋转矩阵的计算,考虑地球上任意一点及其相应的局部NED框架。假设传感器车身框架,[x,y,z],具有相同的起源。
回想一下,传感器体的方向被定义为旋转操作符(旋转矩阵或四元数),将一个量从父帧(NED)旋转到子帧(传感器体):
在哪里
R是一个3 × 3的旋转矩阵,它可以解释为子帧的方向。
p父是父框架中的一个3乘1向量。
p孩子是儿童框架中的3×1矢量。
对于稳定的传感器主体,加速度计由于重力而返回加速度。如果传感器主体与NED坐标系完全对齐,则引起的所有加速度沿着z-AXIS,加速度计读取[0 0 1]。考虑旋转矩阵所需的旋转矩阵从NED坐标系旋转到加速度计指示的量。
旋转矩阵的第三列对应于加速度计读数:
磁力计的读数指向磁北,并在N-D飞机。同样,考虑与NED坐标系对齐的传感器车身框架。
根据定义,E-axis垂直于N-D平面上,因此N⨯D=E,在一定的振幅缩放范围内。若传感器主体框架与内NED对齐,则加速度计的加速度矢量和磁强计的磁场矢量均位于N-D飞机。因此米⨯一个=y还是有一些振幅缩放。
考虑旋转矩阵需要旋转到儿童框架,[xyz]。
旋转矩阵的第二列对应于加速度计读数和磁力计读数的横向产品:
根据旋转矩阵的定义,第1列是第2列和第3列的叉乘:
最后,旋转矩阵按列归一化:
请注意
的ecompass
算法使用磁北,而不是真北,为NED坐标系。