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

[SOLVED] xsens imu with robot_localization

asked 2015-09-17 02:13:38 -0600

moody gravatar image

updated 2015-09-21 01:46:17 -0600

Hello to everybody, Im still new to ros and allready tryed really long to find a solution for my problem but all the things i tryed werent really helping.

The problem im having is that i want to connect an xsens-mti imu to my robot but cant get it to work under amcl together with the odom.

I tryed to implement the imu into the robot_localization and also tryed in the robot_localization to comment the odom0 and just use the imu0 data. The point is that the odom0 is working nicely and robot_localization is publishing data under /odom and /odometry/filtered. As soon as i comment the odom0 parts and just want to use the imu0 the /odom is still publishing but the /odometry/filtered which is as i think published by the robot_localization.launch is not showing any data. not from the odom and not from the imu.

You might need to know that my robot has a laser connected to it which, i think, till now computed a kind of imu to use together with the amcl. If im wrong please crrect me. The laser is no used under robot_localization. Just under amcl it is used. I also tryed to turn the laser off to see if the imu is working together with the odom but couldnt find a way to be sure about this because as far as i think my imu is not used in amcl.

The Imu itself works nicely. i can see the data published by the xsens under the topic /imu/data. But as soon as i try to use the /imu/data in my robot_localization as a value for the imu0, i get this error message:

WARNING: failed to transform from /imu->base_footprint for imu0 message received at 1442471593.559769106. No transform exists from source to target frame.

So my suggestion now is that the imu is not used by the robot localization if im not pushing the /imu/data to the robot localization. I mean if i am not using the /imu/data as the value for the imu0. Again if im wrong with this please let me know.

Also if you need more data to find out a solution for me please let me know which data and how to collect it.

Thank you very much for your help and excuse me if im confusing you or making it really hard to understand my problem :-)

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2015-09-21 01:45:01 -0600

moody gravatar image

updated 2015-09-21 01:45:54 -0600

Hello to everyone,

I solved the problem myself. In my tf tree was the transform from /imu_link->base_footprint and not as requested from /imu->/base_footprint. the request was hardcoded in a script for filtering the imu data and could not find /imu as it was not linked to the tf.

so i changed the code in the script to /imu_link and everything worked nicely.

Thanks for your help though :-)

Please mark the problem as solved. I dont have enough karma to do anything on here...

edit flag offensive delete link more

answered 2015-09-18 11:29:57 -0600

Tom Moore gravatar image

Please edit your question and post a sample message for every input. Also, please post your ekf_localization_node launch file. Are you providing base_footprint->imu transform? Finally, ekf_localization_node does not publish more than one topic; your /odom topic likely comes from your robot itself.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-09-17 02:13:38 -0600

Seen: 1,344 times

Last updated: Sep 21 '15