ros-visualization / rqt_graph

http://wiki.ros.org/rqt_graph
26 stars 27 forks source link

Make topics that have qos incompatibilities red in the graph #61

Closed ivanpauno closed 3 years ago

ivanpauno commented 3 years ago

Depends on https://github.com/ros2/rclpy/pull/708.

Slightly related to https://github.com/ros-visualization/rqt_graph/issues/59. This automatically detects qos incompatibilities and shows them in the graph by coloring the topic node red.

image

More information could be provided to the user, but I'm not sure how to make it look nice: not sure if node tooltips will be reliable, adding more text to the node label might not look nice, ...

@jacobperron ideas?

jacobperron commented 3 years ago

I think highlighting the topic makes sense, which indicates one or more pub/sub pairs is not compatible. Maybe also adding incompatible info to the topic tooltip would be good.

Instead of writing more text to the topic node, maybe we could create a new graph node with the error message and draw a dotted/dashed line to the afflicted topic node.

Another thing we could do is print an error to the terminal too.

ivanpauno commented 3 years ago

Maybe also adding incompatible info to the topic tooltip would be good.

I will try that, I hope tooltips on nodes are more reliable that tooltips on edges.

Instead of writing more text to the topic node, maybe we could create a new graph node with the error message and draw a dotted/dashed line to the afflicted topic node.

Sounds a bit confusing, but I will give it a try ...

Another thing we could do is print an error to the terminal too.

I prefer not printing anything to the terminal in apps with a GUI, most people won't pay attention.

ivanpauno commented 3 years ago

I will try that, I hope tooltips on nodes are more reliable that tooltips on edges.

Tooltips on nodes actually seem to work pretty well. I'm not sure what's the problem with edge tooltips.

See https://github.com/ros-visualization/rqt_graph/pull/61/commits/274de3e0279a0c1db0aad96a28b6050a413efdfe.

Screenshot from 2021-03-29 18-04-03

jacobperron commented 3 years ago

I've created a new galactic-devel branch since the new qos_check_compatible API is not available in Foxy.

ivanpauno commented 3 years ago

I'm not sure how obvious the red color will be for people, but it seems like a nice improvement.

Agreed. Colouring a node in red was already used to indicate nodes with "connectivity problems" (see here). (that was at least working in ROS 1, no idea if it works in ROS 2)

So there's some precedent at least :smile:.

ivanpauno commented 3 years ago

CI:

ivanpauno commented 3 years ago

I will ignore the Fpr checker failure, as it shouldn't run anymore in this branch.