ros2 / tutorials

Apache License 2.0
30 stars 11 forks source link

rosidl_tutorial #10

Open mikaelarguedas opened 7 years ago

mikaelarguedas commented 7 years ago

connects to https://github.com/ros2/tutorials/issues/1

dejanpan commented 6 years ago

@mikaelarguedas any idea why has this not been merged in? It seems to be something that goes with https://github.com/ros2/ros2/wiki/Rosidl-Tutorial, no?

mikaelarguedas commented 6 years ago

@dejanpan this hasn't been merged because we decided to not release or test the tutorials repository until we had a documentation platform able to consume it. Another reason for not merging it being that we want to properly separate what should go in "demos", in "examples" and in "tutorials" to avoid untested duplicated code.

You are right the Rosidl-Tutorial wiki page assumes that this PR has been merged and result in pointing to a 404 :/. I'll try to iterate on this soon by either getting a simple tutorial merged or updating the wiki page accordingly. Thanks for pointing it out!

dejanpan commented 6 years ago

I am just trying to understand how the whole rosidl_* machinery works. Tutorial above is the best documentation so far, right? If there is anything I can do to help, let me know.

mikaelarguedas commented 6 years ago

@dejanpan While this branch is pretty outdated and the code may not compile as is anymore, it gives a good idea of how to create and use messages. Though it doesn't dive into how the rosidl_* generators work or how they are chained if that's the information you are looking for. I don't think we have a resource explaining this in detail.

the rmw design document goes over how data structures are converted to DDS and the notion of type support. The generators are mostly here to create ROS data structures that are convenient to use for ROS users and can be converted leveraging the typesupports mentioned above. The ROS types are defined in this design document. Their mapping from ROS types to DDS type is explained here. Finally the mapping from ROS types to language specific types are described for C++ and Python

Hope this helps

dejanpan commented 6 years ago

Thx a lot, this is wonderful. Code compiles with a current beta2.

On Tue, Sep 12, 2017, 10:13 AM Mikael Arguedas notifications@github.com wrote:

@dejanpan https://github.com/dejanpan While this branch is pretty outdated and the code may not compile as is anymore, it gives a good idea of how to create and use messages. Though it doesn't dive into how the rosidl_* generators work or how they are chained if that's the information you are looking for. I don't think we have a resource explaining this in detail.

the rmw design document http://design.ros2.org/articles/ros_middleware_interface.html goes over how data structures are converted to DDS and the notion of type support. The generators are mostly here to create ROS data structures that are convenient to use for ROS users and can be converted leveraging the typesupports mentioned above. The ROS types are defined in this design document http://design.ros2.org/articles/interface_definition.html. Their mapping from ROS types to DDS type is explained here http://design.ros2.org/articles/mapping_dds_types.html. Finally the mapping from ROS types to language specific types are described for C++ http://design.ros2.org/articles/generated_interfaces_cpp.html and Python http://design.ros2.org/articles/generated_interfaces_python.html

Hope this helps

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ros2/tutorials/pull/10#issuecomment-328920999, or mute the thread https://github.com/notifications/unsubscribe-auth/AABD4F8T0nGpFccQ7z3GhNNnouAM60KFks5shrvAgaJpZM4LPdbZ .