robotology / gz-sim-yarp-plugins

YARP plugins for Modern Gazebo (gz-sim).
BSD 3-Clause "New" or "Revised" License
8 stars 0 forks source link

Write the code that extracts a list of devices from a given simulation instance from gzyarp::Handler and pass it to BipedalLocomotion::RobotInterface::YarpRobotControl::setDriver() and BipedalLocomotion::RobotInterface::YarpSensorBridge::setDriversList #149

Open traversaro opened 3 months ago

traversaro commented 3 months ago

To do so, we can build on top of the test in https://github.com/robotology/gz-sim-yarp-plugins/issues/147 and add some similar tests that instead uses BipedalLocomotion::RobotInterface::YarpRobotControl and BipedalLocomotion::RobotInterface::YarpSensorBridge.

However, we can't add a dependency on blf here. So we need to understand if this code can go in blf, or in a third package that depends on both blf and gz-sim . In both cases, we need to install the headers corresponding to the gzyarp::Handler , so that downstream projects can use it.

xela-95 commented 2 months ago

However, we can't add a dependency on blf here. So we need to understand if this code can go in blf, or in a third package that depends on both blf and gz-sim . In both cases, we need to install the headers corresponding to the gzyarp::Handler , so that downstream projects can use it.

Now that the blocking issue #150 has been closed, and with #147 almost finished, I'm starting to look at this issue. Where can I put the code? @traversaro

traversaro commented 2 months ago

Actually I forgot to update the issue. We discussed about this with @GiulioRomualdi , and given that blf methods of interest takes (or can take) in input a PolyDriverList, probably we can just ad a function/method in the public interface of gz-sim-yarp-plugins, no need to have a new repo or add dependencies between blf and this repo

xela-95 commented 2 months ago

Useful pointers:

xela-95 commented 2 months ago

Actually I forgot to update the issue. We discussed about this with @GiulioRomualdi , and given that blf methods of interest takes (or can take) in input a PolyDriverList, probably we can just ad a function/method in the public interface of gz-sim-yarp-plugins, no need to have a new repo or add dependencies between blf and this repo

@traversaro so if I understood it correctly, I should implement these methods in the public interface of gz-sim-yarp-plugins (with no additional dependency), but then I should have a separate project where I can call the new interface methods of gz-sim-yarp-plugins but also the BipedalLocomotion::RobotInterface::YarpRobotControl/BipedalLocomotion::RobotInterface::YarpSensorBridge ones?

traversaro commented 2 months ago

Actually I forgot to update the issue. We discussed about this with @GiulioRomualdi , and given that blf methods of interest takes (or can take) in input a PolyDriverList, probably we can just ad a function/method in the public interface of gz-sim-yarp-plugins, no need to have a new repo or add dependencies between blf and this repo

@traversaro so if I understood it correctly, I should implement these methods in the public interface of gz-sim-yarp-plugins (with no additional dependency), but then I should have a separate project where I can call the new interface methods of gz-sim-yarp-plugins but also the BipedalLocomotion::RobotInterface::YarpRobotControl/BipedalLocomotion::RobotInterface::YarpSensorBridge ones?

Yes, I think that can be just an example on how to use BLF + gz-sim, the code will me quite limited so no need to have a dedicated project for it.

xela-95 commented 2 months ago

I created a temporary repository to host the example at https://github.com/xela-95/blf-gz-sim-example

When it works I will put it into a more meaningful place, like an example folder of gz-sim-yarp-plugins.