——书到用时方恨少,很幸运最近刚好复习了一部分线性代数,没想到马上在实践中用到了。
最近在做一个项目,编译之余总结一下遇到的问题,以及心得。
Gsensor想必大家应该都用过,像MPU6050六轴,MMA8452,我大概就用过这几种,可以通过当前传感器的三轴加速度值以及角速度值去计算当前的姿态。
坐标系
左手坐标系与右手坐标系
不同点:手不同
相同:
大拇指指向Z轴/
食指指向X轴/
中止指向Y轴/
这里可以用手脑补一下,画个图便一目了然
虽然有两种,那需要统一使用一种坐标系进行度量。
安卓设备的坐标系(右手坐标系进行标定)
传送门(https://developer.android.com/gu ... rs/sensors_overview)
这张图片已经比较直观了,右手坐标系。
Gsensor 坐标系
理想是丰满的,但是现实是骨感的,Gsensro chip 的layout 的坐标系并不会和手机的坐标系完全一致。
这里,
旋转矩阵就出现了
理论:空间点可以表示为[X1, Y1, Z1]T的一个列向量
F,做空间姿态变换的时候相当于左乘一个
3阶矩阵A
AF=B
那么
B就是旋转后的空间点[X2, Y2, Z2]T
按照这个思想就能确定真实Gsensor的坐标数据与设备坐标的映射关系了。
在这里粗略的总结一下。
此内容由EEWORLD论坛网友hotsauce1861原创,如需转载或用于商业用途需征得作者同意并注明出处
本文来自论坛,点击查看完整帖子内容。