Rosanswers logo

Hi, guys. I am new to ROS. I am currently trying to use robot_pose_ekf to fuse data from odometry, imu and gps. But I can't get output from the EKF package. I think it might be caused by the issue of frame_id and child_frame_id after searching similar problems. But I don't know how to set the ids for my sensors. Can anyone help me with that. Thanks a lot.

Originally posted by fyxbird on ROS Answers with karma: 28 on 2014-06-12

Post score: 0

Original comments

Comment by al-dev on 2014-06-12:
Hi fyxbird, do you mean that you cannot get any output when you do "rostopic echo /robot_pose_ekf/odom_combined" or "rosrun tf tf_echo /world /tf_message" ?
If so, have you checked that something is actually published on the topics robot_pose_ekf is listening to (/odom, /imu_data and /vo) ?

Comment by fyxbird on 2014-06-13:
Hi al-dev, I am sure data are published on topics, odom. Imu_data and gps. When I use rostopic hz, I can get the publishing rate. And these data can be seen by echo. But when I echo odom_combined, these is nothing come out.

Comment by al-dev on 2014-06-13:
I guess the transform odom_combined → base_footprint isn't published either?

Can you edit your subject to give the outputs of "rosrun tf view_frames" and "rosrun robot_pose_ekf wtf.py" ?

Comment by fyxbird on 2014-06-13:
when I try rostopic list there are four topics related to imu, including imu_data. gps, odom_combined and odom are also existed. Along with two topics about tf. But no data in odom_combined and tf. when I try tf view_frames, there is no tree there. Besides, the data published by imu and gps have no frame_id, I think that might be the problem.

Comment by al-dev on 2014-06-13:
If you don't see any tree in view_frames, it could be that you are not publishing the transform configuration, as explained in this tutorial : http://wiki.ros.org/navigation/Tutorials/RobotSetup/TF. You might want to follow the other RobotSetup tutorial as well, they are pretty detailed.

Comment by fyxbird on 2014-06-13:
I will try that, thanks, al-dev.

Comment by al-dev on 2014-06-16:
Hey fyxbird, did you solve your problem? If so, don't forget to mark the answer for the other users.

Comment by fyxbird on 2014-06-16:
Hi, al-dev, I haven't work on that for the last two days. I will try and respond to this quesiton. Thanks.


1 Answer 1


Rosanswers logo

The problem is solved, turns out that it is caused by the data published by gps is not time stamped. And the frame id of data from imu is wrong. Thx, al-dev.

Originally posted by fyxbird with karma: 28 on 2014-06-25

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by bikram.adhikari on 2015-04-17:
Hi fyxbird, I am running through similar issue on robot_pose_ekf. Could you possibly post how your tf tree looks like after fixing the issue?

thanks, B

Comment by fyxbird on 2015-04-17:
Hi, bikram, As I have already finished that project, I don't have access to the equipment now. But I remember the tf tree is something looks like this. What's ur problem, maybe I can help you with it. /robot_pose_ekf/odom

   /odometry      /imu_data      /gps

Comment by Anirvan0102 on 2016-06-07:
Hi, fyxbird, I am new to ROS and have similar issues. Could you tell me how to setup the tf for gps and imu. Thank You

Comment by fyxbird on 2016-06-08:
Hi Anirvan,

I think in order to establish the tf tree, you need to make sure all gps and imu data are time stamped, and publish on specific topic in required format. You need to make sure your subscriber listens to the topic, and the data format correlates too. Regards.

Comment by fofMobius on 2019-05-23:
Hello, I am also a new ros, I am also using ekf positioning, my input is /rf2o_laser_odometry/odom and /imu_data, I would like to ask fyxbird you use imu_filter_madgwick to filter the imu_data, if there is any filter and ekf filter Difference, thank you


Your Answer

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