Unable to call a service for lifecycle node inside composable component
Hello, I have one lunch file for creating composable component A. Another launch file pushes lifecycle node B inside the container A. At this point I am able to call a service for changing state of a node B and it starts to produce data (Node B is a driver to ouster lidar sensor). Problem appears when I add another launch file which pushes another node C inside the container A. When I launch all three launch files I am no longer able to comunicate with node B. After calling a service for changing a state service never gets finished.
ros2 service call /sensing/lidar/ouster_driver/change_state lifecycle_msgs/srv/ChangeState "{transition: {id: 1}}"
waiting for service to become available...
Node B is visible by ros2 node tool
ros2 node info /sensing/lidar/ouster_driver
/sensing/lidar/ouster_driver
Subscribers:
/parameter_events: rcl_interfaces/msg/ParameterEvent
Publishers:
/parameter_events: rcl_interfaces/msg/ParameterEvent
/rosout: rcl_interfaces/msg/Log
/sensing/lidar/ouster_driver/transition_event: lifecycle_msgs/msg/TransitionEvent
Service Servers:
/sensing/lidar/ouster_driver/change_state: lifecycle_msgs/srv/ChangeState
.
.
/sensing/lidar/ouster_driver/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomically
Service Clients:
Action Servers:
Action Clients:
Also the service is available in ros2 service list tool
ros2 service list
/sensing/lidar/ouster_driver/change_state
When I try to see which nodes are inside container I get following error
ros2 component list
/pointcloud_container
No 'list_nodes' service found when listing components
My setup:
- ROS Humble with Ubuntu 22.04
- DDS: fastRTPS
My be relevant to another issue here.