语音控制 LeKiwi 机器人 — 部署指南

在 GitHub 上查看源码
套餐

语音控制你的 LeKiwi

打造一个能听懂自然语言指令的语音控制机器人——只需说话就能让它前进、后退、横移、转向。

设备用途
LeKiwi 套件三轮 Kiwi-drive 底盘,含 3 个 STS3215 智能舵机
XIAO ESP32S3电机控制器——接收树莓派发来的串口指令
第五代树莓派(8GB 版)语音 AI 大脑——运行唤醒词检测、语音识别、LLM 推理和语音合成
reSpeaker Flex XVF38004 麦克风阵列,实现远场语音采集

你将获得:

  • 一台能用自然语言解放双手控制的机器人
  • 唤醒词激活("Hey Jarvis")——机器人只在被呼叫时响应
  • Groq AI 驱动:Whisper(语音识别)+ Llama 3(推理决策)+ Orpheus(语音回复)
  • Kiwi-drive 全向移动 + 紧急停止

需要准备: LeKiwi 套件 · XIAO ESP32S3 · 第五代树莓派(8GB 版) · reSpeaker Flex XVF3800 · 音箱 · Groq API 密钥(免费) · 树莓派能上网

1

组装硬件

在部署任何软件之前,需要先完成机器人的物理组装。

接线
  1. 组装底盘——参考 LeKiwi 组装教程 搭建框架并安装轮子/舵机。先不要把舵机总线接到 XIAO —— 步骤 2、3 会烧录配置固件并逐个设置舵机 ID。
  2. 连接 reSpeaker Flex——将 reSpeaker Flex 插入树莓派的 USB 口
  3. 连接 XIAO ESP32S3——用 USB-C 线将 XIAO 连接到树莓派
  4. 连接音箱——将音箱插入树莓派的音频口或 USB 口
故障排查
问题解决方案
舵机无响应先完成步骤 2、3:烧录舵机 ID 配置固件,并用串口向导逐个设置 ID 1、2、3
舵机接线混淆舵机 1 = 前轮,舵机 2 = 左后轮,舵机 3 = 右后轮
USB 设备不识别换一根 USB 线试试——有些线只能充电,不支持数据传输
2

烧录舵机 ID 配置

将舵机 ID 配置固件烧录到 XIAO ESP32。该固件通过下一步的串口控制台,逐个为 STS3215 舵机分配唯一 ID(1、2、3)。

接线
  1. 用 USB-C 线将 XIAO ESP32 连接到电脑
  2. 点击部署烧录固件
  3. 继续步骤 3 配置舵机 ID
故障排查
问题解决方案
烧录失败 / 设备未识别按住 XIAO 上的 BOOT 键,按一下 RESET,再松开 BOOT
3

配置舵机 ID

使用串口控制台逐个为舵机分配 ID。固件会引导操作 —— 按提示逐个连接舵机并确认。

接线
  1. 点击连接打开串口控制台
  2. 按提示逐个将舵机连接到 XIAO 舵机总线:
    • 前轮 → ID 1
    • 左后轮 → ID 2
    • 右后轮 → ID 3
  3. 使用发送回车按钮或在输入框输入内容后按 Enter 继续
  4. 三个 ID 全部设置完毕后,断电,将所有舵机接回总线
故障排查
问题解决方案
未检测到舵机检查舵机供电,点击重新扫描按钮重试
检测到多个舵机每次只连接一个舵机到总线
串口无输出拔插 XIAO USB 线后重新点击连接
4

烧录电机控制器

烧录电机控制固件。该固件负责 Kiwi-drive 运动学计算,并监听来自树莓派的串口指令。

验证

烧录后,XIAO 会启动并检测舵机 1、2、3。串口监视器(115200 波特率)会依次显示 Servo 1 OKServo 2 OKServo 3 OK,最后显示 System ready!

接线
  1. 用 USB-C 线将 XIAO ESP32 连接到电脑
  2. 点击部署烧录固件
  3. 烧录完成后,将 XIAO 重新连接到树莓派,给舵机上电
