-
Notifications
You must be signed in to change notification settings - Fork 18
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
Provide a block for reading multiple analog sensors devices #116
Comments
Instead of manually wrapping YARP C++ devices, it would be cool if we could automatically generated YARP Read/Write-like blocks for messages described by an IDL. This is similar to what Simulink official support for ROS does in the Publisher and Subscriber blocks, see https://it.mathworks.com/help/robotics/examples/get-started-with-ros-in-simulink.html#d120e3206 . However, I am not sure if they support arbitrary message types or just a fixed set. |
On the other hand, providing explicit support for wrapping the C++ YARP devices permits some cools integration such as #164 . |
It would be a very useful feature, I concur, but I think it would be a very difficult task. In short, this would translate to an autogenerated plugin library associated to a generic (templated) class that reads custom thrift objects. The autogenerated thrift class and the autogenerated plugin library must be compiled during runtime. Furthermore, in order to set the output ports we should parse all the fields (at least type and size) of the thrift file and set Do you have any other ideas? This is just a draft that does not take into account all possible problems, and it already seems overly complex.
This is definitely more reasonable. We can load the plugins that contains the devices seamlessly since they are already compatible with
I didn't get how it would help it, I am missing something. Do you mean that if we would wrap Gazebo inside a YARP |
To be honest, I was thinking that all of this would happen at configuration/compilation time, in which you specify a new block and type in CMake and you get the resulting block. |
Ok now I got it. In this case, it will be easier since CMake can avoid to mess with templates. Here below some more detailed comments:
We can talk f2f on this and decide if it is worth the effort. |
I agree. Probably it is not worth the effort, but it was nice to point it out. In the official ROS support for simulink, I see they are using a bus as the only output signal, but I have no experience with it. |
I meant that wrapping devices providing the MultipleAnalogSensors interfaces as we do for the controlboard interfaces (so the original proposal in #116 (comment), not the suggestion in #116 (comment)) will permit to properly access them even if Gazebo is embedded in the simulation master as described in #164 . |
If here we are talking specifically about the
Long term (off topic)If we can achieve:
We would greatly simplify the execution of our controllers since we should not need to operate anymore on external processes in other terminals. |
Exactly, you got it correctly.
Or running it as a part of an RL training process. : ) |
Related comment: robotology/yarp#1693 (comment) . |
Since YARP has added support for a structured system of devices for reading multiple analog sensors interfaces (http://yarp.it/devel/group__dev__iface__multiple__analog.html and robotology/yarp#1586 ) , it would be great to have support for reading this sensors at the wb-toolbox level.
The text was updated successfully, but these errors were encountered: