Teleoperation
How an operator connects to a robot and runs a session.
An operator uses the Sentinel app on a Meta Quest 3 or 3S to drive a connected robot. Controller motion is retargeted to the robot's end effector; the trigger drives the gripper.
Robot states
A robot moves through these states during a session:
| State | Meaning |
|---|---|
DISARMED | Motors are not under Sentinel control. The initial state. |
ARMING / CALIBRATING / HOMING | The robot is arming and moving to its configured pose. Keep the workspace clear. |
ARMED | Ready. The robot holds position and waits for teleoperation to start. |
TELEOP_ACTIVE | The operator is driving the robot. |
E_STOP | A fault stopped the robot — for example a stale joint-state stream. Resolve the cause before re-arming. |
Default controls
Controller bindings come from the robot configuration; these are the defaults shipped in the configuration templates:
| Input | Action |
|---|---|
| Grip (hold) | Start teleoperation for that hand's arm; releasing stops it |
| Trigger | Drive the gripper |
| A button | Arm all systems when disarmed; move to the start pose when already armed |
| A button (long press) | Send all systems home |
| B button | Disarm all systems |
| X button | Progress the episode: start one if none is active, advance to the next subtask, and on the last subtask finish the episode as successful |
| Y button | Fail the current subtask and the episode |
| Y button (long press) | Delete the most recent episode |
On bimanual robots each hand drives its own arm, and joystick input can be mapped to live velocity scaling.
Session flow
Select a robot
Sign in to the operator app and choose an available robot.
Check the camera views
Confirm that each required camera is live and shows the expected view.
Arm the robot
Press A to arm, then press A again to move to the start pose. Keep the workspace clear while the robot moves.
Start teleoperation
Hold the grip button to drive. Releasing it stops teleoperation and returns the robot to its ready state.
End the session
Stop teleoperation, disarm with B, and close the session when collection is complete.
Keep a physical emergency stop within reach whenever the robot can move. Do not rely on the headset or network as the only emergency-stop path.
Next step
Collect data
Record teleoperation episodes and manage their outcomes.