fixposition_driver icon indicating copy to clipboard operation
fixposition_driver copied to clipboard

Ignore tf messages with invalid quaternion

Open yiebo opened this issue 1 year ago • 1 comments

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).

yiebo avatar Sep 04 '24 14:09 yiebo

@fgarciacardenas what do you think of this change?

Rayman avatar Sep 27 '24 10:09 Rayman

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.

fgarciacardenas avatar Oct 28 '24 17:10 fgarciacardenas