ROSrover1
The rover, assembled from catalogue parts: it sees, it refuses to hit things, and it tells you why it stopped.
What it doesWatches what is in front of the machine, stops it before it hits anything, and texts a human the moment it does — with the reason, the distance and which camera saw it. The same assembly runs a bench rover today and a full-size vehicle later; only the platform profile and the drivetrain driver change.
Parts
| part | kind | host | health | setup |
| drivetrain 0.1.0 | package | rover | in-process runs inside the host project | configured by this product |
| messaging 1.1.0 | service | cloud | up HTTP 200 /v1/messaging/health | configure |
| safety 0.2.0 | package | rover | in-process runs inside the host project | configured by this product |
| vision 0.2.0 | package | rover | in-process runs inside the host project | configured by this product |
Each part is configured in its own admin. This page
links to them; it does not replace them.
How they are wiredvision.observations → safety.observeThe camera tells the supervisor what is ahead. Neither imports the other.
safety.approved → drivetrain.executeONLY approved commands reach the hardware. There is deliberately no path from a navigator straight to the drivetrain.
safety.observations → messaging.notify_on_observation (across hosts — a network call)Every veto becomes a text. A machine that 'just stopped' with no record is not diagnosable.
v0.1.0 · checked 2026-08-19T13:40:29+00:00