问题标签 [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 投票
1 回答
80 浏览

filtering - 电机对 IMU 的影响

目前,我们正在我们的一个项目中使用 BNO055。由于硬件设置中的空间限制,IMU 放置在直流电机旁边。由于电机振动,我们正在对从此 ( https://github.com/adafruit/Adafruit_BN ... awdata.ino) 脚本读取的四元数值应用低通滤波器。我们已将 5 Hz 设置为滤波器的截止频率。我们还在 Sorbotane(阻尼材料)上放置了 IMU,以最大限度地减少振动。但是,我们仍然在销售方向上的错误。

从软件和硬件的角度来看,可以做些什么来减少电机振动对 IMU 的影响?任何输入都受到高度赞赏。

0 投票
0 回答
24 浏览

imu - IMU 的位置和速度

我使用 IMU 已经有好几年了。通常,这些是 COTS 设备。非常适合无人机、电话和其他东西。但由于它们潜在的漂移和振动影响,很难(不可能?)通过集成加速度计获得真实的速度和位置。

但是,我从顾问和其他专业人士那里听说,高端加速度计是可能的。但是,没有人给出型号、制造商、成本等。

有人知道这样的IMU吗?

0 投票
1 回答
51 浏览

c++ - 将许多对象及其数据存储在来自 IMU 的数组中以供进一步计算

我目前有一个机器人项目,它使用了许多 (16) 个 IMU,特别是在 SPI 下运行的 MPU9250。

作为使用Bolder 飞行库的六个传感器的简化示例

要使用这些传感器,它们都必须经过校准,并在使用过程中实时应用磁硬和软偏移,除此之外,我还必须应用陀螺仪和加速度。校准算法。这意味着,对于每个传感器,我必须从每个 IMU 调用 9 个不同的数据点并应用一些数学运算,因此我设置了一些数组来存储值和最终值和偏移量之间的值:

然后在循环本身中,我调用每个对象并获取传感器读数:

虽然代码似乎按我预期的方式工作,但我相信这是存储这些数据的错误方法......即在getAccel, getGyro, getMag数组中,或者像在eulerAngles.

我对此的预感是在初始测试期间,我收到的一些传感器数据有一个振荡错误应用于它们,这让我认为我正在从某个地方的内存中接收垃圾数据

...我会使用 for 循环,但由于每个对象名称都是单独的并且没有索引,我不确定最佳实践,也不确定调用和处理如此大的数据集的最快方法。我发现了一个类似的问题,尽管不幸的是我太笨了,无法将其应用于我的情况。

所以问题是在数组中调用和存储这么多对象(及其数据)以进行进一步计算的正确方法是什么?我想避免有超过一百个变量(当使用所有 16 个 IMU 和中间变量来执行所有适当的数学运算时。我为可能写得非常糟糕的代码道歉,我的 c++/Wiring 不是最好的。

0 投票
0 回答
90 浏览

c++ - Madgwick 算法不稳定

我正在使用 Madgwick 算法。所以我有一个设置为 208Hz 数据速率的 LSM6DSO32 传感器,我还将我的 Madgwick 滤波器设置为 208Hz 采样率。但是我在真实角度和四元数之间有一个延迟。我发现如果我更改betaDef延迟减少但四元数不稳定,我怎样才能实现实时四元数?我做错了什么?

在这里使用了这个库

我改变了这些行

我这样设置我的俘虏(我在这里使用 Adafruit lib )

通过这个设置,我得到了很好的结果,但四元数不稳定。updateIMU每次我的俘虏提供新价值时,我都会打电话给我

0 投票
0 回答
35 浏览

c# - 如何在Unity中正确获取智能手机陀螺传感器数据中的x轴值

在此处输入图像描述

我想使用智能手机的 IMU 传感器加载 x、y、z 数据。

Input_gyro_attitude_eulerAngles = Input.gyro.attitude.eulerAngles - 偏移量;// 陀螺角度

通过上面的代码,虽然有一点点错误,y轴和z轴都加载得很好。

但是对于 x 轴,只记录了 270 到 90 度范围内的值,而没有记录 90 到 270 之间的值,如图所示。

我怎样才能让它正确加载?

0 投票
1 回答
71 浏览

stm32 - mpu6050&dmp和stm32h7的使用

我试图将 mpu6050 与 dmp 一起使用,但我该怎么做呢?我没有找到任何来源,任何寄存器或类似的东西。我现在有一个 stm32h7,但没有与此相关的库,或者我没有再找到。请有人帮助我

0 投票
1 回答
90 浏览

ros - ROS IMU 服务、客户端和服务器节点模板

我想创建 IMU ROS 服务。我有一个服务器(在我的例子中是一个微控制器 ESC32),它可以获得 IMU 读数,并且在请求进一步处理时应该将 IMU 数据传递给客户端(在我的例子中是 Raspberry PI 4B)。所以我只需要传递原始数据IMU 数据。我想从 IMU 服务器和客户端节点的一些 ros 服务模板开始。这是我的 .srv 文件

这是我的服务器 cpp

我的 IMU ros 主题是这个

0 投票
1 回答
73 浏览

c++ - 运行 ROS 服务时,IMU 客户端响应值全为零

我创建了将 IMU 传感器值从服务器传递到客户端的 ROS 服务。我能够构建包,但有些客户端值全为零。

所以我想创建 IMU ROS 服务。我有一个服务器(在我的例子中是一个微控制器 ESC32),它可以获得 IMU 读数,并且在请求进一步处理时应该将 IMU 数据传递给客户端(在我的例子中是 Raspberry PI 4B)。所以我只需要传递原始数据IMU 数据。这是我的 .srv 文件

然后我的服务器 cpp 节点

然后我的客户端模式

IMU主题是

有什么帮助吗?

0 投票
1 回答
121 浏览

c++ - IMU 线加速度到线速度

嗨,我在凉亭做一些 UUV 模拟,并有 IMU 给我 9DOF 即我的数据是

我想获得线速度以及在进行双重积分时如何使用方向来减少误差。我也有一些 3D 姿势传感器。所以它的水下机器人模拟。我的意思是我有方向的 IMU 数据,所以在获取速度值时如何将其合并到我的积分中。有什么帮助吗?

0 投票
1 回答
88 浏览

ros - 用于传感器融合(IMU 和压力)数据的 Ros 包?

我正在寻找可以融合 IMU 和压力传感器数据的 ROS 包(KF 或 UKF 或 EKF)。我想从 IMU 和压力传感器数据中获得 6x6 估计的速度矩阵(线性和角度)。IMU 是 9 DOF(方向、角速度和线性加速度)和压力。气压计(压力传感器数据)可用于水下机器人,因为假设海(水)水位相同(恒定)并且压力假设与水下机器人(车辆)的线性运动保持相同的值。是否可以使用这个包来融合这个 IMU 和压力数据以获得估计的速度(线性和角度)?

如果没有现有的 ROS 包(用作速度观察器)并融合 IMU 和压力数据,那么我可以在 ROS 中使用和实现的任何其他代码或帮助吗?

谢谢