当前位置: 首页 > 面试题库 >

如何使用加速度计进行手势识别

须原
2023-03-14
问题内容

我的目标是从安装在太阳点上的加速度计识别简单的手势。手势可以像旋转设备或以几种不同的动作移动设备一样简单。该设备目前仅具有加速度计,但是我们正在考虑添加陀螺仪,以使其更容易/更准确。

有人对如何做到这一点有建议吗?Java中是否有可用的库?您推荐我查看的示例项目?您推荐的论文?

这个亮点是一个Java平台,可帮助您快速制作系统原型。它使用Java编程,可以将命令中继回连接到计算机的基站。如果我需要解释硬件的工作原理,请发表评论。


问题答案:

加速度计将记录由于重力而产生的恒定加速度,加上用户对该设备所承受的任何加速度,以及噪声。

您将需要对样本进行低通滤波,以消除尽可能多的不相关噪声。通常,最差的噪声将是频率高于任何可能的人为加速度。

请注意,当用户不加速设备时,唯一的力就是重力,因此可以推断出其在空间中的姿态。此外,当总加速度从1g大幅变化时,这一定是由于用户加速了设备所致;通过减去最后一次已知的重力估算,您可以大致估算出设备在哪个方向上以及用户加速设备的速度,从而获得可以与一系列已知手势进行匹配的数据。

使用单个三轴加速度计,您可以检测当前的俯仰和横滚以及直线上的设备加速度。对加速度减去重力进行积分可以为您提供当前速度的估算值,但是由于噪声,估算值会迅速偏离实际情况;您将必须在手势之前/之间/期间对用户的行为进行假设,并通过UI进行引导,以提供设备未加速的点,您可以重置估算值并可靠地估算重力方向。再次整合以寻找位置,在任何有用的时间内都不可能提供可用的结果。

如果您有两个相距一定距离的三轴加速度计,或者一个陀螺仪和一些陀螺仪,您还可以检测设备的旋转(通过比较加速度矢量,或直接从陀螺仪获得);在几秒钟内对角动量进行积分将使您相对于开始积分时的当前偏航进行估算,但这又会迅速偏离真实值。



 类似资料:
  • 本文向大家介绍AndroidStudio:手势识别,包括了AndroidStudio:手势识别的使用技巧和注意事项,需要的朋友参考一下 一内容:设计一个手写字体识别程序。 二实现 ①建立一个存放手写字体的数据库 ②activity_main.xml 3.MainActivity.java 三效果 以上所述是小编给大家介绍的AndroidStudio手势识别详解整合,希望对大家有所帮助,如果大家有任

  • 我正在使用IMU(3轴加速度计、3轴陀螺仪、3轴磁力计),我想从加速度计数据中获取线性加速度。我知道传感器融合和使用陀螺仪数据(并获取方向)获取重力矢量的能力,从而消除其对相应轴的影响。 我走在正确的道路上吗?如果可以的话,你能帮忙吗?

  • 本文向大家介绍Android手势识别器GestureDetector使用详解,包括了Android手势识别器GestureDetector使用详解的使用技巧和注意事项,需要的朋友参考一下 以前只知道控件的onTouchEvent()事件,它的动作有MotionEvent.ACTION_DOWN、MotionEvent.ACTION_MOVE、MotionEvent.ACTION_UP;今天有个需求

  • 采集设备在x、y、z方向上的动作。 方法: accelerometer.getCurrentAcceleration accelerometer.watchAcceleration accelerometer.clearWatch 参数: accelerometerSuccess accelerometerError accelerometerOptions 对象(只读): Acceleratio

  • 本文向大家介绍iOS UIPan手势识别器,包括了iOS UIPan手势识别器的使用技巧和注意事项,需要的朋友参考一下 示例 平移手势识别器可检测到拖动手势。以下示例将图像添加到视图控制器,并允许用户在屏幕上四处拖动图像。 目标C 迅速 注意:尽管UIPanGestureRecognizer对于检测任何拖动手势很有用,但是如果您只想检测基本手势(例如用户向左/向右或向上/向下拖动手指),请使用UI

  • 本文向大家介绍Android手势识别功能,包括了Android手势识别功能的使用技巧和注意事项,需要的朋友参考一下 现在智能手机基本都是触摸操作,点击按钮是一种交互方式,同时手势相关的操作,比如滑动等等同样是很重要的交互方式。这篇文章是对安卓手势交互相关知识点的整理和总结,主要来源基于官方文档。 触摸交互中的概念 常用事件 首先要了解一些常用的事件: ACTION_DOWN:第一个手指按下 ACT