Overview / Teleop
Teleop

Wear the robot.

Drive MABEL three ways — a browser console you can try right now, an iPhone in your pocket, and an Apple Vision Pro you reach through. All three speak one wire protocol to the same bridge, and point at the MuJoCo twin or the real robot with no change. Every session is also a training demo.

No-install browser consoleiPhone · Vision ProOne wire protocolSim or real→ feeds autonomy
Try it now · no install

Drive it in your browser.

Three views — Teleop, Body, Navigate — over one robot. Press Connect to reach a live bridge; with none reachable, an in-browser kinematic twin keeps every control live. Same teleop_frame protocol as the iPhone and Vision Pro apps.

Grab the sticks!
Drive MABEL in your browser

Joysticks, body control, and navigation over a live MuJoCo simulation — the same wire protocol as the iPhone and Vision Pro apps. The hosted sim may be offline; either way the controls stay live on the in-browser model.

L WRIST
R WRIST
PILOT
0.00 m/s
TRANSLATE
ROTATE · LIFT
RIG
ROBOT STATE
LOADING MABEL
MANIPULATE
Drag the green ball to pose the arm; spin a ring to set the wrist.
BUILDING ROOM
— —
E-STOP — OUTPUTS HALTED
LOCAL SIM
RTT— LAT— BATT—

Teleoperated demonstrations

Individual household tasks from the video submission. Sony footage; speeds are marked. These clips show human teleoperation.

Live tool · open demo

The full studio: Control Studio.

The console above is the simple one. The Control Studio is the full cockpit the robot serves for real sessions — one workspace around a 3D viewer: drive, task and joint control, a timeline, the dock, and all 59 coordinates live. Slide through it below.

3D viewerDrive · Task · Joint59-coordinate telemetryTimelineWebcam teleop
Control Studio: the full workspace with the robot in a 3D point-cloud map, dock and timeline
01 · WORKSPACE

One screen, no digging

The whole cockpit is one workspace around a live 3D twin, with the map, point cloud, LiDAR and cameras all in place.

  1. E-STOP: Torque ON wakes the robot and reveals the controls; the same button is then the hard stop.
  2. Stiff | Soft: Stiff tracks your commands; Soft lets the arms yield to a push.
  3. Record: Records the session as a training episode for the current task.
  4. Drive · Task · Joint: Picks what the controls move; 3rd | 1st swaps the camera.
  5. View rail: Toggles map, point cloud, LiDAR, camera frusta, TF and paths.
  6. Cameras: Head, front-base and both wrist cameras, live.
  7. Dock: Status, Data, Skills: health, every joint, episodes, saved skills.
  8. Choreography: Line up nav, policies, animations and poses; Preview in physics, then Execute.
Control Studio in Drive mode, first person from the robot's head camera with two virtual sticks
02 · DRIVE

Fly it from its eyes

First person from the head camera, with the twin tucked in a corner. Keyboard or on-screen sticks.

  1. Drive: The sticks and keys move the swerve base and the lift.
  2. 3rd | 1st: 1st puts you behind the head camera; 3rd flies back out to the twin.
  3. TRANSLATE: Slides the base forward, back and sideways at once.
  4. ROTATE · LIFT: Turns on the spot and raises or lowers the whole body.
  5. Keyboard: WASD drive, Q/E turn, R/F lift; click the floor to set a nav goal.
  6. 3D inset: The twin keeps showing where the body is while you look through its eyes.
Control Studio in Task mode: a green wrist target beside the robot's hand and a wrist plan ready to execute
03 · TASK

Say where the hand goes

Drag a target; the planner previews the arm on the twin, and nothing moves until you press Execute.

  1. Wrist target: Drag the green ball; IK poses a preview on the twin, not the robot.
  2. Wrist plan · Execute: Runs the previewed plan as a speed-capped, collision-checked move.
  3. IK reach: How much body the solver may use: arm, upper body, or whole body with the base.
  4. Webcam Teleop: Your own arms, tracked by any laptop camera, drive the robot's wrists.
  5. Wrist sticks: Nudge each hand in the plane; ▲ ▼ raise and lower it.