故障排查
问题解决方案
烧录失败 / 设备未识别按住 XIAO 上的 BOOT 键,按一下 RESET,再松开 BOOT
检测到错误的串口拔掉其他 USB 转串口设备后重试
启动时找不到舵机检查舵机供电。如果 ID 没设对,重新执行步骤 2-3
5

部署语音大脑

把语音 AI 容器部署到机器人的树莓派上(唤醒词 + 语音识别 + LLM + 语音合成全在一个镜像里)。

故障排查
问题解决方案
Docker 未安装在树莓派上运行 curl -fsSL https://get.docker.com |​ sh
容器启动后立即退出docker logs lekiwi-voice 查日志,多半是 GROQ_API_KEY 没填
唤醒词不响应确认部署前已插入 reSpeaker。容器会自动选择麦克风,可用 docker logs lekiwi-voice 查看实际选中的输入设备
机器人不动确认 XIAO 已通过 USB-C 连接到树莓派,并且步骤 4 的电机控制固件正在运行。容器会自动选择 ESP32 串口
TTS / STT 报错GROQ_API_KEY 无效、Groq 使用条款未接受,或树莓派无法访问 Groq
部署方式
部署时需要填写(在 SenseCraft Solution 应用里填)
  • Groq API 密钥*

    在 console.groq.com 免费注册获取

其余 5 项已有默认值,可不改
  • 唤醒词默认 hey jarvis
    6 项可选
    • · Hey Jarvis
    • · Alexa
    • · Hey Mycroft
    • · Hey Rhasspy
    • · Timer
    • · Weather

    唤醒助手的短语,切换后会加载对应的 openWakeWord 模型

  • 唤醒灵敏度默认 0.03

    唤醒灵敏度(0.01-0.5)。数值越小越灵敏,越大越严格。

  • 唤醒冷却(秒)默认 2

    触发后忽略后续唤醒事件的秒数

  • TTS 语音默认 autumn
    6 项可选
    • · Autumn
    • · Tara
    • · Leah
    • · Dan
    • · Mia
    • · Zac
  • LLM 模型默认 llama-3.1-8b-instant
    3 项可选
    • · Llama 3.1 8B Instant (fast)
    • · Llama 3.3 70B Versatile (smart)
    • · Mixtral 8x7B

    用于理解指令的 Groq 模型,大模型更聪明但延迟更高

6

和机器人对话

一切就绪后,测试你的语音控制机器人。

验证

  1. 站在距离机器人 1 米以内
  2. 清晰地说出 "Hey Jarvis"——此时不会听到回复(机器人在等待你的指令)
  3. 唤醒后说出指令,例如:
    • "前进"
    • "左转"
    • "向右横移"
    • "你能做什么?"
  4. 机器人应该先语音回复,然后执行相应动作
故障排查
问题解决方案
唤醒词始终检测不到距离麦克风 1 米以内清晰说话。查看 docker logs lekiwi-voice,确认自动选中的麦克风是 reSpeaker
机器人移动方向不对确认舵机 ID 1、2、3 设置正确,轮子角度正确
响应较慢Groq API 延迟。首次请求可能需 2-3 秒,后续会更快
容器反复重启查看日志:docker logs lekiwi-voice。确认 GROQ_API_KEY 有效
部署完成后

你的 LeKiwi 机器人现在可以用语音控制了。

指令参考

短语机器人动作
"前进" / "往前走"向前移动
"后退" / "往后退"向后移动
"左转" / "向左转"左转
"右转" / "向右转"右转
"向左横移" / "左移"向左横移
"向右横移" / "右移"向右横移
"一直往前走" / "持续前进"连续移动(直到停止)
"停下" / "停止" / "紧急停止"紧急停止

高级指令

机器人还能响应:

  • "你能做什么?"——列出能力
  • "加速" / "减速"——调整移动参数
  • 闲聊对话——LLM 会自然对话并通过 TTS 回复

下一步

  • 在设备设置中调整移动距离/速度后重新部署
  • 在设备设置中更换 TTS 语音(Autumn, Tara, Leah, Dan, Mia, Zac)
  • 如果唤醒词难以触发,查看 docker logs lekiwi-voice,确认自动选中的麦克风是 reSpeaker
  • LeKiwi Voice GitHub