Files
lerobot_learn/env/machines.md
T

6.3 KiB
Raw Blame History

机器拓扑 & 环境 & 协作模型

本文件记录各机器角色、连接方式、软件环境,以及我和你的协作方式。每次改动后更新。 [待补] = 需要你在对应机器上跑命令后回填。

⭐ 协作模型(先读这个)

角色 机器 谁操作
主家(开发+臂+推理) ② 3080 机(10GB · 本地 Ubuntu · 机器人旁) 你(本地终端)
训练专用 ③ 3090 机(24GB · 远程 SSH) 你(SSH)
写字台(写代码/规划/文档) ① 本 Windows 机 D:\robot\lerobot 我(agent)
富余算力(非关键路径) ⑤ AWU408 双 Orin 暂不用
上机驱动板(P3/P4 起) ④ RPi 5 P3/P4 前你配

关键约束:我的沙箱无外网,够不到你任何一台 GPU 机。工作流:

我(①写字台)写代码/配置 ──你 push──▶ git 库 ──clone/pull──▶ ② 3080 & ③ 3090
你在 ②/③ 执行(本地终端 / SSH)──粘回完整输出──▶ 我诊断/迭代

约定:

  1. 我给自包含、复制即跑的脚本/命令块(尽量一次给全)。
  2. 代码/配置走 git 库(你 push,两机 pull);数据集/模型走 HF Hub(hf-mirror)或局域网 rsync(两机互通,大文件直传更快)。
  3. 两台 GPU 机目录统一 ~/robot/:本仓库 + lerobot clone + .venv。

拓扑总览

┌──────────────────────┐  push   ┌───────┐ clone/pull ┌─────────────────────────┐
│ ① Windows 写字台       │ ──────▶ │ git 库 │ ──────────▶ │ ② 3080 主家 (10GB)        │
│   D:\robot\lerobot    │         └───────┘   ⟨同一库⟩  │   本地 Ubuntu · 机器人旁   │
│   我写代码/文档/规划     │                    ┌────────┴─────────────────────────┐
└──────────────────────┘                    │ ③ 3090 训练 (24GB) · 远程 SSH      │
                                            └───────────────────────────────────┘
     ② ↔ ③ 同一局域网:rsync 直传数据集/模型;π0 推理紧张时 3090 可代推

② 3080 主家(推理芯,挨着机器人 = 低延迟):
   开发 · 臂 USB 直连 · 遥操 · 采数 · 推理部署 · P4 policy server
③ 3090 训练(训练芯):
   只跑 lerobot-train:ACT / SmolVLA 全量 / π0-FAST LoRA
数据流: 采数@② → HF Hub(或 rsync) → 训练@③ → 模型 → 推理@②

为什么这样拆:训练吃显存(参数+梯度+优化器+激活 ≈ 推理的 4~8 倍),推理不吃。

  • 3090 24GB:SmolVLA 全量微调 / π0-FAST LoRA —— 只有它干得动。
  • 3080 10GB:ACT(<1GB) / SmolVLA fp16(~2GB) 推理绰绰有余;遥操/采数几乎不占 GPU。

② 3080 机(主家 · 10GB · 本地 Ubuntu · 机器人旁)

项 值
位置 机器人/工作台旁(SO-101 臂 USB 直插它)
主机名 / IP [待补]
Ubuntu 版本 [待补](建议 22.04)
GPU 3080(10GB) —— 开发 + 推理
驱动 / CUDA [待补](setup 脚本会打印)
Python 3.12(venv,脚本自建)
LeRobot [待补](预期 0.6.x)
HF 账号 huggingface-cli login(HF_ENDPOINT=hf-mirror)
目录 ~/robot/(本仓库 + lerobot + .venv)

跑什么:日常开发、lerobot-teleoperate / lerobot-record(臂插这)、lerobot-eval|rollout(推理部署)、P4 的 policy server。 显存预算:ACT <1GB ✅ / SmolVLA fp16 ~2GB ✅ / π0-FAST ~7GB ⚠️(fallback 见文末)。

③ 3090 机(训练专用 · 24GB · 远程 SSH)

项 值
访问 SSH(远程,与 ② 同局域网互通)
主机名 / IP [待补]
Ubuntu 版本 [待补]
GPU 3090(24GB) —— 只管训练
Python / LeRobot 与 ② 同一 setup 脚本
目录 ~/robot/(同一 git 库)

跑什么:只跑 lerobot-train(拉数据集 → 训 → 推模型回 Hub)。 兜底角色:π0-FAST 推理在 ② 放不下时代推(同局域网+异步分块,多一跳延迟可接受);② 忙时也可顶 ACT / SmolVLA-LoRA 训练。

两机传大文件(同局域网,比 HF Hub 快)

# ② → ③ 推数据集
rsync -avzP ~/robot/data/  <user>@<3090-ip>:~/robot/data/
# ③ → ② 拉训练好的模型
rsync -avzP <user>@<3090-ip>:~/robot/outputs/train/<exp>/  ~/robot/models/<exp>/

① 本 Windows 机(D:\robot\lerobot · 我的写字台)

项 值
角色 写代码 / 规划 / 文档;不跑 LeRobot
Python 3.14(LR 要 3.12;本机只编辑)
git 2.51.0 ✅
外网 ❌ 沙箱无外网
同步 你从本机 push 到 git 库 → ② ③ pull

④ RPi 5(上机驱动板 · P3/P4 起)

项 值
OS Raspberry Pi OS 64-bit
连接 USB(有源 Hub):2 臂 + 3 轮 + 3 相机;以太网 → ② 3080(policy server 在它上面)
软件 LeRobot .[feetech,lekiwi,dataset] + thin client(推图/收 chunk/执行/fail-safe)
静态 IP [待补]

⑤ AWU408(富余算力,非关键路径)

  • 双 DRIVE Orin(508 TOPS)+ Aurix TC397。默认不用。
  • 用途:3090 忙训练时顶推理 / 固定台。
  • 待验证:能否刷 Ubuntu+CUDA+PyTorch(常出厂 QNX/DRIVE OS);跑不通就不管它。

国内网络 / 镜像(两台 GPU 机通用,setup 脚本自动处理)

用途 直连不可达时的镜像
pip https://pypi.tuna.tsinghua.edu.cn/simple(或 Aliyun)
HF dataset/weights HF_ENDPOINT=https://hf-mirror.com
git clone lerobot https://ghproxy.com/https://github.com/huggingface/lerobot.git

π0-FAST 推理在 3080(10GB) 放不下时的 fallback(P5 才需要)

  1. 4-bit 量化(权重 6.6GB → ~2GB,立刻宽裕)
  2. batch=1 + bf16 硬试(~8-9GB,可能刚好)
  3. 3090 代推:policy server 起在 ③,② 只做遥操/采数(同局域网,异步分块下延迟可接受)