ros2 / ros2_documentation

ROS 2 docs repository
https://docs.ros.org/en/rolling
Creative Commons Attribution 4.0 International
549 stars 1.06k forks source link

Create rmw implementation tutorial #3762

Open christophebedard opened 1 year ago

christophebedard commented 1 year ago

The goal of this tutorial is to explain the rmw interface and describe how to implement it to support a middleware. To help illustrate this, rmw_email will be used as a "toy" example.

This issue is a WIP. An outline will be created for the tutorial and then some feedback will be requested before actually starting to write the full tutorial.

Outline

  1. Introduction
  2. Overview of rmw, the ROS 2 middleware interface
    • Main parts of the rmw interface
    • Typical execution flow (init, execute, fini; implementation-specific data pointer)
  3. Derived middleware requirements and constraints
  4. Example implementation using rmw_email
  5. More advanced parts of the rmw interface
    • Introspection
  6. Conclusion

Relevant resources

  1. https://docs.ros.org/en/rolling/Concepts/Advanced/About-Middleware-Implementations.html
gavanderhoorn commented 5 months ago

@christophebedard: have you had any time to work on this by any chance?

christophebedard commented 5 months ago

Unfortunately no. I had to put it aside last year and have been pretty busy this year too. I hope to work on it over the next few months!