标签: accelerometer

为什么加速计:didAccelerate:在IOS5中弃用?

IOS5的发布将此核心功能列为已弃用.有谁知道会取代它?我假设苹果不打算从iPhone 5中移除加速度计.

accelerometer deprecated ios5

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

Android中"重力"和"加速度"传感器有什么区别?

Android中的重力和加速度传感器有什么区别?从我的观点来看,两种情况下的物理价值都是相同的.

哪一个测量作用于设备内部单位质量的力?

加成

问题是:这些传感器测量的物理量是多少?根据等效原理,加速度和重力是无法区分的,测量两者的唯一方法是通常(但是3d)弹簧平衡.

android accelerometer gravity android-sensors

22
推荐指数
1
解决办法
5万
查看次数

Android低通滤波器和高通滤波器

我有一个非常基本的问题.在Android加速度计的情况下,什么是低通滤波器和高通滤波器?

当我看到加速度计传感器的输出时,我看到如果我不使用任何过滤器,(案例:我让我的手机闲置在桌子上)我得到z轴+ ve值.现在,如果我认为使用基本物理学,它会给出我的精确值(9.8approx),因为重力会导致加速度小.

要获得线性加速度,如果我向手机添加任何力,它将改变加速度计值,但它将是g + a我应用的.那么a为什么我不能直接减去我从Accelerometer得到的值?

有什么用?
我理解为低通的基本定义:允许低值,高通:允许高值.请帮我理解一下.我对此很困惑.

android accelerometer lowpass-filter

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

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

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

有没有人有如何做到这一点的建议?Java中的任何可用库?您推荐的示例项目我结账了吗?你推荐的论文?

sun spot是一个Java平台,可帮助您快速制作系统原型.它使用Java编程,可以将命令转发回连接到计算机的基站.如果我需要解释硬件如何工作更多留下评论.

java embedded accelerometer gesture-recognition

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

使用Core Motion获取加速度计数据的位移

我正在开发一种增强现实应用程序(目前)想要在表面上显示一个简单的立方体,并且能够在空间中移动(旋转和移位)以在所有不同角度观察立方体.校准相机的问题在这里不适用,因为我要求用户将iPhone放在他想要放置立方体的表面上,然后按下按钮以重置姿势.使用陀螺仪和核心运动来查找相机旋转非常简单.我是这样做的:

if (referenceAttitude != nil) {
    [attitude multiplyByInverseOfAttitude:referenceAttitude];
}

CMRotationMatrix mat = attitude.rotationMatrix;

GLfloat rotMat[] = {
    mat.m11, mat.m21, mat.m31, 0,
    mat.m12, mat.m22, mat.m32, 0,
    mat.m13, mat.m23, mat.m33, 0,
    0, 0, 0, 1
};

glMultMatrixf(rotMat);
Run Code Online (Sandbox Code Playgroud)

这非常有效.当我试图在加速期间找到空间位移时,无论如何都会出现更多问题.带有Core Motion的Apple Teapot示例只是将加速度矢量的x,y和z值添加到位置矢量.这(除了没有多大意义)具有在加速之后将对象返回到原始位置的结果.(因为加速度从正到负,反之亦然).他们这样做了:

translation.x += userAcceleration.x;
translation.y += userAcceleration.y;
translation.z += userAcceleration.z;
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能找出某些加速度的加速度位移?(已知时差).看一些其他的答案,似乎我必须整合两次以从加速度获得速度,然后从速度获得位置.但是代码中没有任何例子,我认为这不是必要的.此外,还有一个问题是,当iPhone仍在飞机上时,加速度计值不为空(我认为有一些噪音).我应该过滤多少这些值?我应该过滤掉它们吗?

iphone accelerometer augmented-reality ios4 gyroscope

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

使用加速度计计算距离

在阅读了许多关于如何根据加速度数据测量距离的论坛旁边的研究和论文之后我发现了双重积分方法,但是这种方法的误差很大并且随着时间的推移而增加.另外我找到了一些建议卡尔曼滤波器的人我读了一些关于它的参考文献,但我不清楚如何使用它.还有一些人正在谈论融合传感器...但在阅读之后我没有得到任何新的想法.所以我仍然感到困惑,我没有找到正确的答案......抱歉这个漫长的介绍.


