4478|7

9795

帖子

24

TA的资源

版主

楼主
 

虚拟架子鼓------鼓点识别的想法 [复制链接]

 
ST Open.Mems提供的osxMotionFX库实能够实现姿态数据输出
对应的输出结构体osxMFX_output中的rotation_9X包含yaw(偏航), pitch(俯仰) and roll(横滚)三个数据
在百度百科找到的解释是
yaw(偏航):机体坐标系xb轴在水平面上投影与地面坐标系xg轴(在水平面上,指向目标为正)之间的夹角,由xg轴逆时针转至机体xb的投影线时,偏航角为正,即机头右偏航为正,反之为负。
pitch(俯仰):机体坐标系X轴与水平面的夹角。当X轴的正半轴位于过坐标原点的水平面之上(抬头)时,俯仰角为正,否则为负。
roll(横滚):机体坐标系zb轴与通过机体xb轴的铅垂面间的夹角,机体向右滚为正,反之为负。
要利用姿态数据实现鼓棒方向检测就相当于把飞机的鸡翅膀、鸡屁股都去掉
把机体拉长,拉细,一架飞机秒变鼓棒
如果使用者是手握机尾,用机头来敲鼓的话
这时以使用者为圆心机头由左向右顺时针转动正好对应yaw(偏航)数据rotation_9X[0]的输出为0~360
如果以使用者为圆心机头由下向上抬起对应pitch(俯仰))数据rotation_9X[2]的输出为-90~+90
剩下一个roll(横滚)rotation_9X[1]对应鼓棒自向的转动
实际使用时不需要此数据
  1. [/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]typedef struct[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]{[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float rotation_9X[NUM_AXES];            /* 9 axes yaw, pitch and roll */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float quaternion_9X[QNUM_AXES];         /* 9 axes quaternion */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float gravity_9X[NUM_AXES];             /* 9 axes device frame gravity */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float linear_acceleration_9X[NUM_AXES]; /* 9 axes device frame linear acceleration */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float heading_9X;                       /* 9 axes heading */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float rotation_6X[NUM_AXES];            /* 6 axes yaw, pitch and roll */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float quaternion_6X[QNUM_AXES];         /* 6 axes quaternion */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float gravity_6X[NUM_AXES];             /* 6 axes device frame gravity */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float linear_acceleration_6X[NUM_AXES]; /* 6 axes device frame linear acceleration */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]  float heading_6X;                       /* 6 axes heading */[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]} osxMFX_output;[/size][/font][/color][/align][align=left][color=rgb(0, 0, 0)][font=Calibri, sans-serif][size=10.5pt]
复制代码
将ABCDEFG这7个鼓镲在脑袋里分别按左中右,上中下位置放置
然后通过yaw(偏航)和pitch(俯仰)数据就能知道鼓棒指向了哪只鼓
实际使用中因为没有真实的鼓镲存在,使用者在敲打的过程中也容易把位置记错
所以鼓镲的数量需要根据使用者的熟练程度去设置,比如新手一根鼓棒对应左右上下4个鼓镲,敲错的几率就会降低很多

最新回复

没有外面参考坐标输入会有积分偏差的吧,就像四轴一样  详情 回复 发表于 2017-4-15 12:44
点赞 关注
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复
举报

356

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
 
 
 

回复

1381

帖子

2

TA的资源

五彩晶圆(初级)

板凳
 
好牛!
不会打击乐的飘过……
 
 
 

回复

111

帖子

0

TA的资源

一粒金砂(中级)

4
 
想知道是否会有用LSM303AGR磁力传感器来做绝对位置的标定呢?从俯视图上看来,ADE之间分辨的难度还是挺大的。。。。不晓得小虾是怎么处理的,期待ing

点评

对,ADE对应的偏航数据比较接近 可以再通过判断俯仰数据来确定 因为ABC在敲打时鼓头是向下的,DE需要抬起一些 其实单从输出的数据来看,仅通过偏航数据也能判断出是A还是DE 只是使用时因为鼓棒是在动的,使用者只  详情 回复 发表于 2017-4-15 10:28
 
 
 

回复

41

帖子

1

TA的资源

一粒金砂(中级)

5
 
集开发大神和简笔画家于一身,佩服佩服
 
 
 

回复

9795

帖子

24

TA的资源

版主

6
 
alberthink 发表于 2017-4-14 15:31
想知道是否会有用LSM303AGR磁力传感器来做绝对位置的标定呢?从俯视图上看来,ADE之间分辨的难度还是挺大的 ...

对,ADE对应的偏航数据比较接近
可以再通过判断俯仰数据来确定
因为ABC在敲打时鼓头是向下的,DE需要抬起一些
其实单从输出的数据来看,仅通过偏航数据也能判断出是A还是DE
只是使用时因为鼓棒是在动的,使用者只是在脑海里构想这样一个目标所以很容易出现偏差
rotation_9X是9轴融合数据,应该已经融入了磁场、加速度和陀螺仪数据
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

7
 
没有外面参考坐标输入会有积分偏差的吧,就像四轴一样

点评

使用前可以先校准一下 因为有时坐的方向可能和上一次都不一样  详情 回复 发表于 2017-4-19 12:34
 
 
 

回复

9795

帖子

24

TA的资源

版主

8
 
曾经in 发表于 2017-4-15 12:44
没有外面参考坐标输入会有积分偏差的吧,就像四轴一样

使用前可以先校准一下
因为有时坐的方向可能和上一次都不一样
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表