我有 IMU 传感器,它可以为我提供原始数据,例如方向、角度和线性加速度。我正在使用 ROS 并做一些 Gazebo UUV 模拟。此外,我想从原始 IMU 数据中获得线速度。如果我随着时间的推移进行积分,则会累积误差,并且在机器人转弯时会不准确。所以如果我使用
acceleration_x = (msg->linear_acceleration.x + 9.81 * sin(pitch)) * cos(pitch);
acceleration_y = (msg->linear_acceleration.y - 9.81 * sin(roll)) * cos(roll);
所以集成线性加速度是非常糟糕的,
Velocity_x= Velocity_old_x+acceleration_x*dt;
因为集成加速度而不考虑传感器的任何可能旋转,这意味着如果传感器完全旋转,结果可能会很糟糕。所以我需要一些 ROS 包来考虑所有这些转换并给我最准确的线速度估计。有什么帮助吗?谢谢