Reachy Mini 开源机器人快速上手:三步搭出会动的桌面机器人
【免费下载链接】reachy_miniReachy Mini's SDK项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini
Reachy Mini 是一台 9 个 Dynamixel 电机、头部 6 自由度的开源桌面机器人,它解决一个具体问题:让你写的代码能驱动一个会动、会看、会说、会听的实体。它的 Python SDK、REST API 与浏览器 SDK 都出自本仓库,没有硬件也能用 MuJoCo 仿真起步。适合创客新手,以及想给 AI 一个物理载体的开发者。
📋 项目速览
| 项目 | 信息 |
|---|---|
| 定位 | 开源桌面机器人 + 配套 SDK(Python / JavaScript) |
| 硬件 | 9 个 Dynamixel 电机、RPi CM4、12MP 广角摄像头、4 麦克风阵列、5W 喇叭 |
| 技术栈 | Python 3.10–3.12、FastAPI daemon(REST + WebSocket)、MuJoCo 仿真、TypeScript 浏览器 SDK |
| 许可证 | 软件 Apache 2.0,硬件设计文件 CC BY-SA-NC |
| 入门成本 | 零硬件:--sim仿真跑在任何电脑上;真机套件组装约 2–3 小时 |
- 只想先写代码:选仿真模式,SDK 能力完整覆盖,一分钱不花。
- 想要桌面上一个能自主运行的"伙伴":选 Wireless 版(RPi CM4 + 电池 + WiFi,机身 30×20×15.5cm,1.475kg)。
- 习惯 USB 接自己的电脑开发:选 Lite 版。
Reachy Mini 的组件构成:底座、斯图尔特平台与头部在一张图里看全
🔍 亮点深拆:6 自由度头部与 Client-Server 架构
要解决什么问题:桌面机器人如果只有几个铰链,动作僵硬,没法"注视"你。怎么在有限成本内做出类人的头部姿态?
怎么实现的:Reachy Mini 用斯图尔特并联机构——6 个 XL330-M288-T 线性执行器经球铰连接上下平台,再由 Rust 写的运动学引擎(reachy-mini-rust-kinematics)解正逆运动学,daemon 里 50Hz 的电机控制循环(约 20ms 一圈)负责执行。头部因此拿到 6 个自由度(3 旋转 + 3 平移),加上身体偏航和 2 根天线,整机共 9 个电机。
实际效果:一行goto_target(head=...)就能让头部在空间里平滑位移;命令超出安全范围(头俯仰/横滚 ±40°、身体偏航 ±160°、头身偏航差 ≤65°)时,SDK 会自动钳到最近的安全姿态,不怕写飞。
第二个辨识点是 Client-Server 拆分:daemon 是服务端,管 USB/串口、安全检查、传感器,在 8000 端口暴露 REST API 和 WebSocket;SDK 只是连到 daemon 的 Python 客户端。好处是 AI 代码可以跑在强力电脑上,daemon 留在机器人那颗 RPi 上,各干各的。
Reachy Mini 头部的 6 个自由度:3 旋转 + 3 平移,由 6 根执行器协同完成
🚀 三步上手:第一次跑起来只需 3 步
第一步 环境准备(约 5 分钟)
要求 Python 3.10–3.12、Git 和 Git LFS,建议装 uv 提速。装 SDK 只需一行:
uv pip install "reachy-mini"想改 SDK 源码或贡献代码,就从https://gitcode.com/GitHub_Trending/re/reachy_miniclone 后uv sync,见 docs/source/SDK/installation.md。
第二步 第一次跑起来(约 10 分钟)
没硬件就装仿真依赖uv pip install "reachy-mini[mujoco]",然后启动 daemon:
reachy-mini-daemon --simMuJoCo 3D 窗口弹出后,浏览器打开http://localhost:8000/docs,看到 API 文档即就绪。新开一个终端,把官方 quickstart(docs/source/SDK/quickstart.md)的脚本存成 hello.py:
from reachy_mini import ReachyMini with ReachyMini() as mini: mini.goto_target(antennas=[0.5, -0.5], duration=0.5)python hello.py仿真机器人天线晃起来,整条链路就通了。真机 Wireless 版 daemon 常驻在 RPi 上,同一网络下把地址换成reachy-mini.local:8000即可。
第三步 第一次改出效果(约 20 分钟)
改 examples/head_tracking.py:它用start_head_tracking()让头跟着你的脸转,改打印逻辑或加声音反馈都是一两行的事。或者直接脚手架一个自己的应用:
reachy-mini-app-assistant create my_app_name ./my_app --publish🛡 避坑清单
| 现象 | 原因 | 解法 |
|---|---|---|
| 指令被接受但机器人不动、无报错 | 电机未使能(应用退出/daemon 刚启动后处于睡眠态) | 先mini.enable_motors()+wake_up(),或用 Reachy Mini Control 唤醒 |
| 电机闪红灯 / "Overload Error" | 电机装错槽位或 ID、波特率刷错 | 用 Testbench 应用 Scan Motors 重扫,对错误 ID 的电机 reflash |
| 麦克风录出来是静音 | 麦克风 FPC 排线插反 | 白蓝线蓝色一侧朝上;黑线 "Main Board" 字样朝上 |
| 会议/酒店 WiFi 下连不上机器人 | 网络开了客户端隔离,同网段设备互不可达 | 机器人和电脑都改连手机热点 |
| 头部运动时有吱吱摩擦声 | 斯图尔特平台球铰磨损 | 按 docs/source/troubleshooting/spherical_joints_maintenance.md 清洁并重新注油 |
Reachy Mini 的 9 个电机:6 个斯图尔特执行器、2 个天线舵机、1 个底座
🧩 进阶玩法
- 改 examples/recorded_moves.py → 得到你自己的动作库:控制循环里调
start_recording()/stop_recording()录下手势,之后play_move()随时回放,动作数据还能分享出去。 - 改 ts/ 里的浏览器 SDK → 得到零安装的 Web App:npm 包
@pollen-robotics/reachy-mini-sdk通过 WebRTC 驱机器器,任何浏览器都是遥控器,用的人什么都不用装。完整脚手架看 ts/APP_CREATION_GUIDE.md。 - 改 daemon 的 OpenAPI → 得到任意语言的控制入口:
http://localhost:8000/openapi.json是完整接口定义,可生成客户端、接你的 AI 应用,甚至自建 MCP server。
遇到问题直接去仓库 Issue 区提问,docs/source/troubleshooting.md 的 FAQ 已覆盖大多数高频毛病。你的下一步:现在就跑一条reachy-mini-daemon --sim,10 分钟内让 hello.py 把天线晃起来。
【免费下载链接】reachy_miniReachy Mini's SDK项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考