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 gateway for zenoh. #869

Open
ZhenshengLee opened this issue Jul 5, 2021 · 6 comments
Open

Add gateway for zenoh. #869

ZhenshengLee opened this issue Jul 5, 2021 · 6 comments
Labels
feature request Feature request under evaluation

Comments

@ZhenshengLee
Copy link
Contributor

Brief feature description

Zenoh is a tool from eclipse iot program that connects dds local networks in the context of internet.

Iceoryx, as far as I know, is a dds like middleware, and there already have or will be dds-gateway, mqtt-gateway for iceoryx(#230 )

So, I wonder if there is a consideration to develop zenoth-gateway, or something like zenoth-bridge-iceoyrx?

Detailed information

I know in the future there will be cyclonedds that contains iceoyrx, so we can use zenoth through cyclonedds.

But if we don't take full dds sepcs into consideration, zenoth + iceoyrx is enough for a remote controlled mobile robot system.

@elBoberido
Copy link
Member

A gateway to Zenoh is tempting but we are currently quite busy with other stuff and as you already mentioned, there will be the option to use it with an iceoryx based Cyclone DDS. It might not be the optimal solution for everybody but a good stopgap. There might be a tailored gateway to Zenoh at some time, but we currently don't have it on our roadmap. That said, we of course wouldn't object a PR for this feature.

Just for clarification, iceoryx is not tied to DDS, it just happens that we use it for network communication but iceoryx is agnostic to this. There is also eCal from Continental which uses iceoryx for local transport. What we share with other middleware is the publish-subscribe approach and in future we will also support the request-respons communication pattern.

@elBoberido elBoberido added the feature request Feature request under evaluation label Jul 7, 2021
@ZhenshengLee
Copy link
Contributor Author

ZhenshengLee commented Jul 7, 2021

A gateway to Zenoh is tempting but we are currently quite busy with other stuff and as you already mentioned, there will be the option to use it with an iceoryx based Cyclone DDS. It might not be the optimal solution for everybody but a good stopgap. There might be a tailored gateway to Zenoh at some time, but we currently don't have it on our roadmap. That said, we of course wouldn't object a PR for this feature.

Just for clarification, iceoryx is not tied to DDS, it just happens that we use it for network communication but iceoryx is agnostic to this. There is also eCal from Continental which uses iceoryx for local transport. What we share with other middleware is the publish-subscribe approach and in future we will also support the request-respons communication pattern.

Thanks for your reply.

Perhaps rmw_iceoryx + zenoh_plugin_iceoryx would be a lightweight and good option with better performance.

@elBoberido
Copy link
Member

Definitely and since Zenoh is written in Rust it would be a good excuse to get the iceoryx Rust bindings fully working and create the bridge in Rust ... if a day would just have more than 24 hours 😄

@ZhenshengLee
Copy link
Contributor Author

Definitely and since Zenoh is written in Rust it would be a good excuse to get the iceoryx Rust bindings fully working and create the bridge in Rust ... if a day would just have more than 24 hours

@elBoberido

I am tring to generate rust bindings based on iceoryx-binding-c api, please see #879 .

Thanks.

@joespeed
Copy link

joespeed commented Jul 26, 2021

@ZhenshengLee have you tried using cyclonedds 0.8 which has built-in iceoryx with zenoh-plugin-dds? Ghost Robotics US Air Force project, Indy Autonomous Challenge and others are using zenoh-plugin-dds.

Zenoh ros2 topic whitelist how-to https://github.com/eclipse-zenoh/zenoh-plugin-dds#limiting-the-ros2-topics-services-parameters-or-actions-to-be-routed with

  • examples for quick test with turtlesim
  • complete details of ROS2 name -> DDS topics -> zenoh resources mapping
  • reference to the ROS2 integration blog
    Zenoh team is here on gitter for any questions https://gitter.im/atolab/zenoh

@ZhenshengLee
Copy link
Contributor Author

@ZhenshengLee have you tried using cyclonedds 0.8 which has built-in iceoryx with zenoh-plugin-dds? Ghost Robotics US Air Force project, Indy Autonomous Challenge and others are using zenoh-plugin-dds.

Zenoh ros2 topic whitelist how-to https://github.com/eclipse-zenoh/zenoh-plugin-dds#limiting-the-ros2-topics-services-parameters-or-actions-to-be-routed with

  • examples for quick test with turtlesim
  • complete details of ROS2 name -> DDS topics -> zenoh resources mapping
  • reference to the ROS2 integration blog
    Zenoh team is here on gitter for any questions https://gitter.im/atolab/zenoh

Thanks for your reply.

Cyclonedds + iceoryx will be a good option to use z copy in ros2, and I've created a repo repo ros2_shm_msgs for zero copy with pointcloud and image.

Issues are welcome!

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

No branches or pull requests

3 participants