-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Summary
When an additional ROS 2 namespace is applied to the Fault Manager node, ros2_medkit_gateway is no longer able to locate the GetFault service (e.g., it fails to find/call the expected GetFault/get_faults service). As a result, the system becomes fragile: introducing a namespace (often done for composition, multi-robot setups, or deployment conventions) can silently break Gateway-to-Fault Manager integration and be difficult to diagnose.
Proposed solution
Update ros2_medkit_gateway configuration so it can resolve the Fault Manager services even when the Fault Manager runs under a non-root namespace.
Concretely:
- Add an explicit, configurable parameter in the Gateway (e.g., fault_manager_namespace or full service name overrides like get_faults_service_name).
- Use that configuration to construct/resolve the fully-qualified service name (FQN), instead of assuming a fixed path such as /fault_manager/....
- Optionally provide a safe default that preserves current behavior (root namespace), while allowing deployments to set a namespace without breaking service discovery.
This ensures that adding a namespace does not introduce a hard-to-trace integration failure and makes the dependency between Gateway and Fault Manager explicit and operationally visible.