Skip to content

Commit e72327f

Browse files
committed
doc: say "DotBot", spell out SEGGER Embedded Studio, drop pip --pre
AI-assisted: Claude Opus 4.7
1 parent ad7aa66 commit e72327f

15 files changed

Lines changed: 126 additions & 123 deletions

‎doc/cli/index.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ config
1111

1212
One CLI for the whole DotBot workflow: build firmware, flash one board, control a
1313
whole swarm, and launch the host-side processes that tie it together -
14-
from one bot to a thousand.
14+
from one DotBot to a thousand.
1515

1616
```bash
1717
dotbot --help
@@ -25,7 +25,7 @@ dotbot --help
2525
|---|---|---|
2626
| [`fw`](fw.md) | Build, fetch, and list firmware files. No hardware needed. | You want a `.hex`/`.bin` to flash later, or to see what builds. |
2727
| [`device`](device.md) | Flash one cabled board and read its info. | A DotBot or DK is plugged into your USB port right now. |
28-
| [`swarm`](swarm.md) | Drive the whole fleet over the air - status, OTA flash, start/stop, monitor. | You're operating many provisioned bots through a gateway. |
28+
| [`swarm`](swarm.md) | Drive the whole fleet over the air - status, OTA flash, start/stop, monitor. | You're operating many provisioned DotBots through a gateway. |
2929
| [`run`](run.md) | Start host processes on your computer - controller, gateway bridge, simulator, demos, teleop. | You need the web UI, a gateway bridge, the simulator, or a demo. |
3030

3131
Beyond the four namespaces, [`config`](config.md) scaffolds and inspects the

‎doc/cli/run.md‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ dotbot run --help # the full list
1414
| `controller` | Control plane: REST/WS API + web dashboard. The hub everything else talks to. |
1515
| `gateway` | Host bridge: gateway firmware UART ↔ MQTT broker. |
1616
| `simulator` | Standalone simulator (no hardware). |
17-
| `lh2-calibration` | LH2 calibration on one cabled board (capture / apply); deployed bots use `swarm lh2-calibration`. |
17+
| `lh2-calibration` | LH2 calibration on one cabled board (capture / apply); deployed DotBots use `swarm lh2-calibration`. |
1818
| `demo` | Built-in research demos (qrkey phone bridge, …). |
1919
| `keyboard` | Drive a DotBot from the keyboard. |
2020
| `joystick` | Drive a DotBot from a joystick. |
@@ -26,16 +26,16 @@ Connect to a swarm and serve the dashboard at `http://localhost:8000/PyDotBot/`.
2626
`simulator`.
2727

2828
```bash
29-
dotbot run controller --conn mqtts://argus.paris.inria.fr:8883 --swarm-id 1234 -w
30-
dotbot run controller --conn /dev/ttyACM0 -w
29+
dotbot run controller --conn mqtts://argus.paris.inria.fr:8883 --swarm-id 1234
30+
dotbot run controller --conn /dev/ttyACM0
3131
```
3232

3333
| Flag | Meaning |
3434
|---|---|
3535
| `-n/--conn` | `mqtts://host:port`, serial path, or `simulator` |
3636
| `-s/--swarm-id` | hex swarm id - **required for MQTT**, ignored for serial/simulator |
37-
| `-w/--webbrowser` | open the dashboard automatically |
38-
| `--csv-data-output` | record robot data to a CSV file |
37+
| `--headless` | don't open the dashboard in a browser (it's still served) |
38+
| `--csv-data-output` | record DotBot data to a CSV file |
3939

4040
Full options and the dashboard tour live in
4141
[the controller guide](../guides/controller.md). See `dotbot run controller --help`.
@@ -60,15 +60,15 @@ No hardware, no gateway. Exactly equivalent to `run controller --conn simulator`
6060
so it shares the controller's flags and serves the same dashboard.
6161

6262
```bash
63-
dotbot run simulator -w
63+
dotbot run simulator
6464
```
6565

6666
## `lh2-calibration` - capture & apply (cabled)
6767

6868
Lighthouse v2 calibration against a single serial-attached board. `collect`
6969
opens a TUI to capture LH2 counts; `apply` writes the saved calibration out as
70-
a C header. This is the cabled, bench path - for deployed bots, capture over the
71-
air with [`swarm lh2-calibration`](swarm.md) instead.
70+
a C header. This is the cabled, bench path - for deployed DotBots, capture over
71+
the air with [`swarm lh2-calibration`](swarm.md) instead.
7272

