问题标签 [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 回答
654 浏览

python - 使用加速度计和磁力计确定 IMU 的方向

我有一个 IMU,我正在尝试仅使用加速度计和磁力计来获取它的方向。我正在使用从加速度计返回的重力矢量和从磁力计返回的矢量,并找到它们的叉积来获得东矢量和北矢量。我有以下代码:

当我运行脚本时,我似乎得到了准确的结果,但是根据我旋转 IMU 的方式,两个轴可能会锁定并且它们的旋转值相同。我错过了什么吗?

0 投票
1 回答
114 浏览

java - Movesense 展示应用程序,我无法更改采样率

用户体验设计师,在这里学习AndroidStudio,

我一直在尝试从展示应用程序中获取 52hz 的 IMU9 数据,不幸的是我没有成功。我遵循有关如何订阅不同采样率的文档,这表明这样做

我应该给我一个 52 赫兹的数据流,但是当我在日志上监控时,我总是像这样每秒得到 13 次更新

任何人都可以就如何改变采样率提供一些建议吗?

0 投票
0 回答
203 浏览

python - 使用带有嵌入式 IMU 的 2D LiDar 进行 3D 映射

我正在研究 MRS1104C,我正在尝试绘制一个正交框。我只使用 4 层中的 1 层。我已将传感器垂直放置在地板上,并获得了从嵌入式到传感器 IMU 的距离、角度和四元数的测量值。为了完全映射盒子,我将传感器相对于地板上的垂直轴旋转 200 度(旋转 1),并相对于水平轴旋转一些度(旋转 2)。

为了转换到全局坐标系,我使用四元数衍生的旋转矩阵(Python)。

四元数衍生旋转矩阵的数据由传感器的 IMU 获得。因此,每次移动传感器时都会收到来自传感器的新值。然而,在变换后,从 0 到 137.5 度的测量值与 -137.5 到 0 度的测量值相比,在盒子的同一侧观察到不同的斜率,如附图所示。 测量的盒子图

我相信这不应该被观察到,因为每次新的测量都会考虑到新的四元数,因此盒子同一侧同一点的变换应该给出几乎相同的结果。

1)您能否给我一些想法为什么会发生这种情况,另外,您能否给我一些建议或指导我如何解决它?

2)我错过了什么吗?

3) 上述方法正确吗?

请看下图:

蓝色的图像从 -137.5 到 0 度,红色从 0 到 137.5 度

其他观点

0 投票
1 回答
552 浏览

c - bno055 IMU 校准

我试图从 IMU BNO055 中获得一些读数,下面是 ADA Fruit 的实现。

https://cdn-learn.adafruit.com/downloads/pdf/adafruit-bno055-absolute-orientation-sensor.pdf

好像我无法通过校准步骤。

BNO055 手册可以在下面找到: https ://cdn-shop.adafruit.com/datasheets/BST_BNO055_DS000_12.pdf

我没有使用库,而是直接使用 I2C 进行通信并从设备寄存器读取和写入。

我正在做的配置如下:

现在,我应该等待执行芯片的内部校准。但它似乎还没有完成。

我通过检查寄存器 0x​​35 来检查它,如果校准完成,它应该 >0。

我在配置中遗漏了什么吗?我在网上查了一下,我找到了一些建议(也根据 IMU 手册)关于用设备在空中制作一个 8 符号,我这样做了,但无论如何校准都没有完成。

我认为这不是电源问题(我在 Bosh 论坛中找到了一些关于此的参考资料),因为我将 VIN 连接到 5.0V,将 3VO 连接到 3.3V,将 GND 连接到 GND。

对此的任何评论都会有很大帮助。我是否配置设备错误?我错过了任何注册表吗?

谢谢!

0 投票
0 回答
31 浏览

3d - 建议开源项目或免费软件来可视化传感器数据,如 IMU 或距离传感器

我正在做一个项目,我将处理 IMU、伺服系统和距离传感器。我想在最终版本中使用它们之前对其进行校准。

我正在寻找一个 3D 可视化器,我可以在其中提供实时传感器输入和 3D 对象移动或旋转。有什么建议么?

