ROS技术空间

ROS错误问题 | IMU似乎处于自由落体状态 The IMU seems to be in free fall, cannot determine gravity direction

可能有些初学者bringup节点遇到启动报错, 内容是The IMU seems to be in free fall, cannot determine gravity direction, Still waiting for data on topic /imu/data_raw…

解决方法

  1. 重新校准IMU后重启bringup,详见http://www.elelab.net/angular-velocity-calibration-and-imu-calibration.html
  2. 如果还是无法解决并且滤波后线加速度数据为0,可能是地球重力加速度参数设置错误造成,在imu_calib里面需要重新设置重力加速度。

  3. 还是无法解决!!!更换IMU,重新分析IMU数据是否正确,数据传送是否突变,等原因。

问题分析

使用rostopic查看IMU数据

rostopic echo list
rostopic echo /raw_imu


IMU原始数据正常

接着查看/imu/data_raw校准后的数据

rostopic echo /imu/data_raw


可发现问题linear_acceleration 线加速度无数据,校准节点imu_calib出现问题导致滤波融合节点imu_filter_madgwick报错MU似乎处于自由落体状态。

为什么imu_calib会发出0的值,是因为校准的数据有问题,也可能是do_calib校准时候设置的重力加速度reference_acceleration有问题。