7373
```bash
7474
dotbot run lh2-calibration collect
@@ -90,7 +90,7 @@ dotbot run demo qr # qrkey phone bridge
9090

9191
Drive a DotBot live through a running controller (start one with
9292
`run controller` first). Both default to `localhost:8000`; pass `-d` to target a
93-
specific robot by hex address.
93+
specific DotBot by hex address.
9494

9595
```bash
9696
dotbot run keyboard

‎doc/cli/swarm.md‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# `dotbot swarm` - operate the fleet over the air
22

3-
Run experiments across many robots at once. `dotbot swarm` drives the
3+
Run experiments across many DotBots at once. `dotbot swarm` drives the
44
[SwarmIT](https://github.com/DotBots/swarmit) orchestration backend: it
5-
OTA-flashes a sandbox app to every bot, starts/stops it, and watches status -
5+
OTA-flashes a sandbox app to every DotBot, starts/stops it, and watches status -
66
all wirelessly through a gateway.
77

88
For one cabled board, use [`device`](device.md). To build the apps you flash,
@@ -19,14 +19,14 @@ see [`fw`](fw.md). The host bridge and dashboard come from [`run`](run.md).
1919

2020
## 1. Provision once
2121

22-
Each robot needs the SwarmIT sandbox-host firmware; the gateway is an
22+
Each DotBot needs the SwarmIT sandbox-host firmware; the gateway is an
2323
nRF5340-DK running the Mari gateway firmware. Both are cabled flashes over
2424
USB-C (the DotBot v3 has an on-board programmer - no separate J-Link needed).
2525
Details and chip caveats live in [`device`](device.md).
2626

2727
```bash
2828
dotbot device flash-mari-gateway --swarm-id 1234 -s 10 -f 0.8.0rc1 # a DK -> gateway, net id 0x1234
29-
dotbot device flash-swarmit-sandbox --swarm-id 1234 -s 77 -f 0.8.0rc1 # each bot -> sandbox host
29+
dotbot device flash-swarmit-sandbox --swarm-id 1234 -s 77 -f 0.8.0rc1 # each DotBot -> sandbox host
3030
```
3131

3232
## 2. Start the host bridge
@@ -109,14 +109,14 @@ driving it over the swarm. The arena geometry and `-d` sizing live in the
109109

110110
```bash
111111
dotbot swarm stop # capture only runs in READY
112-
dotbot swarm lh2-calibration collect --device BC3D... -d 500 # capture from one bot -> solve -> save
113-
dotbot swarm lh2-calibration push ~/.dotbot/calibration-<UTC>.toml # apply to every ready bot
112+
dotbot swarm lh2-calibration collect --device BC3D... -d 500 # capture from one DotBot -> solve -> save
113+
dotbot swarm lh2-calibration push ~/.dotbot/calibration-<UTC>.toml # apply to every ready DotBot
114114
```
115115

116-
`collect` walks one bot through the four arena corners over the air, solves the
116+
`collect` walks one DotBot through the four arena corners over the air, solves the
117117
homography, and saves it under `~/.dotbot/`. `push` (no `--device`) then sends
118-
that calibration to **every ready bot** - the arena shares one transform.
119-
(`collect --push` is a single-bot shortcut: it sends only to the captured bot.)
118+
that calibration to **every ready DotBot** - the arena shares one transform.
119+
(`collect --push` is a single-DotBot shortcut: it sends only to the captured DotBot.)
120120
`push` takes a `calibration-*.toml` or the legacy raw payload - the format is
121121
picked by file extension. Get the `--device` address from `dotbot swarm status`.
122122

‎doc/guides/controller.md‎

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,35 @@
22

33
The controller is the host-side control plane: it talks to your gateway (or a
44
simulator), exposes a REST + WebSocket API, and serves a web UI to drive your
5-
robots.
5+
DotBots.
66

77
## Start it
88

99
Point the controller at a connection and open the web UI:
1010

1111
```bash
1212
# serial gateway plugged into your computer (no swarm-id needed)
13-
dotbot run controller --conn /dev/ttyACM0 -w
13+
dotbot run controller --conn /dev/ttyACM0
1414

1515
# a swarm over MQTT (swarm-id required - the broker carries many swarms)
16-
dotbot run controller --conn mqtts://argus.paris.inria.fr:8883 --swarm-id 1234 -w
16+
dotbot run controller --conn mqtts://argus.paris.inria.fr:8883 --swarm-id 1234
1717

1818
# no hardware at all - pure software simulator
19-
dotbot run controller --conn simulator -w
19+
dotbot run controller --conn simulator
2020
```
2121

2222
`--conn` takes one string: a serial device path (`/dev/ttyACM0`, `COM3` on
2323
Windows), an MQTT broker (`mqtts://host:port`), or `simulator`.
2424

25-
`-w` / `--webbrowser` opens a tab automatically. Otherwise browse to
25+
The dashboard opens in a browser tab automatically. Pass `--headless` to
26+
suppress that (it's still served); browse to
2627
<http://localhost:8000/PyDotBot> yourself.
2728

2829
| Flag | What it does |
2930
|---|---|
3031
| `-n, --conn` | Connection: serial path, `mqtts://host:port`, or `simulator` |
3132
| `-s, --swarm-id` | Swarm id in hex (required for MQTT, ignored otherwise) |
32-
| `-w, --webbrowser` | Open the web UI automatically |
33+
| `--headless` | Don't open the web UI in a browser (still served) |
3334
| `--controller-http-port` | HTTP/REST port (default `8000`) |
3435
| `--config-path` | Path to a `.toml` config file |
3536
| `--dotbot / --sailbot` | With `--conn simulator`: which robot to simulate |
@@ -38,7 +39,7 @@ See `dotbot run controller --help` for the full list (logging, CSV export, map
3839
size, background map, simulator init state).
3940

4041
`dotbot run simulator` is shorthand for `dotbot run controller --conn simulator` - try
41-
the UI with no robot or gateway.
42+
the UI with no DotBot or gateway.
4243

4344
## Use a config file
4445

@@ -64,9 +65,9 @@ discovered and the full schema.
6465
At <http://localhost:8000/PyDotBot> the page lists every DotBot the controller
6566
sees. Select one to control it:
6667

67-
- **Joystick** - a virtual joystick drives the selected bot.
68-
- **RGB LED** - pick a color and the bot's LED follows.
69-
- If you flashed Lighthouse 2 localization, bots report their `(x, y)` position
68+
- **Joystick** - a virtual joystick drives the selected DotBot.
69+
- **RGB LED** - pick a color and the DotBot's LED follows.
70+
- If you flashed Lighthouse 2 localization, DotBots report their `(x, y)` position
7071
on the map (see [LH2 calibration](lh2-calibration.md)).
7172

7273
## Firefox websockets note
@@ -77,5 +78,5 @@ being blocked. Open `about:config` (Ctrl + L, then type it), find
7778

7879
## Next steps
7980

80-
- Flash robots and a gateway first - see [device flashing](../cli/device.md).
81+
- Flash DotBots and a gateway first - see [device flashing](../cli/device.md).
8182
- Operate the whole fleet over the air - see [swarm](../cli/swarm.md).

‎doc/guides/index.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ lh2-calibration
1111
lh2-calibration-cabled
1212
```
1313

14-
- [Try it in the simulator](simulator.md) - run the full UI and script bots with
15-
no hardware.
16-
- [Drive a single DotBot](one-bot.md) - build, flash, and control one bot end to
17-
end.
14+
- [Try it in the simulator](simulator.md) - run the full UI and script DotBots
15+
with no hardware.
16+
- [Drive a single DotBot](one-bot.md) - build, flash, and control one DotBot end
17+
to end.
1818
- [Run the controller + web UI](controller.md) - drive and visualize a swarm
1919
from the browser.
20-
- [Lighthouse 2 localization](lh2-calibration.md) - give your bots real-world
20+
- [Lighthouse 2 localization](lh2-calibration.md) - give your DotBots real-world
2121
`(x, y)` positions, calibrated over the air.
2222
- [LH2 calibration over a cable](lh2-calibration-cabled.md) - the bench
23-
alternative, for a single USB-connected bot.
23+
alternative, for a single USB-connected DotBot.

‎doc/guides/lh2-calibration-cabled.md‎

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
The bench alternative to the [over-the-air flow](lh2-calibration.md): calibrate a
44
single DotBot connected over USB, with no swarm provisioned. Reach for this when
5-
you're working with one bot on the bench, or before the fleet is set up. For
6-
already-deployed bots, prefer the over-the-air flow - no cable, no firmware swap.
5+
you're working with one DotBot on the bench, or before the fleet is set up. For
6+
already-deployed DotBots, prefer the over-the-air flow - no cable, no firmware
7+
swap.
78

89
What LH2 calibration is, and the arena geometry (the `-d` square sizing), are
910
covered in the [main guide](lh2-calibration.md); this page is just the cabled
@@ -18,28 +19,28 @@ capture path.
1819
- The `[calibrate]` extra:
1920

2021
```bash
21-
pip install --pre 'pydotbot[calibrate]'
22+
pip install 'pydotbot[calibrate]'
2223
```
2324

2425
## 1. Flash the capture firmware
2526

2627
The `lh2_calibration` app streams raw LH2 counts over serial. Flash it to the
27-
cabled bot (see [device](../cli/device.md) for serial-prefix selection):
28+
cabled DotBot (see [device](../cli/device.md) for serial-prefix selection):
2829

2930
```bash
3031
dotbot device flash lh2_calibration -s 77 # board defaults to dotbot-v3
3132
```
3233

3334
## 2. Capture the four reference points
3435

35-
Place the bot on the floor square and run the TUI. `-d` is the side length of
36+
Place the DotBot on the floor square and run the TUI. `-d` is the side length of
3637
the square, in millimeters:
3738

3839
```bash
3940
dotbot run lh2-calibration collect -p /dev/cu.usbmodem... -d 500
4041
```
4142

42-
Move the bot to each corner - Top left -> Top right -> Bottom left -> Bottom
43+
Move the DotBot to each corner - Top left -> Top right -> Bottom left -> Bottom
4344
right - pressing the matching button in the TUI at each. When all four are
4445
captured, save. The calibration is written under `~/.dotbot/` (a
4546
`calibration-<UTC>.toml`), the same place the over-the-air flow uses.
@@ -74,12 +75,12 @@ dotbot run lh2-calibration apply ./lh2_calibration.h
7475
```
7576

7677
The swarmit secure bootloader `#include`s this file; rebuild and reflash the
77-
bootloader for it to take effect. For already-running bots, prefer the
78+
bootloader for it to take effect. For already-running DotBots, prefer the
7879
over-the-air push above - no reflash needed.
7980

8081
## Troubleshooting
8182

82-
- **No counts in the TUI** - wrong `-p` port, or the bot can't see both base
83+
- **No counts in the TUI** - wrong `-p` port, or the DotBot can't see both base
8384
stations. Confirm line-of-sight and that the base-station LEDs are steady.
8485
- **Positions look skewed or mirrored** - the corners were captured out of
8586
order. Re-run `collect` and follow TL -> TR -> BL -> BR exactly.

‎doc/guides/lh2-calibration.md‎

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,63 @@
11
# Lighthouse 2 (LH2) calibration
22

33
Lighthouse 2 gives every DotBot a real-world **(x, y) position** on your arena
4-
floor. Two SteamVR base stations sweep the room with IR; each bot's LH2 sensor
4+
floor. Two SteamVR base stations sweep the room with IR; each DotBot's LH2 sensor
55
times the sweeps. Calibration is the one-time step that maps those raw sweep
6-
counts to metric coordinates: you place one bot on four known corners of a
6+
counts to metric coordinates: you place one DotBot on four known corners of a
77
square, capture, and the resulting transform is pushed to the whole fleet.
88

99
You do this once per physical setup (move a base station -> recalibrate).
1010

11-
**The default flow is over the air** - drive one already-deployed bot through the
12-
corners over the swarm, no cable and no firmware swap. If you'd rather calibrate
13-
a single bot on the bench over USB, see
11+
**The default flow is over the air** - drive one already-deployed DotBot through
12+
the corners over the swarm, no cable and no firmware swap. If you'd rather
13+
calibrate a single DotBot on the bench over USB, see
1414
[LH2 calibration over a cable](lh2-calibration-cabled.md).
1515

1616
## Prerequisites
1717

18-
- A provisioned swarm: a gateway plus sandbox-host bots, reachable from your
18+
- A provisioned swarm: a gateway plus sandbox-host DotBots, reachable from your
1919
config (see [swarm](../cli/swarm.md)).
2020
- Two LH2 base stations mounted ~2 m up, facing the arena.
2121
- A square marked on the floor with a known side length.
2222
- The `[calibrate]` extra (the homography solve uses opencv):
2323

2424
```bash
25-
pip install --pre 'pydotbot[calibrate]'
25+
pip install 'pydotbot[calibrate]'
2626
```
2727

2828
## Capture and push
2929

3030
The calibration is a property of the **arena** (the base-station layout), not the
31-
individual bot, so you capture once from any one bot and apply the result to the
32-
whole fleet. Two steps:
31+
individual DotBot, so you capture once from any one DotBot and apply the result
32+
to the whole fleet. Two steps:
3333

3434
```bash
35-
dotbot swarm stop # put the bots in READY
35+
dotbot swarm stop # put the DotBots in READY
3636
dotbot swarm lh2-calibration collect \
37-
--device BC3D3C8A2A6F8E68 -d 500 # capture from one bot -> solve -> save
37+
--device BC3D3C8A2A6F8E68 -d 500 # capture from one DotBot -> solve -> save
3838
dotbot swarm lh2-calibration push \
39-
~/.dotbot/calibration-<UTC>.toml # apply to every ready bot
39+
~/.dotbot/calibration-<UTC>.toml # apply to every ready DotBot
4040
```
4141

42-
`collect` walks one bot through the four corners - **top-left -> top-right ->
43-
bottom-left -> bottom-right** - (capture only runs while the bot is in READY, so
42+
`collect` walks one DotBot through the four corners - **top-left -> top-right ->
43+
bottom-left -> bottom-right** - (capture only runs while the DotBot is in READY, so
4444
`swarm stop` first). Each prompt triggers a raw-count capture over the air; it
4545
then solves the homography and saves a `calibration-<UTC>.toml` under `~/.dotbot/`
4646
(the path is printed at the end). Find the `--device` address with
4747
`dotbot swarm status`.
4848

49-
`push` with **no `--device`** sends that calibration to **every ready bot** - the
50-
whole arena shares one transform. It accepts a `calibration-*.toml` or the legacy
51-
raw `calibration.out` payload; the format is picked by file extension.
49+
`push` with **no `--device`** sends that calibration to **every ready DotBot** -
50+
the whole arena shares one transform. It accepts a `calibration-*.toml` or the
51+
legacy raw `calibration.out` payload; the format is picked by file extension.
5252

5353
```{note}
54-
`collect --push` is a **single-bot shortcut**: it sends the result to *only* the
55-
`--device` bot you captured from (handy to spot-check that one bot, or for a
56-
single-bot setup). To calibrate the fleet, run the standalone `push` above - it
57-
targets all ready bots.
54+
`collect --push` is a **single-DotBot shortcut**: it sends the result to *only*
55+
the `--device` DotBot you captured from (handy to spot-check that one DotBot, or
56+
for a single-DotBot setup). To calibrate the fleet, run the standalone `push`
57+
above - it targets all ready DotBots.
5858
```
5959

60-
Once pushed, the bots report positions, which show up live in the
60+
Once pushed, the DotBots report positions, which show up live in the
6161
[controller](../cli/run.md) Web UI.
6262

6363
### `collect` flags
@@ -70,7 +70,7 @@ Once pushed, the bots report positions, which show up live in the
7070
| `--timeout` | `5` s | Seconds to wait for each capture before re-triggering. |
7171
| `--retries` | `3` | Re-trigger this many times per corner before giving up. |
7272
| `--tag` | - | Arena/setup label (e.g. `office-2x2m`) added to the filename + metadata. |
73-
| `--push` | off | After solving, send to the captured `--device` bot **only** (use the standalone `push` for the whole fleet). |
73+
| `--push` | off | After solving, send to the captured `--device` DotBot **only** (use the standalone `push` for the whole fleet). |
7474

7575
See `dotbot swarm lh2-calibration collect --help` for the full list.
7676

@@ -97,18 +97,18 @@ side):
9797
⌖ LH2 base station (mounted ~2 m up, facing the arena)
9898
```
9999

100-
`TL/TR/BL/BR` are the four reference points you place the bot on; `d` is the
100+
`TL/TR/BL/BR` are the four reference points you place the DotBot on; `d` is the
101101
square side (`--distance`, in mm), `5·d` the resulting arena.
102102

103103
| `-d` | Square | Usable arena |
104104
|---|---|---|
105105
| `400` | 40 cm | 2.0 m × 2.0 m |
106106
| `500` | 50 cm | 2.5 m × 2.5 m |
107-
| `800` | 80 cm | 4.0 m × 4.0 m (used for the 725-bot Limerick run) |
107+
| `800` | 80 cm | 4.0 m × 4.0 m (used for the 725-DotBot Limerick run) |
108108

109109
## Troubleshooting
110110

111-
- **Capture times out** - the bot isn't in READY (run `dotbot swarm stop`
111+
- **Capture times out** - the DotBot isn't in READY (run `dotbot swarm stop`
112112
first), or it can't see both base stations. The address passed to `--device`
113113
must match one from `dotbot swarm status`.
114114
- **Positions look skewed or mirrored** - the corners were captured out of

0 commit comments

Comments
 (0)