@@ -9,7 +9,7 @@ Unified pipeline that turns a ROS 2 launch file into skeleton **Autoware System
99
1010## How it works
1111
12- ```
12+ ``` text
1313┌──────────────────────────────────────────────────────────┐
1414│ Phase 1 — Parse launcher │
1515│ launch_unifier flattens the launch tree into a single │
@@ -30,10 +30,10 @@ Unified pipeline that turns a ROS 2 launch file into skeleton **Autoware System
3030
3131### Sub-tools used
3232
33- | Sub-tool | Role |
34- | ----------| ------|
35- | ` launch_unifier/ ` (vendored) | Evaluates launch files and serialises the resolved entity tree to flat XML |
36- | ` topology-analyzer/ ` (sibling tool) | Captures live node pub/sub/service topology from a running ROS 2 system |
33+ | Sub-tool | Role |
34+ | ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
35+ | ` launch_unifier/ ` (vendored from [ xmfcx/launch_unifier ] ( https://github.com/xmfcx/launch_unifier.git ) ) | Evaluates launch files and serialises the resolved entity tree to flat XML |
36+ | ` topology-analyzer/ ` (sibling tool) | Captures live node pub/sub/service topology from a running ROS 2 system |
3737
3838---
3939
@@ -122,46 +122,46 @@ python3 run_launch_unifier.py \
122122
123123### Launch source (one required)
124124
125- | Flag | Description |
126- | ------| -------------|
127- | ` --launch-xml FILE ` | Pre-generated ` generated.launch.xml ` — skips launch_unifier |
128- | ` --launch-package PKG ` | ROS 2 package owning the launch file (use with ` --launch-file ` ) |
129- | ` --launch-file FILE ` | Launch file name inside the package share |
130- | ` --launch-path PATH ` | Absolute path to a launch file (alternative to ` --launch-package ` ) |
131- | ` --launch-args key:=val ... ` | Space-separated launch arguments forwarded to the launch file |
132- | ` --launch-debug ` | Enable launch debug logging |
125+ | Flag | Description |
126+ | ---------------------------- | ------------------------------------------------------------------ |
127+ | ` --launch-xml FILE ` | Pre-generated ` generated.launch.xml ` — skips launch_unifier |
128+ | ` --launch-package PKG ` | ROS 2 package owning the launch file (use with ` --launch-file ` ) |
129+ | ` --launch-file FILE ` | Launch file name inside the package share |
130+ | ` --launch-path PATH ` | Absolute path to a launch file (alternative to ` --launch-package ` ) |
131+ | ` --launch-args key:=val ... ` | Space-separated launch arguments forwarded to the launch file |
132+ | ` --launch-debug ` | Enable launch debug logging |
133133
134134### Runtime snapshot (optional)
135135
136- | Flag | Default | Description |
137- | ------| ---------| -------------|
138- | ` --graph-json FILE ` | — | Path to a pre-captured graph snapshot JSON |
139- | ` --live-snapshot ` | off | Capture a live snapshot from the running ROS 2 system |
140- | ` --snapshot-spin-seconds N ` | ` 3.0 ` | Discovery wait time for ` --live-snapshot ` |
141- | ` --snapshot-params ` | ` names ` | Parameter depth for ` --live-snapshot ` : ` none ` , ` names ` , or ` values ` |
136+ | Flag | Default | Description |
137+ | --------------------------- | ------- | ------------------------------------------------------------------- |
138+ | ` --graph-json FILE ` | — | Path to a pre-captured graph snapshot JSON |
139+ | ` --live-snapshot ` | off | Capture a live snapshot from the running ROS 2 system |
140+ | ` --snapshot-spin-seconds N ` | ` 3.0 ` | Discovery wait time for ` --live-snapshot ` |
141+ | ` --snapshot-params ` | ` names ` | Parameter depth for ` --live-snapshot ` : ` none ` , ` names ` , or ` values ` |
142142
143143### Generation options
144144
145- | Flag | Default | Description |
146- | ------| ---------| -------------|
147- | ` --system-name NAME ` | ` GeneratedSystem ` | System name (file prefix and YAML ` name ` field) |
148- | ` --output-dir DIR ` | ` generated/ ` | Output directory |
149- | ` --compute-unit NAME ` | ` main_ecu ` | Compute unit label for all components |
150- | ` --system-depth N ` | ` 1 ` | Namespace depth for system.yaml components. Sub-modules below this depth are generated recursively. |
151- | ` --parameter-sets ` | off | Generate ` parameter_set ` YAML files per top-level component |
152- | ` --component-map FILE ` | ` config/component_map.yaml ` | Namespace → name/entity override YAML |
153- | ` --no-modules ` | off | Skip per-component module YAML files |
154- | ` --no-node-configs ` | off | Skip generating ` *.node.yaml ` for undefined node entities (on by default) |
155- | ` --package-map FILE ` | auto | ` _package_map.yaml ` for entity discovery (auto via ament_index) |
156- | ` --verbose ` | off | Print progress and statistics |
145+ | Flag | Default | Description |
146+ | ---------------------- | --------------------------- | --------------------------------------------------------------------------------------------------- |
147+ | ` --system-name NAME ` | ` GeneratedSystem ` | System name (file prefix and YAML ` name ` field) |
148+ | ` --output-dir DIR ` | ` generated/ ` | Output directory |
149+ | ` --compute-unit NAME ` | ` main_ecu ` | Compute unit label for all components |
150+ | ` --system-depth N ` | ` 1 ` | Namespace depth for system.yaml components. Sub-modules below this depth are generated recursively. |
151+ | ` --parameter-sets ` | off | Generate ` parameter_set ` YAML files per top-level component |
152+ | ` --component-map FILE ` | ` config/component_map.yaml ` | Namespace → name/entity override YAML |
153+ | ` --no-modules ` | off | Skip per-component module YAML files |
154+ | ` --no-node-configs ` | off | Skip generating ` *.node.yaml ` for undefined node entities (on by default) |
155+ | ` --package-map FILE ` | auto | ` _package_map.yaml ` for entity discovery (auto via ament_index) |
156+ | ` --verbose ` | off | Print progress and statistics |
157157
158158---
159159
160160## Output layout
161161
162162All output is contained under a single ` --output-dir ` :
163163
164- ```
164+ ``` text
165165<output-dir>/
166166└── YYYYMMDD_HHMMSS/ (timestamp of the run)
167167 ├── unified_launch/ (only when launch_unifier runs)
0 commit comments