Run multiple Autoware in Carla with Zenoh #3434
evshary
started this conversation in
Show and tell
Replies: 2 comments 4 replies
-
Wouldn't it be possible to reproduce the same behavior with ROS2 domain id? |
Beta Was this translation helpful? Give feedback.
1 reply
-
Would it be possible to have both vehicles in the same RViz window? |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi community,
We are working on autoware_carla_launch, a project to run multiple Autoware in the Carla simulator with the help of Zenoh. Sometimes, we want to experiment with multiple vehicles, especially fleet management and the interaction between vehicles, so it's important to run several vehicles in the same simulator. We found that Zenoh can help in this scenario.
While speaking to multiple Autoware, the most important thing is avoiding ROS 2 topic conflict. In traditional ways, we might need to rename the topic name or add the namespace, which is tedious sometimes. In our solution, we developed a zenoh_carla_bridge. The bridge will use Carla API to get/set some information and then connect to Zenoh Network. On the other side, zenoh-bridge-dds receives the Zenoh data and transforms it into the Autoware topic directly. The key point here is that we can use one of Zenoh's feature "scope" to separate identical ROS topics in different Autoware. That's why we need Zenoh here.
Let's show the demo. In our demo, we run Carla + zenoh_carla_bridge in one host, and two Autoware + zenoh-bridge-dds in another host. The ROS traffic packets in Autoware should not be outside the network, because we want to avoid ROS topic conflict and also reduce unnecessary topics exposed to the network. To simplify, we use different ROS_DOMAIN_ID for each Autoware + zenoh-bridge-dds. We'll use container + ROS_LOCALHOST_ONLY to limit the traffic in the future, but the concept is the same. You can see that two hosts are connected with the help of Zenoh.
The video above shows how we run two Autoware in Carla at the same time. You can see two vehicles detecting each other at 3'40''.
In the future, we want to connect vehicles with Zenoh. As we've already mentioned in the discussion "How to use Zenoh in Autoware", we think Zenoh can be used on external communication, no matter for FMS or V2X. Therefore, we want to use Zenoh to act as the communication layer between Autoware.
Special thanks to some community efforts:
Beta Was this translation helpful? Give feedback.
All reactions