【问题标题】:IMU linear acceleration to Linear velocityIMU 线加速度到线速度
【发布时间】:2021-11-14 22:44:32
【问题描述】:

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

Cheader: 
  seq: 301770
  stamp: 
    secs: 6064
    nsecs: 844000000
  frame_id: "thrbot/imu_link"
orientation: 
  x: 0.018933040808
  y: -0.00209639450915
  z: 0.337785931366
  w: -0.941030185311
orientation_covariance: [0.0001, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.0, 0.0, 0.0001]
angular_velocity: 
  x: -8.94731200724e-05
  y: 0.000117146098958
  z: 7.81746250685e-06
angular_velocity_covariance: [1.1519236000000001e-07, 0.0, 0.0, 0.0, 1.1519236000000001e-07, 0.0, 0.0, 0.0, 1.1519236000000001e-07]
linear_acceleration: 
  x: 0.0865246576615
  y: -0.363323777859
  z: 9.79281330072
linear_acceleration_covariance: [1.6e-05, 0.0, 0.0, 0.0, 1.6e-05, 0.0, 0.0, 0.0, 1.6e-05]

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

【问题讨论】:

    标签: c++ ros imu


    【解决方案1】:

    听起来您希望能够进行传感器融合并由此定位您的机器人。在这种情况下,从 imu 上获得线性加速度正是 the ros ekf 包的用途。它处理传感器融合并将返回里程计数据。

    【讨论】:

    • 没有。我想在任何传感器融合之前从 IMU 获得线速度。
    • @Bob9710 请问有什么目的?通常最好(也是最准确)将此信息从本地化堆栈中出来。
    • 它用于 UUV 控制(观察者)。我不会在凉亭模拟中控制水下航行器,首先需要速度的真实值
    • @Bob9710 如果您只需要 一些 速度值,您可以将两条消息的时间戳增量乘以加速度。如果您需要 准确 速度,您应该使用基于来自 ekf 的传感器融合数据的里程计。否则,速度会随着时间的推移变得非常不准确。
    • 我想将 IMU 与压力(气压计)融合。 EKF可以处理吗?以及用于融合 IMU 和压力数据的任何推荐包(ros 包)?
    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    相关资源
    最近更新 更多