Skip to content

Docs: overhaul Getting Started and navigation structure#505

Open
cvolkcvolk wants to merge 25 commits intomainfrom
cvolk/getting-started-docs
Open

Docs: overhaul Getting Started and navigation structure#505
cvolkcvolk wants to merge 25 commits intomainfrom
cvolk/getting-started-docs

Conversation

@cvolkcvolk
Copy link
Copy Markdown
Collaborator

@cvolkcvolk cvolkcvolk commented Mar 25, 2026

Summary

  • New Getting Started docs: Added first_arena_env.rst walking through the pick_and_place_maple_table environment source with step-by-step explanations of Scene, Embodiment, Task, Relations, and CLI variation. Added first_experiments.rst (formerly Getting Started) with policy runner experiments using zero-action policy.

  • Renamed srl_pick_and_placepick_and_place_maple_table: Updated environment class, file, name string, cli.py, all eval job configs, and docs.

  • Restructured navigation:

    • Split User's Guide into Set Up (Installation only — Docker Containers merged in) and Getting Started (First Arena Environment, Running your First Experiments)

    • Restructured Example Workflows into Imitation Learning (G1, GR1 Open Microwave, GR1 Sequential) and Reinforcement Learning (Franka Lift Object)

    • Moved Jupyter Notebooks and GR00T Server-Client to Advanced

  • GR00T container decoupled from core setup: Removed Base + GR00T container from Docker Containers setup page. Added a dedicated GR00T Container section to the Imitation Learning index where it is contextually relevant.

  • Merged Docker Containers into Installation: The page was slim enough after cleanup to fold in directly, simplifying the Set Up section to a single page.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Rename the environment class, file, and name string from
srl_pick_and_place to pick_and_place_maple_table. Update all
references in cli.py, eval job configs, and docs.

Also rework first_arena_env.rst to walk through the
pick_and_place_maple_table source with step comments, reorder
docs so first_arena_env comes before getting_started, and clean
up forward references in the intro.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Extract Server-Client Mode With GR00T section from docker_containers.rst
into a new advanced/groot_server_client.rst page. Move jupyter_notebooks
from User's Guide to Advanced in the ToC.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Add imitation_learning/index.rst grouping the G1 and two GR1 tasks,
and reinforcement_learning_workflows/index.rst grouping the Franka
Lift Object task. Update main ToC to show these two sections instead
of four flat entries.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Split User's Guide toctree into Set Up (Installation, Docker
Containers) and Getting Started (First Arena Environment, Varying
your Environment). Rename getting_started.rst to
varying_your_environment.rst and update its title and all
cross-references accordingly.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Remove the GR00T-specific requirements paragraph from Installation
and add it as a note on the Imitation Learning index, where it is
relevant to the reader.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Document that `python` is aliased to `/isaac-sim/python.sh` inside
the container. Recommend using the full path only for docker exec
commands run from outside, where the alias is not active.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
first_arena_env now precedes this page in the nav, so pointing
readers back to it from Next Steps is confusing. Remove the line.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
GR00T is an external model independent of Arena. The Base + GR00T
container is an implementation detail of specific workflows, not
part of Arena's core setup. Remove it from Docker Containers and
leave it to the Imitation Learning workflow pages to introduce it
in context.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Introduce the Base + GR00T container in context, with the launch
command and a note that workflow pages indicate when it is needed.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Docker Containers is now slim enough to fold into Installation
directly. Move the container launch command and mounted directories
note into Installation and remove the separate page and its ToC entry.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Update all workflow step pages that referenced the now-deleted
docker_containers page. Base container references now point to
installation; Base + GR00T references point to the imitation
learning index where the GR00T container is documented.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Rename the page and file to better reflect its purpose as an
entry point for hands-on experimentation with Arena.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Signed-off-by: Clemens Volk <cvolk@nvidia.com>
@cvolkcvolk cvolkcvolk changed the base branch from release/0.1.1 to main March 25, 2026 13:01
The policy_runner GR00T example now explicitly states it requires
the GR00T container (./docker/run_docker.sh -g) before the code
block, preventing a silent failure for readers who haven't launched
it. Moved the redundant note from the trailing sentence.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Replace GR00T-specific commands with a short pointer to the
Imitation Learning workflows and policy evaluation docs. The
detailed DROID/GR00T example will live in the workflow section.

Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Signed-off-by: Clemens Volk <cvolk@nvidia.com>
----------

The experiments above use ``zero_action`` — the robot stays still and success rates are zero.
To get non-zero results, swap in a real policy. See :doc:`../../pages/example_workflows/imitation_learning/index`
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like the next logical step would be to showcase the Gr00t-Droid zero shot experiment (running in the gr00t container) on this pick_and_place_maple_table environment (Instead of pointing to the imitation learning workflows). There is still quite a big gap in my opinion from zero_action above to the full blown imitation learning pipeline.
Later we would update this to use a simple server-client model and then add a Bring-Your-Model.

See :doc:`../concepts/concept_environment_compilation` for how compilation works.
``IsaacLabArenaEnvironment`` holds the three pieces together.
This is Arena's declarative description of the environment.
Simple huh?
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image

Not every step requires this container — the workflow pages will tell you when to use it.

.. note::
The Base + GR00T container does not support Blackwell GPUs and requires large amounts of GPU
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does. I will apply the fix directly

--policy_config_yaml_path {policy_config_yaml_path} # e.g. isaaclab_arena_gr00t/policy/config/gr1_manip_gr00t_closedloop_config.yaml

3. Inside the Base container, run the evaluation script with a
client-side remote policy (refer to :doc:`../example_workflows/static_manipulation/step_5_evaluation` for full command lines).
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is will not show in SQA version. So Im noting things down loud here.

3. Inside the Base container, run the evaluation script with a
client-side remote policy (refer to :doc:`../example_workflows/static_manipulation/step_5_evaluation` for full command lines).

This setup cleanly separates the Isaac Lab Arena simulation environment from the GR00T policy
Copy link
Copy Markdown
Collaborator

@xyao-nv xyao-nv Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer explaining what 2 containers do exactly than calling it 'seperates'. Will apply modifications

object_type=ObjectType.RIGID,
)

# Step 2: Describe spatial relationships
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the concept section explaining how spatial relationship works 👀 @cvolkcvolk

help="Disable solving spatial relations in the environment.",
)
arena_group.add_argument(
"--placement_seed",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not for now, but for v0.3, I believe we shall pass a handle to all the seed, as env, sim, policy (torch, torch.cuda, rand, np) all use the same seed and now they are all set thru --seed cli.

Copy link
Copy Markdown
Collaborator

@alexmillane alexmillane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Massive improvement to our docs. Thanks so much for doing this.

I made some small wording changes as I reviewed and smashed them directly to your branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants