Skip to main content
Reachy 2 is an advanced humanoid robot developed by Pollen Robotics. It features dual arms, a mobile base, an expressive neck/head, and integrated cameras for teleoperation and autonomous manipulation.

Overview

Reachy 2 is a modular humanoid platform designed for:
  • Research and development
  • Teleoperation applications
  • Human-robot interaction
  • Mobile manipulation tasks
  • Vision-based control

Key Features

  • Dual Arms: Left and right 7-DOF arms
  • Mobile Base: Holonomic mobile platform
  • Neck/Head: Expressive head movements
  • Antennas: Communication indicators
  • Cameras: Stereo teleop cameras + torso camera
  • Network Control: gRPC-based communication

Hardware Specifications

Robot Components

Reachy 2 consists of multiple modular parts:

Camera System

Reachy 2 includes three integrated cameras:
  • Teleop Left: Left eye camera (stereo pair)
  • Teleop Right: Right eye camera (stereo pair)
  • Torso RGB: Forward-facing torso camera
All cameras:
  • Resolution: 640x480 (configurable)
  • Frame rate: 30 FPS (fixed for Reachy 2)
  • Color mode: RGB
  • Network streaming via gRPC

Installation

Prerequisites

Reachy 2 requires network connectivity to the robot:
  1. Ensure Reachy 2 is powered on
  2. Connect to the same network as the robot
  3. Note the robot’s IP address (default: localhost for onboard control)

Software Installation

The Reachy 2 integration uses gRPC for communication with the robot’s SDK.

Configuration

Basic Configuration

Minimal Configuration (Arms Only)

Configuration Parameters

str
default:"localhost"
IP address of the Reachy 2 robot
int
default:"50065"
gRPC port for robot communication
bool
default:"true"
Include left arm in robot control
bool
default:"true"
Include right arm in robot control
bool
default:"true"
Include mobile base in robot control
bool
default:"true"
Include neck/head in robot control
bool
default:"true"
Include antennas in robot control
bool
default:"false"
Stream from left teleop camera
bool
default:"false"
Stream from right teleop camera
bool
default:"false"
Stream from torso RGB camera
int
default:"640"
Camera frame width
int
default:"480"
Camera frame height
float
Safety limit for maximum position change per action
bool
default:"false"
Whether to call turn_off_smoothly() on disconnect
bool
default:"false"
Set to True if using external teleoperation system. When True, send_action() will not send commands.

Usage

Basic Connection

Observation Format

Action Format

Advanced Features

External Commands Mode

If using Pollen Robotics’ official teleoperation application:

Modular Part Selection

Enable only the parts you need:
At least one robot part must be enabled, or the configuration will raise a ValueError.

Safety Limiting

Safe Shutdown

Camera Configuration

Reachy 2 cameras are automatically configured when enabled:
Camera configurations are created automatically:
  • Frame rate is fixed at 30 FPS (Reachy 2 hardware limitation)
  • Color mode is RGB
  • Cameras stream via the same gRPC connection

Network Setup

On-Board Control (Localhost)

Remote Control

Firewall Configuration

Ensure port 50065 is open for gRPC communication:

Teleoperation

Reachy 2 is designed for teleoperation:

VR/Teleoperation Integration

If using Pollen Robotics’ teleoperation app:

Custom Teleoperation

Troubleshooting

Connection Failed

No Parts Enabled

Camera Stream Issues

Slow Performance

Implementation Details

  • Communication: gRPC protocol
  • Configuration: /home/daytona/workspace/source/src/lerobot/robots/reachy2/configuration_reachy2.py
  • Camera auto-configuration in __post_init__
  • Modular part system
  • Network-based control

Robot Overview

See all supported robots

Reachy 2 Camera

Camera-specific documentation

Recording Data

Record humanoid demonstrations

Teleoperation

Teleoperation setup

External Resources