问题标签 [sensor-fusion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1614 浏览

gps - GPS报告精度、误差函数

大多数 GPS 系统以米为单位报告“准确度”,该数字在数量级上变化。这个数字是什么意思?如何将其转换为用于估计的误差函数,即给定 GPS 读数及其报告精度的实际位置概率?

根据关于 GPS 精度的 Wikipedia 文章,通过精确计时到达接收器的无线电信号,可以实现低至 3 米的读数。这似乎与例如 iPhone 报告的最严格的误差范围相对应。但这并不能解释外部信号失真。

听起来一个误差函数应该有两个域,一个平缓的线性斜率输出到报告的精度,然后一个多项式或指数增加更远。

有比修补它更好的方法吗?不同的 GPS 芯片组供应商是否符合任何一种标准含义,或者他们是否都只提供某种数字以实现功能对等?

0 投票
1 回答
943 浏览

android - 使用传感器事件侦听器测量与 android 一起行驶的距离

我想测量使用带有传感器的 android 行驶的距离。你能给我一个想法如何开始这个项目吗?或者给我任何可以帮助我做到这一点的教程。

0 投票
5 回答
12267 浏览

java - 如何以固定速率从 Android 运动传感器记录数据

我正在学习 Android 编程基础知识。

我有一个简单的 android 测试应用程序,在其中我将加速度计、磁力计和方向数据记录到外部文件,同时也显示它。我通过调用方法initLogger单击开始按钮(相关传感器的 registerListener)启动日志记录过程。

看起来与此类似...

还有一个停止按钮,它将停止记录过程(最后通过为每个传感器调用 unregisterListener 来取消注册)

数据检索过程发生在onSensorChanged处理程序内部,该处理程序应从相关传感器检索数据,将值设置为相应的 UI 元素,最后将数据记录到外部 .csv 文件中。

onSensorChanged事件处理程序看起来像这样......

虽然我从所有配置的传感器接收数据,但我无法控制接收数据的速率。IE

我知道 SensorChanged 事件是在传感器数据更改时触发的。但是,我希望以固定的速率触发此事件。例如:每 40 毫秒

问题:

  1. 如何确保 SensorChanged 事件以恒定速率触发?
  2. 在这种情况下,Java 中的 TimerTask 类有什么帮助吗?

SO的专家在这里。请帮助我:)

0 投票
1 回答
1115 浏览

android - getDefaultSensor(Sensor.TYPE_ACCELEROMETER).getMaximumRange()

如果我打电话

我得到 19.X m/s^2。现在是在每个轴上吗?

我的意思是,如果我想将 G-Force 应用于手机,我可以这样做:G-Force = SQRT(Xvalue^2 + Yvalue^2 + Zvalue^2) / 9.80 m/s^2

该值是否意味着:最大 G 力 = SQRT (19^2 + 19^2 + 19^2) = 33/9.80 = 3.3G?

是不是太慢了?我错过了什么吗?或者有什么技巧可以让价值更高吗?提前致谢。吉列尔莫。

0 投票
1 回答
1652 浏览

android - 运动传感器有意义的图表 - 加速度计、陀螺仪和磁力计

我正在研究运动传感器 - 加速度计、陀螺仪和磁力计。我正在开发可以从这些硬件读取数据的 c 应用程序。我能够为他们的硬件板做到这一点。但我想以某种含义完整的形式向用户显示这些数据。我有一个图形库,可以为我绘制图形(折线图)、画线、圆、正方形和点。我想知道有什么特别的我可以用这些数据绘制的图表(意思是圆形、方形等)。我可以简单地显示 X、Y 和 Z 轴数据在转动运动传感器板时快速变化,但是是否有任何图表可以绘制并包含所有轴的这些传感器的数据,但可以生成有意义的图形/图表。像磁力计图表:对于磁力计

我想知道用运动传感器值绘制完整图表的含义。Rgds,软软的

0 投票
1 回答
1470 浏览

android - (虚拟)传感器 Android 的电源使用情况

查看我的 Nexus 4 的功能,我注意到传感器似乎被多次报告。

我以前没有使用过传感器(或一般的智能手机),所以我使用了一些应用程序来大致了解一下:AndroidFragmentation.com的设备分析器和传感器资源管理器都提供了 15 个传感器。你可以在这里看到结果。

虽然根据iFixIt.com有一个Invensense MPU-6050内置作为(仅)陀螺仪和加速度计,但 Android 报告:

  • 2 LGE 传感器
    • “LGE 加速度计传感器”
    • “LGE 陀螺仪传感器”
  • 2 高通
    • 《直线加速》
    • “旋转矢量”
  • 4 由谷歌
    • “旋转矢量传感器”
    • “直线加速度传感器”
    • “方向传感器”
    • “校正陀螺仪传感器”

根据三星 GT-I9300 中的传感器列表,其中一些传感器将是“虚拟的”。然而,目前我真正感兴趣的是传感器的功耗。这就是我真正感到困惑的地方。

