通过 REST API 与 SSH 控制 Reachy Mini 机器人(Pollen Robotics / Hugging Face)。用于移动头部、身体、天线,播放情绪或舞蹈,捕获摄像头快照,调节音量,管理应用,检查状态及任何物理交互。该机器人具 6‑DoF 头部、360° 身体旋转、双可动天线、宽视角摄像头(非侵入式 WebRTC 快照)、4‑mic 阵列和扬声器。
Reachy Mini Robot Control QQ快速启动是一项面向实际任务的技能,主要用于使用 CLI 脚本或卷曲来控制机器人. 脚本的住址是: 通过 REACHY HOST env var 或 --host 旗设置机器人 IP. 默认: 192.168.8.17.;Common.。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用 CLI 脚本或 curl 控制机器人。脚本路径为:
~/clawd/skills/reachy-mini/scripts/reachy.sh
通过环境变量 REACHY_HOST 或命令行参数 --host 设置机器人 IP 地址。默认值:192.168.8.17。
reachy.sh status # 守护进程状态、版本号、IP 地址 reachy.sh state # 完整机器人状态 reachy.sh wake-up # 唤醒机器人 reachy.sh sleep # 进入休眠状态 reachy.sh snap # 拍摄相机快照 → /tmp/reachy_snap.jpg reachy.sh snap /path/to/photo.jpg # 将快照保存至自定义路径 reachy.sh play-emotion cheerful1 # 播放一种情绪动画 reachy.sh play-dance groovy_sway_and_roll # 播放一支舞蹈 reachy.sh goto --head 0.2,0,0 --duration 1.5 # 点头(俯仰角下倾) reachy.sh volume-set 70 # 设置扬声器音量 reachy.sh emotions # 列出所有可用情绪动画 reachy.sh dances # 列出所有可用舞蹈动作
| 变量 | 默认值 | 说明 |
|---|---|---|
REACHY_HOST |
192.168.8.17 |
机器人 IP 地址 |
REACHY_PORT |
8000 |
REST API 端口 |
REACHY_SSH_USER |
pollen |
SSH 用户名(用于 snap 命令) |
REACHY_SSH_PASS |
root |
SSH 密码(用于 snap 命令,依赖 sshpass) |
头部接受以弧度为单位的俯仰角(pitch)、偏航角(yaw)、翻滚角(roll):
# 抬头 reachy.sh goto --head -0.3,0,0 --duration 1.0 # 向左看 reachy.sh goto --head 0,0.4,0 --duration 1.0 # 向右倾斜并略微抬头 reachy.sh goto --head -0.1,0,-0.3 --duration 1.5 # 回到中立位 reachy.sh goto --head 0,0,0 --duration 1.0
躯干偏航角以弧度表示。0 表示正前方,正值表示向左转,负值表示向右转。
reachy.sh goto --body 1.57 --duration 2.0 # 左转 90° reachy.sh goto --body -1.57 --duration 2.0 # 右转 90° reachy.sh goto --body 0 --duration 2.0 # 面向前方
两个天线 [左, 右],单位为弧度,范围约为 -0.5 至 0.5。
reachy.sh goto --antennas 0.4,0.4 --duration 0.5 # 同时上扬 reachy.sh goto --antennas -0.3,-0.3 --duration 0.5 # 同时下压 reachy.sh goto --antennas 0.4,-0.4 --duration 0.5 # 不对称姿态
# 向左看 + 躯干左转 + 天线上扬 reachy.sh goto --head 0,0.3,0 --body 0.5 --antennas 0.4,0.4 --duration 2.0
在 goto 命令中使用 --interp 参数指定运动插值方式:
minjerk — 平滑自然(默认)linear — 匀速运动ease — 缓入缓出cartoon — 弹跳夸张效果预置 80+ 种富有表现力的动画,可根据上下文选择合适的情绪:
reachy.sh play-emotion curious1 # 好奇表情 reachy.sh play-emotion cheerful1 # 开心表情 reachy.sh play-emotion surprised1 # 惊讶反应 reachy.sh play-emotion thoughtful1 # 思考姿态 reachy.sh play-emotion welcoming1 # 欢迎手势 reachy.sh play-emotion yes1 # 点头表示肯定 reachy.sh play-emotion no1 # 摇头表示否定
共 19 种舞蹈动作,适合娱乐或庆祝场景:
reachy.sh play-dance groovy_sway_and_roll reachy.sh play-dance chicken_peck reachy.sh play-dance dizzy_spin
运行 reachy.sh emotions 或 reachy.sh dances 查看全部可用动作。
执行运动前,需先将电机设为 enabled 状态。可使用 reachy.sh motors 检查当前状态。
reachy.sh motors-enable # 启用电机(运动类命令必需) reachy.sh motors-disable # 关闭电机(机器人进入松弛状态) reachy.sh motors-gravity # 启用重力补偿(可手动调整机器人姿态)
reachy.sh volume # 当前扬声器音量 reachy.sh volume-set 50 # 将扬声器音量设为 50% reachy.sh volume-test # 播放测试音效 reachy.sh mic-volume # 当前麦克风增益 reachy.sh mic-volume-set 80 # 将麦克风增益设为 80%
Reachy Mini 运行 HuggingFace Space 应用。可通过以下命令进行管理:
reachy.sh apps # 列出所有可用应用 reachy.sh apps-installed # 仅列出已安装的应用 reachy.sh app-status # 查看当前正在运行的应用 reachy.sh app-start NAME # 启动指定应用 reachy.sh app-stop # 停止当前运行的应用
重要提示:同一时间仅允许一个应用运行。启动新应用会自动停止当前运行的应用。部分应用可能独占机器人控制权 —— 若机器人无响应,请先执行 reachy.sh app-stop,再发送手动运动指令。
通过 WebRTC 从机器人相机(IMX708 广角镜头)捕获 JPEG 图片 —— 此操作不会中断正在运行的守护进程。
reachy.sh snap # 保存至 /tmp/reachy_snap.jpg reachy.sh snap /path/to/output.jpg # 自定义输出路径
前提条件:需具备机器人 SSH 访问权限(依赖 sshpass 工具及 REACHY_SSH_PASS 环境变量,默认值:root)。
工作原理:连接至守护进程的 WebRTC 信令服务器(端口 8443),在机器人端使用 GStreamer 的 webrtcsrc 插件接收视频流,解码一帧 H264 图像,并保存为 JPEG 格式。整个过程无需重启守护进程,也不会干扰电机运行。
注意:机器人必须处于唤醒状态(头部抬起)才能获取有效图像;若处于休眠状态,相机会朝向机身内部。请先运行 reachy.sh wake-up。
reachy.sh doa # 从麦克风阵列获取声源方向(Direction of Arrival)
返回角度(单位:弧度,0=左侧,π/2=正前方,π=右侧)以及语音检测布尔值。
使用 reachy-react.sh 脚本,可基于心跳信号、定时任务(cron job)或会话响应触发上下文相关的机器人行为。
~/clawd/skills/reachy-mini/scripts/reachy-react.sh
reachy-react.sh ack # 点头确认(已接收到请求) reachy-react.sh success # 开心情绪动画(任务完成) reachy-react.sh alert # 惊讶表情 + 天线上扬(紧急邮件、告警) reachy-react.sh remind # 欢迎/好奇表情(会议提醒、待办事项) reachy-react.sh idle # 微妙动画(心跳存在感) reachy-react.sh morning # 唤醒 + 问候(晨间简报) reachy-react.sh goodnight # 困倦情绪 + 进入休眠(夜间模式) reachy-react.sh patrol # 拍摄相机快照,并打印图片路径 reachy-react.sh doa-track # 转动头部朝向检测到的声音来源 reachy-react.sh celebrate # 随机舞蹈(欢乐时刻)
添加 --bg 参数可在后台非阻塞地运行。
morning、goodnight 和 patrol 外,其余响应均被静默跳过。| 触发源 | 对应响应 | 说明 |
|---|---|---|
| 晨间简报定时任务(6:30 AM) | morning |
机器人唤醒并致意 |
| 晚安定时任务(10:00 PM) | goodnight |
机器人播放困倦情绪动画并进入休眠 |
| 心跳信号(周期性) | idle |
轻微头部倾斜、天线摆动或环顾四周 |
| 心跳信号(约每 4 次中触发 1 次) | doa-track |
检测附近语音,转动头部朝向声源 |
| 心跳信号(约每 6 次中触发 1 次) | patrol |
拍摄相机快照,用于环境感知 |
| 未读重要邮件 | alert |
天线上扬 + 惊讶情绪 |
| 会议将在 2 小时内开始 | remind |
欢迎/好奇情绪 |
| 来自 Alexander 的请求 | ack |
快速点头 |
| 任务已完成 | success |
随机播放开心/喜悦情绪动画 |
| 好消息或庆祝时刻 | celebrate |
随机播放一支舞蹈动作 |
doa-track 响应利用机器人 4 麦克风阵列检测语音方向,并驱动头部转向说话者。DOA 角度(0=左侧,π/2=正前方,π=右侧)被映射为头部偏航角。仅当检测到活跃语音时才会触发该响应。
patrol 响应会拍摄一张快照并打印图像路径。可在心跳信号中定期调用,实现房间状态检查。结合图像分析,可用于检测活动或环境变化。
对于 CLI 未覆盖的功能,可使用 curl 或 raw 命令直接调用 REST API:
# 使用 raw 命令
reachy.sh raw GET /api/state/full
reachy.sh raw POST /api/move/goto '{"duration":1.0,"head_pose":{"pitch":0.2,"yaw":0,"roll":0}}'
# 直接使用 curl
curl -s http://192.168.8.17:8000/api/state/full | jq
curl -s -X POST -H "Content-Type: application/json"
-d '{"duration":1.5,"head_pose":{"pitch":0,"yaw":0.3,"roll":0}}'
http://192.168.8.17:8000/api/move/goto
完整的 API 接口列表、数据结构定义(如 GotoModelRequest、FullBodyTarget、XYZRPYPose)以及完整的情绪/舞蹈目录,请参阅 references/api-reference.md。
reachy.sh motors 输出 —— 必须为 enabled。请运行 reachy.sh motors-enable。reachy.sh status 输出 —— 状态应为 running。若非如此,请运行 reachy.sh reboot-daemon。reachy.sh app-stop。ping $REACHY_HOST 验证机器人 IP 是否可达;检查 reachy.sh wifi-status 网络状态。reachy.sh wake-up。sshpass,且 REACHY_SSH_PASS 环境变量设置正确。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.6万人学习
共89课时 | 133.4万人学习
共49课时 | 82.2万人学习