🔧 Reachy Mini Debug & CI Testbench

Comprehensive debugging and validation tool for Reachy Mini

A professional web-based toolbox for debugging, testing, and validating Reachy Mini robots. Perfect for development, CI/CD pipelines, and quality assurance.

Features

📊 Robot Status

  • Real-time head pose (roll, pitch, yaw)
  • Detailed motor positions (9 motors)
  • Connection status monitoring

🎮 Movement Control

  • Head position control with sliders
  • Antenna position control
  • Quick actions (Zero, Wake Up, Sleep)
  • Adjustable movement duration

📷 Camera

  • Live MJPEG camera stream
  • Capture and save images
  • Download captured images
  • Manage saved captures

🎤 Audio Recording

  • Record from robot's microphone
  • Playback through robot's speaker
  • Download recordings as WAV files
  • Manage recording library

✅ Rotation Validation Test

  • Automated rotation accuracy testing
  • ORB feature matching for validation
  • Expected vs actual comparison
  • PASS/FAIL results with metrics

Usage

Installation

pip install -e .

Run as Reachy Mini App (daemon on)

reachy-mini app run reachy_mini_testbench

Direct Launch

python -m reachy_mini_testbench.main

Once running, open http://localhost:8042 in your browser to access the toolbox interface.

API Endpoints

Status

  • GET /api/status - Get robot status and head pose
  • GET /api/motor_status - Get detailed motor positions

Movement

  • POST /api/move_head - Move head to specified orientation
  • POST /api/move_antennas - Move antennas
  • POST /api/go_to_zero - Move to neutral position
  • POST /api/wake_up - Execute wake up behavior
  • POST /api/go_to_sleep - Execute sleep behavior

Camera

  • GET /api/camera/stream - MJPEG camera stream
  • GET /api/camera/capture - Capture single frame
  • POST /api/camera/save - Save current frame
  • GET /api/camera/list - List saved captures
  • GET /api/camera/download/{filename} - Download capture
  • DELETE /api/camera/delete/{filename} - Delete capture

Audio

  • POST /api/audio/start_recording - Start recording
  • POST /api/audio/stop_recording - Stop and save recording
  • GET /api/audio/list - List recordings
  • GET /api/audio/download/{filename} - Download recording
  • POST /api/audio/play/{filename} - Play on robot
  • DELETE /api/audio/delete/{filename} - Delete recording

Validation Tests

  • POST /api/test/rotation_validation - Run rotation test
  • GET /api/test/last_rotation_result - Get last test result

File Storage