SI
Sentinel Integrations
โ† Back to Research Index

Reachy Mini: MuJoCo Simulation & Hardware Tracking Plan

Date: June 28, 2026

Status: SANDBOX / BACKLOG (Very Low Priority)

Primary Host Target: Local Inference Node (Apple M4 Pro Mac mini, 24GB Unified Memory, macOS)


๐ŸŽฏ Executive Summary

This plan outlines the setup of a physical simulation playground for the Reachy Mini open-source robot. By targeting the macOS host (Local Inference Node), we leverage Apple Siliconโ€™s high-performance memory bandwidth and Metal graphics acceleration to run physics-accurate simulations smoothly via MuJoCo.

This simulated playground provides a zero-cost sandbox to design and test vision-language-action (VLA) controllers, joint animations, and expressive gestures using local models (e.g., Gemma, SmolVLM2) before deploying to physical hardware. Additionally, this document serves as the formal tracking record and hardware snapshot for the Reachy Mini (Wireless Unit) to guide future equipment procurement.


๐Ÿ—๏ธ Phase 1: MuJoCo Simulation Setup on Local Inference Node (macOS)

Running the simulation on Local Inference Node avoids system clutter on the primary Linux host (Orchestrator Node) while maximizing graphics rendering performance.

๐Ÿ“‹ Prerequisites & Dependency Mapping

Verify and install the following standard packages inside a dedicated python virtual environment on Local Inference Node:

# Initialize virtual environment
python3 -m venv ~/topics/research/reachy_mini_sim_env
source ~/topics/research/reachy_mini_sim_env/bin/activate

# Install core packages
pip install --upgrade pip
pip install mujoco numpy

๐Ÿ› ๏ธ SDK Installation & Testing

1. Clone the Official Repository:

`bash

git clone https://github.com/pollen-robotics/reachy_mini.git ~/topics/research/reachy_mini_sdk

cd ~/topics/research/reachy_mini_sdk

`

2. Install the SDK in Editable Mode:

`bash

pip install -e .

`

3. Verify the Physics Simulation Viewer:

Load the XML MJCF model inside the interactive MuJoCo rendering window to test joint kinematics:

`bash

python -m reachy_mini.sim.viewer

`

4. Basic Scripted Interaction:

Draft a lightweight test script (test_sim_movement.py) to programmatically verify motor/joint actions:

`python

import time

from reachy_mini import ReachyMini

# Connect to simulated instance

robot = ReachyMini(simulated=True)

print("Testing antenna movement...")

robot.antennas.left.speed = 50

robot.antennas.right.speed = 50

# Emote loop

for _ in range(3):

robot.antennas.left.goal_position = 45

robot.antennas.right.goal_position = -45

time.sleep(1.0)

robot.antennas.left.goal_position = -45

robot.antennas.right.goal_position = 45

time.sleep(1.0)

robot.antennas.left.goal_position = 0

robot.antennas.right.goal_position = 0

print("Antenna verification complete.")

`


๐Ÿ“ก Phase 2: Hardware Acquisition & Tracker

The Wireless Unit is identified as an exceptional, high-yield architectural fit for local sensory and edge-computing experiments.

๐Ÿ’ณ Purchasing Directory


๐Ÿ“ธ On-Board Hardware Snapshot

A detailed structural inventory of the physical Reachy Mini Wireless Unit components to guide software design and interface planning:

| Subsystem | Component Details | Architectural Role / Capabilities |

| :--- | :--- | :--- |

| Compute | Raspberry Pi CM4 (Compute Module 4) | Runs the localized custom reachy-mini-os build, managing real-time low-level motor serial comms via custom Rust motor controllers (reachy-mini-motor-controller). |

| Connectivity | Dual-band WiFi (2.4/5GHz) & Bluetooth 5.0 / BLE | Supports completely autonomous, untethered operation, broadcasting interactive visual/audio feeds using local WebRTC (fastrtc) over the local network. |

| Power | On-Board Rechargeable LiPo Battery | Enables untethered desktop mobility and autonomous desk patrols. |

| Physical Spec | Height: 28 cm (23 cm asleep)
Width: 16 cm
Weight: 1.5 kg | Compact, stable desktop form factor. Built as a 3D-printable, easy-to-assemble kit (2-3 hours build time). |

| Kinematics (Head)| 6-DoF Orbita Parallel Joint (Pollen Custom) | Allows highly expressive, fluid physical head tracking, tilting, nodding, and complex visual sweeps. |

| Kinematics (Body)| 360-Degree Continuous Waist Rotation | Supports panning its head and sensors to view the entire room/surroundings. |

| Kinematics (Face)| 2 motorized animated antennas | Act as mechanical "eyebrows" to physicalize emotional states (curiosity, sadness, surprise, anger). |

| Vision Sensor | Wide-Angle Camera | Feeds the visual processing loop. Supports local vision models (YOLO, MediaPipe, SmolVLM2) for chess-piece tracking, face-following, and object identification. |

| Audio I/O | 4-Microphone Spatial Array
5W Internal Speaker | Captures room audio and supports direction-of-arrival (DoA) physical head alignment; delivers high-fidelity local TTS speech response directly to the room. |

| IMU | On-Board Accelerometer & Gyroscope | Provides physical posture/tilt tracking to balance head movements dynamically and stabilize the camera feed. |