问题标签 [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.
gps - Onboard SDK 能否提供原始伪距和载波相位测量和星历数据?
我想知道板载 SDK 是否提供原始伪距、载波相位测量和广播星历。
我已经看到 API 提到 RTK 解决方案,但我需要从陀螺仪和加速度计以及 GPS 的原始测量和原始 IMU 测量中获得我自己的解决方案。
谢谢
gps - 将预先录制的 Lidar-PCAP 文件和 IMU-Measurments 发布为 ros-bag
我有一个预先记录的激光雷达点云作为 pcap 文件,还有 IMU 和 GPS 记录。所有传感器在 gps 时间上同步。我想将它们实时发布为 ROS 消息,这意味着我应该以它们自己的采样率(IMU=125HZ,Lidar=10HZ)读取每个点云帧和 imu 测量并将它们发布为 ros-messages .
我想知道这是否可能,实现这一目标的最佳方法是什么?
谢谢
computational-geometry - 将 IMU 角速度准确转换为四元数
给定三个角速度vx
, vy
,vz
关于x
,y
和z
轴,以弧度每秒测量,从 IMU 的速率陀螺仪派生,我如何为一个样本和下一个样本之间的整个旋转产生等效的四元数,即旋转的积分dt
当前样本和前一个样本之间的时间?
主要问题是这三个角速度是相互独立测量的,但旋转不是可交换的。这意味着在积分期间应用角速度的顺序将影响计算的四元数,就像将欧拉角转换为四元数会根据应用欧拉旋转的顺序产生不同的四元数(例如x
,然后y
,然后z
,与其他一些顺序)。
我认为正确的做法是将时间步dt
分成多个较短的时间段样本,例如N=10
,然后将每个速度除以该数字,给出vx' = vx/N
, vy' = vy/N
, vz' = vz/N
,然后N
以循环方式应用旋转时间,最大到最小的顺序,在每种情况下计算间隔上的实际旋转dt/N
,并将其累积到最终的旋转四元数中。
但是,当提出相关问题时,我看到很多对四元数导数的引用,我想知道是否可以将角速度(欧拉角的导数)直接转换为四元数导数(尽管可能会受到轴排序的影响灵敏度),然后以某种方式整合四元数导数以转换回四元数跨越时间dt
。
似乎应该有一种“正确”的方法来做到这一点,因为每个使用速率陀螺仪的 IMU 都必须解决这个问题。对此的任何见解将不胜感激!
accelerometer - 使用 3 轴加速度计测量汽车速度
情况描述
我想在旅途中使用 BOSCH BMI160 传感器检查车辆的速度。GPS 在当前情况下不可用。
问题
- 从 3 轴加速度传感器获取速度的公式是什么?
- 在山丘或地面的不平整区域出现误差时是否有超过 10% 的误差?
资源
博世 BMI160 数据表:https ://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMI160-DS000.pdf
谢谢
gps - 使用 VectorNav VN100 IMU 的路径映射来映射两个 GPS 坐标之间的路线
我正在尝试使用 VectorNav VN100 IMU 来绘制通过地下隧道(GPS 拒绝环境)的路径,并且想知道执行此操作的最佳方法是什么。我从 VN100 获得了很多数据点,其中包括:方向/姿势(欧拉角、四元数)以及三个维度的加速度和陀螺仪值。加速度和陀螺仪值以原始和过滤格式给出,其中过滤后的输出已使用板载卡尔曼滤波器进行过滤。除了 IMU 测量,我还在隧道的起点和终点测量了三个维度的 GPS-RTK 坐标。我应该如何处理这个映射问题?我对这个领域很陌生,不知道如何从加速度和方向数据中提取位置。
accelerometer - IMU 跌倒检测
我正在尝试检测自由落体场景。我有加速度计和陀螺仪。我可以通过检查 0g 的总加速度来检测一个简单的跌落但是,我的问题是当 IMU 同时跌落和旋转时(离心力)。知道如何区分这种情况吗?
filter - 陀螺仪漂移太多
我正在尝试制作四轴飞行器,并且正在使用 MPU6050 为我的 PID 算法获取角度数据。然而,即使有免费的过滤器,随着时间的推移,我仍然会在陀螺仪上产生很大的漂移,尤其是在 y 轴上。如果有人可以建议对代码进行改进以最大程度地减少上述漂移,那将不胜感激。
'''
'''
c - ICM20948使用顺序
我目前正在开发基本例程,以便与 IMU 或惯性测量单元进行通信,TDK 的 ICM20948 - InvenSense 通过我自己开发的 PCB 使用 I2C 协议,我目前具有与之通信的功能,例如:
还有一些工作正常(我读过告诉我这是工作的寄存器)关键是ICM20948数据表设备没有指定我配置它以读取加速度数据的顺序,我找到了一个代码在 GitHub 上,更具体地说是https://github.com/dtornqvist/icm-20948-arduino-library,它是用 Arduino 编写的,我试图将它移植到我目前使用的语言 c,得到当前配置功能
之后我打电话给我的:
函数,它应该通过 UART 向我返回 45u 和 46u(加速度)寄存器信息的混合,但我正在接收下一个输出(我正在使用 Hterm 0.8.3 来捕获 uart 输出)
我没有真正的线索,即使我移动我的 pcb,产生加速度,结果保持为 0x0。有没有人使用过这类软件并且可以给我一些关于如何继续工作的建议?或者我的代码有任何我没有看到的重要错误?
gps - 在这种 scrnaroo 中无法校准连接到车辆的磁力计,如图 8 校准
我试图找到一种方法来校准连接到车辆的磁力计,因为图 8 校准方法在车辆上并不真正可行。此外,去除磁体校准和固定不会给出准确的结果,因为将其固定回车辆会引入更多的硬铁失真,因为它是在没有车辆环境的情况下进行校准的。我的设备还有一个加速度计和 GPS。我可以使用加速度计或 gps 数据(已校准)来自动校准磁力计吗