ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

开源情感机器人 Reachy Mini 完整上手指南:让桌面上那个小家伙学会点头、眨眼与撒娇

开源情感机器人 Reachy Mini 完整上手指南:让桌面上那个小家伙学会点头、眨眼与撒娇 开源情感机器人 Reachy Mini 完整上手指南让桌面上那个小家伙学会点头、眨眼与撒娇【免费下载链接】reachy_miniReachy Minis SDK项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini凌晨两点的办公室键盘敲击声在空旷的房间里格外清晰。桌上的显示器旁边一个巴掌大的白色机器人正用两根天线轻轻摆动——你熬夜改 bug 的烦躁它似乎感应到了把头歪向一侧像是好奇地打量你。这不是动画片里的情节而是开源情感机器人Reachy Mini的日常。它由 6 自由度斯图尔特平台头部、两只可旋转天线、120° 广角摄像头和 4 麦克风阵列组成配合一套开箱即用的 Python/JavaScript SDK让给机器人写情绪这件事从今天起对你开放源码。一眼看懂这台小家伙身上到底装了什么先给这台机器人做个全身检查。Reachy Mini 的设计思路非常朴素把表达力做足把门槛降到最低。头部6 自由度并联平台斯图尔特结构俯仰、偏航、横滚加上空间平移动作细腻到能模拟人类点头、歪头、注视这些微表情级别的行为天线两根可独立旋转的耳朵是它表达情绪的主通道——开心时双双竖起困惑时左右摇摆配合头部动作就是一套完整的肢体语言感官120° 广角摄像头负责看4 麦克风阵列负责听还支持声源定位能判断声音来自哪个方向内置扬声器负责说电机8 颗高精度电机协同工作驱动头部平台与天线实测运动频率可到 100Hz 级别的实时控制。模块化组件拆解从 3D 打印外壳到控制主板每一块都看得见、摸得着硬件上它分三个形态无线版内置树莓派 CM4 电池 Wi-Fi完全自主、Lite 版USB 连电脑开发者最爱以及纯模拟器基于 MuJoCo 物理引擎没有硬件也能跑全部功能。三种形态共用同一套 SDK 接口意味着你在模拟器里写的代码接上真机一行都不用改。从零开始30 分钟让它在你的电脑里活过来没有硬件没关系模拟器就是你的第一台 Reachy Mini。整个环境准备只需要几步git clone https://gitcode.com/GitHub_Trending/re/reachy_mini cd reachy_mini pip install -e .安装完成后启动模拟模式下的机器人服务Daemon。Daemon 是常驻后台的管家负责与电机、传感器的底层通信你的所有代码最终都会经过它# Linux / Windows reachy-mini-daemon --sim # macOS mjpython -m reachy_mini.daemon.app.main --sim服务启动后用浏览器打开http://localhost:8000/docs看到 Reachy SDK 的 API 文档页面就说明机器人苏醒了。此时写一个最简脚本验证连通性——让天线先打个招呼from reachy_mini import ReachyMini with ReachyMini() as mini: print(Connected to Reachy Mini!) # 天线左倾、右倾、回正像在挥手致意 mini.goto_target(antennas[0.5, -0.5], duration0.5) mini.goto_target(antennas[-0.5, 0.5], duration0.5) mini.goto_target(antennas[0, 0], duration0.5)运行python hello.py如果一切正常你会看到模拟窗口里的机器人天线开始左右摇摆。恭喜你的第一行机器人代码已经跑通了。实战体验让头部运动像呼吸一样自然goto_target适合一次性的姿态切换但要让机器人真正活起来你需要掌握更高级的运动控制。SDK 提供两套核心 API轨迹插值与高频直控。先看轨迹插值——让机器人抬头看你的姿势可以用一个 4x4 的位姿矩阵描述SDK 封装了便捷的构造函数from reachy_mini import ReachyMini from reachy_mini.utils import create_head_pose with ReachyMini() as mini: # 抬头 10mm同时向右倾斜 15°持续 1 秒 mini.goto_target( headcreate_head_pose(z10, roll15, degreesTrue, mmTrue), duration1.0 )再看高频直控——这是做呼吸感动作的关键。下面的循环以 100Hz 的频率给头部和天线喂正弦波目标值机器人会像在跟着音乐轻轻摇摆import time import numpy as np from reachy_mini import ReachyMini from reachy_mini.utils import create_head_pose with ReachyMini(media_backendno_media) as mini: mini.goto_target(create_head_pose(), antennas[0.0, 0.0], duration1.0) try: while True: t time.time() # 天线以 0.5Hz 的频率来回摆动 ±20° antennas_offset np.deg2rad(20 * np.sin(2 * np.pi * 0.5 * t)) # 头部同步俯仰 ±10° pitch np.deg2rad(10 * np.sin(2 * np.pi * 0.5 * t)) head_pose create_head_pose(roll0.0, pitchpitch, yaw0.0) mini.set_target( headhead_pose, antennas[antennas_offset, antennas_offset], ) time.sleep(0.01) # 100 Hz 控制频率 except KeyboardInterrupt: pass自由度示意头部平台能在三维空间里完成细腻的复合运动这是拟人感的来源进阶玩法让机器人看到你、听见你运动只是骨架感知才是灵魂。Reachy Mini 的媒体子系统把摄像头、麦克风、扬声器统一封装成了mini.media对象几行代码就能串起看到-反应的闭环。点击追踪下面的例子打开摄像头画面你用鼠标点击画面上的任意位置机器人就会扭头看向那个点——这是做眼神交流最简单的方式import cv2 from reachy_mini import ReachyMini def on_click(event, x, y, flags, param): if event cv2.EVENT_LBUTTONDOWN: param[pos] (x, y) state {pos: None} cv2.namedWindow(Reachy Mini Camera) cv2.setMouseCallback(Reachy Mini Camera, on_click, state) with ReachyMini() as reachy_mini: while True: frame reachy_mini.media.get_frame() if frame is None: continue cv2.imshow(Reachy Mini Camera, frame) if state[pos] is not None: x, y state[pos] reachy_mini.look_at_image(x, y, duration0.3) # 看向点击处 state[pos] None if cv2.waitKey(1) 0xFF ord(q): break说话并配合动作想让它开口配合文本转语音服务生成音频再用play_sound播放同时开启头部摇晃wobbling一个边说话边摇头晃脑的机器人就成了with ReachyMini() as mini: mini.enable_wobbling() # 说话时头部轻轻摇晃 mini.media.play_sound(hello.wav) time.sleep(3) mini.disable_wobbling()声源定位4 麦克风阵列能算出声音的来向让机器人循声转头——做语音唤醒、人机对话时这个能力让交互瞬间有了现场感。零安装分享用浏览器驱动你的机器人如果你觉得写 Python 门槛还是高Reachy Mini 还提供了一条更轻的路JavaScript SDK。它基于 WebRTC 实现浏览器与机器人的点对点通信——视频、音频、控制指令全部走浏览器谁都不用装任何东西。架构上是一套浏览器 App → 信令服务器 → 机器人的三角关系你的应用是一个静态网页托管在 Hugging Face Spaces 上SDK 负责处理认证、信令与 WebRTC 协商连接建立后视频、音频与控制流直接在浏览器和机器人之间点对点传输信令服务器即刻退场延迟极低。这意味着你可以做出这样的应用把链接发给朋友对方点开浏览器就能实时看到机器人摄像头画面、控制它转头、跟它语音对话。分享一个会动的应用和一键部署一个网站一样简单——项目内置的应用商店里已经有对话机器人接大模型、收音机、手势追踪等现成 App 可以直接安装体验。控制面板连接、动作测试、应用安装与系统更新都在这里一站式完成三个能让你的朋友哇出来的创意方向有了运动 感知 浏览器分享这三件套能玩的花样就多了。给你几个立刻能上手的灵感情绪化桌面陪伴写一个后台循环根据当前时间或你的键盘活跃度调整天线姿态——工作 1 小时它就犯困垂下天线你敲击键盘它就精神竖起耳朵。代码量不超过 30 行但桌面的氛围感完全不同。手势指挥棒用摄像头做手部关键点检测把指尖坐标映射成look_at_world的目标点让机器人像舞台追光灯一样跟着你的手移动。项目示例目录里就有现成的手势追踪参考实现。会点头的朗读助手接入大模型做口语陪练机器人用 TTS 提问、用声源定位判断谁在回答、用点头动作给出反馈——一个物理形态的 AI 陪练老师就这么诞生了。远程在场机器人用 JavaScript SDK 做视频通话应用让远方的家人通过浏览器操控你桌上的机器人转头看你、挥手致意远程沟通多了几分人情味。新手踩坑急救包四个高频问题一次说清问题 1连接失败提示找不到机器人先确认 Daemon 是否在运行——模拟器/Lite 版需要手动启动reachy-mini-daemon无线版需要机器人和电脑在同一 Wi-Fi 下。再检查http://localhost:8000/docsLite/模拟或http://reachy-mini.local:8000/docs无线能否打开。SDK 构造函数默认走auto模式会自动在 localhost 和网络之间切换只有特殊情况才需要手动指定connection_mode。问题 2动作卡顿、不流畅优先检查电源是否稳定其次运行电机校准工具仓库里tools/目录提供了scan_motors.py、setup_motor.py等实用脚本。另外把控制频率降下来试试——100Hz 直控对机器性能有要求如果掉帧明显可以降到 50Hz。问题 3摄像头没有画面媒体层基于 GStreamer先确认系统里正确安装了 GStreamer 组件官方文档有各平台的安装指引。然后确认 Daemon 是带媒体能力启动的且没有被media_backendno_media关闭。设备检测日志可以帮助定位是摄像头枚举失败还是编码问题。问题 4模拟器启动报段错误macOS 上uv与 MuJoCo 可能存在兼容问题遇到libgstpython相关的段错误时建议放弃uv直接改用pip安装依赖并在模拟环境的官方排障文档里核对版本组合。社区生态与下一步这只是开始Reachy Mini 的代码以 Apache 2.0 协议开源硬件设计文件也一并开放知识共享协议这意味着从机械结构到行为逻辑整条链路你都有修改权。项目团队维护着活跃的社区你在 Discord 上能遇到几千位正在做同样事情的开发者从组装求助到算法讨论都有人回应。路线图上已经有明确方向更多传感器集成触觉反馈、环境感知、更强的云服务远程控制与数据同步、面向学校的教育套件以及鼓励第三方开发的配件生态。而眼下最值得做的一件事是——不管你有没有硬件先把仓库克隆下来启动模拟器让那个小家伙在屏幕上第一次朝你点头。等它真的在桌面上对你眨眼的那个下午你会觉得这一切都值了。现在就去写第一行代码吧你的机器人正在等你叫醒它。核心关键词Reachy Mini、开源情感机器人、桌面机器人、机器人SDK、Python机器人控制、斯图尔特平台、JavaScript机器人、WebRTC机器人控制、MuJoCo机器人模拟、人机交互【免费下载链接】reachy_miniReachy Minis SDK项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表