首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Arduino头跟踪MPU6050

C# Arduino头跟踪MPU6050
EN

Stack Overflow用户
提问于 2016-04-22 16:27:08
回答 1查看 711关注 0票数 1

我正在开发一个应用程序,可以帮助残疾人使用计算机。应用程序从Arduino+MPU6050 (位于头部上方)读取值,并将其转换为位置。来自串行端口的值类似于"x,y",并且这个值的比例从-16000到+16000。

我在计算方法中处理这个值(我在本文末尾报告)。一切都很好,但我有问题。如果使用此软件/硬件的人有某种类型的肌肉垃圾邮件或抽搐,该软件太精确,并移动鼠标。我想消除这个慢性movement...how,我能这样做吗?

这是computePosition的代码。

代码语言:javascript
复制
public void computePosition()
        {
            data = connection.readSeriaLine();
            words = data.Split(',');
            yaw = words[0];
            pitch = words[1];
            Int32.TryParse(pitch, out posiY);
            Int32.TryParse(yaw, out posiX);
            posiX = posiX / headSensitivity; 
            posiX = posiX - globalPosiX;
            posiY = posiY / headSensitivity;
            posiY = posiY - globalPosiY;
            int signX = Math.Sign(posiX);
            int signY = Math.Sign(posiY);
            int positionX = Cursor.Position.X;
            int positionY = Cursor.Position.Y;
            Cursor.Position = new Point(positionX + (signX * movementSensitivity), positionY + (signY * movementSensitivity));
     }       

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2016-04-22 19:04:44

我建议您在固件中使用移动手工艺品的数据处理。疾病,如帕金森病,在1-20赫兹频率有震颤.您可以使用程序滤波器,并根据确定的频率进行调整。

频率计算采用傅里叶变换对加速度计和陀螺原始数据进行处理。

因此,一般来说,你应该:

  • 在谐振器阵列中存储传感器的原始数据
  • 做FFT
  • 阵列的处理滤波(从FFT中切断主频率)
  • 将数据发送到运动处理,然后发送到PC。

在winform应用程序中,您可以尝试在X,Y坐标上做同样的操作。你将以何种方式使用取决于你在每一特定案件中所遇到的艺术品。你甚至可能需要不同的过滤器的设置,为各种疾病,或自学习算法为每个病人。

如果用“数学”(或类似的)标签标记这个问题,你可能会得到更多的答案。因为它不在C#或Arduino字段中。

更新。

在进行编程之前,我建议您做一些研究工作。首先,你需要从一个患有某种疾病的人身上佩戴的传感器上收集数据。你需要至少30-60秒的数据,包含蜱,运动,手工艺品。将数据写入3列:

时间在ms \x位置_y位置

然后转到Lab图表阅读器下载页面,下载并安装它。用数据打开文件,并在X和Y上做“光谱”命令/查看。这将给你提供关于存在频率的信息(包括手工艺品和“好的”动作)。我认为运动伪像频率有较大的振幅。记住那些频率。

然后执行“数字滤波器”->“波段停止”命令。切断前一步的频率。我希望经过这一过程,你会看到好的图表,没有人工制品。

然后你就可以编程了。实现FFT和数字滤波并不难。对于快速傅立叶变换,您可以使用Aforge.Math库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36798952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档