With version 0.5.15 release of tf2, it now checks for quaternion normalization.
As far as I am concerned, imu_filter_madgwick does not provide a normalized quaternion, hence an error :
Error: TF_DENORMALIZED_QUATERNION: Ignoring transform for child_frame_id "imu" from authority "unknown_publisher" because of an invalid quaternion in the transform (-0.018815 0.013563 -1.000259 0.046847)
at line 253 in /tmp/binarydeb/ros-kinetic-tf2-0.5.15/src/buffer_core.cpp
With version 0.5.15 release of tf2, it now checks for quaternion normalization. As far as I am concerned, imu_filter_madgwick does not provide a normalized quaternion, hence an error :
For now, I fixed it that way :
which might be unsafe to some extend given the possibilty of d=0.