Open knzo25 opened 7 hours ago
I totally agree. To do this properly, we should be refactoring to use lifecycle nodes. I know that using a one-off ROS2 timer has been proposed as a quick solution, which would work (init code only runs once ROS2 executor starts spinning). While we can do this as a temporary measure, I would like to kick off a discussion in the Autoware forums on startup sequences, lifecycles, etc.
Mainly in setups with a higher number of sensors, we have observed that sometimes
autoware
's containers (the ones that include nebula) die during startup, usually in the constructor. Due to how ROS loads containers as libraries sequentially, I believe we should wait until ROS has finished its setup before starting the driver's streams.This may be related to https://github.com/tier4/nebula/issues/181
@drwnz @mojomex