问题标签 [imu]

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 投票
0 回答
36 浏览

android - 从 Sensor.TYPE_ROTATION_VECTOR 获取设备方向的准确性

我目前正在 Android 上进行指南针活动。为了提供智能手机的方向,我使用Sensor.TYPE_ROTATION_VECTOR传感器,我想确定所获得值的准确性。

根据文档(https://developer.android.com/reference/android/hardware/SensorEvent#sensor),该方法给出以下值:

  • 值[0]:x*sin(θ/2)
  • 值[1]:y*sin(θ/2)
  • 值[2]:z*sin(θ/2)
  • 值[3]:cos(θ/2)
  • values[4]:估计的航向精度(以弧度为单位)(如果不可用,则为 -1)

我最感兴趣的是所谓的航向精度值。不幸的是,经过多次测试,这个值似乎总是为0,我不明白为什么。

如果有人帮助我理解整个问题,我将不胜感激。谢谢。

0 投票
0 回答
34 浏览

accelerometer - 为 IMU 加速证明创建算法

我尝试设计一种适用于自行车的 IMU 算法。我使用该算法来估算 IMU 的欧拉角。我只使用加速度计和陀螺仪来估计我的姿势。不幸的是,当我烘烤时,由于减速,我得到了错误的姿势估计。

这是我用来估计 IMU 的算法的一部分:

使用该参数,我尝试修改:

我无法从我的姿势估计中提取减速。每次我刹车时,都会出现错误的角度估计。

有人知道我的目的更有效的算法或设置参数的方式吗?

0 投票
0 回答
149 浏览

javascript - (已编辑)使用 Javascript 从 9 轴 IMU 传感器(三轴陀螺仪/加速度计/磁力计)中提取实时数据

我正在开展一个学校项目,该项目涉及尝试使用我们在 Github 上找到的 Javascript 脚本读取 Android 上的数据。我首先在 Pixel 4A 上打开传感器演示并能够获取数据,但现在我试图将程序托管在本地机器上,基本上遵循自述文件,但无法。

这样做的目的是能够从 9 轴 IMU 传感器读取实时数据,我的团队不太确定如何进行。我将提供 github 页面的链接、实际的移动演示、IMU Javascript 以及有关用于确定方向的 javascript 事件的信息。

任何帮助是极大的赞赏。

Github:https ://github.com/sensor-js/OpenWPM-mobile

IMU Javascript:粘贴在下面

演示:shorturl.at/pyX89

Javascript 定向事件:https ://developer.mozilla.org/en-US/docs/Web/Events/Detecting_device_orientation

0 投票
0 回答
112 浏览

three.js - 如何使用从硬件设备接收的加速度计和陀螺仪数据在 Three.js 中渲染 3D 对象

当谈到 Three.js、3D 对象和 IMU 概念时,我是新手。我可以通过在我的 Web 应用程序中导入 Three.js 在 3d 平面中创建网格,但我无法根据来自设备的加速度计和陀螺仪数据渲染网格对象。我的硬件设备发送加速度计、陀螺仪和重力值,我只需要将 3D 对象在 three.js 平面中的方向与实际硬件设备匹配即可。我使用了AHRS,它可以通过使用 Madgwick 滤波器将加速度计和陀螺仪数据转换为欧拉角或四元数,但结果不能正确反映。请帮助我提供一些示例或任何我需要研究以解决此问题的概念。

0 投票
0 回答
27 浏览

arduino - 如何使用 IMU 使 x 和 y 旋转独立

我正在尝试使用来自 IMU 的加速度计值来获得绕轴的旋转。我在 Arduino IDE 上解耦轴之间的旋转时遇到了困难。使用下面的代码,当我围绕 x 轴旋转时,我设法获得了 0-360 之间的完整范围,并且在围绕 x 轴旋转时它工作正常。但是,当我绕 y 轴旋转 90 度并绕 x 轴旋转 0 度时,它会在 x 轴上显示 180 度转动。我知道问题的出现是由于 atan2 函数认为它位于第二象限,但我该如何解决这个问题。xz 和 y 是各自方向上的加速度读数。

0 投票
0 回答
35 浏览

quaternions - 如何避免使用四元数的万向节锁定

我正在使用 LSM6DSO32 我使用卡尔曼滤波器,效果很好,但是在某些位置,特别是当我在俯仰角接近 90° 时,我的滚动跳跃并且我得到了错误的值。所以我在网上搜索过,我发现欧拉角有问题,为了避免这种情况,有些人说要使用四元数。我在这里找到了一个带有四元数的 MadgwickAHRS 算法,但是当我将四元数转换为度角时我遇到了同样的问题,这正常吗?我应该做些什么来避免这个问题吗?

编辑:也许我应该只使用四元数而不转换为欧拉角,但是我如何用我的四元数(q0、q1、q2、q3)检测我的滚动或俯仰移动到 50°,例如?我不关心偏航 z 轴,我只对滚动和俯仰感兴趣。

编辑 2:如果我打印到我的序列 q0 到 q3 所有值都会发生变化,但是如果我打印欧拉角,角度值不会改变?我不知道如何只使用四元数来计算没有欧拉的角度旋转......

0 投票
0 回答
18 浏览

c - 如何用 BNO055 测量 Z 轴的方向差?

我想用 BNO055 在 Z 轴上打印 60 度的方向差

首先,我试图通过减去以前的数据来获得与我尝试的最后一个数据的差异。

我该怎么做?

0 投票
0 回答
10 浏览

3d - Yaw-Roll-Pitch 变换

在我们的设备中,我们有一个 IMU 设备,它报告 3 个坐标:Yaw、Roll 和 Pitch。突然发现 IMU 安装不正确,即电路板围绕上下轴旋转 90 度。所以现在 Pitch 变成了 Roll 而 Roll 变成了 -Pitch。如何更正这些值?它看起来与旋转 3D 对象相同,但我仍然无法理解我应该执行什么转换。任何帮助将不胜感激。

0 投票
1 回答
193 浏览

i2c - 如何从 BNO085 传感器读取数据

如何通过I2C读写BNO085传感器中的数据。I2C 接口是可用的传感器,但数据表中没有可用的寄存器数据。

0 投票
0 回答
41 浏览

dataset - 我在哪里可以找到有效的 6 或 9 DOF IMU 数据集?

我编写了一个 MATLAB 代码来使用 IMU 测量来估计姿态,但我找不到任何有效的 IMU 数据集。

我正在寻找一个有效的 AHRS 或 IMU 数据集(加速度计、磁力计、陀螺仪及其真实姿态表示(欧拉角、DCM、四元数等)来测试我的传感器融合算法。我刚刚找到了视觉、视觉/imu ,或视觉/里程计数据集。

我理想的数据集将包含一组传感器测量值(6 或 9 个自由度)和相应的方向信息。因此,一个简单的 CSV 表,具有以下标题:AX、AY、AZ、GX、GY、GZ、MX、MY、MZ、ROLL、PITCH、YAW

谢谢,