Robotics StackExchange | Archived questions

hector mapping tf issue: TF_NAN_INPUT and TF_DENORMALIZED_QUATERNION

I'm facing very odd issues. While running hector_mapping on my differential 2wd I'm getting the following error on each run after some period of time:

Error:   TF_NAN_INPUT: Ignoring transform for child_frame_id "scanmatcher_frame" from authority "unknown_publisher" because of a nan value in the transform (nan nan 0.000000) (nan nan nan nan)
         at line 244 in /tmp/binarydeb/ros-kinetic-tf2-0.5.20/src/buffer_core.cpp
Error:   TF_DENORMALIZED_QUATERNION: Ignoring transform for child_frame_id "scanmatcher_frame" from authority "unknown_publisher" because of an invalid quaternion in the transform (nan nan nan nan)
         at line 257 in /tmp/binarydeb/ros-kinetic-tf2-0.5.20/src/buffer_core.cpp

This happens randomly, but almost on each run at some point of time.

Another strange issue is somewhere at around 6th minute after starting hectormapping, the hectormapping would throw the following error:

lookupTransform base_link to laser timed out. Could not transform laser scan into base_frame.

There are no errors displayed when doing a roswtf and this happens everytime, even though the robot is stationary.

Doing rosrun rqt_tf_tree rqt_tf_tree shows the tree as it should be (of course with the map --> odom link missing, but base-link --> laser is perfect)

How to solve these issues?

Not sure if this is helpful information, but I'm using hector and required packages over raspberry pi with/Kinetic as master and running rViz on my PC. Even after getting these errors, the connection is fine and no issues there

Asked by parzival on 2020-08-20 13:00:17 UTC

Comments

Answers

I guess the update rate is not the same as retrieveing rate. To check the rates ros`

rosrun rqt_tf_tree rqt_tf_tree`

and see the information about update rates in the branches of each transform

Asked by Souvik Basak on 2022-01-17 11:16:17 UTC

Comments

The problem arised due to a low power board. Raspberry Pi 3B wasn't enough to handle the load of all the scripts we were running. I don't yet know the underlying cause, but it was the limited CPU power.

Asked by parzival on 2022-03-09 09:33:07 UTC

Comments