新手上路
- 积分
- 41
- 金钱
- 41
- 注册时间
- 2014-6-17
- 在线时间
- 0 小时
|

楼主 |
发表于 2015-4-8 01:39:58
|
显示全部楼层
先说下我对程序的理解
我觉得上面是用上一次四元数决定的物体的姿态,用来算各轴上加速度值和磁场强度值。
下面是我查的资料,四元数转换为旋转为旋转矩阵
先看轴上加速度值vx,vy,vz,由上式可算出vx,vy,vz。
即:[0,0,1]*上面矩阵,因为只有竖直向下有加速度,所以是[0,0,1]。
**********************************************************************************
问题1:但是我不明白,为什么程序里面VZ为什么不是1-2(q1^2+q2^2)。
*************************************************************************************
对于对各轴上磁场强度值wx,wy,wz,程序上好像采取的是将mx,my,mz按照四元数转为参考坐标中各轴上的磁场强度值hx,hy,hz,由于磁场方向可能不是水平,但是hy上应该为0,所以后面用bx,bz来补偿,将Y轴上搞到0。上面的矩阵是将参考坐标系转换为物体自己的坐标系,由于这步是将物体坐标系转换为参考坐标系,所以上面的矩阵应该修改,不过好像只要将矩阵由右乘改为左乘就可以了。
即:上面矩阵*[mx,my,mz]T(T表示转置,将行变成列)
算出bx,bz后,然后跟加速度一样算出wx,wy,wz。
即:[bx,0,bz]*上面矩阵 |
|