谢谢

0 投票
0 回答
50 浏览

math - 基于 IMU 软件的方向调整

我有一个六轴 IMU,它以四元数、欧拉角和 YPR 格式输出方向数据。该数据用于四轴飞行器 PID 控制器以实现稳定。

我已经建立了一个用于调整四轴飞行器的测试台;然而,测试台的旋转轴从 IMU 测量轴旋转了约 45°。

以前,我设法使用旋转矩阵来调整偏移量,但是(考虑到程序的一些更改)我现在处理的是角度/四元数而不是向量,而且这种方法似乎不再适用(至少没有中间步骤) 到测量数据。

这引出了我的问题:如何将这个 45° 变换应用于输出数据(以提供的格式——四元数、欧拉、YPR)以测量沿旋转轴的姿态?

0 投票
1 回答
206 浏览

accelerometer - 在 SPI 中将 ICM20948 与 STM32F446RE HAL 层接口

我在将 ICM20948 IMU 与 ST 的 HAL_layer 连接时遇到问题。我的主设备 (ST) 正在向从设备 (ICM) 正确发送数据,但从设备没有响应。我已经很好地检查了每个连接。我已经测试了几个 ICM (3),并且我还用我的逻辑分析仪对其进行了调试(见下图)我非常感谢你能提供给我的任何帮助或指示。

我目前的设置是

在此处输入图像描述

代码非常简单,我只有两个简单的读/写 rotines

在主函数中,我使用SPI_HandleTypeDef hspi2;实例将 IMU 对象初始化为

只是为了测试一切都很好,我刚刚选择了 BANK_0 并通过以下方式询问 WHOIAM

在调用 WHOIAM() 之前,我还尝试了几个步骤,例如设置重置设备、设置内部时钟等,但没有任何效果。这就是我设置其他行的方式,以防万一:

此外,我还尝试了 NSS 禁用(因为只有一个设备)或硬件(ST 作为输出),但没有任何改变。

这是我的逻辑分析仪的图片 在此处输入图像描述 在此处输入图像描述

如您所见,主设备正在正确地向从设备发送数据,但从设备在 MISO 行中始终为高电平。我用我的逻辑分析仪检查了频率,如数据表中所述,低于 7MHz

Nfalling 8 Nrising 8 fmin 3.846 MHz fmax 4.167 MHz fmean 3.977 MHz

任何想法都非常受欢迎。谢谢!

0 投票
0 回答
45 浏览

java - 使用 ARCore 和 IMU 传感器生成世界运动和位置数据

我正在尝试开发一个 Android 应用程序,该应用程序从手机读取传感器数据,并在每个特定时间间隔将世界位置生成到电子表格中。

我读过关于在线性加速度上使用双积分的文章,但我读过很多文章和论文,说它效率低且不准确,而且它不会为我提供实际的世界位置数据。但是,我看到像Just A Line这样的应用程序可以准确读取手机的世界位置。

所以我的问题是,是否有一种简单的方法(无论是否使用 ARCore)来实际读取该世界位置数据并将其存储在电子表格或其他东西中?

谢谢!

0 投票
1 回答
650 浏览

accelerometer - IMU MPU9250 数据表中的满量程范围是什么意思,哪个更好用?

我有 MPU9250 IMU,我正在努力从传感器输出数据中获取方向。在探索 MPU9250(以及其他传感器,如 BNO055)数据表时,我遇到了加速度和陀螺仪的全量程范围,如±2 ±4 ±8 ±16 (g)±250 ±500 ±1000 ±2000 (deg/s). 我不明白它的含义,但似乎很重要。

我尝试在网上搜索与满量程范围相关的内容,但没有得到相关解释。我请求是否有人可以通过提供很好的解释或我可以通过的来源来帮助我理解,我真的很感激。

还有哪个更好用?

谢谢。

0 投票
0 回答
410 浏览

c - 如何通过C中的加速度计计算速度?

我将传感器放在窗口上,并移动窗口以获得x轴方向的速度和距离。但是当我停止移动时,速度读数不为零,这会导致距离测量错误。

如何获得准确的计算速度?

代码: