标签: accelerometer

加速度计数据:如何解读?

我正在试验一个3加速度计分线板.X轴和Y轴非常容易控制,但Z轴有点神秘.我试图找到一种方法来解释我的代码中的数据,以便在设备被提升时增加输出,并在降低时减少.这可能吗?如果是这样,怎么样?也许如果有人可以指向一个有用的好参考资料来源.

accelerometer

12
推荐指数
2
解决办法
4万
查看次数

学习传感器融合的最佳书籍,特别是有关IMU和GPS集成的书籍

我需要从以下传感器构建惯性测量单元(IMU):

  • 加速度计
  • 陀螺仪
  • 磁力仪

我必须整合这些数据,以得出传感器平台的姿态和所涉及的外力(例如,从线性加速度中减去倾斜).

然后,我必须使用这些信息来补充标准的GPS单元,以提供比仅由GPS提供的更一致的测量.

我确实理解这个问题的基本要求:

  • 集成传感器.(取消噪音,减去加速度).
  • 消除噪音.(卡尔曼滤波器)
  • 将IMU测量集成到GPS中.

虽然目前有各种各样的图书馆可供我这样做(http://code.google.com/p/sf9domahrs/)我需要了解所涉及的机制,以便我能够向其他人解释这些技术在我实施解决方案之后.

我一直在寻找以下资源,但我不确定我应该去哪...我需要一些内容涉及传感器融合,过滤,IMU,集成.

多传感器,融合,一体化,智能化的系统

定位的系统,惯性导航集成

机电一体化,智能化的系统 - 越野车数据

自主飞行机器人,无人驾驶汽车

我希望在这方面有经验的人可以提供任何建议.

非常感谢.

physics sensor accelerometer gyroscope kalman-filter

12
推荐指数
1
解决办法
8752
查看次数

用倾角计算重力

如何将倾角仪(俯仰,偏航和滚转)转换为系统中预期的重力[X,Y,Z]

处于某个俯仰角,俯仰角和俯仰角的静止系统应该在某个位置拉到地面[X*g,Y*g,Z*g],假设这是出于模拟目的.我想创建一个输入是Pitch,Yaw和Roll的函数,输出是一个Vector3(X,Y,Z)下降时刻.

意味着一个物体静止,它向后向下会输出类似于[0,-1,0]加速度计和a的东西[pitch,yaw,roll]->[0,-1,0],其中[0,-1,0]减去了[0,-1,0]结果[0,0,0].或者如果我们以1g的速度向左拉,我们有一个加速度计显示[1,-1,0]新的值[1,0,0].

系统背面[俯仰,偏航,滚动] - > [0,-1,0]功能是我所追求的

Vector3 OriToXYZ(float pitch, float yaw, float roll){
    Vector3 XYZ = Vector.Zero;
    //Simulate what the XYZ should be on a object in this orientation
    //oriented against gravity
    ...
    return XYZ;
}
Run Code Online (Sandbox Code Playgroud)

是的我知道,因为下面的解释显示我无法检测系统是否颠倒或不基于滚动仅作为滚动给出(-90到90)但这是一个不同的问题).

这就是方向的布局方式. 倾斜度

有关使用此信息的原因,内容和方式的更多信息,请继续阅读.

计划是使用测斜仪作为陀螺仪的替代方案,通过模拟/计算方向上的重力预期值(俯仰,偏航,滚动)来将重力分量移除到加速度计数据.

由于加速度计(XYZ)是重力(XYZ)和运动(XYZ)两个组件的组合,我假设gravity(XYZ)-calc_g(XYZ) = 0,允许我执行accelerometer(XYZ)- calc_g(XYZ) =movement(XYZ)

说明为什么我认为这是可能的.当我绘制手机的数值并将手机侧向移动时略微摆动,看起来像正弦/余弦运动的线条是倾斜的,其他线条是XYZ加速度计:

  • red =(Pitch&accell-X)
  • 绿色=(Yaw&accell-Y)
  • blue =(Roll&accell-Z)

