Motion Sensor
在 InvenSense的Motion Processing Library
种装配方位。在转换矩阵中可以调整传感器轴向
的定义。这种方法使用户只是修改矩阵就可以适应传感器的各种装配位置
件做出修改。
方位矩阵对传感器轴向的改变如下所示
设定参考坐标系设定参考坐标系设定参考坐标系设定参考坐标系
在设置方位矩阵之前,
OpenGL定义出来的参考坐标系
对于参考坐标系的定义可以有很多种方法
个定则,伸出右手如图 2所示
指向 Z轴正方向。如果参考坐标系的定义不符合这个定则
的四元数。
设置方位矩阵设置方位矩阵设置方位矩阵设置方位矩阵
在定义好系统(手机)的参考坐标系后
版上的位置表出来。如下图所示
Motion Sensor装配方位说明
-----如何设置方位矩阵
Motion Processing Library中允许
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
者使用方位矩阵适应
在转换矩阵中可以调整传感器轴向、添加负号,使传感器正方向符合参考设计
这种方法使用户只是修改矩阵就可以适应传感器的各种装配位置,
方位矩阵对传感器轴向的改变如下所示:
�0 �1 01 0 00 0 1� �
xyz
� �
�yxz
,首先要定义手机的参考坐标系和正方向。如图所示
定义出来的参考坐标系。
图 1 手机参考坐标系
对于参考坐标系的定义可以有很多种方法,但是它们必须符合右手坐标系定则
所示,如果食指指向 X轴正方向,中指应该是 Y轴正方向
如果参考坐标系的定义不符合这个定则,数据融合算法将不能计算出正确
图 2 右手坐标系定则系
的参考坐标系后,将陀螺仪、磁力计、加速计的正方向和在
如下图所示。
1
矩阵适应传感器的各
使传感器正方向符合参考设计
,不需要对上层软
如图所示,这是按照
但是它们必须符合右手坐标系定则。按照这
轴正方向,拇指则
数据融合算法将不能计算出正确
加速计的正方向和在 PCB
在该坐标系中,系统的
这时某个传感器的正方向和系统的正方向一致
如果不一致,以加速计为例
的位置从 X变到了 Y,还要加负号
系统 Y的正方向是加速计
系统 Z的正方向是加速计
所以加速计的方位矩阵为
用同样的方法,得到陀螺仪和磁力计的方位矩阵分别为
验证方位矩阵验证方位矩阵验证方位矩阵验证方位矩阵
方位矩阵设置好之后有两种方法可以验证它的正确性
SensorMonitor.apk(见附件)。
如果加速计的方位矩阵是正确的
该是 1g;如果该轴水平,数据为
是以 Log向上报数据,观察数据
图 3 参考坐标系中的Motion Sensor
系统的 X轴正方向向下、Y轴正方向向右、Z轴正方向
这时某个传感器的正方向和系统的正方向一致,则方位矩阵为�1 0 00 1 00 0 1�。
以加速计为例,系统的 X正方向是加速计 Y轴的负方向,
还要加负号。
�0 �1 00 1 00 0 1
�
xyz
� �
�y�
的正方向是加速计 X的正方向,所以“1”的位置从 Y变到了 X,
�1 0 01 0 00 0 1� �
xyz
� � x �
的正方向是加速计 Z的正方向,所以“1”位置和负号都不变。
�1 0 00 1 00 0 1� �
xyz
� � z �
所以加速计的方位矩阵为�0 �1 01 0 00 0 1�。
得到陀螺仪和磁力计的方位矩阵分别为�0 �1 01 0 00 0 1�、�
方位矩阵设置好之后有两种方法可以验证它的正确性。一种用 ConsoleDMP
)。这两种方法的原理都是一样的。
的方位矩阵是正确的,将任何一轴的正方向指向天空,这时该轴上的数据应
数据为 0;如果该轴指向地面,数据为-1g。如下图所示
观察数据,会得到相同的结果。
2
轴正方向指出纸面。如果
�。
,所以不仅“1”
,但不用负号。
。
� �1 0 00 �1 00 0 �1�。
ConsoleDMP,一种用
这时该轴上的数据应
如下图所示。ConsoleDMP
对于陀螺仪,需要遵守右手定则
指弯曲的方向就是转动的正方向
如果陀螺仪的方位矩阵是正确的
数据应该是正值,另外两轴数据基本为零
图 4 加速计各个轴的正方向
需要遵守右手定则。将右手的拇指作为转动轴,弯曲右手剩余四指
指弯曲的方向就是转动的正方向。
图 5 右手定则
陀螺仪的方位矩阵是正确的,围绕系统坐标系的任一轴做正向旋转
外两轴数据基本为零;如果反向旋转,陀螺仪的输出数据应该是负值
图 6 陀螺仪各个轴的正向/负向旋转
3
弯曲右手剩余四指,这四
正向旋转,陀螺仪的输出
陀螺仪的输出数据应该是负值。
在验证磁力计的方位矩阵
位置使得要验证的轴和水平面
矩阵是正确的,该轴上的数据
从数据上看,就是数据
通过以上的方法设置方位
可以得到正确的方位矩阵。
矩阵时首先要找到北的方向。在验证每一个轴的时候
水平面平行。将要验证的轴的正向指向北,水平旋转
数据在指向北时最大,指向南时最小。
数据由初始值变小,之后又变大,恢复原来的大小。
图 7 磁力计 Y轴旋转数据
方位矩阵,再通过 ConsoleDMP和 SensorMonitor.ap
。
4
时候,调整手机的
旋转一圈。如果方位
。
pk进行验证,就