成果演示与整体框架
先看真机自主分拣的成果演示,再拆解「采集 → 转换 → 训练 → 推理」四段流水线,建立对双臂分拣场景的全局认知。
00课程节奏:五星学习法 · 8 段微课(每段 ≤ 15 min)
本实验按五星学习法组织:先看真机自主分拣的成果视频聚焦问题,再用「跟着大厨学切菜」的日常经验激活旧知,接着对照实物与四段流水线动画示证新知,然后拆解操作步骤、预览核心命令、算节拍来应用新知,最后借常见问题与思考题融会贯通。全程切成 8 段微课、每段不超过 15 分钟,段间停顿 1~2 分钟消化;纯讲授合计约 100 分钟,其余课时用于动手实操与个别辅导。
| 课段 | 五星阶段 | 时长 | 对应章节 | 本段任务 |
|---|---|---|---|---|
| 课段 1 | 聚焦问题 | 12 min | §01 + §02 前半 | 看成果演示视频,抛出"机器人怎么学会分拣"的目标 |
| 课段 2 | 激活旧知 | 8 min | §02 后半 | 用"跟着大厨学切菜""流水线作业"激活模仿学习旧知 |
| 课段 3 | 示证新知 | 15 min | §03 | 对照实物认识双臂/相机/工控机与黑银物料分工 |
| 课段 4 | 示证新知 | 12 min | §06 | 看四段流水线动画,理解每段输入输出契约 |
| 课段 5 | 应用新知 | 15 min | §04 + §05 ①② | 拆解四段流水线五步流程,预览转换/训练命令 |
| 课段 6 | 应用新知 | 15 min | §05 ③ + §04 任务创建 | 预览推理命令,对照任务创建与采集要点 |
| 课段 7 | 应用新知 | 10 min | §07 | 分拣节拍计算器估算采集时长,建立量级直觉 |
| 课段 8 | 融会贯通 | 13 min | §08~§10 | 常见问题收口,拓展与思考题拔高迁移 |
讲课提示:课段 1/2 以讲授 + 提问为主;课段 3~4 用实物 + 动画;课段 5~6 边看视频边动手;课段 7 学员独立完成;课段 8 答疑拔高。段间停顿 1~2 分钟。
01学习目标 · 先看成果课段 1 · 聚焦问题 · 12 min
- 理解工厂双臂分拣任务:左手黑色零件入左格、右手银色零件入右格的分工约定。
- 记住四段流水线:数据采集 → 数据转换 → 模型训练 → 真机推理,各段输入输出清晰。
- 明白行为克隆的本质:机器人「看你示范、照着做」,数据质量比数量更重要。
- 能说出本课用到的硬件:LDT01-STD 一体机、主从同构双臂、三路采集相机与工控机。
建议先完整看一遍演示:接下来四个实验,就是把这段视频「拆开再拼回去」。
02原理:任务定义与行为克隆课段 1 收尾 + 课段 2 · 激活旧知 · 8 min
分拣任务像教新手整理零件盒:「左手管黑色件放左格,右手管银色件放右格」。机器人并不理解「黑色」的含义,它只是把「看见的画面 + 当前关节状态」映射到「下一步关节动作」。我们把人的双臂示范录下来,让它反复模仿——这就是行为克隆(Behavior Cloning):我做给你看,你照着学。
localhost:8699 一键启动,进度条走完进入遥操作状态。03硬件与材料课段 3 · 示证新知 · 15 min
采集套件还包括:LDT-01 遥操作端(主动臂 + 被动支撑 + 捏合式二指夹爪)、急停按钮、数据存储目录 /home/lindenbot/save_data。软件侧需提前装好 LeRobot 0.4.1 环境(EXP-03 展开)。
| 部件 | 关键参数(摘自 00-硬件参数) | 在本课中的角色 |
|---|---|---|
| 三路相机 | CAM-1 头部 / CAM-2 左腕 / CAM-3 右腕,92° DFOV、全局快门、最高 1600×1300@60fps | 提供第三视角 + 双手腕视角,构成策略输入图像 |
| 从动臂 ×2 | 7 轴谐波关节,DC48V,通信 500Hz,19bit 编码,负载 5kg,运动半径 850mm | 执行分拣的「真机双手」 |
| 主动臂 ×2 | 7 轴总线舵机,DC12V,100Hz,12bit,运动半径 554mm | 遥操作端,人类示范的「输入手」 |
| 二指夹爪 | 开口 0–90mm,夹持 2.5kg,50Hz | 抓取黑色/银色零件的执行末端 |
| 工控机 | i5-13400F + RTX 4060 Ti 16GB + 64GB RAM + 2TB SSD,Ubuntu 22.04 + ROS2 | 采集录制、数据转换、本地训练与推理全在这台跑 |
04操作步骤:四段流水线总览课段 5~6 · 应用新知 · 2×15 min
遥操作示范,三路视频 + 关节角同步入库
CSV/HDF5 → LeRobot v3.0 Parquet + 视频
lerobot-train 驱动 ACT 学习示范
ROS2 节点 50Hz 推理,双臂自主分拣
- 部署与开机:摆好桌面场景 → 测量机械臂与桌面距离 → 一键启动上位机(localhost:8699)。
- 建任务与采集:新建任务(名称/描述用英文)→ 预览轨迹 → 点开始后 3 秒内握持操作端完成示范 → 停止当前组,循环往复。
- 标记坏数据:失误的组点「本次采集失败」,该组不计入训练。
- 转换与训练:convert 脚本切段转换 → lerobot-train 训练 ACT 策略(本地或云端均可)。
- 推理复现:加载 checkpoint,三终端启动 ROS2 推理,/model_ifrun 服务开关控制双臂自主分拣。
sort_black_left_silver_right)与描述 → ③ 保存后任务列表出现新项 → ④ 点「1 开始」进入采集模式、「2 预览」先观察机械臂运行轨迹再正式录制。
05关键命令(预览,后续实验展开)随课段 5 / 6 对照使用
以下命令摘自《聆动机器人案例-工厂场景》与 LeRobot 0.4.1 官方入口,本实验先混个脸熟:
# ① 数据转换:save_data 目录 → LeRobot v3.0 数据集(按 episode 区间) python convert_lerobot_v3_fixed_simple.py \ --input /home/lindenbot/save_data \ --output /home/lindenbot/converted_data \ --start 180 --end 209 --task "Parts Categorization" # ② 训练 ACT 策略(本地示例,完整参数见 EXP-03) lerobot-train \ --policy.type=act \ --dataset.repo_id=lindenbot/parts_categorization \ --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}" # 停止
--start/--end 或 --skip 排除坏集。这三条命令分别属于 EXP-03(转换/训练)和 EXP-04(推理)的核心操作,本实验只要求「读得懂每段在干什么」:
06动画:四段流水线课段 4 · 示证新知 · 12 min
07互动:分拣节拍计算器课段 7 · 应用新知 · 10 min
案例复盘建议:采集 150 次左右、训练步数足够(工厂场景文档建议 500000 步以上),桌面环境保持一致,分拣复现成功率才稳。轮数不是越多越好——含失误的轮次会被剔除,有效轮次才是硬指标。
08常见问题课段 8 · 融会贯通 · 13 min
09拓展阅读课段 8 · 融会贯通
- 《00-聆动机器人硬件参数介绍》:4 相机布局、主从臂负载/半径参数表、行业课程对标(序号 1 即物料分拣场景)。
- 《聆动机器人案例-家庭场景》:同一套四段流水线换个任务(水果入盒)照样跑通,体会「场景变、框架不变」。
- LeRobot 官方 ACT 论文:Action Chunking with Transformers——一次输出 100 步动作块(chunk_size=100),动作更平滑。
- command/8_train_dual_arm.sh 与 9_inference_dual_arm.sh:真实工程脚本里如何组织双臂训练与推理入口。
- 《遥操作设备 LDT-01 软件使用流程(开发者版)》:LED 四色状态、拖拽模式、插补检查等设备侧细节,EXP-02 详解。