让我们考虑一下,我手里拿着9轴传感器,我向某个方向移动手,我怎样才能在空间找到我手的新位置?如何获取从初始点到新点的运动矢量我的意思是如何知道三个轴上的传递距离?

如果没有直接的答案...一些建议或参考将是伟大的或一些算法,提供准确的答案,我可以自己研究和使用它.非常感谢你

accelerometer

19
推荐指数
3
解决办法
4万
查看次数

如何确定绝对方向

我有一个xyz加速度计和磁力计.现在我想用两者来确定设备的方向.我看到的问题是,根据设备方向,我需要以不同的顺序使用传感器.

让我举个例子.如果我让设备面向我,则可以使用加速度计确定滚动和俯仰的变化.对于偏航,我使用磁力计.

但是如果我将设备水平放置(即将其旋转90º,面向天花板),则向上矢量(现在是水平)的任何变化都不会引起注意,因为加速度计没有检测到任何变化.现在可以使用磁力计检测到这一点.

所以问题是,如何确定何时使用其中一个.这对两个传感器来说足够了还是我还需要其他东西?

谢谢

sensor accelerometer magnetometer

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

如何使用Android加速度计检测行走

我正在编写一个应用程序,我的目标是检测用户何时行走.我正在使用这样的卡尔曼滤波器:

float kFilteringFactor=0.6f;

        gravity[0] = (accelerometer_values[0] * kFilteringFactor) + (gravity[0] * (1.0f - kFilteringFactor));
        gravity[1] = (accelerometer_values[1] * kFilteringFactor) + (gravity[1] * (1.0f - kFilteringFactor));
        gravity[2] = (accelerometer_values[2] * kFilteringFactor) + (gravity[2] * (1.0f - kFilteringFactor));

        linear_acceleration[0] = (accelerometer_values[0] - gravity[0]);
        linear_acceleration[1] = (accelerometer_values[1] - gravity[1]);
        linear_acceleration[2] = (accelerometer_values[2] - gravity[2]);

        float magnitude = 0.0f;
        magnitude = (float)Math.sqrt(linear_acceleration[0]*linear_acceleration[0]+linear_acceleration[1]*linear_acceleration[1]+linear_acceleration[2]*linear_acceleration[2]);
        magnitude = Math.abs(magnitude);
if(magnitude>0.2)
  //walking
Run Code Online (Sandbox Code Playgroud)

数组gravity []初始化为0.

我可以检测用户何时行走(看加速度矢量幅度的值),但我的问题是,当用户不走路并且他移动电话时,他似乎正在走路.

我使用正确的过滤器吗?

是仅仅观察矢量的大小还是我要看单个值?

android accelerometer filter kalman-filter

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

在Google Maps V2 Android上按用户指示旋转标记

我想根据从Accelerometer接收的轴承或传感器值来旋转标记,以向用户显示他实际移动的位置.我已将标记图标和平面值设置为true,但它不能按要求工作.

mCurrentLocationMarker.position(new LatLng(
                            LocationUtils.sLatitude, LocationUtils.sLongitude));
                    mCurrentLocationMarker.icon(icon);
                    mCurrentLocationMarker.flat(true);
                    mCurrentLocationMarker.rotation(LocationUtils.sBearing);

                    if (currentMarker != null) {
                        currentMarker.setPosition(new LatLng(
                                LocationUtils.sLatitude,
                                LocationUtils.sLongitude));
                    } else {
                        currentMarker = mGoogleMap
                                .addMarker(mCurrentLocationMarker);
                    }
                    animateCameraTo(true);
Run Code Online (Sandbox Code Playgroud)

我用过这个 标记 作为标记.

我不知道为什么它不按照用户的指示旋转.如果有任何人有任何想法,请在我犯错的地方帮助我.

LocationUtils.sBearing是我从onLocationChanged或accelerometer收到的Bearing的值.

基本上我想让我的标记与谷歌地图标记一样,向用户显示他们正在移动或转向的方向.

android accelerometer bearing marker google-maps-markers

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

有没有办法从Apple Watch访问加速度计?

它看起来并不像今天发布的WatchKit包含这样的API.

accelerometer ios watchkit

18
推荐指数
3
解决办法
7417
查看次数