reachy_mini_testbench / index.html
cduss's picture
rebranding
f23e0dd
raw
history blame
7.1 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Reachy Mini Debug & CI Testbench</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<header>
<h1>๐Ÿ”ง Reachy Mini Debug & CI Testbench</h1>
<p class="subtitle">Comprehensive debugging and validation tool for Reachy Mini</p>
</header>
<section class="intro">
<p>A professional web-based toolbox for debugging, testing, and validating Reachy Mini robots. Perfect for development, CI/CD pipelines, and quality assurance.</p>
</section>
<section class="features">
<h2>Features</h2>
<div class="feature-grid">
<div class="feature-card">
<h3>๐Ÿ“Š Robot Status</h3>
<ul>
<li>Real-time head pose (roll, pitch, yaw)</li>
<li>Detailed motor positions (9 motors)</li>
<li>Connection status monitoring</li>
</ul>
</div>
<div class="feature-card">
<h3>๐ŸŽฎ Movement Control</h3>
<ul>
<li>Head position control with sliders</li>
<li>Antenna position control</li>
<li>Quick actions (Zero, Wake Up, Sleep)</li>
<li>Adjustable movement duration</li>
</ul>
</div>
<div class="feature-card">
<h3>๐Ÿ“ท Camera</h3>
<ul>
<li>Live MJPEG camera stream</li>
<li>Capture and save images</li>
<li>Download captured images</li>
<li>Manage saved captures</li>
</ul>
</div>
<div class="feature-card">
<h3>๐ŸŽค Audio Recording</h3>
<ul>
<li>Record from robot's microphone</li>
<li>Playback through robot's speaker</li>
<li>Download recordings as WAV files</li>
<li>Manage recording library</li>
</ul>
</div>
<div class="feature-card">
<h3>โœ… Rotation Validation Test</h3>
<ul>
<li>Automated rotation accuracy testing</li>
<li>ORB feature matching for validation</li>
<li>Expected vs actual comparison</li>
<li>PASS/FAIL results with metrics</li>
</ul>
</div>
</div>
</section>
<section class="usage">
<h2>Usage</h2>
<div class="code-block">
<h3>Installation</h3>
<pre><code>pip install -e .</code></pre>
</div>
<div class="code-block">
<h3>Run as Reachy Mini App (daemon on)</h3>
<pre><code>reachy-mini app run reachy_mini_testbench</code></pre>
</div>
<div class="code-block">
<h3>Direct Launch</h3>
<pre><code>python -m reachy_mini_testbench.main</code></pre>
</div>
<p>Once running, open <strong>http://localhost:8042</strong> in your browser to access the toolbox interface.</p>
</section>
<section class="api">
<h2>API Endpoints</h2>
<div class="api-section">
<h3>Status</h3>
<ul>
<li><code>GET /api/status</code> - Get robot status and head pose</li>
<li><code>GET /api/motor_status</code> - Get detailed motor positions</li>
</ul>
</div>
<div class="api-section">
<h3>Movement</h3>
<ul>
<li><code>POST /api/move_head</code> - Move head to specified orientation</li>
<li><code>POST /api/move_antennas</code> - Move antennas</li>
<li><code>POST /api/go_to_zero</code> - Move to neutral position</li>
<li><code>POST /api/wake_up</code> - Execute wake up behavior</li>
<li><code>POST /api/go_to_sleep</code> - Execute sleep behavior</li>
</ul>
</div>
<div class="api-section">
<h3>Camera</h3>
<ul>
<li><code>GET /api/camera/stream</code> - MJPEG camera stream</li>
<li><code>GET /api/camera/capture</code> - Capture single frame</li>
<li><code>POST /api/camera/save</code> - Save current frame</li>
<li><code>GET /api/camera/list</code> - List saved captures</li>
<li><code>GET /api/camera/download/{filename}</code> - Download capture</li>
<li><code>DELETE /api/camera/delete/{filename}</code> - Delete capture</li>
</ul>
</div>
<div class="api-section">
<h3>Audio</h3>
<ul>
<li><code>POST /api/audio/start_recording</code> - Start recording</li>
<li><code>POST /api/audio/stop_recording</code> - Stop and save recording</li>
<li><code>GET /api/audio/list</code> - List recordings</li>
<li><code>GET /api/audio/download/{filename}</code> - Download recording</li>
<li><code>POST /api/audio/play/{filename}</code> - Play on robot</li>
<li><code>DELETE /api/audio/delete/{filename}</code> - Delete recording</li>
</ul>
</div>
<div class="api-section">
<h3>Validation Tests</h3>
<ul>
<li><code>POST /api/test/rotation_validation</code> - Run rotation test</li>
<li><code>GET /api/test/last_rotation_result</code> - Get last test result</li>
</ul>
</div>
</section>
<section class="storage">
<h2>File Storage</h2>
<ul>
<li><strong>Recordings:</strong> <code>/tmp/reachy_mini_testbench/recordings/</code></li>
<li><strong>Captures:</strong> <code>/tmp/reachy_mini_testbench/captures/</code></li>
</ul>
</section>
<footer>
<p>Built for <a href="https://www.pollen-robotics.com/" target="_blank">Pollen Robotics</a> Reachy Mini</p>
<p>
<a href="https://github.com/pollen-robotics/reachy-mini" target="_blank">Documentation</a> |
<a href="https://huggingface.co/blog/pollen-robotics/make-and-publish-your-reachy-mini-apps" target="_blank">App Guide</a>
</p>
</footer>
</div>
</body>
</html>