指南 · 与官方 README 逐字核对
MotionBricks 安装教程:克隆、权重、第一个演示
从空文件夹到键盘驱动的 G1 人形机器人,只需九条命令——外加两个几乎人人都会踩的坑:默认跳过的 LFS 权重与 1 KB 指针文件。下方每条命令均逐字摘自官方 README,仅讲解顺序有所不同。
环境要求
- Python 3.10+
- CUDA 可用 GPU
- Git LFS —— 权重、网格与展示 GIF 均由 LFS 跟踪
MotionBricks 是 GR00T-WholeBodyControl 的子项目:克隆父仓库后在 motionbricks/ 目录内工作。
1 · 克隆仓库
git lfs install 父仓库默认跳过 MotionBricks 预训练权重,所以普通单仓库克隆不会自动下载额外的约 2.2 GB 权重文件。仅需源码(例如要在自己的数据上训练)时这样克隆:
git clone https://github.com/NVlabs/GR00T-WholeBodyControl.git
cd GR00T-WholeBodyControl/motionbricks 2 · 显式拉取权重
运行交互式演示需要权重以及 G1 网格。在仓库根目录:
git clone https://github.com/NVlabs/GR00T-WholeBodyControl.git
cd GR00T-WholeBodyControl
git lfs pull --include="motionbricks/out/**" --exclude=""
git lfs pull --include="motionbricks/assets/skeletons/g1/meshes/**" --exclude="" # needed for interactive demo
cd motionbricks 3 · 核对文件确实下载完成
这一步很多人跳过,然后花一小时排错。权重文件必须是真实大小:
ls -lh out/G1-clip.ckpt # ~7.5 MB
ls -lh out/motionbricks_vqvae/version_1/checkpoints/*.ckpt # ~273 MB
ls -lh out/motionbricks_pose/version_1/checkpoints/*.ckpt # ~1.6 GB
ls -lh out/motionbricks_root/version_1/checkpoints/*.ckpt # ~391 MB 如果某个权重约 1 KB,它是 Git LFS 指针,不是模型本体。
在仓库根目录拉取真实字节并重新核对:
git lfs pull --include="motionbricks/out/**" --exclude="" 快速判断可疑文件:head -c 60 out/motionbricks_pose/version_1/checkpoints/<文件>.ckpt —— 真实权重以二进制数据开头;指针文件以 version https://git-lfs.github.com/spec/v1 开头。
| 文件 | 预期大小 |
|---|---|
out/G1-clip.ckpt | ~7.5 MB |
out/motionbricks_vqvae/version_1/checkpoints/*.ckpt | ~273 MB |
out/motionbricks_pose/version_1/checkpoints/*.ckpt | ~1.6 GB |
out/motionbricks_root/version_1/checkpoints/*.ckpt | ~391 MB |
4 · 安装依赖
# Create environment
conda create -n motionbricks python=3.10 -y
conda activate motionbricks
# Install dependencies
pip install -e .
# Linux only: needed for keyboard input and MuJoCo key-grab workaround
pip install pynput python-xlib 5 · 运行交互式 G1 演示
DISPLAY=:1 python scripts/interactive_demo_g1.py 这会打开 MuJoCo 查看器并加载 G1 机器人;用键盘实时驱动它,按住鼠标左键拖动可旋转观察方向。前缀 DISPLAY=:1 假设 X11 会话在 GPU 1 的显示上——请按你的环境调整或去掉。完整键位表与相机操作见G1 演示指南。
已知问题(README 原文)
- Linux/X11 only: The keyboard key-grab workaround requires X11 (python-xlib). On Wayland, macOS, or Windows, some MuJoCo keyboard shortcuts may conflict with the controller keys. Keep the terminal focused (not the MuJoCo window) as a workaround.
- PYTORCH_JIT=0 disables key grabs: Running with PYTORCH_JIT=0 interferes with the X11 key-grab workaround. If you need PYTORCH_JIT=0, keep the terminal focused instead.
- Keyboard package differs by OS: The pynput package is required for keyboard input on Linux/macOS. On Windows, the keyboard package is used instead.
安装常见问题
NVIDIA MotionBricks 怎么安装(中文步骤)?
先装 Git LFS,克隆 GR00T-WholeBodyControl 单仓库,用 git lfs pull 显式拉取 MotionBricks 权重(父仓库默认跳过它们),创建 Python 3.10 conda 环境,在 motionbricks/ 内 pip install -e .,然后运行交互式 G1 演示脚本。完整可复制命令见本页上方。
MotionBricks 需要 GPU 吗?
需要——官方 README 明确要求 CUDA 可用 GPU、Python 3.10 与 Git LFS。纯 CPU 机器可以阅读与构建仓库,但无法按文档运行交互式演示。
为什么我的权重文件只有 1 KB?
它们是 Git LFS 指针文件,不是真实权重——这是最常见的坑,因为父仓库默认跳过 MotionBricks 权重以省去约 2.2 GB 下载。在仓库根目录运行:git lfs pull --include="motionbricks/out/**" --exclude="" 然后重新用 ls -lh 核对大小。
完整的 MotionBricks 演示需要多少磁盘?
约 2.2 GB 权重(VQVAE 约 273 MB、pose 约 1.6 GB、root 约 391 MB、G1-clip 约 7.5 MB)加上仓库本身与 LFS 跟踪的 GIF 和网格资源。预留约 5 GB 工作空间。
能在 Windows 上运行演示吗?
键盘按键抓取方案仅限 Linux/X11,因此在 Windows(以及 macOS/Wayland)上部分 MuJoCo 快捷键可能与控制键冲突。官方临时方案:保持终端聚焦而不是 MuJoCo 窗口,并安装 keyboard Python 包(Windows 上替代 pynput)。
MotionBricks 演示有独立安装包下载吗?
没有独立安装包。官方分发方式是带 Git LFS 资源的 GitHub 仓库;任何其他渠道打包的版本都非官方。按本页的 clone 与 lfs pull 命令操作即可。