以加速度计为例:“LGE Accelerometer Sensor”报告为 0.5 mA,而“Linear Acceleration”(高通)报告为 4.1 mA,“Linear Acceleration Sensor”(谷歌)报告为 9.1 mA。三者的分辨率相同(0.0011901855 SU),LGE 和高通的最大范围相同(39.226593 SU),而谷歌报告的最大范围为 19.6133 SU。

我首先认为这可以访问不同的操作模式,这可以解释不同的值,但话又说回来,为什么这会解释其他供应商。

现在:实际存在多少个加速器?它们真的是多余的,还是只是对同一设备的虚拟访问路径?如果是这样,为什么用电量差异如此之大?为什么范围?

根据规格更新 ,陀螺仪将消耗 3.6mA 的电流(匹配“LGE 陀螺仪传感器”,所有其他报告为 9.1mA),加速度计可能在正常操作模式下的 500µA 和 10µA @ 1.25Hz 到 110µA @ 40Hz 之间变化电源模式。

使用 3V 的电压(根据规格的典型值),陀螺仪产生 10.8mW 的功率,加速度计产生 10µW 至 1.5mW 的功率。

报告“Google Inc.”的传感器 似乎是虚拟的,它们执行传感器融合以提供更高准确性和可用性的值。请参阅此 Google 技术讲座

0 投票
1 回答
679 浏览

android - 互补滤波器中的 alpha 计算

我正在使用互补滤波器进行传感器融合。我使用的互补滤波器方程是

角度=(1-alpha)*(角度+陀螺*dT)+(alpha)*(accel_mag_angle)

我对阿尔法的计算有些困惑。我在某处读到 alpha 是使用公式计算的

其中 dA 是您希望值更改的速率(指滤波器的截止频率),dT 是采样时间。我正在使用 SENSOR_DELAY_UI。UI的采样率在15Hz左右。我使用了 alpha=0.2(通过试错法)并且应用程序运行良好。但后来我意识到根据方程式我不能使用 alpha=0.2(理论上),因为它会给我一个 60Hz 的截止频率,而我的采样频率只有 15Hz。我的截止频率计算错误吗?还是我对方程式的理解是错误的?

0 投票
3 回答
3696 浏览

filtering - 试图过滤来自加速度计和陀螺仪的(大量)噪声

我的项目:

我正在开发一款带有 3 轴加速度计和陀螺仪的老虎机,试图估计汽车的姿态(x、y、z、偏航、俯仰),但我的振动噪音有一个大问题(当汽车运行时,例如,齿轮会引起振动,而轨道也会变得更糟),因为加速度计的噪声值介于 ±4[g](其中 g = 9.81 [m/s^2])之间。

我知道(因为我观察到了),噪声与我所有的传感器相关

在我的第一次尝试中,我尝试使用卡尔曼滤波器来解决它,但它不起作用,因为我的状态向量的值有一个非常大的噪音。

EDIT2:在我的第二次尝试中,我在卡尔曼滤波器之前尝试了一个低通滤波器,但它只会减慢我的系统速度并且没有过滤噪声的低分量。此时我意识到这种噪声可能由低频和高频分量组成。

我正在学习自适应滤波器(LMS 和 RLS),但我意识到我没有噪声信号,如果我使用一个加速度计信号来过滤其他轴的加速度计,我不会得到绝对值,所以它不起作用.

编辑:我在尝试查找自适应滤波器的示例代码时遇到问题。如果有人知道类似的事情,我将非常感激。

这是我的问题:

有谁知道过滤器或知道如何修复它并正确过滤我的信号?

非常感谢你,

XNor

PD:我为我可能犯的任何错误道歉,英语不是我的母语

0 投票
1 回答
88 浏览

android - 将计算机指向 Android 手机 - 基于传感器的手机位置或方向?

我正在开发一个集成 Android 手机和 Kinect 传感器的项目。我想将 Kinect(它将与一个可以拆分的设备集成)指向 Android 手机。为此,我需要将手机在房间中的位置(或只​​是方向)发送到计算机,然后拆分 kinect。最好的方法是什么?

我一直在用 Android 传感器做一些测试,但我不知道 Android 旋转矢量是否足够,或者我还需要结合磁力计和加速度计的数据。这个问题应该比室内定位容易,因为它在同一个房间里,我只需要知道手机所在的方向(我不需要确切的位置)。任何线索或好的参考资料都会有所帮助。

0 投票
1 回答
414 浏览

android - 使用 LinearAcceleration 计算位置

我正在尝试根据我将应用于我的 android 游戏的 Sensor.TYPE_LINEAR_ACCELERATION 计算新的 X 位置。

我从以下变量全部设置为 0 开始:

我的时间变量最初设置如下:

然后我的 On SensorChange 看起来像这样:

但我的日志中的 newX 一直为 0。

有没有人成功地将 LinearAcceleration 翻译成位置?谁能弄清楚我做错了什么..

我在里面哭!