REMOTE PILOTINITIALIZING COCKPIT
Simulation loading. Arms paused.
INPUT / CONNECTIONS

Controller link

CONTROLLER WORKSPACE

Motion, in real time.

Open in Chrome or Edge, wake your controllers, then connect each hand.

Left motion frame

Connect this controller to calibrate

Right motion frame

Connect this controller to calibrate

Each controller learns its own movement and wrist axes. Setup is saved for its Bluetooth ID in this browser. Turned your chair? Hold Y / B, face your new forward direction with an upright grip, then release.

BLUETOOTH · WAITING FOR CONTROLLERS

Your hands. In space.

Connect a controller to see its live pose.
Or choose Try demo to explore.

LEFT RIGHTDrag to orbit · Scroll to zoom
DISPLAYframes / second
POSE STREAMleft / right packets per second
DECODE TIMEaverage CPU time per pose
DATA PATHOn this deviceNo tracking data uploaded
Connection guide & session details

Connect directly

Use current Chrome on Android, or Chrome / Edge on macOS or Windows, over HTTPS. Enable Bluetooth, put each controller in pairing mode, and disconnect it from Vision Pro or other apps. Select one controller for each hand in the browser picker.

Safari, Firefox, and Chrome on iPhone / iPad do not provide direct Web Bluetooth. You can still use the touch controls there. WebAssembly cannot add a missing browser Bluetooth API.

Calibrate each controller once, then use linked controller input and enable the arms with an upright, forward grip. Reconnecting loads the saved setup and asks for a fresh forward reference. Clearing site data, changing browsers or revoking Bluetooth access may require setup again. Center view changes only this raw tracking preview.

Session log

    Packet age measures time since browser delivery, not end-to-end latency. Device clock units and confidence meaning are unspecified. This demo does not control a robot.

    Starting decoder…All tracking stays on this device.
    INPUT / COORDINATE ALIGNMENT

    Calibrate controller

    SIDE VIEW
    01 / 05
    LEARN / 1 OF 9

    Push forward

    Use the buttons below, or squeeze and release this controller’s main trigger once for each capture. Face the same way for the whole setup.

    PILOT / FIELD NOTES

    Operating the cockpit

    Drive & reach

    W A S D drive. Q / E turn. R / F raise and lower the lift.

    Use both thumbs at the same time on the two on-screen sticks. They mirror the controller layout: left drives; right turns and lifts. They spring to neutral when released. Enable the arms with Space. In local input mode, drag in either arm display to move its target. Hold Shift while dragging to move vertically. Use each arm’s Closure slider to set its gripper anywhere from 0% open to 100% closed within the selected pinch range. Release the slider to keep that setting. Click a jaw miniature or press 1 / 2 to toggle fully open or closed. Click its pinch-range label to change mode.

    On a phone or tablet, choose Left arm or Right arm to see the arm and its wrist camera together. Drag with one finger to move or two fingers to aim in either view. Lifting one finger resumes movement; lifting both holds the pose. Touch uses these gestures even over a rotation ring. Mouse controls are always available: left-drag moves the target, right-drag points the gripper, and scroll twists. Drag a colored ring to rotate one axis. The center of the rings and open space in the arm view still move the target.

    Click Aim in an arm's title bar to swap its rings for the direction handle and blue twist collar; click again to restore rings. Press G over an arm view for the same toggle. Front / Side / Top / Free change only that arm's viewing angle. Middle-drag in an arm view to orbit freely.

    Hold 3 for the left arm or 4 for the right arm to start a mouse stroke anywhere in either arm display or the main camera, including over a ring or aim handle. The selected hand uses the clicked view's perspective. Clicking captures a relative origin, so the target never jumps. Release the mouse or initiating arm key to retain the last pose, then start another stroke anywhere to continue. If both keys are held, the most recently pressed selects the next stroke; a live stroke never transfers between hands.

    Shift + left-drag in open space changes only height. Hold Shift when starting a rotation drag, or while scrolling, for finer rotation. Rotation holds the requested grip point while the other joints bend to follow. Without 3/4, the main view keeps its usual behavior: drag Exterior to orbit and scroll there to zoom.

    Surreal Touch

    Link each controller, choose controller input, then enable the arms. Left stick translates; right stick turns and lifts. Main triggers pinch. Stick click cycles pinch range.

    Y / B hold the corresponding arm. Face your new forward direction with an upright, neutral grip and release to reset that hand’s position and heading. Calibrate each controller in Controller link first; its setup is saved for its Bluetooth ID in this browser. X / A scale movement to 0.1×. Right Menu pauses or reanchors and resumes. Left Menu or Esc latches the stop. Double-tap all four face buttons to reset.

    Fresh poses keep arms moving independently of button report timing. No grip or trigger needs to be held.

    Read the instruments

    The solid arm is the simulated robot. The wireframe controller is your mapped request. Their tether and gap show following error. An out-of-bounds target stays visible; only the solver target is limited.

    Amber means the hand is off target, which can include ordinary tracking lag. Red means the request exceeds configured target bounds. Gray indicates a held reference or missing tracking.

    Joint dials show signed MuJoCo actuator torque in N·m. On Aloha Mini V2, J1–J6 are shoulder pan, shoulder lift, elbow, wrist flex, wrist yaw and wrist roll. The jaw readout is its hinge angle, not a calibrated aperture or grip force.

    Model & rendering

    The selected robot profile defines camera roles, joint mappings and instruments. On Aloha Mini V2, the chest camera moves with the lift, top cameras stay on the tower, and wrist cameras move with each hand.

    Camera views are simulated. Lens field of view, initial image roll, grip centres, collision volumes and servo gains are estimates. The Aloha apartment uses rigid-body contact dynamics, force-limited base and lift movement, and passive appliance joints. Contact shapes, appliance dimensions and grip forces are simulation estimates. This application sends no commands to robot hardware.

    WebGPU is preferred, with WebGL 2 fallback. MuJoCo and the matched Mink/DAQP solver run in WebAssembly.

    URDF + meshes · Model mapping · Model notes