跳到主要内容

8. LLM 控制

对应 CS123 · Lab 7 "Do What I Say" + Lectures 8–9 "AI-enabled Quadrupeds (LLMs)"

这是整门课程的最后一章,也是把所有模块拼起来的一章。我们把一个 LLM 放在最上层当"大脑",把前几章做的 PD / IK / trot / RL policy / 视觉追踪都包装成工具,让机器人能听得懂"往前走两米然后转身追那个红球"这样的指令。

本章目标

  • 能设计一套机器人可用的"工具 API"(例如 walk(vx, vy, wz, t)look_for(color)stop()
  • 能用 function calling 把 LLM 的自然语言输出转成工具调用
  • 能把工具调用结果串成一个闭环,让机器人在仿真里完成多步任务
  • 做出课程最终 demo:一段语音/文本指令 → Pupper 完成动作序列 的视频

前置阅读

章节大纲

  1. 这一层解决什么问题:语言 → 动作的抽象层次
  2. 工具 API 设计原则:原子、可组合、有副作用边界
  3. 用 function calling 打通自然语言 → 工具调用
  4. 任务规划:单步 vs 多步 vs ReAct
  5. 失败处理:工具返回错误怎么让 LLM 重试
  6. 集成第 6 章 RL 策略 + 第 7 章视觉
  7. 最终 demo 脚本与录制

组队学习任务

  • tools/robot_tools.py:把前几章功能封装成 JSON-schema 可描述的工具
  • agent/llm_agent.py:基于 Claude / OpenAI / 任意 OSS LLM 的控制器
  • 选 3 条指令各录一段视频(简单 / 复合 / 容错)
  • 写一份 300 字课程总结

进一步延伸

  • 把 LLM 换成 VLM,让它看图说话、直接根据画面决策
  • 把 function calling 换成 VLA(Vision-Language-Action)一体化模型
  • 跑到真机:参考 SO-101 + LeRobot 真机教程

参考资料