Control Studio status dock: link, latency, battery and torque tiles, hardware chips, joint bars and trends
04 · DOCK

Every joint, at a glance

The right-hand dock: robot health on top, then all 59 coordinates and their history.

  1. Status · Data · Skills: Live health, recorded episodes, and the saved skill library.
  2. Health tiles: Link, round-trip latency, battery and torque, readable from across the room.
  3. Hardware: One chip per module; green while it reports.
  4. Joint state · 59 coordinates: Current against target for every joint, coloured by motor temperature.
  5. Trends: Rolling joint history per module, position, velocity or torque.
Control Studio with floating MuJoCo viewer, joint history and TF tree windows and the + Window menu open
05 · WINDOWS

Pop out what you need

+ Window floats extra views over the twin; drag and resize them anywhere.

  1. + Window: Opens the menu of extra views.
  2. View menu: MuJoCo mirror, any camera, joint history, a 2D occupancy map, the TF tree.
  3. MuJoCo viewer: A live render of the physics twin, with its own camera.
  4. Joint history: Per-module graphs over a rolling window of up to five minutes.
  5. TF tree: Every frame of the robot with its live position.
Apple Vision Pro · visionOS

Reach in. It follows.

Three tabs as glass: Robot, Autonomy, Settings. Step into full immersion and MABEL’s stereo view wraps around you while your own arms, torso and fingers drive its. Slide through what each one does.

The operator moves — the real robot moves with them
Full mirror — 27 joints per hand at 60 Hz
Vision Pro Robot tab: the 3D twin in a map floating in a living room, drive pad below
01 · ROBOT

The twin, in your room

The Robot tab is one glass window: the live twin standing in its map, with the drive pad hanging underneath.

  1. Status bar: Link, latency, Reset, World, Home and the E-STOP, on every tab.
  2. Drive · Joint · Task: What your controls move; 3rd | 1st flies the camera into its head.
  3. Map · Record: Live SLAM or a saved map; Record saves the session as an episode.
  4. View tools: Center, Fit, Follow and Layers for the 3D view.
  5. Tabs: Robot, Autonomy, Settings, on a glass rail.
  6. Cams · Joints · Trends: Each opens as its own window you can place anywhere.
  7. The twin: Orbit it with a pinch; look at the floor and pinch to send it there.
  8. Drive pad: Translate stick, spring-loaded lift and rotate.
Vision Pro full immersion: wrist-camera panels, drive pad, a mini robot and the teleop control deck
02 · IMMERSIVE

Step in: your hands are its hands

Full immersion puts you behind its eyes and maps your arms, torso and fingers onto its own.

  1. Wrist cameras: Both wrist views float beside you, locked to your head.
  2. Head view: The robot’s stereo head camera fills the centre at true scale (no video in the simulator).
  3. Drive pad: Reposition the base and lift without leaving its view.
  4. Mini robot: A live model, so you can watch your body being mirrored.
  5. Start Teleop: Your hands start driving its arms; pinch to grip.
  6. Upper | Whole body: Arms and torso only, or the base and lift follow you too.
  7. Neck · Torso · Re-anchor: Freeze or free the neck and torso; re-centre forward.
  8. E-STOP: Always one glance up.
Four Vision Pro pop-out windows: cameras and LiDAR, joint bars, time series and a 2D occupancy map
03 · WINDOWS

Spread the data around you

Any panel leaves the main window and floats where you want it. Four of them, side by side.

  1. Cameras & sensors: The head camera large, wrist and base cameras below.
  2. LiDAR: The planar sweep around the robot, live even when the cameras idle.
  3. Joint bars: Pick a module and read every joint at once.
  4. Pos · Vel · Torque: Switch what the bars show.
  5. Time series: Two rolling minutes of position, velocity and torque.
  6. 2D map: Top-down occupancy with the robot’s pose.
Vision Pro Autonomy tab: a 3D preview of the robot above a timeline of navigation, manipulation and voice clips
04 · AUTONOMY

Compose a routine like a video

