Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prompt user if they're missing necessary plugins #1258

Open
chapulina opened this issue Dec 18, 2021 · 0 comments
Open

Prompt user if they're missing necessary plugins #1258

chapulina opened this issue Dec 18, 2021 · 0 comments
Labels
enhancement New feature or request GUI Gazebo's graphical interface (not pure Ignition GUI) help wanted We accept pull requests! OOBE 📦✨ Out-of-box experience

Comments

@chapulina
Copy link
Contributor

Desired behavior

One of the disadvantages of being so modular with what plugins are loaded is that users may not always know they're missing a necessary plugin. For example, the JointPositionController GUI plugin will be publishing messages into the void unless the user has a position controller loaded on the server to listen to those messages. It would be great if the user were prompted the moment they open what plugin with a dialog saying

I see you're trying to control joints for model X, but I don't see any topics for that model. Would you like to load a controller from the list below?

Then they select a plugin and it's magically loaded on the server and everything just works ✨

Alternatives considered

For JointPositionController, we currently have a ❓ button that shows a dialog with information:

image

But that still requires the user to stop the simulation, figure out what plugin to load, find out how to load it, and restart the simulation.

Implementation suggestion

For plugins that expect specific topics to be available, we could check if the topics are there.

We'll need a mechanism for the GUI to tell the server to load plugins. This overlaps in part with #190

Additional context

It's important not to create a tight coupling between plugins, so users can switch plugins underneath the hood. For example, a different joint controller offering the same topics should work with the joint controller GUI. We should only offer to load a known plugin if we know that there aren't other equivalent plugins loaded, which we can tell by checking transport, for example.

@chapulina chapulina added enhancement New feature or request GUI Gazebo's graphical interface (not pure Ignition GUI) labels Dec 18, 2021
@chapulina chapulina added the OOBE 📦✨ Out-of-box experience label Dec 20, 2021
@chapulina chapulina added the help wanted We accept pull requests! label Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request GUI Gazebo's graphical interface (not pure Ignition GUI) help wanted We accept pull requests! OOBE 📦✨ Out-of-box experience
Projects
None yet
Development

No branches or pull requests

1 participant