Ask Your Question
0

Robot_localization unable to publish tf map  odom

asked 2021-05-17 12:31:50 -0600

Bertrand gravatar image

updated 2021-05-20 01:38:52 -0600

gvdhoorn gravatar image

Hello everyone,

I am trying to set up robot_localization for my own robot. it’s a differential robot with jetson nano and ros melodic. It has Wheel Odometry, IMU and GPS When I fuse only Wheel Odometry and IMU, it’s work very well

And then I am running two instances of robot_localization ekf_local fuses only the imu (imu/data) and the wheel odometry (/odom) to provide the tf odom -- base_link ekf_global fuses the imu (imu/data), the wheel odometry (/odom) and the odometry from gps (/odometry/gps) to provide the tf map--odom

Unfortunately I can’t obtain the tf map --> odom

I have this error with roswtf

ERROR TF multiple authority contention:
 * node [/ekf_local] publishing transform [base_link] with parent [odom] already published by node [/ekf_global]
 * node [/ekf_global] publishing transform [base_link] with parent [odom] already published by node [/ekf_local]

It’s very clear but I have been searching for a long time for this problem but still have not found a solution. Now, I’m running out of ideas and that’s why I’m asking for help.

Thanks for advance for help

These are the main parameters of my configuration:

/odom

header: 
  seq: 2353
  stamp: 
    secs: 1621269914
    nsecs: 517945051
  frame_id: "odom"
child_frame_id: "base_link"
pose: 
  pose: 
position: 
  x: 1.42776163451
  y: 1.05459486876
  z: 0.0
orientation: 
  x: 0.0
  y: -0.0
  z: -0.969285642944
  w: -0.245937679876


 covariance: [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, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

/imu/data

header: 
  seq: 23430
  stamp: 
    secs: 1621270028
    nsecs: 842851010
  frame_id: "imu"
orientation: 
  x: 0.0321049389572
  y: -0.0256961583669
  z: 0.862560831451



 w: 0.50427947845
orientation_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
angular_velocity: 
  x: 0.00555555555556
  y: 0.00555555555556
  z: -0.00111111111111
angular_velocity_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
linear_acceleration:



  x: -0.03
  y: 0.0
  z: -0.1

/odometry/filtered_global

header: 
  seq: 9837
  stamp: 
    secs: 1621270122
    nsecs: 593107462
  frame_id: "odom"
child_frame_id: "base_link"
pose: 
  pose: 


  position: 
  x: 3.1402834907
  y: -0.174301283379
  z: 0.363305654322

orientation:

  x: -0.0337846203609
  y: -0.0230412789275
  z: -0.733087734948
  w: 0.678903580608

/odometry/gps

header: 
  seq: 198
  stamp: 
    secs: 1621270660
    nsecs: 123980998
  frame_id: "odom"
child_frame_id: ''


  pose: 
  pose: 
position: 
  x: -47.288572479
  y: 34.9779323968
  z: 0.0

orientation: 
  x: 0.0
  y: 0.0
  z: 0.0
  w: 1.0

  covariance: [4.494400000000001, -6.32346808388906e-17, 0.0, 0.0, 0.0, 0.0, -1.3555156131737614e-16, 4.494400000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 17.977600000000002, 0.0, 0.0, 0.0 ...
(more)
edit retag flag offensive close merge delete

Comments

Can you please add a tf tree and a node graph? (e.g. rqt_tf_tree/rqt_graph)

Humpelstilzchen gravatar image Humpelstilzchen  ( 2021-05-18 02:04:06 -0600 )edit

Thanks to have a look at my problem There, the links for : rqt_graph https://drive.google.com/file/d/1zuM-... tf_tree https://drive.google.com/file/d/1cVhr...

Bertrand gravatar image Bertrand  ( 2021-05-18 08:40:58 -0600 )edit

Sorry was not able to check that yet, but you have all zero for your covariances. That is a usual source of error, but I doubt that this is the issue here.

Humpelstilzchen gravatar image Humpelstilzchen  ( 2021-05-19 15:35:33 -0600 )edit

@Bertrand: please do not use off-site hosting for information which is just about central to your problem.

I've attached the screenshots to your post here.

gvdhoorn gravatar image gvdhoorn  ( 2021-05-20 01:39:24 -0600 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2021-05-19 16:19:27 -0600

Humpelstilzchen gravatar image

updated 2021-05-19 16:22:45 -0600

There is a typo in both robot_localization configs: "worl_frame" instead of "world_frame".

I admit it is really hard to see, I wonder if a script like roswtf could automatically catch those, e.g. by checking set parameters against defined parameters.

Please also fix the covariances for odom and imu, they are all zero. See Considerations for Each Sensor Message Type

edit flag offensive delete link more

Comments

Thanks a lot, I'm sorry for these simple mistakes, I work on it tomorrow I keep you informed

Bertrand gravatar image Bertrand  ( 2021-05-20 04:10:39 -0600 )edit

I did outdoor test, it's works very well

Bertrand gravatar image Bertrand  ( 2021-05-21 12:39:58 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2021-05-17 12:31:50 -0600

Seen: 123 times

Last updated: May 20