加速度值乘以90,因为它的范围为(-2到2),因此它在图纸中的范围从-180到180,俯仰偏航和滚转范围如上面的指示所示.图像的中间是Y = 0,左边是X = 0(X …

c# physics accelerometer windows-phone-8

12
推荐指数
1
解决办法
1816
查看次数

Android中的步数计数器:永远在线?

一个众所周知的问题是,许多Android手机在屏幕关闭时关闭加速度计.然而Android Fit(应用程序)似乎发生了一些变化.即使屏幕熄灭,Fit也会保持计数步数.如果安装了Fit,则会在Fit环境中引发事件以进行步数计数,并且我可以使用它来捕获它们

Fitness.SensorsApi.findDataSources(mClient, new DataSourcesRequest.Builder()
                .setDataTypes(DataType.TYPE_STEP_COUNT_CUMULATIVE)
Run Code Online (Sandbox Code Playgroud)

我在三星S4和Oneplus One上测试了这个,在这两种情况下都计算了步数.他们是怎么做到的?他们使用什么Android类?我的理解是,自Kitkat以来引入的可用方法是实现SensorEventListener.例如,theelfismike提供了实现此功能的代码.然而,在许多手机上,当屏幕熄灭时,步数会停止.有趣的是,如果安装了Google Fit应用程序,计数似乎并没有停止(因此我猜他们会保持加速度计开启).

我错过了什么吗?屏幕关闭后保持计数步骤的功能是否可供凡人程序员使用?谢谢!

android accelerometer google-fit

12
推荐指数
1
解决办法
4812
查看次数

如何在Web浏览器中检测设备是否具有陀螺仪?

我正在使用THREE.js并创建一个Web应用程序,用户可以旋转设备,场景将相应移动.同样的事情也来.

我在区分具有陀螺仪的设备和不具有陀螺仪的设备方面存在问题.

检测完全没有方向传感器的设备很容易.DeviceOrientationEvent的所有alpha,beta,gamma值均为null.但是,如果移动设备没有陀螺仪,它仍会在DeviceOrientationEvent中提供alpha,beta,gamma值.问题是这些值非常嘈杂,并且在场景中引起很多震动.所以,我想禁用这些设备的设备方向.但是,到目前为止,我还没有找到如何确定数据是来自陀螺仪还是加速度计(这是我对数据来源​​的猜测).

我不知道它是否有帮助,但在这里可以看到如何处理这个问题的一个很好的例子.(按下底部的轴像图标;你必须在没有陀螺仪和陀螺仪的设备上看到它才能看到差异).他们为没有陀螺仪的设备所做的只是更新音高滚动.该偏航当你与手机旋转不会被更新.

所以,这绝对是可能的,但我还没有发现经过大量搜索后的情况.如果有人能帮忙的话会很棒.

非常感谢.

编辑:

在只有加速度计的设备上,如MOTO E,所有值都为null - DeviceOrientationEventrotationRate - 唯一的例外是accelerationIncludingGravity.但是,我之前测试的设备,没有陀螺仪,但仍然为DeviceOrientationEvent提供alpha,beta,gamma值,根据GSM Arena上的"传感器"细节,似乎有2个加速度计.这就是我怀疑它能够提供DeviceOrientationEvent数据的方式,尽管很吵.看起来2个加速度计不足以提供转速;)

javascript 3d mobile accelerometer gyroscope

12
推荐指数
1
解决办法
6038
查看次数

Sensor.TYPE_ROTATION_VECTOR有漂移:有替代方案吗?

我正在Android上试用Sensor.TYPE_ROTATION_VECTOR.它应该使用磁场传感器,加速度计和陀螺仪始终提供准确的旋转.但是,我注意到Moto G 2nd发生了巨大的漂移.我想知道这是否是特定于设备的问题,或者这种情况发生在很多手机上(我会假设,虽然我很熟悉Moto G 2nd是一个有问题的陀螺仪).

是否有另一种形式的传感器融合,它是无漂移的(使用磁传感器)?我也试过了Google Cardboard的传感器融合,但它使用了偏差估计,因此可能并非完全漂移(因为此时看不到磁场传感器),尽管仍然比TYPE_ROTATION_VECTOR好很多.

android accelerometer magnetometer gyroscope sensor-fusion

12
推荐指数
1
解决办法
1107
查看次数

6DOF使用加速度计和陀螺仪

有没有人只使用iPhone传感器开发6DOF姿势估计,而不是视频?理解加速度计和陀螺仪的漂移.

陀螺仪提供相当可靠的相对定向速率.我已经能够用陀螺仪数据进行开发.

但是,我从加速度计中获得翻译时遇到了更多问题.加速度的双重积分导致无用的位置数据非常快(不到半秒).

我试图通过校准步骤消除偏差,但位置仍然很差.更糟糕的是,偏见不是恒定的.它随着时间的推移而变化,噪音使信号淹没.

我很感兴趣,如果有人能够开发出只有加速度计和陀螺仪的6DOF,它可以在5-10秒内可靠地工作,并且在平移和方向上几乎没有漂移.

iphone accelerometer

11
推荐指数
1
解决办法
3146
查看次数

加速度计到相对位置

在重新发明轮子之前,我想看看是否有人可以分享以下代码或提示:

为了获得iPhone的相对位置,需要

  • 设置加速度计读取速率
  • 噪声过滤加速度计响应
  • 将其转换为矢量
  • 低通滤波矢量以找到重力
  • 从原始读数中减去重力以找到用户引起的加速度
  • 过滤用户引起的加速度以获得您感兴趣的频率(可能根据应用程序进行带通)
  • 整合以找到相对速度
  • 整合找到位置

所以我希望人们已经写了上面的部分或全部内容,可以提供提示,或者更好的代码.

几个问题我没有找到答案:

iPhone加速度计的频率响应是多少?加速度计和模数转换器之间存在哪些硬件滤波器?

在不重复读取值的情况下,可以调用加速度计代表的最快读取速率是多少?

以上针对各种手机的差异?

设计滤波器的任何好技巧,例如用于分离重力和用户运动的截止频率?

集成步骤的任何代码或技巧?有没有理由整合到cartesion坐标系而不是矢量,反之亦然?

在实施之前应该知道的任何其他经验,技巧或信息?

iphone integration accelerometer filter motion

11
推荐指数
1
解决办法
6445
查看次数

如何在IOS中获取加速度计数据?

我正在使用该UIAccelerotmeterDelegate方法,accelerometer:didAccelerate:但最近该方法已在iOS 5.0中弃用.那么获取加速度计数据的另一种方法是什么?文档没有提到我们应该使用的替代方案.

accelerometer uiaccelerometer ios

11
推荐指数
2
解决办法
2万
查看次数

在iOS中是否有类似Android的Activity Recognition API?

在最后一次谷歌I/O上,在位置API的Android中引入了一项新服务 - 活动识别.

iOS有这样的框架吗?

accelerometer ios activity-recognition

11
推荐指数
1
解决办法
3592
查看次数