teamspatzenhirn / rig_reconfigure

GUI tool for editing ROS 2 parameters at runtime
MIT License
79 stars 8 forks source link

Parameter view is not updated for nodes with no parameter interface #17

Closed rasmusan closed 1 year ago

rasmusan commented 1 year ago

Procedure

  1. Start node A with parameter services and node B without. Node B can for instance be a ComposableNodeContainer from launch_ros.actions.
  2. Start rig_reconfigure and select node A. It's parameters will appear.
  3. Select node B.

Expected behavior I'd expect rig_reconfigure to show that the node does not have any parameters, or, alternatively, not to show node B in the node list at all.

Actual behavior The parameters from node A are still shown. An error message is shown in the status bar.

authaldo commented 1 year ago

Thanks for pointing this out! I haven't worked that much with composable nodes in the past and hence wasn't aware of this edge case.

We are already filtering some nodes (especially the nodes spawned for the CLI daemons) based on their naming, maybe its possible to extend this for the composable container as well. Otherwise it might be necessary to explicitly query the availability of the parameter service for each node.

If I find the time I'll try this out, but as we do (currently) not use composable nodes within our software stack I might work on other tasks first.
Of course we are also happy to receive pull requests 😄

authaldo commented 1 year ago

@rasmusan

23 should address your issue. Could you verify this?

rasmusan commented 1 year ago

@rasmusan #23 should address your issue. Could you verify this?

I confirm that the nodes without parameter services are omitted from the list (I tested commit a89f6aba). Thanks for the fix.