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 https://github.com/ros-visualization/rviz/pull/1179 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 http://repositories.ros.org/status_page/ros_kinetic_default.html?q=rviz (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