Draft
Conversation
Remove the separate JSON agent config file. RslRlActionPolicy now auto-detects params/agent.yaml saved alongside the checkpoint by IsaacLab's train.py, making the checkpoint the single source of truth. Signed-off-by: Clemens Volk <cvolk@nvidia.com>
alexmillane
commented
Mar 3, 2026
Collaborator
Author
alexmillane
left a comment
There was a problem hiding this comment.
Thanks for doing this! The docs need a bit of rework to account for the massive simplification.
…gistration_callback
- Delete rigid_object_variant.py (prototype scratch file) - Move base_rsl_rl_policy.py to isaaclab_arena_examples/policy/ - Update lift_object_environment.py import for new module path - Replace WIP comment in cameras.py with clean TODO(cvolk) - Add TODO(cvolk) to RL workflow docs for follow-up rewrite Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Replace the outdated Docker-based instructions with the correct host workflow using a Python 3.11 venv. Signed-off-by: Clemens Volk <cvolk@nvidia.com>
AppLauncher's enable_pinocchio path wraps _start_app() with a patch that calls from pxr import Gf immediately after startup. If Isaac Sim's extension loading is incomplete (e.g. due to a version constraint in the experience file), pxr is never added to sys.path and the patch crashes with ModuleNotFoundError. Setting disable_pinocchio_patch=True tells AppLauncher to skip the patch. Pinocchio is already imported before AppLauncher is constructed, which is sufficient for it to work correctly. Signed-off-by: Clemens Volk <cvolk@nvidia.com>
…back - Replace Arena's removed train.py with IsaacLab's train.py + --external_callback - Add explanation of how the callback registers the environment before training - Add Hydra override examples for hyperparameter tuning - Update tensorboard command to use /isaac-sim/python.sh -m tensorboard.main - Rewrite evaluation section: drop removed play.py method, update commands to remove --agent_cfg_path (checkpoint now auto-loads params/agent.yaml) - Update step 1 validation command to use IsaacLab train.py Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Signed-off-by: Clemens Volk <cvolk@nvidia.com>
- Switch base image from nvcr.io/nvidia/isaac-sim:5.0.0 to 5.1.0 - Add USER root after FROM (5.1.0 runs as non-root by default) - Replace bare pip/pip3 calls with /isaac-sim/python.sh -m pip to target the Isaac Sim Python environment; add --break-system-packages where the system pip is still required (huggingface-hub CLI) - Add chmod a+x /isaac-sim needed by 5.1.0 - Fix OSQP check to use /isaac-sim/python.sh -c - Add isaac-sim group to the runtime user in entrypoint.sh Signed-off-by: Clemens Volk <cvolk@nvidia.com>
The disable_pinocchio_patch workaround was added to prevent AppLauncher's pxr.Gf.Matrix4d patch from crashing when extension loading was incomplete due to the isaacsim.asset.importer.urdf version mismatch. With Isaac Sim 5.1.0 the correct URDF extension version is present, so extensions load cleanly and the patch works as intended. Signed-off-by: Clemens Volk <cvolk@nvidia.com>
cvolkcvolk
added a commit
that referenced
this pull request
Mar 6, 2026
## Summary Original MR [Isaac Lab Interop. #413](#413) ## Detailed description Provides an Isaac Lab-compatible callback for registering external environments. Removes JSON agent config dependency: RslRlActionPolicy now auto-loads params/agent.yaml saved alongside the checkpoint by IsaacLab's train.py. Usage Train a few iterations (override any agent field via Hydra CLI args- for example agent.policy.activation): ``` /isaac-sim/python.sh submodules/IsaacLab/scripts/reinforcement_learning/rsl_rl/train.py \ --external_callback isaaclab_arena.environments.isaaclab_interop.environment_registration_callback \ --task lift_object --num_envs 512 \ agent.max_iterations=4000 agent.policy.activation=relu ``` Evaluate (checkpoint path is the only required argument — agent config is loaded automatically from params/agent.yaml in the same directory): ``` /isaac-sim/python.sh isaaclab_arena/evaluation/policy_runner.py \ --policy_type rsl_rl \ --num_episodes 1 \ --checkpoint_path logs/rsl_rl/generic_experiment/<timestamp>/model_0.pt \ lift_object --rl_training_mode False ``` --------- Signed-off-by: Clemens Volk <cvolk@nvidia.com> Co-authored-by: Qian Lin <qianl@nvidia.com> Co-authored-by: alex <amillane@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
[DO NOT MERGE]. Cont. on #465
Prototype of the features needed for Isaac Lab interop.
Detailed description
RslRlActionPolicynow auto-loadsparams/agent.yamlsaved alongside the checkpoint by IsaacLab'strain.py.Usage
Train a few iterations (override any agent field via Hydra CLI args- for example
agent.policy.activation):Evaluate (checkpoint path is the only required argument — agent config is loaded automatically from
params/agent.yamlin the same directory):