4210|13

9795

帖子

24

TA的资源

版主

楼主
 

(已解决)请教大家,SensorTile使用融合算法时遇到问题 [复制链接]

 
 我对融合算法不了解
看了一下STM32_OSX_MotionFX输出的结构体定义
我查了一下资料rotation_9X意思是“偏航,俯仰和滚转”
我把BlueMicrosystem2_V2.1.3的输出代码改成rotation_9X,其它不变
  1.     /* Save the quaternions values */
  2.     if(MotionFX_Engine_Out->quaternion_9X[3] < 0){
  3.       quat_axes[QuaternionNumber].AXIS_X = (int32_t)(MotionFX_Engine_Out->rotation_9X[0] * (-10000));
  4.       quat_axes[QuaternionNumber].AXIS_Y = (int32_t)(MotionFX_Engine_Out->rotation_9X[1] * (-10000));
  5.       quat_axes[QuaternionNumber].AXIS_Z = (int32_t)(MotionFX_Engine_Out->rotation_9X[2] * (-10000));
  6.     } else {
  7.       quat_axes[QuaternionNumber].AXIS_X = (int32_t)(MotionFX_Engine_Out->rotation_9X[0] * 10000);
  8.       quat_axes[QuaternionNumber].AXIS_Y = (int32_t)(MotionFX_Engine_Out->rotation_9X[1] * 10000);
  9.       quat_axes[QuaternionNumber].AXIS_Z = (int32_t)(MotionFX_Engine_Out->rotation_9X[2] * 10000);
  10.     }  
复制代码


在我查看数据的时候
如果将平放的板子前后和左右倾斜rotation_9X[1],rotation_9X[2]会有变化
当板子归位时和变化之前的数据相同



现在的问题是当我转动板子的时候rotation_9X[0]会变化
只是每次转回到原位置的时候数据和转动前都是不一样的



是我的理解有问题吗?
另外原来的代码里输出的是quaternion_9X四元素数据
四元素和rotation除了多一个quaternion_9X[3]外其它数据有什么不同?


  1. typedef struct
  2. {
  3.   float rotation_9X[NUM_AXES];            /* 9 axes yaw, pitch and roll */
  4.   float quaternion_9X[QNUM_AXES];         /* 9 axes quaternion */
  5.   float gravity_9X[NUM_AXES];             /* 9 axes device frame gravity */
  6.   float linear_acceleration_9X[NUM_AXES]; /* 9 axes device frame linear acceleration */
  7.   float heading_9X;                       /* 9 axes heading */
  8.   float rotation_6X[NUM_AXES];            /* 6 axes yaw, pitch and roll */
  9.   float quaternion_6X[QNUM_AXES];         /* 6 axes quaternion */
  10.   float gravity_6X[NUM_AXES];             /* 6 axes device frame gravity */
  11.   float linear_acceleration_6X[NUM_AXES]; /* 6 axes device frame linear acceleration */
  12.   float heading_6X;                       /* 6 axes heading */
  13. } osxMFX_output;
复制代码


最新回复

