开源情感机器人Reachy Mini快速上手:从零组装到AI对话的桌面机器人开发全攻略
【免费下载链接】reachy_miniReachy Mini's SDK项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini
想象这样一个场景:你加班到深夜,桌面上那台巴掌大的机器人转头看向你,两根天线轻轻竖起,像宠物听到主人回家一样"打了个招呼"。这不是科幻电影,而是开源情感机器人Reachy Mini的日常。今天这篇文章,就是一份面向零基础新手的桌面机器人开发全攻略——不堆术语、不绕弯子,带你把这台会"卖萌"的机器人从零件盒一路玩到能接AI大模型。
为什么说它是"会表达情绪"的机器人?
先说结论:Reachy Mini不是那种只会原地转圈的玩具,而是一台真正为"人机交互"设计的开源情感机器人。它的灵魂在于那颗6自由度斯图尔特平台头部——三根伸缩连杆托起整个脑袋,能实现抬头、歪头、点头、转动等接近人类的细腻动作,加上身体旋转和两根独立转动的天线,一共9个自由度。
真正有意思的是那两根天线。它们不只是装饰,而是机器人的"耳朵"和"心情晴雨表":开心时竖起,疑惑时左右摇摆,困了会垂下来。配合自带的"唤醒""犯困"等音效,Reachy Mini能在几行代码内完成一套完整的情绪表达。相比传统机器人冷冰冰的机械感,这种拟人化设计让交互变得格外亲切。
而最打动人的是它的开源属性:从3D打印的STL零件文件、电机配置,到完整的Python/JavaScript SDK,全部开放。你可以改结构、换传感器、写自己的行为逻辑,甚至给社区贡献新的"性格"。
硬件拆解:30厘米小身体里藏了什么?
Reachy Mini整机约30×20×15.5厘米,重1.4公斤出头,是标准的桌面尺寸。拆开外壳,核心配置相当扎实:
- 电机系统:底座1个定制Dynamixel XC330电机负责身体旋转,6个XL330电机驱动斯图尔特平台的六根连杆,2个XL330电机控制天线,共9颗电机协同工作
- 视觉:120°广角摄像头,1200万像素带自动对焦,可实时输出视频流
- 听觉:4麦克风阵列,支持声源定位(能判断声音来自哪个方向),内置5W扬声器
- 大脑:无线版内置树莓派Compute Module 4(4GB内存),带IMU惯性传感器和Wi-Fi,完全自主运行
- 安全设计:软件限位自动钳制、碰撞检测、过流/过温保护,电池自带BMS管理芯片
两颗关键细节:头部俯仰和横滚限制在±40°,身体旋转±160°,头部与身体的偏航差不能超过65°——这些安全限制由SDK自动强制执行,即使你写错坐标,机器人也会自动收回到安全姿态,不会"扭断脖子"。此外支持"重力补偿"模式,电机保持通电但松弛,你可以用手掰动它的头教它动作,这就是"演示教学"的基础。
三步装好自己的桌面机器人:克隆、装依赖、连接
上手流程比想象中简单,核心就三步。
第一步:拉取代码并安装SDK。打开终端,克隆项目仓库:
git clone https://gitcode.com/GitHub_Trending/re/reachy_mini cd reachy_mini pip install -e .建议用uv代替pip,安装速度能快10~100倍(项目会自动检测,找不到就回退到pip)。装完记得建一个Python虚拟环境,避免包冲突。
第二步:选择你的连接方式。项目提供三个版本,按需挑选:
| 版本 | 连接方式 | 适用人群 |
|---|---|---|
| Reachy Mini(无线版) | 机身自带树莓派+Wi-Fi,开箱即连 | 想拥有"全自主"机器人的人 |
| Reachy Mini Lite(有线版) | USB直连电脑,用台式机算力驱动 | 开发者、预算有限的玩家 |
| 模拟器版 | 无需硬件,MuJoCo物理引擎 | 零成本入门、先学后买 |
无线版首次使用需下载Reachy Mini Control桌面应用,按引导把机器人连上你家Wi-Fi;Lite版插上USB即可;模拟器版直接跑一条命令就弹出3D窗口。
第三步:启动守护进程。Reachy Mini采用客户端-服务器架构:守护进程(Daemon)负责和电机、传感器打交道,你的代码通过SDK连接它。Lite和模拟器版在终端运行reachy-mini-daemon --sim(加--sim就是模拟器),无线版开机即自动运行。浏览器打开http://localhost:8000/docs能看到完整的API文档,看到它就算就绪了。
第一行代码:让机器人跟你打招呼
装好环境后,用Python写个十几行的脚本就能让机器人动起来。先来个最经典的"天线摇摆"问候:
from reachy_mini import ReachyMini with ReachyMini() as mini: mini.goto_target(antennas=[0.5, -0.5], duration=0.5) # 左天线抬,右天线落 mini.goto_target(antennas=[-0.5, 0.5], duration=0.5) # 换边 mini.goto_target(antennas=[0, 0], duration=0.5) # 归位这段代码做了一件很"拟人"的事:像人左右歪头一样让两根天线交替摆动。duration=0.5表示每次动作花0.5秒平滑完成,看起来自然不生硬。
接着让机器人抬头看你——这是项目文档里的经典示例:
from reachy_mini import ReachyMini from reachy_mini.utils import create_head_pose with ReachyMini() as mini: mini.goto_target( head=create_head_pose(z=10, roll=15, degrees=True, mm=True), duration=1.0 )create_head_pose(z=10, roll=15)的意思是:头抬高10毫米、侧倾15度。degrees=True和mm=True让单位一目了然——角度用度、距离用毫米,不用猜弧度。你甚至可以让它"看向"三维空间里的某个点:
mini.look_at_world(x=0.3, y=0.2, z=0.5)这句话的含义是"让机器人的视线对准面前30厘米、偏右20厘米、高50厘米的那个位置",它会自动反解出九个电机各自该转多少。动作插值支持linear(线性)、minjerk(最小加加速度,默认)、ease_in_out、cartoon四种风格——换一种插值,同一个动作的"气质"就完全不一样。
进阶玩法:让它看、听、说、追
机器人的价值不止在动,更在感知。SDK把这些能力封装得相当顺手。
看:一行代码拿到摄像头画面,返回的就是numpy数组,可直接丢给OpenCV:
frame = mini.media.get_frame() # 返回 (高, 宽, 3) 的 uint8 数组听:4麦克风阵列不仅能录音,还能算声源方向:
doa, is_speech = mini.media.get_DoA() # 返回声源角度和是否检测到人声追:开启人脸追踪,机器人会盯住最近的人脸并让头跟着转,瞄准鼻子位置:
mini.start_head_tracking() face = mini.get_tracked_face() # 返回 detected, x, y, roll说:把音频样本推给扬声器播放,配合语音合成就能让它开口说话;还能录下你用手掰出来的动作序列并回放——start_recording()开始录、stop_recording()结束、play_move()回放,一套"演示教学+复现"闭环就完成了。
开源机器人AI集成:给机器人装上"大脑"
Reachy Mini的目标用户是AI开发者,所以AI集成是它的主场。官方提供了一条完整的"应用化"路径:用CLI工具生成应用骨架,直接发布到Hugging Face Spaces,任何人点开链接就能通过浏览器控制你的机器人——底层用WebRTC传输视频、音频和指令,对方不需要装任何软件。
目前官方商店里已经有不少现成玩法:
- 对话应用:集成LLM,实现自然语音对话(语音检测+大模型+语音合成三件套)
- 手势跟踪:实时追踪你的手,机器人跟着你的手势动
- 电台应用:让机器人陪你听广播
想自己搞定制AI管线也完全可行。比如你有个自研的OpenCV检测器或Whisper语音识别,只需要初始化时加一个参数media_backend="no_media",SDK就会释放摄像头和麦克风硬件,把控制权交给你自己的代码。另外,daemon暴露了完整的REST API和WebSocket接口(/api/state/full、/api/state/ws/full),想用非Python语言写控制器、做仪表盘,甚至搭MCP服务器,都有现成通道。
新手最容易踩的5个坑
结合社区反馈,我把高频问题整理成一份"避坑清单",按顺序排查能解决90%的问题。
- 先更新再折腾:遇到任何怪问题,第一反应是更新软件并重启机器人(关机等5秒再开机)。这个老土的办法能解决相当多已知问题。
- 电机发红闪灯?多半是供电或短路。检查从脚部到头部那条电源线和电机三芯线是否破损、是否插紧。注意:USB口供电不足,Lite版必须插7V电源才能驱动电机。
- 电机没反应但不报错:大概率是电机处于"松弛"状态(没上电)。检查电机模式,如果是
Disabled,先调用enable_motors()再wake_up()。 - 麦克风静音/录出来全是零:先怀疑排线插反了——黑色排线有字的一面要朝上。排线没插反还不行,再查固件版本是否达到2.1.3。
- 天线狂抖:天线转到竖直0°时会因齿轮间隙陷入"倒立摆"式震荡,这是物理特性不是故障。把天线偏移个10°左右让重力帮忙压住即可,新版固件已默认处理。
另外提醒两个小知识:装完零件盒里剩几颗螺丝和线材是正常的(官方故意多给备件);reachy-mini.local这个地址在公司、酒店Wi-Fi下可能解析不了(客户端隔离所致),换成手机热点就通了。
灵感库:拿到手之后能做什么?
有了一台会动会看会听的桌面机器人,玩法边界取决于想象力。这里抛几个方向供参考:
- 编程教育助手:让机器人用肢体动作"演"算法——排序时手忙脚乱地比划,理解递归时歪头思考,孩子学编程的兴致会完全不同
- 远程临场伙伴:无线版自带摄像头和扬声器,集成视频通话后,远方的家人可以通过这台小机器人"陪"你工作,动作让通话更生动
- 艺术表演装置:9个自由度+可录可放的动作系统,配合音乐编排一支桌面舞蹈,加上灯光就是迷你舞台
- 人机交互研究平台:声源定位、人脸追踪、重力补偿演示教学,这些现成能力让它成为社交机器人研究和运动规划算法的理想实验台
没有硬件也能玩:先上模拟器
这里特别提醒预算或硬件还没到位的朋友:项目内置了基于MuJoCo的完整模拟器,物理引擎和真实硬件行为一致。装依赖时多带一个[mujoco]后缀(pip install "reachy-mini[mujoco]"),然后运行reachy-mini-daemon --sim,一个3D窗口就会出现你的机器人,鼠标拖拽即可旋转视角。还有--scene minimal参数,能给模拟环境加上桌子和苹果、牛角包等小道具,方便测试"拿取"类逻辑。模拟器里的SDK代码和真机完全通用——你写好的脚本,将来无缝迁移到实体机。
社区与下一步
Reachy Mini的背后是Pollen Robotics团队和活跃的开源社区,Discord上聚集了数千名开发者分享作品、互相答疑。路线图上有几个值得期待的方向:iOS/Android手机端应用(手机上控制机器人+逛应用商店)、AI协作编程空间(用自然语言实时"聊"出一个应用)、社区"Pimp my Reachy Mini"改壳运动等。项目采用Apache 2.0开源协议,硬件设计文件采用CC BY-SA-NC协议。
到这里,你已经掌握了开源情感机器人Reachy Mini从组装、安装、首段代码到AI集成的完整路径。下一步建议:先跑通上面的天线摇摆示例,然后打开项目里的examples/目录挑一个顺眼的例子(人脸追踪、声源定位、录音回放都值得一试),再试着把对话应用装上,让机器人真正"开口"。
从让一根天线动起来,到给它装上会聊天的大脑——你的第一台情感机器人,就差这一行代码了。
【免费下载链接】reachy_miniReachy Mini's SDK项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考