Fix released: rviz 1.12.14 not displaying markers etc with invalid quaternions

There was a break in behaviour in rviz 1.12.14 released into kinetic and lunar where ROS messages containing unnormalised or uninitialised quaternions were rejected. This caused a number of plugins to not show visuals e.g. markers.

rviz 1.12.15 allows messages with invalid quaternions to be processed again. Unormalised quaternions will generate a console warning.

Publishers of invalid quaternions should be updated to publish valid quaternions, as rviz will reject invalid quaternions 1 year from now. See Normalize quaternions from msgs before Ogre use by rhaschke · Pull Request #1179 · ros-visualization/rviz · GitHub for the discussion. Add log4j.logger.ros.rviz.quaternions=DEBUG to $ROS_ROOT/config/rosconsole.config to see more detailed messages.

rviz 1.12.15 has not yet been synced into the main ros apt repo but will be available from the testing repo once the distro’s rebuild has completed. Check ROS packages for Kinetic - 2021-06-01 22:32:58 -0800 (and lunar equivalent) to know when rviz 1.12.15 is released into the main repo. (@tfoote @marguedas as this breaks users, if it’s appropriate to sync earlier than normal that would be appreciated).

Thanks for the update, Deanna!

I wonder if there is some way that we can use static analysis to find bad quaternions in an automated way, so that we don’t have a similar breakage a year from now. Of course we can’t find all of them, but if a marker’s pose message is created and the quaternion values are never assigned, it’s probably a zero quaternion.

Update: this package has been synced in Lunar

This has also been synced into kinetic: New Packages for Kinetic 2018-01-09 - ROS General - Open Robotics Discourse