TF_NAN_INPUT errors from use of ekf_localization_node
UPDATE: I have verified that simply setting odom0differential to false also solves the problem. It is in fact probably not a problem with the ARM system I'm using, as I eventually got the same error on a x8664 laptop that I mounted on the robot. It seems as though it works fine for a while, and then the error shows up continuously after a while. Is there maybe some sort of caching applied which keeps erronous values and is reset by changing the settings in the launch file?
ORIGINAL QUESTION:
Whenever I use ekflocalizationnode in my project, I get this error:
Error: TF_NAN_INPUT: Ignoring transform for child_frame_id "base_footprint" from authority "unknown_publisher" because of a nan value in the transform (-nan -nan -nan) (-nan -nan -nan -nan) at line 240 in /tmp/buildd/ros-indigo-tf2-0.5.11-0trusty-20150522-1835/src/buffer_core.cppI don't get it when I put all values of the (currently only) input of the node to false, but as soon as I put a 'true' at the position for (e.g.) the x input, it shows up again. I am using wheel odometry of a Kobuki for this input. Here is a sample odometry message:
header: seq: 20227 stamp: secs: 1435652980 nsecs: 60858344 frame_id: odom child_frame_id: base_footprint pose: pose: position: x: 0.0 y: 0.0 z: 0.0 orientation: x: 0.0 y: 0.0 z: 0.0 w: 1.0 covariance: [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05] twist: twist: linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0 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] ---
This is the launchfile I am currently trying to use for the ekflocalizationnode: http://pastebin.com/SPrXDD53
Asked by quantumflux on 2015-06-30 03:56:05 UTC
Answers
No, there's no caching going on. Is the message you posted above the output of ekf_localization_node
or an input message? Can you post a bag file that shows the behavior you're describing?
Asked by Tom Moore on 2015-08-20 10:21:11 UTC
Comments
Can you please post a sample odometry input message? Also, please let me know which version of
robot_localization
you're using. I see you're using Indigo, but did you install the package from the package manager or build it from source?Asked by Tom Moore on 2015-06-30 08:36:54 UTC
Update: I tried to use a different bag file with your launch file, and I could not reproduce your issue. You'll have to post a sample odometry message.
Asked by Tom Moore on 2015-07-06 19:31:12 UTC
Hey, sorry for the delay. After a bit of testing I noticed that this only happens on one unit, which is the one I was testing it on first. It runs an ARM-based embedded system, so that might have something to do with it. On all x86 based platforms this issue does not exist, and in fact (cont.)
Asked by quantumflux on 2015-07-08 01:30:52 UTC
(cont.) I can run the package fine when I "outsource" it to one of our x86-based workstations instead of running it directly on the robot.
Asked by quantumflux on 2015-07-08 01:32:01 UTC
Which ARM board are you using? Did you build from scratch or use the package manager?
Asked by Tom Moore on 2015-07-08 18:51:07 UTC
Any update on this?
Asked by Tom Moore on 2015-07-29 18:29:37 UTC
Yes, sorry. Vacation and other stuff kept me from posting updates. I will update the question to reflect the changed circumstances I have encountered.
Asked by quantumflux on 2015-08-20 04:04:13 UTC