> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeroruntime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ROS 2

> Control a ROS 2 robot from another machine over the internet.

The ROS 2 bridge lets you control a ROS 2 robot from anywhere over the internet.
It runs next to your existing drivers, so you don't need to change them.

You run one bridge on each machine:

* **Leader bridge** (`zrt-teleops-ros2-leader`): runs on the operator machine
  and reads the arm or device you move.
* **Follower bridge** (`zrt-teleops-ros2-follower`): runs on the robot machine
  and moves the robot to match the leader.

Both bridges join the same room to connect the two machines.

## How it works

```mermaid theme={null}
flowchart LR
    subgraph OP[Operator machine]
        A[Leader arm] --> B[Leader bridge]
    end
    subgraph RB[Robot machine]
        C[Follower bridge] --> D[Robot]
    end
    B -- joint positions --> C
    C -- video and state --> B
```

1. You move the leader arm, and its driver publishes the joint positions.
2. The leader bridge sends them to the robot machine.
3. The follower bridge passes them to your robot's controller, and the robot
   moves.
4. The follower bridge sends the robot's position and camera video back to the
   operator.

The robot only moves after the operator takes control. Your drivers stay in
charge of the motors.

## What you need

* Ubuntu 24.04 with ROS 2 Jazzy on each machine
* An [access token](https://app.videosdk.live/signup) and a room id.

On other 64-bit Linux (Raspberry Pi OS, Debian, Ubuntu 22.04, Jetson), you can
run the SO-101 example in Docker instead. See the
[example's Docker section](https://github.com/ZeroRuntimeAI/zrt-teleops-examples/tree/main/ros2#docker-any-64-bit-linux).

## Get started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/robotics/integrations/ros2/quickstart">
    Connect your own ROS 2 robot, step by step.
  </Card>

  <Card title="SO-101" icon="gears" href="/robotics/integrations/ros2/so101">
    Set up two SO-101 arms with a ready-made example.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.