How to use Zenoh in Autoware #2968
evshary
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi community,
Zenoh is an open source protocol for the distributed network. We all know that DDS is the communication layer for ROS 2, but still has some limitations. For example, there are too many discovery packets in DDS network, and it causes bad performance in the WiFi environment. Also, DDS is mainly used in LAN and unable to cross the Internet without special support from each vendor. Zenoh was born to solve these problems.
In ROSCon 2022, there is a talk about Zenoh, which introduces Zenoh and how to integrate ROS 2 with Zenoh. I've also given a presentation about how Zenoh works in OADK WG meeting. You can see more Zenoh details there. What I want to share here is how to control the vehicle in the Autoware with Zenoh. To transform the ROS 2/DDS messages to Zenoh, we need zenoh-bridge-dds to bridge these two protocols. The following is the architecture:
And the following graph is what we want to do next. I write a simple tool to use keyboard to control the vehicle manually. We want to control the vehicle remotely, but DDS can not cross the router. So, we need to leverage Zenoh to do that. We use zenoh-bridge-dds to pass ROS 2/DDS messages to Zenoh network. Since Zenoh network can get across the router, the two different hosts can then connect to each other.
Here is the demo video:
2022-10-25.15-17-07.teleop.with.Zenoh.demo.mp4
I think Zenoh is a good communication layer for Autoware to connect to the outside network, allowing the external programs to also be written using ROS 2/DDS. As a result, we think Zenoh can ease the development of FMS and HMI programs based on AD API or V2X applications in Autoware.
Welcome any feedback!
Reference:
Beta Was this translation helpful? Give feedback.
All reactions