后端与预设#
参见
本页是 isaaclab-selecting-backends 和 isaaclab-using-presets 智能体技能的权威依据( skills/user/select-backends/ 、 skills/user/use-presets/ )。修改本页时,请同步更新这些技能,保证智能体指导与文档一致。请参阅 智能体技能 。
Isaac Lab 环境描述机器人、场景、传感器和任务。 后端 提供使这些描述实际运行起来的物理或渲染实现。 预设 是具有名称、经过测试的配置选项,可在不修改 Python 代码的情况下切换实现或任务模式。
实际使用时,只需添加一个简短的选择器,就能让同一环境使用不同的物理引擎、渲染器或观测模式:
uv run isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct physics=newton_mjwarp
任务仍是 Isaac-Cartpole-Direct ,预设改变的是启动任务时使用的配置。
理解环境与预设#
可以将环境看作实验,将预设看作用于选择其主要组件配置的开关;这些配置均经过测试:
Environment
├── physics=... Which physics configuration runs the simulation?
├── renderer=... Which renderer produces camera data?
└── presets=... Which task-specific mode or config bundle is used?
配置解析完成后,Isaac Lab 通用的资源、传感器和场景 API 会调用选定的后端实现。环境代码可以跨 PhysX、Newton 和 OvPhysX 使用相同的公共 API,无需在任务各处根据当前引擎编写分支。
物理、渲染和可视化可以分别选择。例如,相机环境可以使用 Newton 物理与 Newton Warp 渲染器,再通过 --viz 独立选择可视化器。
查看任务支持的选项#
不同任务支持的预设有所不同。选择名称之前,先查看任务提供哪些预设:
uv run isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Camera-Direct --help
帮助信息会按 physics= 、 renderer= 和 presets= 分组列出名称。要一次查看所有已注册的环境及其预设,请运行:
uv run isaaclab list_envs --show_presets
预设列表为空并非错误,而是表示环境使用注册时的默认配置,没有提供其他选项。传入任务未列出的名称属于不受支持的配置,会在配置验证时失败。
选用合适的选择器#
选择器 |
示例 |
修改内容 |
|---|---|---|
|
|
选择物理配置,包括后端和求解器。 |
|
|
为产生相机数据的任务选择渲染器配置。 |
|
|
应用任务专用选项,例如观测模式、相机布局或兼容的配置组合。 |
这些是 Hydra 配置项,直接追加到命令末尾,不要添加前导短横线。使用 Isaac Lab 任务配置启动器的训练、策略运行和环境脚本均支持它们。
选择器可以组合使用。以下命令选择使用 MuJoCo-Warp 求解器的 Newton 后端、Newton Warp 渲染器,以及 RGB 观测:
uv run isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Camera-Direct \
physics=newton_mjwarp renderer=newton_renderer presets=rgb
仅组合任务明确列出的选项。部分物理、渲染器、传感器和观测配置彼此不兼容,任务可能拒绝无效组合,并给出具体错误信息。
常用后端选项#
具体列表取决于环境,但这些名称遵循共同约定:
名称 |
含义 |
|---|---|
|
明确指定的 Isaac Sim PhysX 配置,适用于既有默认后端为 Isaac Sim PhysX 的任务。 |
|
自动选择 PhysX 系列实现。运行时需要 Kit 时使用 Isaac Sim PhysX;完全不使用 Kit 时,可以选用已配置的 OvPhysX 实现。 |
|
使用 MuJoCo-Warp 求解器的 Newton 物理后端。 |
|
使用 Kamino 求解器的 Newton 物理后端。目前处于测试阶段,仅支持部分任务和兼容资源。 |
|
明确指定的 OvPhysX 配置,适用于受支持且不依赖 Kit 的任务。 |
名称 |
含义 |
|---|---|
|
明确指定的 Isaac Sim RTX 渲染器配置,是使用多后端渲染器预设的任务的默认配置。 |
|
自动选择 RTX 系列实现。物理、可视化、直播流或其他运行时选项需要 Kit 时,使用 Isaac Sim RTX;否则使用 OVRTX,实现完全不依赖 Kit 的运行。 |
|
Newton Warp 渲染器。 |
|
明确指定的 OVRTX 渲染器配置,适用于受支持且不依赖 Kit 的工作流程。 |
physics=physx 和 renderer=rtx 等自动选择器需显式启用。默认值均明确指定具体实现,保证不传选择器时的任务行为可预测。求解器不等于独立后端: newton_mjwarp 和 newton_kamino 都使用 Newton,只是配置了不同的求解器。
默认值、预设与微调#
预设会替换所在位置的整个配置部分,而不会合并两个备选配置的字段。Isaac Lab 按以下顺序解析配置:
应用各预设配置中的
default选项。应用
presets=...指定的全局选项。应用针对特定路径的预设,例如
env.sim.physics=newton_mjwarp。应用 Hydra 标量覆盖项,例如
env.sim.dt=0.002。
最后一步便于在已有维护的预设基础上调整单个值:
uv run isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct \
physics=newton_mjwarp env.sim.dt=0.002
选择后端时,优先使用 physics= 和 renderer= ,意图更清晰。任务专用模式,或需要用同一个名称同时更新多个匹配配置部分时,使用 presets= 。只有想替换某个特定配置部分时,才使用路径选择器。
重要
加载检查点时,应保持会影响行为的预设与训练时一致。观测预设可能改变张量形状,使用一种观测模式训练的策略,未必能在另一种模式下加载。
进一步阅读#
环境 列出环境及其支持的预设。
Hydra 配置系统 介绍标量覆盖、预设编写、冲突处理和高级配置行为。
后端架构 解释工厂、物理管理器、资源和传感器如何跨后端分派调用。
物理后端 比较各物理后端的运行时要求、成熟度、求解器系列和适用场景。
渲染器 介绍渲染器的选择与实现细节。