EXP-01 · 8 学时

案例总览与成果演示

先看《家庭收纳场景》成果演示视频,再拆解「感知—决策—执行」与「开盖—取物—入罐—盖盖」闭环,最后沿四段流水线分步进入后续实验。

演示驱动LDT01-STDACT 行为克隆

00课程节奏:五星学习法 · 8 段微课(每段 ≤ 15 min)

本实验按五星学习法组织:先看成果演示视频聚焦问题,再用「教孩子收玩具」激活旧知,接着示证新知(硬件三大件 + 感知决策执行闭环动画),然后动手应用新知梳理四段流水线与节拍估算,最后借常见问题与拓展融会贯通。全程切成 8 段微课、每段不超过 15 分钟,段间停顿 1~2 分钟消化;纯讲授合计约 100 分钟,其余课时用于动手实操与个别辅导。

① 聚焦问题
课段 1 · 12 min
看演示视频提出"机器人怎么自主收纳"
② 激活旧知
课段 2 · 8 min
教孩子收玩具 · 感知决策执行三角色
③ 示证新知
课段 3~4 · 27 min
硬件三大件 + 闭环与时序动画
④ 应用新知
课段 5~7 · 40 min
四段流水线 + 命令预览 + 节拍估算
⑤ 融会贯通
课段 8 · 13 min
常见问题 · 拓展阅读 · 思考题
课段五星阶段时长对应章节本段任务
课段 1聚焦问题12 min§01 + §02 前半看演示视频,提出"机器人怎么自主开盖入罐"的核心问题
课段 2激活旧知8 min§02 后半用"教孩子收玩具"旧知衔接感知-决策-执行闭环
课段 3示证新知15 min§03认识 LDT01 一体机、主从双臂、三路相机与场景物料
课段 4示证新知12 min§06看感知-决策-执行闭环与开盖取物时序动画
课段 5应用新知15 min§04 + §05 前半梳理四段流水线操作步骤与三条关键命令预览
课段 6应用新知15 min§05 后半对照转换/训练/推理命令理解各段输入输出
课段 7应用新知10 min§07用收纳节拍估算器算采集时长,理解有效轮次
课段 8融会贯通13 min§08~§10常见问题收口,拓展阅读与思考题拔高迁移

讲课提示:课段 1/2 以讲授 + 提问为主;课段 3~4 用实物 + 动画;课段 5~6 边看视频边动手;课段 7 学员独立完成;课段 8 答疑拔高。段间停顿 1~2 分钟。

01学习目标 · 先看成果课段 1 · 聚焦问题 · 12 min

  • 理解家庭收纳任务:左手打开不锈钢罐盖 → 右手拿芒果放入罐中 → 左手盖回盖子的三步闭环。
  • 记住四段流水线:数据采集 → 数据转换 → 模型训练 → 真机推理,各段输入输出清晰。
  • 能用「感知—决策—执行」讲清机器人为何能自主完成收纳动作。
  • 明确教学动线:本页先看演示,后续三个实验把这段视频「拆开再拼回去」。
视频 1-1|成果演示:训练完成的双臂机器人在家庭桌面自主完成收纳——左手开盖、右手将芒果放入不锈钢罐、左手盖回盖子(聆动课程案例视频《家庭收纳场景.mp4》)。

建议先完整看一遍演示:接下来三个实验,就是把这段视频「拆开再拼回去」。

02原理:任务定义与感知—决策—执行课段 1 收尾 + 课段 2 · 激活旧知 · 8 min

❓ 聚焦问题(课段 1)机器人看完视频能自主开盖入罐,但它没学过力学——它是怎么"看一眼就知道下一步怎么动"的?带着这个问题听完原理,到课段 4 你会看懂感知-决策-执行闭环。

收纳任务像教孩子收玩具:「先开盖,再把水果放进去,最后盖好盖子」。机器人并不懂「芒果」是什么,它只是把「三路相机看到的画面 + 当前关节状态」翻译成「下一步关节动作」。这中间有三个角色:感知(相机看现场)、决策(ACT 策略选出动作)、执行(双臂与夹爪动起来),三者首尾相接形成闭环,跑完一轮就是一次收纳。

任务准则
开 - 拿 - 放 - 盖:左手管罐盖、右手管水果,时序固定不乱套。
示范来源
操作者穿戴 LDT-01 遥操作端,主臂领动、从臂跟随,三路相机同步录像。
学习目标
ACT 策略学会「画面 + 关节状态 → 下一段动作」,部署回真机复现闭环。
成败关键
芒果/罐子按默认布局摆放、桌面环境与采集时一致,坏示范当场剔除。
↺ 激活旧知(课段 2)回忆教孩子收玩具的三步:先开盖、再放进去、最后盖好——你示范时孩子同时看着你的手和玩具。机器人学的也是"画面+动作"配对,这就是行为克隆的本质。
场景三大安全要求:① 抓取范围内不站人(双臂 5kg 负载,夹手指尖能捏断笔);② 保护桌面,金属罐/芒果落下可能砸坏;③ 遥操作时保持急停按钮在手边。
家庭收纳任务拆解:开 → 拿 → 放 → 盖 四步闭环——左手管罐盖(开/盖)、右手管水果(拿/放),时序固定不乱套。默认布局:不锈钢罐居中、芒果放在罐右侧,采集/复现都按此摆放。
生活化类比:行为克隆像「跟着大厨学颠勺」——你只看他的手怎么动、锅在哪,不背力学公式;他示范里若混入翻锅失误,你也会学失误——所以坏数据必须剔除,数据质量 > 数据数量。