the fusion val: x=143.74, y=-0.46, z=1.78 the fusion val: x=140.02, y=-2.61, z=0.62 the fusion val: x=140.52, y=-2.43, z=1.52 the fusion val: x=144.17, y=-2.67, z=0.72 the fusion val: x=150.99, y=-3.01, z=1.30 the fusion val: x=147.91, y=-3.77, z=2.01 the fusion val: x=144.95, y=-2.17, z=0.76 the fusion val: x=139.61, y=-2.22, z=1.09 the fusion val: x=134.73, y=-2.24, z=0.49 the fusion val: x=138.98, y=-2.84, z=0.12 the fusion val: x=142.96, y=-3.59, z=0.79 the fusion val: x=127.87, y=-3.20, z=1.96 the fusion val: x=121.67, y=-2.64, z=0.99 the fusion val: x=126.82, y=-1.99, z=0.62 the fusion val: x=129.06, y=-2.01, z=1.30 the fusion val: x=111.64, y=-2.46, z=1.25 the fusion val: x=111.70, y=-3.39, z=1.24 the fusion val: x=98.03, y=-2.74, z=1.74 the fusion val: x=110.42, y=-2.66, z=1.67 the fusion val: x=113.15, y=-2.77, z=1.02 the fusion val: x=112.27, y=-1.80, z=0.55 the fusion val: x=109.42, y=-2.32, z=1.09 the fusion val: x=117.45, y=-2.87, z=0.62 the fusion val: x=132.42, y=-2.02, z=0.63 the fusion val: x=134.26, y=-1.83, z=0.94 the fusion val: x=141.17, y=-3.10, z=1.97 the fusion val: x=143.10, y=-2.61, z=1.16 the fusion val: x=163.86, y=-2.61, z=1.58 the fusion val: x=164.56, y=-2.59, z=1.70 the fusion val: x=163.08, y=-3.44, z=0.93 the fusion val: x=165.38, y=-1.76, z=0.25 the fusion val: x=166.38, y=-3.38, z=1.89 the fusion val: x=162.94, y=-2.76, z=0.81 the fusion val: x=167.28, y=-1.92, z=0.11 the fusion val: x=165.39, y=-2.86, z=1.37 the fusion val: x=159.01, y=-2.82, z=1.45 the fusion val: x=155.20, y=-2.57, z=1.35 the fusion val: x=150.74, y=-3.57, z=1.11 the fusion val: x=163.77, y=-2.97, z=1.18 the fusion val: x=163.29, y=-2.65, z=0.28 the fusion val: x=157.41, y=-3.23, z=1.76 the fusion val: x=168.03, y=-3.87, z=0.25 the fusion val: x=181.54, y=-2.49, z=1.09 the fusion val: x=186.52, y=-3.77, z=1.25 the fusion val: x=201.34, y=-3.57, z=0.82 the fusion val: x=212.15, y=-3.89, z=1.51 the fusion val: x=216.59, y=-1.46, z=1.88 the fusion val: x=223.32, y=-2.14, z=-0.29  详情 回复 发表于 2019-1-18 14:38
点赞 关注
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复
举报

34

帖子

1

TA的资源

一粒金砂(中级)

沙发
 
我知道的是,
rotation是旋转的角度
quaternion描述的是四元素,跟Rotation表示的是不同的内容。
找了下四元素的概念:


我在猜想,rotation的值没有回到原位,是否你没有完全回来原来的位置,毕竟rotation测量的是角度变化。



点评

rotation[0](偏航)每次回到原位的偏差很大,不是放置误差造成的 俯仰和横滚可以回到原位  详情 回复 发表于 2017-3-14 15:05
 
 
 

回复

9795

帖子

24

TA的资源

版主

板凳
 
uniquey 发表于 2017-3-14 14:26
我知道的是,
rotation是旋转的角度
quaternion描述的是四元素,跟Rotation表示的是不同的内容。
找了下 ...

rotation[0](偏航)每次回到原位的偏差很大,不是放置误差造成的
俯仰和横滚可以回到原位
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

46

帖子

0

TA的资源

一粒金砂(中级)

4
 
你磁力计做过8字校准吗?周围环境磁干扰严重吗?检查一下笔记本,桌子周围是否有磁铁或者铁之类的东西。

点评

磁传感器如何做8字校准??  详情 回复 发表于 2017-3-14 23:05
没校准 开始我也怀疑是室内磁场干扰造成的 但是四元素输出是正常的 所以我觉得可能是我对这个变量的理解有问题  详情 回复 发表于 2017-3-14 17:25
 
 
 

回复

9795

帖子

24

TA的资源

版主

5
 


没校准
开始我也怀疑是室内磁场干扰造成的
但是四元素输出是正常的
所以我觉得可能是我对这个变量的理解有问题

点评

我给磁力计做了校准,陀螺仪也做了下校准(原始数据减去静止时陀螺仪的输出),看yaw的输出,在回到原始位置时,偏差应该是基本小于5度。因为我手上没有sensortile板子,我用的nucleo board做的实验。你可以试试  详情 回复 发表于 2017-3-15 11:30
 
 
 

回复

1301

帖子

0

TA的资源

纯净的硅(中级)

6
 
加油,做空中鼠标吗?这个芯片和mpu6050
一样带硬件dmp功能吗?希望意法半导体
继续完善。

点评

