Your first session β
Getting from a powered-on robot to an arm that moves when you press a key.
π§ To write
The happy path, start to finish. Rough shape β fill in from the real app flow (frontend/src/nori/pages/):
- Power on the robot. What the LEDs / boot sound should do. How long until it's on the network.
- Sign in to the Nori app.
- Pair the robot (
/nori/pairing). Where the room name and token come from. - Connect (
/nori/remote). The connection chip goesnot connectedβconnectingβ¦βconnected. Video should appear within a couple of seconds. - Check telemetry β
safety: ok, loop running at ~50 Hz. - Drive it. The keyboard legend on the Remote page is the live key map.
- Stop. Tearing down cleanly vs. just closing the tab.
The one thing to know before you move an arm β
The robot has an E-STOP, and it latches. Trip it any time β from the app, from your code (teleop.command("estop")), or with the physical button on the robot. Motion stops and the motors go torque-limited.
Clearing it is deliberate and nothing else does it for you: reset_latch. That's the design β a latch you can clear by accident isn't a latch.
Full behavior in the safety contract and safety states.
If it doesn't connect β
The single most common failure is a session that sits at connecting and never reaches connected. That's almost always the network, not you β see Connection troubleshooting.