Clips on lanes, previewed on the twin before anything moves. Hub holds the assistant, automations and skills.

  1. Compose | Hub: The timeline editor, or the assistant, schedules and skills.
  2. Routine: Open, rename or start a routine.
  3. Execute: Runs the timeline on the robot.
  4. 3D preview: The twin posed at the playhead.
  5. Transport: Play it on the twin only.
  6. Library: Motions, poses, policies and nav moves to drop in.
  7. Lanes: NAV, MANIP and VOICE run side by side.
  8. Clips: Drag, trim and stack; blends are added so no joint jumps.
Vision Pro Settings: status, robots, assistant, data collection, permissions, calibration profiles and speed cap
05 · SETTINGS

Plus your body

Connection, safety and limits, plus one card the phone does not need: calibration.

  1. Status: Connection, latency, control mode, tracking, e-stop.
  2. Robots: Everything found on Wi-Fi, Bluetooth or the relay (names hidden here).
  3. Assistant: Your own API key, kept in the headset’s Keychain.
  4. Data collection: Episodes and tasks recorded so far.
  5. Permissions: Network, hand tracking, world sensing.
  6. Calibration profiles: One arms-forward pose scales its reach to yours; saved per pilot.
  7. Speed cap: The default top speed of the base.
iPhone · iOS

Your robot, in your pocket.

Three tabs, one thumb: Robot, Autonomy, Settings. It finds MABEL on Wi-Fi, Bluetooth or the secure relay, and falls back to an on-device demo robot, so every control works with no robot in the room. Slide through what each one does.

iPhone Robot tab: the 3D twin on a grid with Start Teleop above and the tab bar below
01 · ROBOT

The twin is the map

One full-screen 3D twin is both the live map and the controller.

  1. Robot: Pick which robot to drive: the twin or the real one.
  2. Connection: Wi-Fi, Bluetooth, relay or on-device demo; switch in one tap.
  3. E-STOP: Cuts torque at once; tap again for Torque ON.
  4. Start Teleop: Nothing moves until you press it.
  5. The twin: Its live pose in the map; tap the floor to send it there.
  6. 3rd | 1st: Flies the camera into its head and the live video takes over.
  7. Console: Pulls up voice, layers, cameras and telemetry.
  8. Tabs: Robot, Autonomy, Settings.
iPhone landscape Drive mode: translate stick, lift slider and rotate control around the 3D twin
02 · DRIVE

Drive from your thumbs

Turn the phone sideways and the controls spread out. Portrait works too.

  1. TRANSLATE: Slides the base any direction on its swerve wheels.
  2. LIFT: Spring-loaded: hold to raise or lower; the fill shows the height.
  3. ROTATE: Turns on the spot, kept apart so turning never moves the lift.
  4. Drive · Joint · Task: What your thumbs move.
  5. Stop Teleop: Stops and zeroes the base.
  6. E-STOP: Always top-right.
  7. 3rd | 1st: Drive from behind it or through its eyes.
iPhone Joint mode: a module rail on the left and left-arm joint sliders
03 · JOINT

Pose it joint by joint

Pick a body part, then set each joint with a slider.

  1. Module rail: Left or right arm, neck, hands, lift, torso.
  2. Joint sliders: One per joint, in degrees.
  3. Joint: The active control space.
  4. Tuning: Stiff or soft arms, gravity compensation.
iPhone Task mode: green wrist targets on the twin with grip sliders on each side
04 · TASK

Point where the hand goes

Drag a target; the planner solves the rest of the body.

  1. Wrist target: Drag the green ball, then Execute the plan.
  2. Arm · Upper · Whole: How much body the planner may use: arms, plus torso, plus the base.
  3. L grip: Opens and closes the left hand.
  4. R grip: And the right.
iPhone console sheet: voice, layer toggles, camera projections and point-cloud density
05 · CONSOLE

Everything else, one swipe up

A glass sheet over the live twin, so the map never goes away.

  1. Voice: Talk through the robot, or listen; the scope shows both levels.
  2. Layers: Mesh, 2D map, point cloud, LiDAR, cameras, grid, minimap, TF.
  3. Cam 3D: Which camera feeds are projected into the 3D scene.
  4. Projection size: How large each camera image hangs in 3D.
  5. Cloud density: Thin the point cloud for speed.
