Bridge URL
Robot IP
Mode: unknown — set Bridge URL and connect.
Aegis Pose Editor
URDF/STL model · drag feet · sliders fine tuneLoading D1 URDF model...
POST /cmd pause until you click Exit to Blockly bridge.
Where to run the bridge (important):
lowlevel_gentle_interactive.py works on the dog because LowLevel uses the same machine as motion control (SHM / loopback). If scratch_bridge runs on your laptop while the page uses that laptop as Bridge URL, getMotorState() often stays empty and Stream / Read from robot look dead — even though Enter low-level returns OK. Run scratch_bridge.py on the robot as a pure LowLevel shell, e.g. python3 scratch_bridge.py --loopback --lowlevel-only, then open this page at http://<robot-ip>:8766/brainblocksll.html.
SDK behavior: stand first on HighLevel (Stand up), then enter low-level.
The reference script lowlevel_gentle_interactive.py streams at 500 Hz (DT=0.002), kp=80, kd=1, and idle _hold_track_state. This page updates targets over HTTP; the Firefly bridge keeps the latest target alive at 500 Hz.
Keep scratch_bridge running. Low-level is POST /lowlevel/enter in the same Python process. Do not call HighLevel /connect in this page; HighLevel and LowLevel compete for the same SDK port.
Open this page from Brain Blocks Low-level motor lab (or set Bridge URL to http://<robot-ip>:8766) so requests hit the Firefly process.
Order: Connect → use Stand up (or Brain Blocks) while still in HighLevel → then Enter low-level. You cannot use POST /cmd after entering low-level until you exit.