问题标签 [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.
filter - Madgwick 过滤器的最佳 beta 值是多少?
当我使用默认值 0.0041 或 0.033 时,当我将四元数数据发送到 Unity 3D 时,旋转很奇怪。当我将 beta 值更改为 0.001 时,旋转很好,但随着时间的推移会有轻微的漂移。我正在使用 LSMD9S0 IMU 传感器。这是我的代码 Madgwick_Arduino
android - 传感器数据保存在 CSV 文件中
我是 android 开发的新手,我根据之前与 Mr.liwatiz 相关的代码开发了这段代码,以从传感器融合中找到方向,我添加了 writeCSV 文件来存储数据,应用程序工作和创建的文件但没有数据存储!所以请问是什么问题。我的代码在下面清楚
android - 绕 Y 轴滚动
如何绕 Y 轴滚动?,当设备平放时我已经实现了这一点,但当设备垂直保持在正面时无法工作:(请帮我解决这个问题。
orientation - 加速度计计算速度
我试图通过加速度计LIS331DLH计算速度。我正在使用 ZUPT 将速度设置为零。当我摇动加速度计集成错误太大。如何解决这个问题?也许在这一刻尝试检测振动并忽略测量?
速度图:
上下移动:
摇晃时:
集成代码:
potx,poty,potz - 加速度计数据
lpMag - 幅度
android - 是否可以使用 android 设备惯性传感器构建室内定位系统
我正在研究一个室内定位系统,在我所有的真实测试都失败后,我有一个疑问:
我已经使用 android 传感器值和一些机器学习算法(具有良好的理论结果)做了一些工作,但在真实环境中我发现了一些问题。
我的建议是分为三个阶段:
- 第一阶段包括通过一个带有一些点的地图的安卓应用程序收集数据。您移动到实际点位置并保存与点坐标相关联的传感器值。
- 第二阶段包括创建机器学习模型(在本例中为分类器),以每次根据传感器值预测用户位置。
- 然后,我们将分类器导出到设备并实时预测用户位置。
我们在指纹识别阶段(阶段 1)存储的数据是 Android Sensor Manager 提供的加速度计、磁力计和陀螺仪的 x、y、z 值。在第二种方法中,我们使用中值滤波器从该值中滤除噪声。我们的问题是你拿着手机的方式会改变测量值。原因是 Android 传感器值是针对设备坐标系给出的,因此传感器值会随着手机方向和倾斜度而变化。
所以,问题是:
是可行的,或者有一种方法可以构建室内定位系统(定位精度约为 2-3 米),仅考虑使用机器学习算法(或其他算法)工作的安卓智能手机传感器(加速度计、陀螺仪和磁力计)在真实环境中?
提前致谢!!
robotics - 如何将两种不同类型的数据“融合”在一起以获得最终结果?
我正在建造一个机器人(2 个动力轮和一个滚珠轴承)。问题是我似乎无法让它直行。我真的觉得这是不可能的,我已经尝试了好几个星期。
目前我能够依靠(两个电机的)旋转或陀螺仪读数(我还有两个陀螺仪,每个都靠近两个轮胎)
有没有办法可以将它们融合在一起,给我一个更准确的方法来确定我需要加速哪个电机?
我的电机接受 0-900 的值(尽管速度应该由我决定,而不是固定的)。此外,如果存在算法,我想要一些关于如果我让电机倒退我需要交换的方向。
r - 用 R 计算事件的持续时间
我正在研究传感器数据库
这是我的数据的一个子集
我想为我的所有传感器计算每个“开启”事件的持续时间。知道“ON”的持续时间等于第一个 ON 和第一个 OFF 之间的差例如在传感器“capteur1”的表中,我必须有 41 秒、30 秒、25 秒等。谢谢,
c# - Unity 3D 中的 Madgwick AHRS 算法
我正在尝试计算 Android 设备的绝对航向,并相应地旋转 GameObject。因此,无论设备方向如何,游戏对象都将充当 3D 指南针,在 3D 空间中指向地球的北方。
为了实现这一点,我使用Madgwick AHRS 算法作为由 x-io Technologies 维护的单个文件 C# 库。
这是我附加到CompassArrow
游戏对象的脚本。
这是我能得出的最接近所需输出的结果。但是轴仍然被交换了,我必须将设备旋转大约 4 次才能使指南针箭头完成一次完整的旋转。
我的猜测是,输入算法的传感器数据单位错误。我向您保证,我使用的设备具有运行该算法所需的所有 3 个传感器。
以下是Update()
库中方法的参数说明。
该库还有一种Update()
不需要磁力计读数的方法。但由于我正在开发指南针,我认为这种方法不会有用。
谁能指出我做错了什么?我可以根据要求提供更多详细信息。
python - Python回调属性错误
我编写了一个 python ROS 节点来订阅两个不同的主题,并使用 ApproximateTimeSynchroniser 基本上通过它们的时间戳匹配消息并将这些消息捆绑到一个回调例程中。如果我使用回调简单地打印出收到的两条消息,它工作正常。
但是,我想使用回调例程中接收到的 Pose 2D 数据中的 x 和 y 位置填充 geometry_msgs/Pose 消息。使用下面的代码,我通过在回调例程中创建一个空的 Pose 对象来完成此操作:
不幸的是,这在运行此节点时会产生一个奇怪的错误:
这很奇怪,因为位置属性仅用于 Pose 2D 而不是 LineSegmentList msg。我怀疑这是一个 python 问题而不是 ROS 问题,任何人可以提供的帮助将不胜感激!
我正在关注在http://wiki.ros.org/message_filters找到的示例,他们在其中获取了两个不同的主题 image 和 cameraInfo 并将它们传递给回调函数
java - 静止不动时使用 TYPE_ROTATION_VECTOR 实现当前的基本方向方法?
在 Android 设备上获取当前主要方向的旧示例似乎有很多,但 Google 提供的官方解决方案似乎并未出现在他们的文档中。
最旧的参考文献Sensor.TYPE_ORIENTATION
已被弃用,最近的参考文献提到了Sensor.TYPE_ACCELEROMETER
and Sensor.TYPE_MAGNETIC_FIELD
(我尝试过但收效甚微 - 准确度会根据设备方向迅速变化)。我一直在尝试使用这两个这样的实现。我什至见过一些带有TYPE.GRAVITY
.
最近的似乎表明 TYPE_ROTATION_VECTOR显然是一个融合传感器(参考),但示例实现似乎并不容易获得。
我需要使用这些位置/运动传感器,而不是 GPS,因为在需要此测量时用户不会移动。还需要无论手机是平放还是竖放,测量都必须稳定(就像你在拍照一样)
在我们以某种方式拉度测量之后,转换为基本方向似乎是容易的部分。(https://stackoverflow.com/a/25349774/1238737)
以前的解决方案