Robotics StackExchange | Archived questions

robot_localization ignores pose topic

Hi,

I wish to compare the outputs of two instances of robot localization on Clearpath's Jackal: one that gets IMU and odometry as inputs and another that gets the same IMU and odometry topics but also a pose topic that originates in observations from a UAV that hovers above.

It seems like the second instance ignores the pose topic since the outputs of the two instances are identical: plot of the two outputs of the two instances

Below are the two .yaml config files of the two instances:

robot_localization.yaml

frequency: 50

odom0: /jackal_velocity_controller/odom
odom0_config: [false, false, false,
               false, false, false,
               true, true, true,
               false, false, true,
               false, false, false]
odom0_differential: false

imu0: /microstrain/imu/data 
imu0_config: [false, false, false,
              true, true, true,
              false, false, false,
              true, true, true,
              false, false, false]
imu0_differential: false

odom_frame: odom
base_link_frame: base_link
world_frame: odom

robotlocalizationcollaborative.yaml

frequency: 50
publish_tf: false

odom0: /jackal_velocity_controller/odom
odom0_config: [false, false, false,
               false, false, false,
               true, true, true,
               false, false, true,
               false, false, false]
odom0_differential: false

pose0: /ugv_pose_from_air 
pose0_config: [true, true, false,
               false, false, false,
               false, false, false,
               false, false, false,
               false, false, false]
pose0_differential: false

imu0: /microstrain/imu/data 
imu0_config: [false, false, false,
              true, true, true,
              false, false, false,
              true, true, true,
              false, false, false]
imu0_differential: false

odom_frame: odom
base_link_frame: base_link
world_frame: odom

Sample UAV pose message:

header: 
  seq: 329
  stamp: 
    secs: 1493723176
    nsecs: 773633956
  frame_id: /bebop/odom
pose: 
  pose: 
    position: 
      x: 0.470266436343
      y: 1.16011254862
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: 0.0
      w: 0.0
  covariance: [1.0652132368969054, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.1711349408952507, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

I uploaded a bag file and sample messages of the three EKF input topics here.

My code is available in GitHub.

Thanks!

Asked by Omer on 2017-05-02 09:55:05 UTC

Comments

Could it be that your world_frame in robot_localization_collaborative.yaml should be set to the map_frame and not odom. This is very similar to GPS integration.. I think... two separate EKFs, one is continuous, the other is fusing continuous+externally gathered pose data. See link text

Asked by bluehash on 2017-05-02 10:25:02 UTC

Thanks @bluehash. I now tried setting world_frame to map_frame (both are set to map). In addition, I set publish_tf to true in order to have a map -> base_link TF. This didn't change anything (i.e. the trajectories are still identical). Any other ideas?

Asked by Omer on 2017-05-05 11:19:12 UTC

Hi! I have a very similar problem to yours. I'm using pose data in the map->odom instance of ekf_localization and it ignores my pose data. My pose data is being published in the map frame which has a well-defined transform to all other links. Is there anything I'm missing out on? Thank you!

Asked by Karthikeya Parunandi on 2018-04-12 16:02:30 UTC

Answers

Your UAV-based pose has a frame_id of bebop/odom. You need to provide a bebop/odom->odom transform, or the EKF won't know how to use the data, and will ignore it.

Asked by Tom Moore on 2017-06-28 05:17:01 UTC

Comments

I have a very similar problem. I'm using pose data in the map->odom instance of ekf_localization_node and it ignores my pose data. My pose data is being published in the map frame which already has a well-defined transform to all other links. Is there anything I'm missing out on?

Asked by Karthikeya Parunandi on 2018-04-12 16:04:17 UTC

Ask a question and post your EKF config and sample messages, please.

Asked by Tom Moore on 2018-04-13 06:37:43 UTC