问题标签 [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.
sensors - InvenSense SensorStudio 中的 custom0_subscribe() 函数有什么作用?
我正在 InvenSense SensorStudio 中编写自定义传感器并注意到 custom0_subscribe() 函数?它是如何工作的,我什么时候想使用它?
android - Android 传感器 TYPE_LINEAR_ACCELERATION 和 TYPE_ROTATION_VECTOR 是如何实现的?
我一直在寻找 Android API 用于融合来自不同传感器的原始数据以生成虚拟传感器的算法。
它们是如何实施的?源代码在某处可用吗?
android - 用于 FALL 检测的卡尔曼滤波器传感器融合:加速度计 + 陀螺仪
我试图了解传感器融合的过程以及卡尔曼滤波。
我的目标是使用加速度计和陀螺仪检测设备的跌落。
在这篇文章等大多数论文中,它都提到了如何克服陀螺仪引起的漂移和加速度计引起的噪声。最终,传感器融合为我们提供了更好的 Roll、Pitch 和 Yaw 测量结果,而不是更好的加速度。
是否有可能通过传感器融合获得更好的“加速结果”,然后将其用于“跌倒检测”?由于只有更好的 Roll、Yaw 和 Pitch 不足以检测到 Fall。
然而,该来源建议使用卡尔曼滤波器单独平滑加速度计(Ax,Ay,Az)和陀螺仪(Gx,Gy,Gz),并使用一些分类算法(如 k-NN 算法或聚类)使用监督学习来检测跌倒。
分类部分不是我的问题,如果我应该融合传感器(3D 加速度计和 3D 陀螺仪)或单独平滑传感器,我的目标是检测跌倒。
accelerometer - 互补过滤器如何工作?
我正在尝试结合来自加速度计和陀螺仪的数据来准确测量物体的俯仰角和偏航角。在研究了互补过滤器并尝试实现它之后,我对它的工作原理有几个问题。
我读过如果有很多角运动,过滤器“信任”陀螺仪数据,如果物体稳定,它“信任”加速度计数据。
http://www.pieter-jan.com/node/11 在这篇文章中,互补过滤器是这样描述的:
*角度 = 0.98(角度 + 陀螺数据 * dt) + 0.02*(accData)*
对我来说,似乎陀螺仪数据受到青睐。在下图中,http ://www.pieter-jan.com/images/resize/Complementary_Filter.png 位于页面底部,过滤后的数据似乎与加速度计数据“保持接近”,即使陀螺仪数据漂移。当计算表明陀螺仪数据受到青睐时,我不明白为什么会发生这种情况。我在其他照片中也观察到了这一点。在我自己的测试中,我需要“交换”0.98 和 0.02,这表明加速度计数据受到青睐,以获得类似的结果。我是否完全误解了这个过滤器的工作原理?“偏爱”加速度计数据是否正常?
再者,当需要长时间监测一个物体的角度时,陀螺仪数据岂不是因为漂移太大而变得毫无用处,滤波器是如何补偿的呢?
android - Android 中的内置传感器校准功能
我正在开发一个利用加速度计和磁力计数据及其融合数据来运行的应用程序。现在,当涉及到磁力计时,需要定期重新校准它。由于称为硬铁效应的现象,传感器未校准。我的应用程序需要非常准确的传感器数据(硬件能够提供这些数据,但噪声和未校准的值会造成障碍)。我也知道在 android 的后台运行内置校准功能,因为很多时候(并非总是)当磁力计显示错误值时,它会在没有用户输入的情况下自行校正(如 8 形运动)。我想知道android多久执行一次这种校准,是否需要我编写自己的自动校准代码。另一种可能性是,如果可能的话,在我的应用程序中以某个频率调用此内置校准功能。我浏览过的 Android 文档提供的信息很少。
robotics - 如何排除基于轮子的机器人的姿势,这些姿势位于前面的姿势后面
我目前正在对来自 GPS、激光雷达、视觉和车辆测量的基于车轮的机器人姿势的传感器融合进行编码。它的模型是使用 EKF 的基本运动学模型,并且不区分传感器,即数据基于时间戳。
由于以下问题,我很难融合这些传感器;有时,当来自不同传感器的最新传入数据与传感器给出先前状态时,机器人的最新姿势会落后于先前姿势。因此,数据融合不会变得如此平滑和曲折。
我想丢弃在先前数据后面/后面绘制的数据,并获取始终位于先前状态前面/前面的数据,即使传感器提供的数据在时间戳 t 和时间戳 t+1 之间发生变化。由于数据框是全局框,因此不可能依靠其负的 x 坐标来实现这一点。
如果您对此有任何想法,请告诉我。非常感谢你。最好的,
iphone - iOS 传感器融合滞后且不准确,我可以解决这个问题吗?
我正在玩一个在 AV 视图上叠加图像的应用程序,这是一个有点但不是真正的 AR 应用程序。您可以通过将相机举到您面前来使用它,就像您正在为您面前的朋友拍照一样。目前,它只是在 SceneKit 对象上显示罗盘。
它基本上可以工作,但在我的 5S 和 6 上,我发现它是:
- 启动时滞后,指向矢量偏离多达 180 度
- 不是很准确,即使在运行 10 度之后也会出现错误
- (2) 中的错误发生了变化,因此“南”的概念随着时间的推移而移动
最终,我需要将精度保持在 5 度左右。任何人都可以评论这种准确性是否可行,是否有办法对其进行测试,或者对平台问题发表评论——例如,在 7 上是否更好?
c - 无人机飞行时出现奇怪的角度
我们使用 L3GD20 陀螺仪传感器和 LSM303DLHC 加速度传感器结合互补滤波器来测量无人机的角度。
如果我们用手模拟无人机的角度,例如,如果我们将无人机向前倾斜,我们的 x 角是正的。如果我们向后倾斜它,我们的 x 角是负的。
但是,如果我们启动电机,无人机将始终转向负 x 角。最重要的是,以前为正的 x 角现在是负的。因为无人机试图补偿这个角度,但角度是倒置的,无人机永远不会回到原来的状态。
问题不在于无人机的晃动。如果我们将电机置于最大速度并手动模拟角度,我们会得到正确的角度。因此,电机也可以进行正确的补偿。
如果我们需要添加更多代码,请询问。
先感谢您。
sensors - 2 个传感器读数融合(偏航、俯仰)
目前我正在实施一个头部跟踪解决方案,该解决方案从 2 个不同的来源获取偏航和俯仰;陀螺仪和磁场传感器。
我将这两个值都传递到了我的程序中,现在我正在尝试确定保持陀螺仪精度的最佳方法以及固定发射器 mf 传感器的无损特性。目前我正在使用 newYaw = currentGyroYaw + 0.05*(difference between) 将陀螺仪缓慢拖动到 mf 上,但它有一些相当恒定的运动。
有人建议我尝试使用卡尔曼滤波器,但我整天都在查找有关它的资源,但似乎无法弄清楚如何将它应用到我的场景中;以及在我的情况下所有的价值观是什么。
如果有人可以帮助计算步骤和计算,我将需要采用 2 个偏航/俯仰值并生成一个新的更准确的设置,我们将不胜感激。谢谢。