Update the template generator for RSL-RL#5117
Update the template generator for RSL-RL#5117ClemensSchwarke wants to merge 1 commit intoisaac-sim:mainfrom
Conversation
Greptile SummaryThis PR updates the Isaac Lab template generator to target RSL-RL v5.0 by introducing a new Confidence Score: 4/5Safe to merge after confirming how RSL-RL v5.0 handles All changes are confined to template generator tooling (not runtime Isaac Lab code) and are straightforward. The one substantive concern is the tools/template/templates/agents/rsl_rl_distillation_cfg — specifically the Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User runs CLI tool] --> B{Single-agent workflow?}
B -- Yes --> C[Discover RL libraries\nand algorithms via\nget_algorithms_per_rl_library]
C --> D[Display updated table\nwith textwrap.fill + overflow=fold]
D --> E[User selects: rsl_rl]
E --> F[Available algorithms\nPPO / DISTILLATION]
F --> G{User picks algorithm}
G -- PPO --> H[Render rsl_rl_ppo_cfg\nusing new RslRlMLPModelCfg API\nobs_groups + actor + critic]
G -- DISTILLATION --> I[Render rsl_rl_distillation_cfg\nstudent init_std=1.0\nteacher init_std=0.0 ⚠️]
H --> J[Write .py config to agents/]
I --> J
Reviews (1): Last reviewed commit: "update template generator for rsl rl" | Re-trigger Greptile |
There was a problem hiding this comment.
🤖 Isaac Lab Review Bot
Summary
This PR updates the RSL-RL template generator to support the v5.0 API: migrates the PPO template from the deprecated RslRlPpoActorCriticCfg (policy field) to the new RslRlMLPModelCfg pattern (separate actor/critic with obs_groups), adds a new Distillation algorithm template, updates the CLI table formatting to handle wider algorithm lists, and marks RSL-RL as supporting distributed training. The changes are correct and well-aligned with the existing rl_cfg.py and distillation_cfg.py config classes.
Architecture Impact
No cross-module impact — changes are self-contained within tools/template/. These template files are only consumed by the template generator CLI (tools/template/cli.py → generator.py) to scaffold new projects. Existing projects and runtime code are unaffected.
The SINGLE_AGENT_ALGORITHMS list in common.py is used by get_algorithms_per_rl_library() in generator.py to validate discovered algorithms. Adding DISTILLATION there is necessary and correct — the function will only associate it with rsl_rl since only rsl_rl_distillation_cfg exists as a template file.
Implementation Verdict
Minor fixes needed — Correct approach, 1 issue to address (license header year).
Test Coverage
No tests required. The template generator has no existing test suite, and these are template/config/tooling changes that affect only scaffolded project output. The risk of regression is low since template correctness is validated by pre-commit checks on generated output.
CI Status
- ✅
pre-commit— passed - ✅
Check secrets— passed - ✅
labeler— passed - ⏳
Build Docs,license-check,test-general,test-isaaclab-tasks— in progress
Findings
🔵 Improvement: templates/agents/rsl_rl_distillation_cfg:1 and templates/agents/rsl_rl_ppo_cfg:1 — License header year is 2022-2025 but the rest of the codebase has been updated to 2022-2026.
The new distillation template copies the stale year from the existing PPO template. Since this PR touches the PPO template anyway, both should be updated to 2022-2026 for consistency. (The pre-commit hook passed, so this isn't enforced by CI, but it's still the correct year per the rest of the repo.)
|
is this target to main or develop? |
Description
This PR adds Distillation to the list of available algorithms for RSL-RL. It also updates the config templates to RSL-RL version 5.0.
Type of change
Checklist
pre-commitchecks with./isaaclab.sh --format