03硬件与材料课段 3 · 示证新知 · 15 min

LDT01-STD 一体机
i5-13400F / RTX 4060 Ti 16GB / 64GB RAM / 2TB SSD,Ubuntu 22.04 + ROS2,采训推一体。
主从同构双臂
从动臂(跟随)7 轴谐波关节 DC48V、负载 5kg;主动臂(遥操作端)7 轴总线舵机;二指夹爪 0–90mm。
视觉相机
3 路在用 RGB 相机:头部、左腕、右腕,同时观测盖沿、罐口与果实近景。
场景物料
不锈钢罐 + 罐盖、芒果(或同类水果)、平整桌面;按默认布局拍照留底以便复原。
部件关键参数(摘自 00-硬件参数)在本课中的角色
三路相机头部 + 左腕 + 右腕 RGB,全局快门提供第三视角 + 双手腕视角,构成策略输入图像
从动臂 ×27 轴谐波关节,DC48V,通信 500Hz,负载 5kg执行开盖与取物的「真机双手」
主动臂 ×27 轴总线舵机,DC12V,100Hz,运动半径 554mm遥操作端,人类示范的「输入手」
二指夹爪开口 0–90mm,夹持 2.5kg,50Hz抓取芒果、捏住罐盖的执行末端
工控机i5-13400F + RTX 4060 Ti 16GB + 64GB RAM + 2TB SSD采集录制、数据转换、本地训练与推理全在这台跑

场景测量提醒(案例原文):桌面到机械臂的距离保持一致、方位粗略测量即可;采集量够大时可容忍小的位置变动——但默认布局不乱动,复现最稳。

04操作步骤:从开机到四段流水线课段 5~6 · 应用新知 · 2×15 min

S1数据采集
开机布景 → 新建任务 → 遥操作示范,三路视频 + 关节角同步入库
→
S2数据转换
CSV + 视频 → LeRobot v3.0 Parquet + 三路 mp4
→
S3模型训练
lerobot-train 驱动 ACT 学习示范
→
S4真机推理
ROS2 节点 50Hz 推理,双臂自主开盖入罐
  1. 部署与开机:按默认布局摆好罐与芒果 → 测量桌面到基座距离 → 依次开侧面电源与主机电源,开机后夹爪张开再收回。
  2. 进入上位机:登录 Ubuntu(默认密码 1),浏览器访问 localhost:8699/#/robotManage。
  3. 建任务与采集:新建任务(名称/描述建议英文)→ 预览轨迹 → 点开始后 3 秒内握持操作端完成示范 → 停止当前组,循环往复。
  4. 标记坏数据:失误的组点「本次采集失败」,该组不计入训练。
  5. 转换 → 训练 → 推理:convert 脚本切段转换 → lerobot-train 训练 ACT → 加载 checkpoint 用 /model_ifrun 服务开关复现闭环。
开机 4 步:① 卷尺测量桌面到机械臂基座距离(采集和复现必须一致)→ ② 依次开侧面总电源 → 主机电源 → ③ 开机后夹爪张开再收回(确认伺服正常)→ ④ 登录 Ubuntu(默认密码 1),浏览器访问 localhost:8699/#/robotManage。
任务采集入口:任务管理列表标注「1 开始」进入采集、「2 预览」先看轨迹;点开始数据采集后3 秒内握持操作端(主动臂),页面出现三路摄像头画面(头部 + 左腕 + 右腕)。
完成一组采集:按流程完成「左手打开不锈钢盖 → 右手拿芒果放入 → 左手盖回盖」后点「停止当前组数据采集」,画面显示三摄像头画面、采集用时与左右实时关节节拍——坏组立即点「本次采集失败」剔除。

05关键命令(预览,后续实验展开)随课段 5 / 6 对照使用

以下命令摘自《聆动机器人案例-家庭场景》与 LeRobot 0.4.1 入口,本实验先混个脸熟:

# ① 数据转换:save_data 编号目录 → LeRobot v3.0 数据集
python convert_lerobot_v3_fixed_simple.py \
  --input  /home/lindenbot/save_data/<组目录> \
  --output /home/lindenbot/converted_data \
  --start 180 --end 209

# ② 训练 ACT 策略(家庭任务,本地示例,完整参数见 EXP-03)
lerobot-train --policy.type=act \
  --dataset.repo_id=lindenbot/put_fruit_in_box \
  --dataset.root=/home/lindenbot/converted_data \
  --batch_size=12 --steps=50000 --save_freq=4000

# ③ 真机推理:启动推理节点后,用服务开关控制自主收纳
ros2 service call /model_ifrun std_srvs/srv/SetBool "{data: true}"   # 开始
ros2 service call /model_ifrun std_srvs/srv/SetBool "{data: false}"  # 停止
编号提醒:save_data 下的采集编号不从 0 开始,家庭案例从 180 号段起步、取「当前最大编号 = 最新一集」;切段时用 --start/--end 或 --skip 排除坏集。
转换在干什么
把散装采集记录(CSV 关节角 + 视频帧)按 episode 切齐,重排成训练框架统一的数据格式。
训练在干什么
让 ACT 网络反复看「当前画面 → 人的下一个动作」,把示范内化成权重/checkpoint。
推理在干什么
真机上加载 checkpoint,把每帧观测实时翻译成关节指令,服务开关随时接管/交还控制权。
一条主线
三条命令共享同一套数据:converted_data 既是训练的读取根目录,也是排查问题的唯一事实来源。

06动画:感知—决策—执行闭环与开盖取物时序课段 4 · 示证新知 · 12 min

感知 三路相机 + 关节状态 决策 ACT 策略选动作 执行 双臂 + 夹爪动作 环境变化回传感知 · 每帧(50Hz)转一圈 一轮动作时序: ① 左手开盖 ② 右手取芒果 ③ 放入罐中 ④ 左手盖盖
动画:黄点沿反馈回路流动表示「感知→决策→执行→再感知」的闭环;下方高亮框按顺序扫过四步动作时序,第 4 步盖盖后回到第 1 步,即一轮收纳。
观察为什么闭环里还要「再感知」?——盖子开没开、芒果在不在手里,都是动作之后才确定的新事实;每帧都重看一眼,下一步才不会闭眼瞎抓。开盖-取物-入罐-盖盖四步靠这个回路串成一个可循环的任务。

07互动:收纳节拍估算器课段 7 · 应用新知 · 10 min

拖动滑杆估算一轮「开盖-取物-入罐-盖盖」耗时与总采集时长
等待计算……

案例复盘口径:采集数据 200 次左右、训练步数 500000 步以上,桌面环境与默认布局保持一致,收纳闭环复现才稳。轮数不是越多越好——含失误的轮次会被剔除,有效轮次才是硬指标。

08常见问题课段 8 · 融会贯通 · 13 min

Q 演示视频能正常播放吗?
源片为竖版 720×1280 mp4,Chrome/Edge(Win)自带解码一般可直接播;若黑屏请换 Edge 或本地播放器打开同目录 mp4。
Q 上位机打不开?
先确认一体机开机自检完成(夹爪张开收回)、进度条 100%,浏览器访问 localhost:8699;默认密码 1。
Q 左右手会「串」吗?
采集时就固定分工:左手开/盖盖、右手取/放水果,时序固定;训练数据才有一致的映射规律。
Q 四段顺序能跳吗?
不能。没有合格的采集就没有可转换的数据,没有 v3.0 数据集训练会直接报错,推理也无 checkpoint 可加载。

09拓展阅读课段 8 · 融会贯通

  • 《聆动机器人案例-家庭场景》:安全要求、场景测量建议、复现效果评估与成功判据原文。
  • 《00-聆动机器人硬件参数介绍》:相机/主从臂/夹爪完整参数表(EXP-01 第 03 章已摘核心行)。
  • LeRobot 官方 ACT 论文:Action Chunking with Transformers——一次输出动作块,动作更平滑。
  • 对照 IND-03 物料分拣案例:同一条四段流水线,换任务、换物料即迁移——场景变、框架不变。
  • 《遥操作设备 LDT-01 软件使用流程(开发者版)》:双人安全制与拖拽模式,EXP-02 详解。

10思考题 · 自测课段 8 · 融会贯通

✅ 完成成果
看完演示视频,能默画出四段流水线并说出每段的输入/输出产物。
🧠 原理收获
用「感知—决策—执行」复述开盖入罐闭环,并解释为什么每帧都要重新感知。
🛠 技能收获
认识 localhost:8699 上位机、任务创建/预览/采集/停止的完整入口与视频演示对照。
📐 评分速览
动画观察 30% + 互动计算 30% + 思考题作答 40%。
思考 1若每次采集时芒果摆放位置都不同,训练出的模型可能学会什么「歪本事」?这说明示范数据的哪类变量必须受控?(提示:EXP-04 会用摆放偏移专门检验这一点。)
思考 2行为克隆只模仿动作,不懂物理。请举一个本场景中「照猫画虎但会翻车」的风险点(提示:罐盖滑脱、芒果碰沿),并说明可用什么手段缓解。