Skip to content
当前页大纲

AI 机器人交互系统

领域 具身智能 · 人机交互角色 主程架构 · 核心开发状态 已落地 ·【时间待补充】#LLM#ASR/TTS#流式架构#ROS 2

让机器人「听得懂、答得上、有反应」:语音唤醒 → ASR → 大模型流式对话 → TTS → 表情动作编排,端到端延迟优化到自然对话的节奏。

这是我最近在做的一个项目:让机器人「听得懂、答得上、有反应」。不是套壳音箱,而是端到端的具身交互系统——用户对机器人说一句话,它要边理解、边思考、边说话、边做表情和动作,全链路延迟控制在能接受的自然对话体验内。

一、项目背景

传统的机器人语音交互是「命令式」的:唤醒词 + 固定指令表,说「打开空调」它才会打开空调,稍微换个说法就听不懂。接上大模型之后,交互形态彻底变了:

  • 模糊意图理解:「屋里有点闷」→ 它能推断出要开窗或开新风
  • 多轮上下文:用户说「再大点声」,它知道改的是上一轮的动作
  • 主动交互:结合传感器和场景,主动发起对话

难点在于:大模型能力强但慢,而人对话时对延迟极其敏感——超过 1 秒不回应就觉得「卡」。

二、整体架构

┌─────────────┐   ┌──────────┐   ┌──────────────┐   ┌─────────┐
│  麦克风阵列  │ → │ VAD/唤醒  │ → │    ASR 流式   │ → │ 意图路由  │
└─────────────┘   └──────────┘   └──────────────┘   └────┬────┘

                       ┌─────────────────────────────────┤
                       ▼                                 ▼
                ┌────────────┐                    ┌────────────┐
                │  LLM 对话   │ ←── 知识库/RAG ──→  │  本地技能   │
                │  (流式输出)  │                    │  (控制指令)  │
                └──────┬─────┘                    └────────────┘
                       │ 流式 token

                ┌────────────┐    ┌──────────────┐
                │ TTS 流式合成 │ → │ 表情/动作编排  │
                └────────────┘    └──────────────┘

关键设计点:

  1. 全链路流式。ASR 边说边识别、LLM 边生成边出 token、TTS 按句切分边合成边播放。首字延迟 = ASR 尾包 + LLM 首 token + TTS 首包,三段叠加优化。
  2. 意图路由前置。不是所有话都要过大模型——「关灯」「音量大点」这类高频指令走本地技能库直通,毫秒级响应;只有开放对话才进 LLM。
  3. 对话状态管理。多轮上下文、打断处理(用户抢话时要立刻停 TTS)、跨会话记忆,都用一套独立的 Dialog Manager 管理。

三、核心难点与解决方案

1. 延迟优化

这是整个项目最花时间的地方。【待补充:具体优化前后的量化数据】

  • LLM 首 token 优化:用小参数模型处理闲聊(7B 级别本地推理足够),复杂问题才路由到云端大模型;prompt 前缀缓存(KV Cache 复用)把系统提示词的重复计算省掉
  • TTS 句级切分:不等 LLM 生成完整回答,按标点切段,第一段生成完就开始播
  • 打断即停:VAD 检测到用户开口,立即停掉 TTS 播放队列并 cancel 进行中的 LLM 请求,省 token 也省等待

2. 表情与动作编排

LLM 的输出不只是文本,还要驱动机器人的「行为」:

json
{
  "say": "好的,我把客厅的灯调暗一点",
  "emotion": "happy",
  "actions": [{"type": "light.dim", "room": "living", "value": 30}],
  "gesture": "nod"
}

用结构化输出(JSON Schema 约束)让 LLM 直接产出可执行的指令,再由编排器把语音、表情、动作按时间轴对齐——说话的同时点头,而不是说完再点头。

3. 唤醒与降噪

远场拾音是硬仗:麦克风阵列做波束成形,回声消除(AEC)处理机器人自己说话的声音,加上噪声抑制。这部分用现成的音频前端方案做二次调优【待补充:具体方案】。

四、涉及的技术栈

层次技术
语音流式 ASR、TTS、VAD、AEC/波束成形【待补充:具体引擎】
对话LLM 流式调用、Function Calling、多轮状态管理
知识RAG 检索增强(家用/场景知识库)
机器人侧ROS 2、传感器数据订阅、动作执行【待补充:具体机型】
后端Python【待补充:服务框架】

五、成果与收获

【待补充:量化成果——延迟指标、对话轮次、试点数据等】

最大的收获是把「大模型能力」翻译成「产品体验」中间隔着的那一公里走完了:能力是模型的,体验是工程做的。流式、打断、路由、编排,每一个环节都决定用户觉得它「聪明」还是「智障」。

💬 对这个项目的架构细节、技术选型有想法?欢迎加我泡泡(微信)一起探讨技术与科技前沿 → 🍵 加我泡泡

MIT License.