ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

A bunch of things:

  1. Turn off debug mode. It won't be able to write to that file anyway, but it should still be false.
  2. For example/odom, you have the frame_id in your message set to odometry, yet your world_frame for the EKF is set to odom. You need to make the frame_id in example/odom odom, or provide an odometry->odom transform.
  3. Moreover, for example/odom, you have no child_frame_id set, yet you are trying to fuse the velocity data from it.
  4. Remove odom0_pose_rejection_threshold and odom0_twist_rejection_threshold. Those are advanced parameters that should not be used until everything else is functioning as you expect (I rarely use them).
  5. The diagnostics topic has some valuable information. You set X and Y to true in the EKF for both odom0 and pose0, and they clearly don't agree, so the output going to behave very strangely.
  6. If you already have a valid source of pose data (pose0), why are you feeding the filter fake odometry messages? It seems to me that you should just get rid of odom0.

A bunch of things:

  1. Turn off debug mode. It won't be able to write to that file anyway, but it should still be false.
  2. For example/odom, you have the frame_id in your message set to odometry, yet your world_frame for the EKF is set to odom. You need to make the frame_id in example/odom odom, or provide an odometry->odom transform.
  3. Moreover, for example/odom, you have no child_frame_id set, yet you are trying to fuse the velocity data from it.
  4. Remove odom0_pose_rejection_threshold and odom0_twist_rejection_threshold. Those are advanced parameters that should not be used until everything else is functioning as you expect (I rarely use them).
  5. The diagnostics topic has some valuable information. You set X and Y to true in the EKF for both odom0 and pose0, and they clearly don't agree, so the output going to behave very strangely.
  6. If you already have a valid source of pose data (pose0), why are you feeding the filter fake odometry messages? It seems to me that you should just get rid of odom0.

I would recommend reviewing the tf wiki and the r_l wiki as well.