MotionFX应该是通过软件实现的 ST官方提供了STM32的库,需要向ST发邮件申请注册码 MPU6050的DMP没有用过,不知道效果怎么样 如果能通过硬件直接输出四元素确实很方便  详情 回复 发表于 2017-3-14 20:42
个人签名

 

 

 
 
 

回复

9795

帖子

24

TA的资源

版主

7
 
大秦正声 发表于 2017-3-14 19:30
加油,做空中鼠标吗?这个芯片和mpu6050
一样带硬件dmp功能吗?希望意法半导体
继续完善。

MotionFX应该是通过软件实现的
ST官方提供了STM32的库,需要向ST发邮件申请注册码
MPU6050的DMP没有用过,不知道效果怎么样
如果能通过硬件直接输出四元素确实很方便
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

351

帖子

1

TA的资源

一粒金砂(高级)

8
 
yujie2510 发表于 2017-3-14 16:01
你磁力计做过8字校准吗?周围环境磁干扰严重吗?检查一下笔记本,桌子周围是否有磁铁或者铁之类的东西。

磁传感器如何做8字校准??
 
 
 

回复

46

帖子

0

TA的资源

一粒金砂(中级)

9
 
lark100 发表于 2017-3-14 23:05
磁传感器如何做8字校准??

在手机上BlueMS app上,如果你已经申请了osxMotionFX的license,你会在app上看SensorFusion的界面(一个色子),进入这个界面后右下角有个卧的“8”字标示,点一下它,你会看到8字动作的示意,照着做就可以了,一般磁力计都是这么做校准的。做完成功了以后,小板子上的红灯会一直亮着。
 
 
 

回复

46

帖子

0

TA的资源

一粒金砂(中级)

10
 
littleshrimp 发表于 2017-3-14 17:25
没校准
开始我也怀疑是室内磁场干扰造成的
但是四元素输出是正常的
所以我觉得可能是我对这个变量的理 ...

我给磁力计做了校准,陀螺仪也做了下校准(原始数据减去静止时陀螺仪的输出),看yaw的输出,在回到原始位置时,偏差应该是基本小于5度。因为我手上没有sensortile板子,我用的nucleo board做的实验。你可以试试
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

11
 
我用motionFX的数据,为何在板子静止状态rotation值也是一直变化的呢?

点评

变化大吗?  详情 回复 发表于 2019-1-17 14:49
 
 
 

回复

9795

帖子

24

TA的资源

版主

12
 
a217zxg 发表于 2019-1-17 11:56
我用motionFX的数据,为何在板子静止状态rotation值也是一直变化的呢?

变化大吗?
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

13
 

the fusion val: x=143.74, y=-0.46, z=1.78
the fusion val: x=140.02, y=-2.61, z=0.62
the fusion val: x=140.52, y=-2.43, z=1.52
the fusion val: x=144.17, y=-2.67, z=0.72
the fusion val: x=150.99, y=-3.01, z=1.30
the fusion val: x=147.91, y=-3.77, z=2.01
the fusion val: x=144.95, y=-2.17, z=0.76
the fusion val: x=139.61, y=-2.22, z=1.09
the fusion val: x=134.73, y=-2.24, z=0.49
the fusion val: x=138.98, y=-2.84, z=0.12
the fusion val: x=142.96, y=-3.59, z=0.79
the fusion val: x=127.87, y=-3.20, z=1.96
the fusion val: x=121.67, y=-2.64, z=0.99
the fusion val: x=126.82, y=-1.99, z=0.62
the fusion val: x=129.06, y=-2.01, z=1.30
the fusion val: x=111.64, y=-2.46, z=1.25
the fusion val: x=111.70, y=-3.39, z=1.24
the fusion val: x=98.03, y=-2.74, z=1.74
the fusion val: x=110.42, y=-2.66, z=1.67
the fusion val: x=113.15, y=-2.77, z=1.02
the fusion val: x=112.27, y=-1.80, z=0.55
the fusion val: x=109.42, y=-2.32, z=1.09
the fusion val: x=117.45, y=-2.87, z=0.62
the fusion val: x=132.42, y=-2.02, z=0.63
the fusion val: x=134.26, y=-1.83, z=0.94
the fusion val: x=141.17, y=-3.10, z=1.97
the fusion val: x=143.10, y=-2.61, z=1.16
the fusion val: x=163.86, y=-2.61, z=1.58
the fusion val: x=164.56, y=-2.59, z=1.70
the fusion val: x=163.08, y=-3.44, z=0.93
the fusion val: x=165.38, y=-1.76, z=0.25
the fusion val: x=166.38, y=-3.38, z=1.89
the fusion val: x=162.94, y=-2.76, z=0.81
the fusion val: x=167.28, y=-1.92, z=0.11
the fusion val: x=165.39, y=-2.86, z=1.37
the fusion val: x=159.01, y=-2.82, z=1.45
the fusion val: x=155.20, y=-2.57, z=1.35
the fusion val: x=150.74, y=-3.57, z=1.11
the fusion val: x=163.77, y=-2.97, z=1.18
the fusion val: x=163.29, y=-2.65, z=0.28
the fusion val: x=157.41, y=-3.23, z=1.76
the fusion val: x=168.03, y=-3.87, z=0.25
the fusion val: x=181.54, y=-2.49, z=1.09
the fusion val: x=186.52, y=-3.77, z=1.25
the fusion val: x=201.34, y=-3.57, z=0.82
the fusion val: x=212.15, y=-3.89, z=1.51
the fusion val: x=216.59, y=-1.46, z=1.88
the fusion val: x=223.32, y=-2.14, z=-0.29
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

