Ignore tf messages with invalid quaternion
A TF message with rotation 0 0 0 0 will be accepted and send by the fixposition ros driver when no gnss signal is acquired. When using the (python) TransformListener in a node, this will continuously throw the following error messages:
Error: TF_NAN_INPUT: Ignoring transform for child_frame_id "FP_ENU0" from authority "default_authority" because of a nan value in the transform (0.000000 0.000000 0.000000) (nan nan nan nan).
@fgarciacardenas what do you think of this change?
Hi @yiebo @Rayman . Thank you for reporting this issue and suggesting how to solve it.
Unfortunately, your proposed change should not have any impact, as the value of valid_tf is determined as 'valid_tf = !(tf.rotation.w() == 0 && tf.rotation.vec().isZero());'. See 'tf.cpp' for more information.
Does this issue still happen on the latest version of the ROS driver? I will definitely try to reproduce it on our side.