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

Add the possibility to use multipleanalogsensorsclient and multipleanalogsensorsremapper also in Gazebo #28

Open
S-Dafarra opened this issue Mar 12, 2020 · 2 comments

Comments

@S-Dafarra
Copy link
Contributor

S-Dafarra commented Mar 12, 2020

Recently, on the robot, we started using the multipleanalogsensorsremapper: https://github.com/robotology/robots-configuration/tree/master/iCubGenova04/wrappers/inertials

The corresponding plugin seems also available in GazeboYarpPlugins: https://github.com/robotology/gazebo-yarp-plugins/blob/master/plugins/imu/include/gazebo/IMU.hh

How should I modify the urdf and the configuration files in order to have a parallel setup also in Gazebo?

@prashanthr05 @nunoguedelha @traversaro

@traversaro
Copy link
Member

Hi @S-Dafarra, as far as I remember (unfortunately) the plugins in gazebo-yarp-plugins are not ready to simulate more then one IMU exposed in as a single multipleanalogserver device, as it happens on the robot. Recently @Nicogene worked in adding support to the gazebo_yarp_imu device robotology/gazebo-yarp-plugins#443 .

To actually support this case there are different possible routes, the fastest at the moment to me seems to create (or modify starting from either the gazebo_yarp_inertialMtb or gazebo_yarp_inertialMtbPart plugins) a model plugin called gazebo_yarp_multipleimu gazebo_yarp_distributedinertial that retrieves the measure of multiple IMU Gazebo sensors, and expose it over the network via multipleanalogsensorsserver . Note that in this case you would not use directly a multipleanalogsensorsremapper device, but you would basically emulate it via the configuration file of this gazebo_yarp_distributedinertial device, in which you would pass the IMUs to use.

Other most advanced strategies (but that may be trickier to implement) would create a plugin to reuse the existing gazebo_yarp_imu implementation, and then access the pointer of the existing YARP devices to combine them in a multipleanalogsensorsremapper that then publishes its measures via a multipleanalogsensorsserver. The most radical example of this strategy is robotology/gazebo-yarp-plugins#391 .

@S-Dafarra I am availabe to discuss about this directly if you think someone can commit work on it.

@traversaro
Copy link
Member

Other most advanced strategies (but that may be trickier to implement) would create a plugin to reuse the existing gazebo_yarp_imu implementation, and then access the pointer of the existing YARP devices to combine them in a multipleanalogsensorsremapper that then publishes its measures via a multipleanalogsensorsserver. The most radical example of this strategy is robotology/gazebo-yarp-plugins#391 .

robotology/gazebo-yarp-plugins#391 has been solved by robotology/gazebo-yarp-plugins#532 , so now it should be possible to relatively easily reuse the same configuration files used in the real robots, at least for the wrappers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants