MicroDuck 8 天学习计划
每天一本 Notebook,从认识小鸭子的身体和策略开始,逐步学习物理交互、强化学习、运动控制、任务切换、端侧部署与视觉语言导航。8 天结束时,整理出自己的 Notebook、任务视频和实验记录。
每天围绕一个任务,跟着 Notebook 理解原理、观察动作,再动手做实验与对照。
开课前准备
- 具备基础 Python 知识,能阅读数组、函数和简单的神经网络代码。
- 在 Ubuntu 上准备好 Python 环境与 Jupyter;本机通过浏览器访问。环境启动见 Notebook 入口。
- 领学员提前检查各任务的模型路径、仿真环境与示例输出;为第 7 天准备可用的 RDK X5、BPU 运行时及任务 HBM。
- 第 8 天使用预训练 LightNav-0 和已有行走模型,提前准备 GPU 推理环境与场景资源,见 导航环境说明。
- 根据条件选择实践方式:在 GPU 上运行训练与仿真,或先阅读已保存输出、跟随领学员演示,再完成代码分析与参数实验。
每日安排
| 天数 | Notebook | 学习重点 | 当天产出 |
|---|---|---|---|
| 第 1 天 | 01 篮球平衡 | 机器人模型、观测与动作、Actor-Critic、PPO | 观测与动作说明、篮球平衡视频、训练链路记录 |
| 第 2 天 | 02 浏览器物理扰动 | MuJoCo 状态、接触、外力与可视化 | 一段扰动实验视频与现象分析 |
| 第 3 天 | 03 高跷行走 | BAM 执行器、支撑形态、课程学习、动作平滑 | 高度或支撑参数对照、短训与评测记录 |
| 第 4 天 | 04 摆动旋转 | 任务奖励、动作节奏、策略推理与 ONNX | 摆动视频、一项参数改动的对照 |
| 第 5 天 | 05 球平衡与 FastSAC | SAC/FastSAC、训练流程、模型导出与评测 | 小规模训练日志、ONNX 与球平衡视频 |
| 第 6 天 | 06 梯面攀爬 | 横档接触、攀爬与起身双策略、切换条件 | 爬梯视频、交接时刻与站立时间记录 |
| 第 7 天 | 07 RDK 与多策略 | 已有运动策略接入、HBM、BPU、TCP 与任务调度 | 一段板端推理视频与部署记录 |
| 第 8 天 | 08 LightNav-0 多场景导航 | 第一视角图像、语言指令、轨迹预测、MPC 与分层控制 | 住宅、客厅、走廊导航视频,轨迹对照与学习总结 |
第 1 天:认识身体与策略
- 理解: 阅读机器人关节与执行器配置,沿着“观测 → 网络 → 动作 → 关节控制”梳理篮球平衡任务;解释 Actor、Critic、奖励与 PPO 的作用。
- 实践: 检查模型输入输出,观看或生成 GPU 仿真视频;具备对应环境后,启用篮球专属的短训单元,记录采样、更新、导出与模型一致性检查。
- 记录: 用自己的话说明本任务的观测和动作包含什么,区分控制步、训练迭代与 episode。
第 2 天:观察小鸭子与物理世界交互
- 理解: 观察姿态、关节状态、碰撞与支撑,理解外力怎样改变身体运动。
- 实践: 运行浏览器交互,改变外力方向或作用位置;固定其它条件,对比至少两次实验。本日使用已有行走策略,重点是物理交互。
- 记录: 保存一段视频,标出施力方式、身体变化和接触现象,解释观察到的结果。
第 3 天:换上高跷,学习形态与课程
- 理解: 分析高度、支撑面积、质量和执行器参数对平衡的影响;理解 blend、课程学习与动作滤波。
- 实践: 对照 25 cm 与 200 cm 对应模型的演示,选择一组匹配的高度、场景与模型完成基线推理;具备对应 checkpoint 后运行小规模续训,再用同一配置评测。
- 记录: 整理一张参数对照表,说明改动了什么、动作发生了什么变化。
第 4 天:让动作与任务目标配合
- 理解: 拆解摆动旋转任务的奖励与动作节奏,理解策略如何在重复运动中推进目标。
- 实践: 加载任务模型生成视频;具备对应 checkpoint 后进行小规模续训,选择一项命令或控制参数做对照,检查导出模型的输入输出。
- 记录: 保存两组设置与视频,结合摆动幅度、节奏或姿态解释差异。
第 5 天:对比另一套强化学习训练流程
- 理解: 沿 FastSAC 任务读懂采样、经验回放、策略更新与价值估计,并与第 1 天的 PPO 流程对照。
- 实践: 运行球平衡的小规模训练,检查模型保存与 ONNX 导出,再运行推理和任务评测。
- 记录: 整理训练日志与视频,写出 PPO 和 SAC/FastSAC 在数据使用、更新流程上的主要区别。
第 6 天:从单个动作走向技能切换
- 理解: 阅读爬梯与起身两个 actor 的接口,观察横档接触、脚部落桌和起身阶段,理解监督器何时交接控制权。
- 实践: 在 GPU 上运行完整序列,对照报告中的
switch_events、handoff_success和stable_seconds;有余力时按照 爬梯教程练习两个策略的续训入口。 - 记录: 画出“攀爬 → 登桌 → 起身”的切换流程,标出本次实验的交接时刻与持续站立时间。
第 7 天:把策略接到 RDK X5
- 理解: 串起 ONNX、HBM、BPU 与 TCP 控制闭环,明确工作站负责物理仿真与渲染,开发板负责动作推理。
- 实践: 直接接入已有行走策略;核对模型元数据与输入输出,选择已完成校验的任务 HBM 运行板端闭环。对照 GPU 与 BPU 的视频和延迟,再练习切换到另一任务模型。
- 记录: 保存板端视频与部署配置,整理模型切换、动作后处理和延迟检查的步骤。
第 8 天:让小鸭子听懂导航指令
- 理解: 读取第一视角图像与语言指令,理解 LightNav-0 的空间指向、RVQ 动作表示和平面轨迹;沿着“导航模型 → MPC → 已有行走策略”分析分层控制。
- 实践: 在 GPU 上接入预训练模型,不训练、不连接开发板。依次运行官方住宅、自建客厅和自建走廊,查看实际模型预测与独立视频;修改一条指令或一处家具布局,再观察变化。
- 记录: 对照轨迹、目标距离与模型停止标志,分析小鸭子走向哪里、何时停止;整理 8 天的任务视频、实验改动和继续探索的问题。
训练与部署安排
训练类任务优先从任务专属的预训练模型开始,按照对应 Notebook 做 5–10 轮小规模训练,验证采样、更新、保存与导出。保留原始模型作为对照,用相同场景与命令评测训练后的版本;从零训练与更长的课程放在进阶实践中。
浏览器扰动使用已有策略观察物理交互;行走与 LightNav-0 导航直接接入已有模型。爬梯主线先理解并运行双策略,继续训练按任务教程单独开展。
前 6 天以 GPU 仿真与任务理解为主,具备板端条件的小组可继续运行各 Notebook 的 BPU 单元。第 7 天集中完成端侧实践,使用已验证 HBM 跑通闭环,再学习如何重新生成模型。第 8 天回到工作站 GPU,学习视觉语言导航与多场景实验,并完成成果分享。
每天留下什么
- 一份 Notebook 或代码阅读笔记,写清输入、动作与任务目标。
- 一段任务视频或关键实验输出,附上使用的模型和参数。
- 一条自己的观察:改动了什么、结果怎样、原因可能是什么。
领学员每天围绕一个任务组织讲解和讨论,收集共性问题,并把可复现的改动与实验记录整理到专题中。学习结束后,每组选择一个任务,展示从模型理解、参数实验到推理评测的完整过程。