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
- Item: Reachy Mini (Wireless Unit - Full Assembly Kit)
- Cost: $449.00 USD
- Manufacturer: Pollen Robotics & Hugging Face
- Order Location: Pollen Robotics Store / Hugging Face Reachy Mini Portal
- Official Documentation: Hugging Face Reachy Mini Docs
- Strategic Priority: Very Low (Procure when quarterly budget allows)
๐ธ 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. |