---
title: "Teleoperating Robots"
section: "Tutorials"
order: 125
description: "Teleoperating Robots — Vuer documentation"
---

import { SceneEmbed } from '@docs/components/Docs'

# Teleoperating Robots

The documentations in this page will show you how to visualize stereo video streams inside vuer, and send the hand and motion controller data to the robot to control them.

## A WebRTC Example

```python
from vuer import Vuer, VuerSession
from vuer.schemas import MuJoCo, HandActuator

app = Vuer(port=8012)


@app.spanw(start=True)
async def main(sess: VuerSession):
    print("client is connected!")

    pref = ""

    sess.upsert @
```

Here would be the result

<SceneEmbed width="100%" height="500px" src="https://vuer.ai/editor?background=131416,fff&collapseMenu=true&scene=3gAFqGNoaWxkcmVukd4ACKhjaGlsZHJlbpHeAAOoY2hpbGRyZW6Qo3RhZ6xIYW5kQWN0dWF0b3Kja2V5sHBpbmNoLW9uLXNxdWVlemWjdGFnpk11Sm9Db6NrZXmuZnJhbmthLWdyaXBwZXKjc3Jj2UxodHRwczovL2RvY3MudnVlci5haS9lbi9sYXRlc3QvX3N0YXRpYy9tdWpvY29fc2NlbmVzL2dyaXBwZXJfbW9kZWwvc2NlbmUueG1spmFzc2V0c5vZVWh0dHBzOi8vZG9jcy52dWVyLmFpL2VuL2xhdGVzdC9fc3RhdGljL211am9jb19zY2VuZXMvZ3JpcHBlcl9tb2RlbC9mcmFua2FfZ3JpcHBlci54bWzZVmh0dHBzOi8vZG9jcy52dWVyLmFpL2VuL2xhdGVzdC9fc3RhdGljL211am9jb19zY2VuZXMvZ3JpcHBlcl9tb2RlbC9hc3NldHMvZmluZ2VyXzAub2Jq2VZodHRwczovL2RvY3MudnVlci5haS9lbi9sYXRlc3QvX3N0YXRpYy9tdWpvY29fc2NlbmVzL2dyaXBwZXJfbW9kZWwvYXNzZXRzL2Zpbmdlcl8xLm9iatlSaHR0cHM6Ly9kb2NzLnZ1ZXIuYWkvZW4vbGF0ZXN0L19zdGF0aWMvbXVqb2NvX3NjZW5lcy9ncmlwcGVyX21vZGVsL2Fzc2V0cy9oYW5kLnN0bNlUaHR0cHM6Ly9kb2NzLnZ1ZXIuYWkvZW4vbGF0ZXN0L19zdGF0aWMvbXVqb2NvX3NjZW5lcy9ncmlwcGVyX21vZGVsL2Fzc2V0cy9oYW5kXzAub2Jq2VRodHRwczovL2RvY3MudnVlci5haS9lbi9sYXRlc3QvX3N0YXRpYy9tdWpvY29fc2NlbmVzL2dyaXBwZXJfbW9kZWwvYXNzZXRzL2hhbmRfMS5vYmrZVGh0dHBzOi8vZG9jcy52dWVyLmFpL2VuL2xhdGVzdC9fc3RhdGljL211am9jb19zY2VuZXMvZ3JpcHBlcl9tb2RlbC9hc3NldHMvaGFuZF8yLm9iatlUaHR0cHM6Ly9kb2NzLnZ1ZXIuYWkvZW4vbGF0ZXN0L19zdGF0aWMvbXVqb2NvX3NjZW5lcy9ncmlwcGVyX21vZGVsL2Fzc2V0cy9oYW5kXzMub2Jq2VRodHRwczovL2RvY3MudnVlci5haS9lbi9sYXRlc3QvX3N0YXRpYy9tdWpvY29fc2NlbmVzL2dyaXBwZXJfbW9kZWwvYXNzZXRzL2hhbmRfNC5vYmrZUWh0dHBzOi8vZG9jcy52dWVyLmFpL2VuL2xhdGVzdC9fc3RhdGljL211am9jb19zY2VuZXMvZ3JpcHBlcl9tb2RlbC9hc3NldHMvYmluLnhtbNlTaHR0cHM6Ly9kb2NzLnZ1ZXIuYWkvZW4vbGF0ZXN0L19zdGF0aWMvbXVqb2NvX3NjZW5lcy9ncmlwcGVyX21vZGVsL2Fzc2V0cy90YWJsZS54bWypdXNlTGlnaHRzw6d0aW1lb3V0zgAPQkClc2NhbGXLP7mZmaAAAACrcmF3Q2hpbGRyZW6QqmJnQ2hpbGRyZW6T3gAHqGNoaWxkcmVukKN0YWejZm9no2tleaNmb2emYXR0YWNoo2ZvZ6Vjb2xvcs4ALD9XpG5lYXIKo2ZhchTeAAioY2hpbGRyZW6Qo3RhZ6VIYW5kc6NrZXmlaGFuZHOjZnBzHqpldmVudFR5cGVzkadzcXVlZXplpnN0cmVhbcKkbGVmdMClcmlnaHTA3gAGqGNoaWxkcmVukKN0YWemU3BoZXJlo2tleaE1pGFyZ3OTMgoKrG1hdGVyaWFsVHlwZaViYXNpY6htYXRlcmlhbN4AAqVjb2xvcs4ALD9XpHNpZGUBrGh0bWxDaGlsZHJlbpClc2NlbmXeAAWocG9zaXRpb27eAAOheACheQChegCocm90YXRpb27eAAOheACheQChegClc2NhbGUBonVwkwABAKN0YWelU2NlbmU%3D" title="MuJoCo block stacking example" />

- [MuJoCo Cassie](/tutorials/physics/mujoco_wasm)
- [MoCap Control](/tutorials/physics/mocap_control)
- [Hand Control](/tutorials/physics/mocap_hand_control)
- [Example Gallery](/tutorials/physics/mujoco_gallery)
