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

Revision history [back]

Adding answer as a comment isn't long enough.

Re: which transform the EKF is publishing, a few things:

  1. First, see the code here. The filter should always use your world_frame parameter as the parent frame for its tf broadcast. You're using the groovy version, and perhaps there's something going on there that I don't recall, but I'm pretty sure it works as well.
  2. I'm assuming you're using this code base for the Nomad Scout, correct? Look at line 141 of this file. It is sending the odom->base_link transform itself. This is common for robot drivers/controllers:

    //send the transform
    odom_broadcaster.sendTransform(odom_trans);
    
  3. The tools you listed tell you what transforms are being broadcast, but only tf_monitor can tell you which node is broadcasting it. Can you please post the output of tf_monitor?

  4. Another test you can try is to not run the EKF at all (but DO run the Scout node), and see if that transform still exists.
  5. If for whatever reason the EKF is publishing that transform (as determined by the tf_monitor output and the test I suggested above), then please post your full launch file for every node you're running.

Adding answer as a comment isn't long enough.

Re: which transform the EKF is publishing, a few things:

  1. First, see the code here. The filter should always use your world_frame parameter as the parent frame for its tf broadcast. You're using the groovy version, and perhaps there's something going on there that I don't recall, but I'm pretty sure it works as well.
  2. I'm assuming you're using this code base for the Nomad Scout, correct? Look at line 141 of this file. It is sending the odom->base_link transform itself. This is common for robot drivers/controllers:

    //send the transform
    odom_broadcaster.sendTransform(odom_trans);
    
  3. The tools you listed tell you what transforms are being broadcast, but only tf_monitor can tell you which node is broadcasting it. Can you please post the output of tf_monitor?

  4. Another test you can try is to not run the EKF at all (but DO run the Scout node), and see if that transform still exists.
  5. If for whatever reason the EKF is publishing that transform (as determined by the tf_monitor output and the test I suggested above), then please post your full launch file for every node you're running.

EDIT: Removing things you've already investigated, sorry.