Skip to content

Commit 46dd6a8

Browse files
committed
docs: tasteful visual pass - GitHub alerts + collapsible examples
Add a [!TIP] on the no-code-changes magic and a [!NOTE] on the additive 'consumes /diagnostics too' reassurance (the only real color GitHub renders), and fold the secondary MoveIt example and the optional web UI into <details> so the page scans to the fault story first.
1 parent 0fbcbf4 commit 46dd6a8

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

README.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,14 @@ It works because an aborted action goal is often the *only* failure signal Nav2
3737
ros2_medkit's action bridge turns that into a structured fault on the `bt_navigator` entity -
3838
no instrumentation, no callbacks added to Nav2.
3939

40-
### MoveIt: a motion that fails to execute
40+
> [!TIP]
41+
> Nothing was added to Nav2. The bridge reads the action status your stack already publishes,
42+
> so the same trick works for **any** action server - MoveIt, Nav2, or your own nodes.
43+
44+
<details>
45+
<summary><b>↳ Another example: MoveIt - a motion that fails to execute</b></summary>
46+
47+
<br>
4148

4249
You run MoveIt. A `MoveGroup` goal aborts - no valid plan, or the controller rejects the
4350
trajectory. Same story: the same action bridge surfaces the aborted move as a fault on the
@@ -48,6 +55,8 @@ curl http://localhost:8080/api/v1/apps/move_group/faults
4855
# → the aborted MoveGroup goal, as a structured fault with its snapshot
4956
```
5057

58+
</details>
59+
5160
**Two ways to feed it:**
5261

5362
- **Native, for code you own** - report faults directly with the
@@ -69,8 +78,11 @@ touch the node's code.
6978

7079
`diagnostic_updater` + `/diagnostics` + `diagnostic_aggregator` + `rqt_robot_monitor` report
7180
current node health to a desktop GUI. ros2_medkit turns that into a queryable, remote,
72-
time-traveled, actionable fault - and it **consumes `/diagnostics` too**, so it is additive,
73-
not a rip-and-replace.
81+
time-traveled, actionable fault.
82+
83+
> [!NOTE]
84+
> It **consumes `/diagnostics` too**, so it is additive, not a rip-and-replace. Keep your
85+
> existing `diagnostic_updater` publishers; medkit reads them and gives you the rest.
7486
7587
| | 🔴 ROS 2 diagnostics | 🟢 ros2_medkit |
7688
|---|---|---|
@@ -167,7 +179,10 @@ Nav2 `NavigateToPose` goal aborts):
167179
}
168180
```
169181

170-
**Prefer a dashboard?** Run the web UI alongside it (optional):
182+
<details>
183+
<summary><b>Prefer a dashboard? Run the web UI alongside it (optional)</b></summary>
184+
185+
<br>
171186

172187
```bash
173188
docker run -p 3000:80 ghcr.io/selfpatch/ros2_medkit_web_ui:latest
@@ -178,6 +193,8 @@ The browser calls the gateway from a different origin, so the gateway must allow
178193
CORS (the prebuilt gateway Docker image enables it; for a native bringup set
179194
`cors.allowed_origins`). See the [web UI tutorial](https://selfpatch.github.io/ros2_medkit/tutorials/web-ui.html).
180195

196+
</details>
197+
181198
For a guided walkthrough, see the
182199
[Getting Started tutorial](https://selfpatch.github.io/ros2_medkit/getting_started.html).
183200

0 commit comments

Comments
 (0)