tier4 / nebula

A universal LiDAR and radar driver for ROS 2, supporting Hesai, Velodyne, Robosense and Continental sensors.
https://tier4.github.io/nebula/
Apache License 2.0
55 stars 53 forks source link

nebula streams start before ros finishes its setup #237

Open knzo25 opened 7 hours ago

knzo25 commented 7 hours ago

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

mojomex commented 6 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.