14
 

the fusion val: x=143.74, y=-0.46, z=1.78
the fusion val: x=140.02, y=-2.61, z=0.62
the fusion val: x=140.52, y=-2.43, z=1.52
the fusion val: x=144.17, y=-2.67, z=0.72
the fusion val: x=150.99, y=-3.01, z=1.30
the fusion val: x=147.91, y=-3.77, z=2.01
the fusion val: x=144.95, y=-2.17, z=0.76
the fusion val: x=139.61, y=-2.22, z=1.09
the fusion val: x=134.73, y=-2.24, z=0.49
the fusion val: x=138.98, y=-2.84, z=0.12
the fusion val: x=142.96, y=-3.59, z=0.79
the fusion val: x=127.87, y=-3.20, z=1.96
the fusion val: x=121.67, y=-2.64, z=0.99
the fusion val: x=126.82, y=-1.99, z=0.62
the fusion val: x=129.06, y=-2.01, z=1.30
the fusion val: x=111.64, y=-2.46, z=1.25
the fusion val: x=111.70, y=-3.39, z=1.24
the fusion val: x=98.03, y=-2.74, z=1.74
the fusion val: x=110.42, y=-2.66, z=1.67
the fusion val: x=113.15, y=-2.77, z=1.02
the fusion val: x=112.27, y=-1.80, z=0.55
the fusion val: x=109.42, y=-2.32, z=1.09
the fusion val: x=117.45, y=-2.87, z=0.62
the fusion val: x=132.42, y=-2.02, z=0.63
the fusion val: x=134.26, y=-1.83, z=0.94
the fusion val: x=141.17, y=-3.10, z=1.97
the fusion val: x=143.10, y=-2.61, z=1.16
the fusion val: x=163.86, y=-2.61, z=1.58
the fusion val: x=164.56, y=-2.59, z=1.70
the fusion val: x=163.08, y=-3.44, z=0.93
the fusion val: x=165.38, y=-1.76, z=0.25
the fusion val: x=166.38, y=-3.38, z=1.89
the fusion val: x=162.94, y=-2.76, z=0.81
the fusion val: x=167.28, y=-1.92, z=0.11
the fusion val: x=165.39, y=-2.86, z=1.37
the fusion val: x=159.01, y=-2.82, z=1.45
the fusion val: x=155.20, y=-2.57, z=1.35
the fusion val: x=150.74, y=-3.57, z=1.11
the fusion val: x=163.77, y=-2.97, z=1.18
the fusion val: x=163.29, y=-2.65, z=0.28
the fusion val: x=157.41, y=-3.23, z=1.76
the fusion val: x=168.03, y=-3.87, z=0.25
the fusion val: x=181.54, y=-2.49, z=1.09
the fusion val: x=186.52, y=-3.77, z=1.25
the fusion val: x=201.34, y=-3.57, z=0.82
the fusion val: x=212.15, y=-3.89, z=1.51
the fusion val: x=216.59, y=-1.46, z=1.88
the fusion val: x=223.32, y=-2.14, z=-0.29
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表