Skip to content

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.