iPhone Autonomy Compose: 3D preview above a timeline of navigation, manipulation and voice clips
06 · COMPOSE

Edit a routine like a video

Clips on lanes, previewed on the twin, then run on the robot.

  1. Routine: Open, rename or save one.
  2. Auto-blend: Adds eased blends so no clip boundary makes it jump.
  3. Execute: Runs it on the robot after a confirm.
  4. Preview: Plays on the 3D model only.
  5. Library: Animations, poses, policies, nav moves.
  6. Lanes: NAV, MANIP, VOICE; higher rows win.
iPhone Autonomy Hub: assistant chat, robot control buttons and an automations week grid
07 · HUB

Or just ask it

The assistant, one-tap routines, and a weekly schedule.

  1. Assistant: Tell it what to do in plain words.
  2. Quick prompts: One tap: relax, go charge, battery.
  3. Voice: Speak instead of typing.
  4. Robot control: Dock, go home, sleep, security, speak through it.
  5. Automations: Routines it runs on its own, by the week.
iPhone Settings: status card and robots list, with robot names hidden
08 · SETTINGS

The boring, important bit

Connection, safety and limits, one card each.

  1. Status: Connection, latency, control mode, e-stop.
  2. Demo Mode: No robot near? The app runs its own simulator.
  3. Robots: Found on Wi-Fi, Bluetooth or the relay (names hidden here).
  4. Auto-connect: Reconnects to the best robot on launch.
  5. Bluetooth: Drive with no network at all.
Safety

Safe by construction, not by manual.

Safety isn't a settings page you're trusted to read — it's the spine of the interface. Three promises hold on every screen, on both devices, whether you're an operator or a first-time guest.

A

Stop, instantly

A red STOP rides every screen and never scrolls away — one tap freezes all motion. Sleep the phone, lift the headset, or lose the link and the robot freezes itself: a heartbeat means it only moves while a human is actively holding on.

B

Never too fast, never past a limit

A speed dial scales everything from a crawl to full tilt. Hard speed caps live on the robot itself, every joint stops short of its mechanical limit, and letting go holds the pose under gravity comp — nothing springs back at you.

C

Only the right hands, when armed

One driver holds the controls at a time; the robot must be explicitly armed to move; a stored access code gates every connection; and a live health panel flags a hot motor or a joint near its limit before it bites.

Networking

Networking: drive it from anywhere.

The operator can be on the other side of the planet. Pick a city: the budget is the great circle at fibre speed, the relay hops, and the measured on-robot pipeline — nothing hand-waved.

The operator in a Vision Pro beside MABEL. Six coordinate triads are drawn on the pair — the head frame on each, and a wrist frame on each hand — with dashed lines pairing the operator's to the robot's.
The frames the headset reports, and where they land. Head, both wrists, both elbows — paired, not copied. Photograph and annotation from the paper.
  1. Clutch Anchor at your shoulders, scale by your own span. a tall and a short operator drive it the same
  2. Permute One matrix, det = +1. x = za   y = ya   z = −xa so your left hand stays your left
  3. Gain ×1.3 forward, ×1.3 left, ×1.4 up. the lift, torso and base carry the long reaches

The one that bites: a palm frame built from anatomy is chirality-mirrored — palmar on the right hand, dorsal on the left. The robot's is palmar on both, so the left one is flipped first. Cost of forgetting, measured: 178.6°.

Your body and MABEL's do not agree about which way is forward, how long an arm is, or how wide a torso should be. Three steps reconcile them, and none is learned — the clutch is your own shoulder width, the permutation is one matrix, and the gain is six numbers in config.py.

Which headset? The Apple Vision Pro runs the native visionOS app — ARKit head pose plus a 27-joint skeleton per hand, and it is simultaneously visualizer, controller, and demonstration recorder. Other headsets (a PICO, a Quest) drive MABEL through the zero-install browser client instead — same wire protocol, no app store. All retargeting runs server-side either way.