套餐: 部署 Reachy 语音机器人 {#default}
在 Jetson 设备上部署完整的语音对话栈。机器人能听、能想(本地 AI)、能说、能表达情绪——端到端延迟低于 1 秒。
| 设备 | 用途 |
|---|
| NVIDIA Jetson Orin NX 16GB | 运行 AI 对话、语音处理和机器人控制 |
| Reachy Mini | 带双臂、头部、天线和摄像头的桌面机器人 |
将会部署:
- 机器人控制 — 电机、摄像头、传感器管理
- 对话引擎 — AI 对话 + 情绪系统 + 网页仪表盘
- 视觉分析 — 人脸检测、情绪识别、人物追踪(GPU 加速)
- 本地 AI 模型 — 驱动机器人的思考能力(如未安装则自动安装)
前置条件:
- Reachy Mini 通过 USB 连接到 Jetson
- Jetson 已安装 JetPack 6.x,可通过 SSH 连接,需要联网
步骤 1: 部署语音服务 {#speech_service type=docker_deploy required=true config=devices/speech.yaml}
部署 GPU 加速的语音识别(ASR)和语音合成(TTS)服务。预构建镜像已包含所有依赖和模型,拉取后即可运行。
部署目标: 远程部署 {#speech_remote type=remote config=devices/speech.yaml default=true}
通过 SSH 一键部署到 Jetson。
接线
- 将 Jetson 连接到网络
- 输入 Jetson 的 IP 地址和 SSH 凭据
- 点击 部署 — 系统会自动拉取预构建镜像并启动服务
部署完成
语音服务已在 http://<jetson-ip>:8621 运行。快速测试:
# 检查服务状态
curl http://<jetson-ip>:8621/health
# 预期返回: {"asr": true, "tts": true, "streaming_asr": true}
故障排查
| 问题 | 解决方法 |
|---|
| SSH 连接失败 | 确认 IP 地址和凭据正确。先在电脑上试 ssh 用户名@IP |
| 镜像拉取慢 | 镜像压缩后约 8GB,确保 Jetson 网络稳定 |
| 服务未启动 | 查看日志:ssh 用户名@IP "cd jetson-voice && docker compose logs" |
| 健康检查失败 | 首次启动需约 40 秒预热模型,稍等后重试 |
部署目标: 本机部署 {#speech_local type=local config=devices/speech_local.yaml}
直接在当前机器上部署(需要 NVIDIA GPU)。
接线
- 确保已安装 Docker 和 NVIDIA Container Toolkit
- 点击 部署 开始安装
注意: 首次启动可能需要 10-15 分钟下载 Docker 镜像和初始化模型。
部署完成
语音服务已在 http://localhost:8621 运行。快速测试:
# 检查服务状态
curl http://localhost:8621/health
# 预期返回: {"asr": true, "tts": true, "streaming_asr": true}
故障排查
| 问题 | 解决方法 |
|---|
| 未找到 NVIDIA 运行时 | 安装 NVIDIA Container Toolkit:sudo apt install nvidia-container-toolkit && sudo systemctl restart docker |
| 端口 8621 已被占用 | 停止占用 8621 端口的服务 |
| 容器不断重启 | 查看日志:docker logs jetson-voice-speech-1 |
| 健康检查失败 | 首次启动需约 40 秒预热模型,稍等后重试 |
步骤 2: 部署 Reachy 语音机器人 {#reachy_deploy type=docker_deploy required=true config=devices/reachy.yaml}
将机器人控制、对话和视觉服务部署到 Jetson。系统会自动安装 Ollama 并拉取 AI 模型(如未安装)。
部署目标: 远程部署 {#reachy_remote type=remote config=devices/reachy.yaml default=true}
通过 SSH 一键部署到 Jetson。
接线
- 用 USB 线将 Reachy Mini 连接到 Jetson
- 确保 Jetson 已联网且 SSH 可访问
- 输入 Jetson 的 IP 地址和 SSH 凭证
- 配置数据目录(默认:
~/reachy-data),用于存储截图和人脸数据库
- 选择视觉后端:
- 本地(默认)—— 在本 Jetson 上运行
vision-trt。需要 USB 摄像头已接入,首次启动会构建 TensorRT 引擎(约 3-5 分钟)。
- 云端 —— 跳过本地
vision-trt 容器,让机器人对接远程视觉服务。选此项时在视觉服务地址中填写远端地址(如 tcp://192.168.1.50:8631)。
- 可选启用全屏展示模式,设备开机后自动全屏打开仪表盘
- 点击 部署 — 系统将会:
- 安装 Ollama 并拉取 AI 模型(如未安装,约 1.5 GB)
- 拉取并启动机器人控制、对话(以及本地后端的视觉)服务
部署完成
部署完成后约 30 秒,机器人就会开始说话。打开仪表盘监控状态:
http://<jetson-ip>:8640
默认模式: 自白模式 — 机器人每 5 秒自动产生"内心独白",无需用户交互。
检查所有服务是否运行:
ssh user@<jetson-ip> "docker ps --format 'table {{.Names}}\t{{.Status}}'"
故障排查
| 问题 | 解决方案 |
|---|
| 模型下载慢 | AI 模型约 1.5 GB,确保网络稳定。进度会在部署日志中显示 |
| 对话响应慢(>10 秒) | 说明 Ollama 跑在 CPU 上。部署已自动配置 GPU,如仍然慢:sudo systemctl restart ollama 后重试 |
| 机器人不动 | 检查 USB 连接。尝试重新插拔 USB 线后重启:docker restart reachy-daemon |
| 没有声音 | 检查 Reachy Mini 内置扬声器是否正常。检查配置中的 audio.device |
| 仪表盘打不开 | 等待 30 秒让服务启动。检查:curl http://<jetson-ip>:8640/health |
| 没有摄像头画面 | 视觉服务首次启动需构建 TRT 引擎(约 5 分钟)。检查:docker logs vision-trt |
| 开机后摄像头未找到 | USB 摄像头枚举需要 15-30 秒,视觉服务会自动重试(约 90 秒) |
| 摄像头运行一段时间后失联 | USB 电源管理问题。部署已通过 udev 规则禁用自动挂起,如仍然复发请物理拔插 Reachy USB 线 |
部署目标: 本机部署 {#reachy_local type=local config=devices/reachy_local.yaml}
直接在当前机器上部署(需要已连接 Reachy Mini 的 NVIDIA Jetson 设备)。
接线
- 用 USB 线将 Reachy Mini 连接到机器
- 确保已安装 Docker 和 NVIDIA Container Toolkit
- 点击 部署 开始安装
注意: 首次启动可能需要 5-10 分钟下载 Docker 镜像和初始化模型。
部署完成
部署完成后约 30 秒,机器人就会开始说话。打开仪表盘监控状态:
http://localhost:8640
故障排查
| 问题 | 解决方案 |
|---|
| 未找到 NVIDIA 运行时 | 安装 NVIDIA Container Toolkit:sudo apt install nvidia-container-toolkit && sudo systemctl restart docker |
| 机器人不动 | 检查 USB 连接。尝试重新插拔 USB 线后重启:docker restart reachy-daemon |
| 仪表盘打不开 | 等待 30 秒让服务启动。检查:curl http://localhost:8640/health |
| 没有摄像头画面 | 视觉服务首次启动需构建 TRT 引擎(约 5 分钟)。检查:docker logs vision-trt |
部署完成
你的 Reachy Mini 语音机器人已经在运行了!
当前状态
机器人处于自白模式 — 每隔几秒自动产生想法并说出来,配合头部动作和天线表情。非常适合展览和演示场景。
服务概览
| 服务 | 端口 | 用途 |
|---|
| 机器人控制 | 38001 | 电机、摄像头、传感器管理 |
| 对话引擎 | 8640 | AI 对话 + 情绪系统 + 仪表盘 |
| 视觉分析 | 8630 | 人脸检测、情绪识别、人物追踪 |
| 本地 AI 模型 | 11434 | 驱动机器人的思考能力 |
| 语音服务 | 8621 | 听懂你说的话 + 说话给你听(步骤 1 部署) |
后续操作