Robotics StackExchange | Archived questions

Are there in fact two system plugin types?

The Plugin overview tutorial lists various plugin types and it mentions the System plugin type among them. I realized that there are system plugins targeted at either gzserver or gzclient:

$ gzserver --help

  ...
  -s [ --server-plugin ] arg    Load a plugin.

$ gzclient --help

  ...
  -g [ --gui-plugin ] arg Load a plugin.

Questions:

  1. Is it correct that there are in fact two system plugin types, one targeted at the server and the other one targeted at the client? (Although both inherit from the same class, namely gazebo::SystemPlugin.)
  2. Does it make sense to have a system plugin targeted at both the gzserver and gzclient?
  3. Is the API documentation out of date when it says "gazebo::SystemPlugin is a plugin loaded within the gzserver on startup."

Asked by Filip Jares on 2014-01-17 11:49:03 UTC

Comments

I would recommend open an issue in the gazebo tracker to get the problem of API documentation fixed. Thanks.

Asked by Jose Luis Rivero on 2014-01-20 10:48:00 UTC

to run the system plugin in server side : gzserver -s libsysplugin.so in clien side : gzclient -s libsysplugin.so

Asked by djou07 on 2015-06-22 06:11:15 UTC

Answers

Hi,

I haven't used SystemPlugins on server side yet but you can use those to get access to gazebo internals. This is a huge different between server and client side.

For example on client side you can directly access Ogre(gazebos rendering engine) to change visual things in gazebo.

so regarding your questions:

  1. yes this is correct

  2. in general no but maybe you can find a usecase...

  3. yeah this is wrong I start my SystemPlugin(s) only on client side! Should be something like: with ...gzserver or gzclient on startup

I hope this helps

Asked by evilBiber on 2014-01-20 04:59:47 UTC

Comments