Replies: 2 comments 1 reply
-
I would like to also propose:
|
Beta Was this translation helpful? Give feedback.
1 reply
-
PR is now open for removing |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Introduction
Currently, Autoware has
/pointcloud_container
which may contain nodes from multiple component such as follows.The container is launched only when
use_pointcloud_container = true
, which behaves as a flag whether to gather pointcloud-related nodes into one inter-component container or not.Cons of
use_pointcloud_container = false
The
/pointcloud_container
is introduced to enable zero-copy communication of data-intense messages such as/sensing/lidar/concatenated/pointcloud
. For example in TIER IV, all applications (including Robotaxi, Robobus, Cargo, etc) use this/pointcloud_container
to enhance the performance around LiDAR data communication among multiple ROS nodes. We also have an evaluation flow foruse_pointcloud_container = true
case, but NOT foruse_pointcloud_container = false
. Thus, at least from our end, the false case is not evaluated enough.Cons of
use_pointcloud_container = true
The
/pointcloud_container
accepts nodes from multiple components e.g. Sensing & Perception. This makes it difficult to split those components into separate computers, which may be troublesome for some usecases where they want to load Sensing and Perception components on different computers from computational resource perspective.Proposal
Short-term strategy
I propose to remove
use_pointcloud_container
flag and use/pointcloud_container
by default.This is mainly due to the fact that the case when
use_pointcloud_container = false
is not tested enough. Also, removing the unused flag will improve the readability of launch scripts.PR: autowarefoundation/autoware.universe#6115
Mid-term strategy
As discussed internally w/ @yukkysaito, we should seek alternative means to enable zero-copy communication without using ROS 2 composable nodes, e.g. IceOryx in order to address the cons of
use_pointcloud_container = true
.Let us know if you have any agrees/disagrees for this proposal. We especially would like to know if there is anyone who see a clear disadvantage of
use_pointcloud_container = true
.Beta Was this translation helpful? Give feedback.
All reactions