Config Merging
When a launch file includes other packages, DendROS automatically merges their dendROS.yaml configs at runtime.
How it works
ros2 launch my_bringup main.launch.py
│
├── my_bringup/config/dendROS.yaml ← primary (wins conflicts)
├── nav2_bringup/config/dendROS.yaml ← merged in
└── slam_toolbox/config/dendROS.yaml ← merged in
When ros2 launch is intercepted, DendROS:
- Parses the launch file for package references.
- Locates each referenced package's
dendROS.yamlviaros2 pkg prefixorAMENT_PREFIX_PATH. - Merges all configs — the primary package wins any node-name conflicts.
- Processes output with the merged config.
Merge depth
Config merging is one level deep only — packages included by included packages are not recursively scanned (for the time being).
Supported formats
Conflict resolution
When the same node name appears in multiple configs, the primary package's definition wins. Among secondaries, the first one found in parse order wins.
Toggling
Config merging is on by default. To disable:
Or per-package: