Articles of 加速计

使用线性加速度计算距离android

可能重复: Android加速计精度(惯性导航) 我正在使用下面的代码来计算距离。 tnew和tnew是分别包含时间戳和加速度的 tnew 。 double distance=0; double init_vel=0; long time_prev=tnew.next(); while(anew.hasNext()) { float temp_acc=anew.next(); long temp_time=tnew.next(); interval=(temp_time-time_prev)/1000f; //milliseconds to seconds double fin_vel=init_vel+(temp_acc*interval); distance+=(init_vel*interval)+0.5f*temp_acc*interval*interval; init_vel=fin_vel; time_prev=temp_time; } 代码中是否有逻辑错误? 因为我得到的值比实际长度要小得多。 LogCat输出: ——— beginning of /dev/log/system ——— beginning of /dev/log/main V/PhonetapeActivity( 8842): Sensor Listener Registered V/PhonetapeActivity( 8842): Sensor Unregistered V/PhonetapeActivity( 8842): No. of Iterations : 49 […]

在Android上实现JKalman

关于从加速度计数据,其他传感器的数据,计算时空状态,以及在Android和其他设备中使用卡尔曼滤波器,有许多问题。 显然,这样做的最简单的方法是在Android上实现JKalman滤波器,例如用于汽车的稳定移动设备。 但是看看JKalman代码包中的示例实现,它并不多说,实际上和其他的Kalman实现有很大不同。 他们像这样实例化一个卡尔曼类: JKalman kalman = new JKalman(4, 2); 根据定义在哪里 public JKalman(int dynam_params, int measure_params) throws Exception { this(dynam_params, measure_params, 0); } dynam_params是“测量向量维度的数量”,而measure_params是“状态向量维度的数量” 。 Android中读取的传感器数据应该如何映射到这些? 以下是来自加速度计的数据,每500ms采样一次。 在其他听众有陀螺仪和指南针的数据。 我应该如何转换这些数据以input到卡尔曼? @Override public void onSensorChanged(SensorEvent event) { actualTime = System.currentTimeMillis(); if(actualTime – lastUpdateAcc < 500) return; else{ lastUpdateAcc = actualTime; //update myPosition TextView tv = (TextView)findViewById(R.id.textView3); tv.setText(String.format("X: […]

我们怎样才能测量物体和android手机相机之间的距离

我想计算相机和识别对象之间的距离。为此,我尝试了很多方法,我尝试使用加速计find对象和相机之间的angular度,然后使用 d = h * tan a h是从底部算起的高度,一般是1.4 我试图用get方法来计算angular度。 请让我知道我在哪里做错了。 已经有两天多的时间了,我一直在努力满足这个要求。 我们已经研究了Android Store上可用的各种Camera应用程序,并试图了解相同的function,但没有任何结果。 mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); accSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); magnetSensor = mSensorManager .getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } @Override public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) gravity = […]

传感器融合在Android上实现?

我听了这个讲话: http : //www.youtube.com/watch?v = C7JQ7Rpwn2k 这是Invensense公司将其“传感器融合”系统原型化的地方,它们将陀螺仪,加速度计,罗盘测量结合在一起,以获得更好的结果。 这是目前在任何版本的Android中实施? 我要问的原因是,传感器融合的一部分是自API Level 9以来在Android中实现的“重力”传感器和“线性加速度”传感器…使我认为1)传感器融合是实现的2)传感器融合没有实现,但是这些只是添加到Android API,以期望在未来广泛增加传感器融合实现。 有人知道吗? 谢谢

通过NDK访问Android传感器

我需要从Android上的加速度计每秒钟读取大约100个样本,并且以固定的采样率。 目前的传感器pipe理员不提供或不提供。 我读过需要阅读安卓传感器真的很快 他似乎可以访问使他的生活更轻松的驱动程序代码。 我很好奇,如果有人能通过NDK这种types的知识做这样的事情。 提前致谢!

如何使用加速度计为Android应用程序开发测量距离

我只是应用程序开发行业的初学者。 我知道加速度计可以用来返回沿三轴的当前加速度,单位为米每平方秒(m / s2)。 但是我已经知道加速度计也可以用作速度表。 我想知道如何使用加速度计来确定感兴趣点之间Android设备的距离。 如果有可能,那我该怎么实现呢? 我看到过类似的问题:“如何使用加速度计来测量 Iphone所行进的距离” 如何使用加速度计来测量iPhone所经过的距离? 。 但是我没有想到。 谢谢你,阿尔斯兰

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

我有一个非常基本的问题。 安卓加速度计的情况下,低通滤波器和高通滤波器是什么? 当我看到加速计传感器的输出时,我看到如果我没有使用任何滤波器,(情况:我把手机闲置在桌子上),我得到z轴+ ve值。 现在,如果我认为使用基本的物理,它给我的确切的价值(9.8approx)为小g即加速度由于重力。 为了得到线性加速度,如果我给手机增加任何力量,它将改变加速度计值,但是它会是我应用的g + a 。 所以得到a为什么我不能直接从加速度计得到的值减去? 有什么用? 基本定义我理解为低通:允许低价值,高通:允许高价值。 请帮我理解它。 我对此感到困惑。

Android加速度计分析

我写了一个简单的Activity,它是SensorEventListener的Sensor.TYPE_ACCELEROMETER 。 在我的onSensorChanged(SensorEvent event)我只是selectX,Y,Z格式的值,并把它们写到一个文件。 添加到这个X,Y,Z是一个标签,标签是特定于我正在执行的活动。 所以它的X,Y,Z,label 像这样,我获得了我的活动简介。 希望对收集数据后要执行的操作有所build议,以消除噪音并获得最佳数据。 这个数据收集的主要目的是使用neural network库(NeuroPh for Android) 链接来构build用户活动检测应用程序。

即使使用WakeLock,加速度计在Droid / Nexus One屏幕closures时也会停止提供样品

我有一些扩展服务的代码,并在Android上loggingonSensorChanged(SensorEvent事件)加速度传感器读数。 即使在设备closures的情况下,我也希望能够logging这些传感器读数(我对电池使用寿命非常小心,而且在运行时显而易见)。 而在2.0.1摩托罗拉Droid和2.1 Nexus One的日志logging工作正常。 但是,当手机进入睡眠状态(通过按下电源button),屏幕closures, onSensorChanged事件停止发送(通过使用LogE消息每N次onSensorChanged被调用来validation)。 该服务获取wakeLock以确保它在后台保持运行; 但是,似乎没有任何效果。 我已经尝试了所有的PowerManager。 唤醒锁,但没有一个似乎很重要。 _WakeLock = _PowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag"); _WakeLock.acquire(); 关于在屏幕closures的时候是否真的能够从传感器获取数据,有相互矛盾的报道…任何人都可以在更现代的Android(Eclair)版本和硬件上有这方面的经验吗? 这似乎表明它在Cupcake中工作: http : //groups.google.com/group/android-developers/msg/a616773b12c2d9e5 PS:完全相同的代码在G1上按照1.5的预期工作。 当屏幕closures,应用程序在后台等时,logging继续。

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

Android中的重力和加速度传感器有什么区别? 从我的angular度来看,两种情况下的物理价值都是一样的。 哪一个测量装置内的单位质量的力? 加成 问题是:这些传感器测量的物理量是多less? 根据等价原理 ,加速度和重力是不可区分的,衡量两者的唯一方法是通常(但是三维)弹簧平衡。