从磁强计和加速度计读数方向
返回一个取向
= ecompass (accelerometerReading
,magnetometerReading
)四元数
可以从父母(NED)坐标系旋转量一个孩子(传感器)框架。
指定方向格式取向
= ecompass (accelerometerReading
,magnetometerReading
,orientationFormat
)四元数
或旋转矩阵。
还允许您指定参考系取向
= ecompass (accelerometerReading
,magnetometerReading
,orientationFormat
,“ReferenceFrame”
,RF)射频
的取向
输出。指定射频
作为NED的
(North-East-Down)或“ENU表示”
(East-North-Up)。默认值是NED的
。
的ecompass
函数返回一个四元数或旋转矩阵旋转量从父母(例如NED)框架对一个孩子(传感器)框架。对于面向输出格式,旋转操作符是由计算旋转矩阵。
首先计算旋转矩阵与一个中介:
然后列正常化。一个和米是accelerometerReading
输入和magnetometerReading
分别输入。
理解旋转矩阵的计算,考虑地球上任意点及其对应的本地NED框架。假设一个传感器车身骨架,x,y,z),相同的起源。
回想一下,定位传感器的身体被定义为旋转操作符(旋转矩阵或四元数)需要从父母(NED)框架旋转量对一个孩子来说(传感器)框架:
在哪里
R3 x3的旋转矩阵,可以解释为子帧的方向。
p父在父框架是一个3×1的向量。
p孩子是一个3×1向量的子帧。
稳定的传感器,一个加速度计返回重力加速度。如果传感器的身体是完全符合NED坐标系统,重力加速度沿z设在,加速度计读取(0 0 1)。考虑所需的旋转矩阵NED坐标系的旋转量的数量表示加速度计。
第三列的旋转矩阵对应于加速度计读数:
磁强计读数指向磁北的N- - - - - -D飞机。再次,考虑传感器车身骨架与NED坐标系统保持一致。
根据定义,E设在垂直于N- - - - - -D平面上,因此N⨯D=E在一些振幅比例。如果传感器车身骨架与内德,加速度矢量的加速度计和磁强计的磁场矢量在撒谎N- - - - - -D飞机。因此米⨯一个=y,再用一些振幅比例。
考虑所需的旋转矩阵旋转NED孩子,(xyz]。
第二列的旋转矩阵对应的外积加速度计阅读和磁强计读数:
通过旋转矩阵的定义,第1列列2和3的叉积:
最后,旋转矩阵归一化列:
请注意
的ecompass
算法使用磁北,不是真北,NED坐标系统。