System Overview¶
The system is made of four top-level blocks: Robot, Controller, Station + AI PC, and the transport case.
The Case is a standalone block (transport/logistics only, no network link). The other three — Robot, Controller, and Station/AI PC — communicate over Wi-Fi on a local network.
PC Station = AI Station
"PC Station" and "AI Station" refer to the same machine.
Topology¶
graph LR
Phone(["Phone<br/>(Wi-Fi hotspot)"])
Robot["Robot"]
Controller["Controller"]
Station["Station / AI PC"]
Case["Transport Case<br/>(standalone)"]
Robot <--> Phone
Controller <--> Phone
Station <--> Phone
style Phone fill:#ffe08a,stroke:#a67c00,color:#000
style Case fill:#d9d9d9,stroke:#666666,color:#000
click Robot "../links/controller/#ports" "Robot ↔ Controller link (ports)"
click Controller "../links/controller/#ports" "Robot ↔ Controller link (ports)"
Currently, during development, the local network is created by a phone acting as hotspot. This makes it easy to monitor all devices and gives them internet access while they communicate with each other — important because the development PC doubles as the AI Station and is used to develop everything.
For a production version, the plan is for the Robot to create the local network itself instead of the phone. Reasoning:
- If the robot hosts the network, its Wi-Fi being up is a direct signal that the onboard PC has booted correctly.
- Wi-Fi can be unreliable: the robot can boot but fail to connect. In that case, if the robot boots and its Wi-Fi comes up but the Controller can't connect to it, the problem is debuggable — the Controller is already in your hand.
- There's still a risk that the robot fails to power on the Wi-Fi at all, but this is considered a less frequent failure mode than the alternative.
Transport¶
All communication between components uses ZeroMQ, chosen because it's simple to use — connection and reconnection are automatic, which simplifies development of the communication layer. See the Links section for port tables and channel details.
Known Gaps¶
- Station/AI PC link (audio) is on an older, undocumented version — pending refresh.
- Safety & Degraded Modes is not yet written.