Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ Format: each entry includes the date, a short title, and a description of what c

## Unreleased

### Learn with the GR00T, MuJoCo and MCAP notebook

The supplied GR00T N1.7 lab is available alongside the ABC/XDOF notebook in a shared notebook index, with dedicated kernel setup and local artifact guidance. LIBERO task selection follows the chosen suite, and before/after comparisons require distinct checkpoints saved during training. ABC video conversion also supports current FFmpeg; GPU execution remains unvalidated. *(PR #36)*

### Compare ABC-VLA and adapted pi0.5 on bimanual episodes

Run compatible policies through repeated ABC simulator episodes using existing Trials, Campaigns, evidence, traces and reports. A guided comparison and matching CLI preserve scene resets, checkpoint identities, task outcomes and policy-call measurements; a separate ABC/XDOF conversion and pi0.5 training recipe prepares adapted checkpoints. Real data conversion and CPU simulation are validated; GPU training and learned-policy comparison remain pending. *(PR #35)*
Expand Down
4 changes: 2 additions & 2 deletions examples/abc-pi05/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -248,8 +248,8 @@ def frames(ep: Episode):
"error",
"-i",
str(ep.path / "combined_camera-images-rgb.mp4"),
"-vsync",
"0",
"-fps_mode",
"passthrough",
"-f",
"rawvideo",
"-pix_fmt",
Expand Down
13 changes: 13 additions & 0 deletions notebooks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# ROVE notebooks

Clone ROVE to get these Jupyter learning labs. Each notebook has its own setup;
use its dedicated Python environment rather than the ROVE application environment.

| Notebook | What you can explore | Setup |
| --- | --- | --- |
| [ABC and XDOF](abc_xdof/hello_abc.ipynb) | Demonstrations, action predictions, simulator episodes and optional ABC-VLA fine-tuning. | [ABC instructions](abc_xdof/README.md) |
| [GR00T N1.7, MuJoCo and MCAP](gr00t/gr00t_n17_finetuning_mujoco_mcap_lab_v2.ipynb) | SO100 data inspection, MuJoCo, optional GR00T fine-tuning and LIBERO evaluation, and synthetic MCAP cleaning. | [GR00T instructions](gr00t/README.md) |

The notebooks are standalone exercises. GPU training and inference require the
runtime described in each guide. Notebook outputs do not automatically become
ROVE Trials or Campaigns.
4 changes: 4 additions & 0 deletions notebooks/gr00t/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.venv/
.work/
gr00t_lab/
*.executed.ipynb
72 changes: 72 additions & 0 deletions notebooks/gr00t/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# GR00T N1.7, MuJoCo and MCAP lab

Open [the notebook](gr00t_n17_finetuning_mujoco_mcap_lab_v2.ipynb) for a learning
exercise covering SO100 demonstration inspection, MuJoCo fundamentals, optional
GR00T fine-tuning and LIBERO evaluation, and synthetic ROS 2 MCAP cleaning.
Browse the [notebook index](../README.md) for the ABC and XDOF lab.

This is a standalone notebook, not a GR00T integration with ROVE's evaluation
engine. Its source is included without saved outputs. Notebook structure and
code-cell syntax are checked, and regression tests exercise suite selection,
checkpoint scheduling and comparison guards. Its installations, training and
GPU evaluation cells have not been executed as part of this addition.

## Open with a dedicated kernel

Install Python 3.12, Git, uv and FFmpeg. Git LFS may be needed for upstream demo
assets. From the ROVE repository root:

```bash
uv venv --python 3.12 --seed notebooks/gr00t/.venv
uv pip install --python notebooks/gr00t/.venv/bin/python jupyterlab ipykernel
notebooks/gr00t/.venv/bin/python -m ipykernel install --sys-prefix \
--name rove-gr00t --display-name "ROVE GR00T (Python 3.12)"
GR00T_LAB_ROOT="$PWD/notebooks/gr00t/.work" \
notebooks/gr00t/.venv/bin/jupyter lab \
notebooks/gr00t/gr00t_n17_finetuning_mujoco_mcap_lab_v2.ipynb --ip=127.0.0.1
```

Choose **ROVE GR00T (Python 3.12)** in Jupyter. In VS Code, use **Select Kernel →
Python Environments** and select `notebooks/gr00t/.venv/bin/python`. Selecting
Homebrew's system Python instead can produce the missing `ipykernel` message.
The seeded environment includes pip because the notebook installs its data and
simulation dependencies into the selected kernel.

## Choose the execution scope

The notebook separates macOS/CPU data, MuJoCo and MCAP exercises from the full
Linux/NVIDIA model path. Work through the prerequisite checks first. The full
path needs a compatible CUDA environment, appropriate model access and graphics
libraries for rendered simulation. Docker also needs NVIDIA GPU access.

Fine-tuning, larger dataset downloads and LIBERO evaluation have explicit flags
in the first configuration cell. Keep them disabled until their prerequisites are
ready. Some earlier setup cells still install packages, clone the upstream GR00T
repository and retrieve assets. Dependencies and the upstream checkout are not
pinned by this notebook; inspect the commands before execution and record the
versions used for any comparison.

The MCAP exercise generates synthetic data and exports a staging episode; it does
not by itself create a validated production training dataset. Short training runs
demonstrate mechanics and do not establish model quality or real-robot success.

## Compare checkpoints

Choose `LIBERO_SUITE` once. The notebook selects a matching example task from the
[upstream task list](https://github.com/NVIDIA/Isaac-GR00T/blob/main/examples/LIBERO/README.md)
and uses it in both rollout command templates. The default `goal` suite evaluates
putting the bowl on the plate; suite `10` uses the stove/moka task.

The 100-step learning exercise now saves checkpoints at steps 50 and 100. The
comparison requires two existing, distinct checkpoint directories, including
when paths are symlink aliases. Missing or identical checkpoints block comparison
command generation and the before/after plot. With valid checkpoints, enable
`RUN_MUJOCO_BEFORE_AFTER` to print each server/client command pair for manual
execution with the same task, seed and episode count, and separate video folders.

## Keep generated files local

The launch command puts downloads, model checkpoints and generated data under
the ignored `.work/` folder. The notebook's default `gr00t_lab/` folder is also
ignored when it is created beside the notebook. Keep credentials outside notebook
cells, and clear outputs before committing or sharing an executed copy.
Loading
Loading