1
$\begingroup$

I am having trouble getting the robot_pose_ekf package to publish messages. I launch it with this launch file.

<launch>

  <!-- Extended Kalman Filter from robot_pose_ekf Node-->
  <!-- Subscribe: /odom, /imu/data, /vo -->
  <!-- Publish: /robot_pose_ekf/odom_combined -->

  <remap from="/imu_data" to="/imu/data" />

  <node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf">
    <param name="output_frame" value="odom"/>
    <param name="base_footprint_frame" value="base_footprint"/>
    <param name="freq" value="30.0"/>
    <param name="sensor_timeout" value="1.0"/>
    <param name="odom_used" value="true"/>
    <param name="imu_used" value="true"/>
    <param name="vo_used" value="false"/>
    <param name="gps_used" value="false"/>
    <param name="debug" value="true"/>
    <param name="self_diagnose" value="true"/>
  </node>

</launch>

But then I get lots of these errors:

[ WARN] [1636570848.059506230]: MSG to TF: Quaternion Not Properly Normalized
[ERROR] [1636570848.059787913]: Covariance specified for measurement on topic imu is zero
[ERROR] [1636570848.060134410]: filter time older than odom message buffer
[ WARN] [1636570848.074015563]: MSG to TF: Quaternion Not Properly Normalized
[ERROR] [1636570848.074583539]: Covariance specified for measurement on topic imu is zero
[ERROR] [1636570848.085433183]: Covariance specified for measurement on topic wheelodom is zero

And I get this output from wtf, which says I'm getting inputs but am not publishing any messages on topic /robot_pose_ekf/odom_combined.

doug@raspi4:~$ rosrun robot_pose_ekf wtf.py looking for node robot_pose_ekf... Input:

  • Odometry sensor
    • is used
    • is active
    • received 12 messages
    • listens to topic /odom
  • IMU sensor
    • is used
    • is active
    • received 152 messages
    • listens to topic /imu/data
  • Visual Odometry sensor
    • is NOT used
    • is NOT active
    • received 0 messages
    • listens to topic
  • GPS sensor
    • is NOT used
    • is NOT active
    • received 0 messages
    • listens to topic Output:
  • Robot pose ekf filter
    • is active
    • sent 0 messages
    • publishes on topics /robot_pose_ekf/odom_combined and /tf

My IMU data is coming from a BNO055 device publishing with code from https://github.com/RoboticArts/ros_imu_bno055.

Any ideas what might be going on?

$\endgroup$
2
  • 1
    $\begingroup$ Hi, can you echo your IMU topic because the error is coming due to the zero covariance matrix of your IMU data. $\endgroup$
    – Franky
    Nov 11, 2021 at 4:03
  • $\begingroup$ ``` doug@raspi4:~$ rostopic echo /imu/data -n1 header: seq: 1 stamp: secs: 1636710493 nsecs: 828954696 frame_id: "imu_link" orientation: x: 95.0 y: 111.0 z: 0.0 w: 16383.0 orientation_covariance: [-1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] angular_velocity: x: 0.0 y: 0.0 z: 0.0 angular_velocity_covariance: [-1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] linear_acceleration: x: 0.0 y: -0.03 z: 0.0 linear_acceleration_covariance: [-1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] --- ``` $\endgroup$
    – Doug
    Nov 12, 2021 at 9:51

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.