发布说明#
发布说明也可在 Isaac Lab GitHub 仓库 查看。以下以 reStructuredText 格式收录已发布的说明,不包含外部托管的媒体。
v3.0.0-beta2.patch1#
这是基于 Isaac Lab 3.0.0 Beta 2 的小型补丁版本,新增对 Isaac Sim 6.0.1 的支持,其中包含 NuRec 工作流的修复和改进,见 Isaac Sim 6.0.1 发布说明 。此外,修复了部分 Isaac Lab 依赖和 Docker 镜像问题,改善与 Isaac Sim 的兼容性。
变更内容#
将 h5py 版本提高到
>=3.16.0,由 @peterd-NV 在 PR #6266 提交。将 Isaac Sim 更新到 6.0.1,由 @kellyguo11 在 PR #6277 提交。
[修复] 引入 Isaac Sim 6.0 串流崩溃修复,由 @hujc7 在 PR #6295 提交。
完整变更日志 。
v3.0.0-beta2#
Isaac Lab 3.0 Beta 2 以稳定和扩展 3.0 测试版功能为重点。在 v3.0.0-beta 基础上,新增并改进 Newton 支持(VBD、求解器耦合、Kamino、崎岖地形、传感器)、多后端物理、简化的训练和安装命令,以及不依赖 Kit 的工作流、可视化器、渲染、遥操作、学习模型导出、安装、CI 和文档。
此版本兼容最新发布的 Isaac Sim 6.0 。
警告
这是测试版本。 develop 分支仍在积极开发,在最终 3.0 发布前,可能继续出现不兼容变化、错误提示变化或性能调优。最新开发进展请查看 develop 分支。
主要亮点#
多后端稳定性改进#
首个 3.0 测试版引入的多后端架构,在 PhysX、Newton、OVPhysX、Isaac RTX、OVRTX 及无 Kit 执行路径上进一步完善。改进了后端选择、场景数据路由、克隆计划处理、传感器重置行为、运行时兼容性检查,以及请求不支持的物理、渲染器、可视化器组合时的错误报告。
Newton 物理与无 Kit 工作流#
扩展并稳定 Newton 和 OVPhysX 支持,以适应更大规模的无 Kit 训练及可视化工作流:
在相关包中增加 Newton 射线投射器、坐标变换器、IMU/PVA、接触、关节力旋量、可变形物体及 VBD 耦合支持。
为四足和双足机器人增加 Newton 崎岖地形运动预设,并为操作、导航及 Spot 环境补充 MJWarp 预设。
补充 Newton 安装、支持功能、MJWarp、Kamino、VBD、求解器对比、Warp 环境迁移和 Newton 管理器抽象的文档。
修复异构复制、克隆计划源解析、重置后的传感器旧数据、PhysX 仿真中的 Newton 可视化器更新,以及 Newton 相机/site 坐标系位姿。
增加对 OvPhysX(无 Kit 版本的 PhysX)的初步实验性支持。
渲染、相机与 PPISP#
Isaac RTX、OVRTX 和 Newton Warp 的渲染功能均有广泛更新:
新增
isaaclab_ppisp,提供与渲染后端无关、符合物理规律的图像信号处理流水线,将 HDR 场景线性输出转换为 LDR 相机图像。配置
CameraCfg.isp_cfg时,Isaac RTX、OVRTX 和 Newton Warp 渲染器支持 HDR 输出及内部 PPISP 处理。将平铺相机实现并入
Camera,改善 Kit 和 Newton 可视化器中的平铺相机支持。修复 OVRTX 多 GPU 运行、克隆环境相机输出、临时文件处理、运行时缺失错误,以及可选 PPISP 安装的包解析。
增加渲染正确性、图像对比、可视化器集成及性能测试。
可视化器与场景数据#
可视化器系统增强了与后端无关的场景数据支持:
增加用于访问当前
InteractiveScene的场景数据后端钩子。改进 PhysX、Newton 和 OVPhysX 场景数据提供器,让可视化器能一致地发现变换、接触及传感器。
为 Kit 和 Newton 可视化器增加平铺相机视图。
修复可视化器启动顺序、Kit 可视化器崩溃、PhysX 场景中的 Newton 可视化器更新,以及同时启用多个可视化器时的相机和视频录制行为。
遥操作、Mimic 与策略部署#
遥操作及模仿学习工作流已按 3.0 的组件更新:
增加 Isaac Capture MCAP 录制/回放支持,以及用于 CI 回放的非交互式
teleop_replay_agent.py。延迟导入可选的
isaacteleop,使未安装 Isaac Capture 运行时也能解析任务配置。改进 CloudXR 默认值、XR 性能建议、原生键盘/游戏手柄/SpaceMouse 映射及 RMPFlow 遥操作行为。
Mimic 安装现在包含
isaaclab_teleop,移除过时的nvidia-srl-usd-to-urdf依赖。增加 LEAPP 策略导出文档,修复 RSL-RL 循环策略导出、投影重力导出、检查点选择及策略部署指南。
安装、Docker 与 CI#
此版本简化配置,并对基础设施进行大量改进:
新增根目录下实验性的
uv run train和uv run play工作流,让全新仓库能够直接启动训练和回放,无需手动创建或激活环境。将安装额外依赖简化为
isaacsim和all,替代旧的tasks、rl、assets等按子模块划分的额外依赖。将发布的 Isaac Sim Docker 镜像固定为 6.0.0,Python 仍固定为 3.12。
PyTorch 更新至
2.10.0:x86_64/Windows 使用 CUDA 12.8 wheel,aarch64 使用 CUDA 13.0 wheel。增加安装 CI、wheel 构建自动化、按包运行的测试器、Docker 数据卷及非 root 用户修复,以及已发布的镜像标签。
改进 aarch64、DGX Spark、ARM Docker、Windows、uv 和 pip 安装文档。
将第三方 GitHub Actions 固定到提交 SHA,改进 CI 清理、取消、分片、诊断及仅文档变更时的行为。
新增与扩展功能#
核心功能#
增加 ProxyArray 及资产/传感器级属性缓存,加快重复数据访问。
增加场景数据提供器 API 及后端中立的变换访问文档。
增加模式配置文档及后端中立的可变形物体 API。
增加 GPU 变换读取、资产写入性能优化及启动耗时分析工具。
物理与渲染后端#
增加 OVPhysX 关节体、刚性物体集合、接触传感器、坐标系视图、场景数据后端及运行时安装诊断。
增加 HDR 相机输出、PPISP 集成、可变形 API 迁移、射线投射器修复及多 GPU Fabric 坐标系视图支持。
增加 Newton 可变形物体支持、刚体与可变形物体耦合、射线投射支持、求解器配置导出、接触访问器,并更新 Newton 包的固定版本。
学习与环境#
增加统一的
train和play命令行入口,通过--rl_library在rsl_rl、rl_games、skrl、sb3和rlinf之间分派。围绕共享分派辅助函数重构
scripts/reinforcement_learning/下各学习库的训练/回放脚本,减少重复的启动器及解析逻辑。为统一训练和回放脚本增加带类型的预设选择项,如
physics=physx、physics=newton_mjwarp和renderer=...。例如:train --rl_library rl_games --task=Isaac-Cartpole-RGB-Camera-Direct-v0 physics=newton_mjwarp renderer=newton_renderer presets=rgb。增加对不支持的后端、渲染器、可视化器组合的验证,错误提示更清楚。
增加用于枚举任务预设的公共辅助函数。
扩展运动、操作、导航及 Warp 优先实验环境的 Newton 预设。
为 RL 任务增加成功率指标日志。
文档#
重写安装、快速开始、生态、Docker、CloudXR、遥操作、可视化器、渲染器、物理后端、迁移及环境文档。
增加 Reach 策略及 LEAPP 导出的策略部署指南。
增加性能分析、ProxyArray、相机输出、视频录制、平铺相机、模式配置及物理后端文档。
移除剩余的
--headless引用,改用--viz/--visualizer。
不兼容变化#
预设命令行#
isaaclab_tasks.utils.fold_preset_tokens 已移除。 setup_preset_cli() 现在原样返回 physics= 、 renderer= 和 presets= 选择项,由 register_task() 直接解析。脚本应将返回的剩余参数原样赋给 sys.argv 。
遥操作回放#
过渡性的 isaaclab_teleop.automation 包已移除,包括 XcrReplayConfig 和 start_xcr_replay 。回放工作流现在通过 scripts/environments/teleoperation/teleop_replay_agent.py 使用 Isaac Capture MCAP 回放。
GR1T2 抓取放置环境配置原有的延迟加载 teleop_devices 访问器也已移除。请使用 env_cfg.isaac_teleop ,或显式构造旧 OpenXR 设备。
可变形物体 API#
通用可变形物体及材料 API 已从 isaaclab_physx 移至后端中立的 isaaclab.assets 和 isaaclab.sim 。旧的通用 PhysX 可变形别名已弃用,改用 PhysX 专用名称。
OVRTX 渲染器配置#
OVRTXRendererCfg.use_cloning 改名为 use_ovrtx_cloning , temp_usd_suffix 已移除。启用临时 USD 输出时,在 temp_usd_dir 下使用固定文件名。
相机别名#
TiledCamera 已并入 Camera 。已有的平铺相机别名在可用位置作为兼容接口保留,但新代码应使用 Camera 和 CameraCfg 。
主要修复#
核心运行时#
修复 SimulationContext 重置顺序,确保初始可视化器在处理时间线事件前创建,避免新 PhysX 张量视图被事件处理失效。
为 Python 退出期间的环境、资产、传感器及回调析构函数增加保护。
修复关闭基于管理器、Direct RL 和 Direct MARL 环境时的内存泄漏。
通过验证表达式,并在不提供 Python 内置函数的条件下求值,修复 lambda 字符串的安全可调用对象解析。
修复 MDL 材质及纹理的本地和远程资产依赖获取。
后端与传感器#
修复环境重置后 PhysX 和 Newton 的接触、IMU、PVA 及关节力旋量传感器数据未刷新问题。
修复关节 prim 名称重复或带有刚体 API 元数据时,PhysX 场景数据中的刚体发现问题。
修复 Newton 和 OVRTX 异构复制、克隆计划路径解析及相机变换处理。
修复 OVPhysX 可选运行时版本固定及缺少运行时的安装错误。
修复 OVRTX 包解析,仅在配置相机 ISP 时要求 PPISP。
训练与部署#
修复最佳/最终检查点尚未写出时,
rl_games和 SB3 的检查点回退。修复 skrl JAX 多主机导入、RSL-RL 循环策略 LEAPP 导出及 LEAPP 投影重力导出。
修复 AutoMate 的 PhysX 容量设置、装配 ID 验证、Numba 依赖移除及下游参数转发。
修复 DGX Spark 和 aarch64 的 RLinf 可选依赖。
修复 Franka Reach 任务的原生遥操作映射,以及 RMPFlow 四元数处理。
依赖更新#
Isaac Sim 6.0.0 Docker 镜像。
Python
>=3.12,<3.13。PyTorch
2.10.0、TorchAudio2.10.0、TorchVision0.25.0。Linux x86_64、Windows 及 AMD64 平台标记使用 CUDA 12.8 PyTorch wheel,Linux aarch64/arm64 平台标记使用 CUDA 13.0 wheel。
Newton 包的固定版本沿 1.2.1 系列更新。
OVPhysX 可选运行时固定为
ovphysx==0.4.13。OVRTX 可选运行时沿 0.3.x 系列更新。
增加
pyglet>=2.1.6,<3,支持 Newton GL 视频录制。新增
isaaclab_ppisp作为共享相机 ISP 扩展,仅在配置相机 ISP 时由渲染器加载。
已知限制#
这仍是测试版本,最终 Isaac Lab 3.0 发布前,发布分支仍可能出现不兼容变化。我们预计分支将在未来 1–2 个月内逐渐稳定,形成正式版本。
Newton 仍在积极开发。部分功能、任务预设和表面夹爪工作流仍为后端专用或不受支持。
表面夹爪要求在
physics=isaacsim_physx上采用 CPU 仿真,包括 UR10 Long/Short Suction、Galbot Right Arm Suction 堆叠任务及 Galbot Mimic 变体。遥操作请传入--device cpu;零动作和随机动作智能体未指定--device时会保留任务默认的 CPU 设置。标准安装仅在 Linux x86_64 和 aarch64 上提供 Pink IK 依赖。Windows uv/pip 安装不提供 Pinocchio,因此无法运行 Pink IK 任务。
OVRTX 和 OVPhysX 需要各自的可选运行时 wheel。Isaac Lab 现在会在缺失时提供更清楚的安装指导,但这些后端仍需按需安装。
迁移说明#
将
--headless用法改为--viz/--visualizer,或不启用可视化器,以完全无界面运行。只有需要广泛广播预设时才使用
presets=...;选择后端专用行为时,优先采用physics=...、renderer=...等带类型选择项。自定义脚本集成预设命令行时,移除
fold_preset_tokens(...)包装。尽可能将可变形物体导入改为后端中立的
isaaclab.assets和isaaclab.simAPI。将平铺相机代码迁移到
Camera和CameraCfg。跨 Torch 和 Warp 代码传递数据时,显式使用
ProxyArray.torch或ProxyArray.warp。回放自动化采用 Isaac Capture MCAP 回放和
teleop_replay_agent.py,不再使用已移除的 XCR 自动化辅助函数。
v3.0.0-beta#
Isaac Lab 3.0 Beta 是下一代主要版本,基于 Isaac Sim 6.0 ,对架构进行了全面重构。引入多后端物理、可插拔渲染器系统、Warp 原生数据流水线及无 Kit 安装模式,为机器人学习研究提供更快、更灵活的工具。
警告
这是测试版本。 develop 分支仍在积极开发,某些使用场景可能出现不兼容变化、错误消息或性能回退。
主要亮点#
多后端物理架构#
Isaac Lab 3.0 引入 基于工厂的多后端架构 ,将仿真后端专用代码与核心 API 分离。资产及传感器类,如 Articulation 、 RigidObject 和 ContactSensor ,现在以抽象基类为基础,在专用扩展包中提供各后端实现:
isaaclab_physx:完整 PhysX 后端(默认),包括可变形物体、表面夹爪、接触传感器、IMU 及坐标变换器。isaaclab_newton:基于 MuJoCo-Warp 的新 Newton 物理后端,支持 MJWarp、XPBD 和 Featherstone 求解器,并通过 CUDA 图加速。
现有的 isaaclab.assets 和 isaaclab.sensors 导入仍有效,工厂会在运行时自动分派到当前后端。
Newton 物理后端#
新的 isaaclab_newton 扩展支持 不依赖 Isaac Sim 运行环境,即无 Kit 模式。Newton 支持包括:
关节体、刚性物体及刚性物体集合。
接触传感器。
MuJoCo-Warp 求解器,具有可配置积分器(
implicitfast、euler)及接触模型(pyramidal、elliptic)。CUDA 图支持,用于高吞吐量仿真步进。
20 多个环境的 Newton 兼容预设,涵盖运动、操作和经典控制。
可插拔渲染器系统#
新增 BaseRenderer 抽象,由配置指定实现,通过 RenderContext 管理:
后端 |
是否需要 Isaac Sim? |
最适用于 |
|---|---|---|
Isaac RTX |
Yes |
完整传感器保真度、照片级真实渲染 |
OVRTX |
不需要(+ |
无 Kit RTX 流水线 |
Newton Warp |
不需要(不依赖 Kit) |
不使用 RTX 的快速训练 |
可插拔可视化器系统#
Isaac Lab 3.0 引入新的 可插拔可视化器框架 ( isaaclab_visualizers ),包含四种可互换后端,均与物理引擎及渲染器解耦:
可视化器 |
最适用于 |
主要功能 |
|---|---|---|
Omniverse(Kit) |
高保真度、Isaac Sim 集成 |
USD 舞台、可视标记、实时训练曲线 |
Newton |
快速迭代、低开销 |
OpenGL 渲染、物理调试标记(关节、接触、质心)、交互式相机控制 |
Rerun |
远程查看与回放 |
Web 查看器、时间线拖动、 |
Viser |
基于 Web 的共享与录制 |
通过 Newton Warp 渲染器提供浏览器界面、公开分享链接及 |
使用新的 --viz 标志 从命令行启动 ,替代弃用的 --headless 标志。
同时使用多个可视化器:
python train.py --task Isaac-Cartpole-v0 --viz kit,newton,rerun
单个可视化器:
python train.py --task Isaac-Cartpole-v0 --viz newton
基于 Web 的 Viser 可视化器:
python train.py --task Isaac-Cartpole-v0 --viz viser
无界面(不使用可视化器):
python train.py --task Isaac-Cartpole-v0
Warp 原生数据流水线#
资产和传感器类的所有 .data.* 属性现在返回 wp.array (NVIDIA Warp),而非 torch.Tensor 。内部状态缓冲区使用结构化 Warp 类型,如 wp.vec3f 、 wp.quatf 、 wp.transformf 、 wp.spatial_vectorf ;状态提取、速度变换及数据写回采用融合 GPU 核函数,替代 Python 层循环。需要时,通过 wp.to_torch() 转回 Torch。
多后端环境预设系统#
新的 PresetCfg 模式让一个环境配置能够声明不同后端的具名变体。启动时选择预设:
使用 Newton 后端运行:
python train.py task=Isaac-Ant-v0 presets=newton
使用默认 PhysX 后端运行:
python train.py task=Isaac-Ant-v0
延迟导出与可解析字符串#
所有包现在采用带 .pyi 类型存根的延迟导出,导入顶层模块(如 import isaaclab.sensors )不再立即加载重量级依赖。 class_type 等配置字段将引用存储为可解析字符串,直到 SimulationApp 初始化后才解析,从而支持自动选择物理后端。
Isaac Capture 集成#
XR 遥操作现在由新的 isaaclab_teleop 扩展集成 Isaac Capture,替代原有 isaaclab.devices.openxr 组件。新系统提供统一遥操作接口,通过流水线配置重定向。
不兼容变化#
四元数格式:WXYZ → XYZW#
Isaac Lab 中所有四元数现在采用 XYZW 顺序,与 Warp、PhysX 和 Newton 一致。写死的四元数值必须更新,提供的四元数查找工具可帮助定位和修复。
数据属性返回 wp.array#
所有 .data.* 属性现在返回 wp.array 。通过 wp.to_torch() 转换可兼容 PyTorch。自动迁移工具位于 scripts/tools/wrap_warp_to_torch.py 。
写入方法拆分为索引与掩码形式#
所有资产写入方法拆分为 _index 和 _mask 两种形式。原先的 write_*_to_sim(data, env_ids) 用法替换为:
write_*_to_sim_index(data, env_ids):稀疏索引数据。write_*_to_sim_mask(data, env_mask):完整数据加布尔掩码。
已弃用 API#
root_physx_view→ 使用root_view。RigidObjectCollection的object_*命名 → 使用body_*。命令行参数
--headless→ 使用--visualizer/--viz。OpenXRDevice/OpenXRDeviceCfg→ 使用IsaacTeleopDevice/IsaacTeleopCfg。传感器的
pose_w、pos_w和quat_w属性 → 使用FrameTransformer。
URDF 与 MJCF 导入器更新#
两个导入器均针对 Isaac Sim 6.0 重写,多项配置被移除、重命名或替代。详见 迁移指南 。
依赖更新#
Python 3.12。
PyTorch 2.10.0+cu128。
NumPy 2.3.1。
Isaac Sim 6.0。
已知限制#
仅支持 Ubuntu:
develop分支当前可在 Ubuntu 上使用,Windows 支持及 Isaac Lab pip wheel 将于近期提供。Newton 后端仍在开发:尚非所有环境都有 Newton 预设。部分功能,如可变形物体、表面夹爪及材料随机化,仅支持 PhysX。
多后端架构逐渐稳定的过程中,某些使用场景可能出现性能回退。
最终 3.0 发布前,
develop分支仍可能出现不兼容变化。
迁移指南#
从 Isaac Lab 2.x 迁移到 3.0 的完整说明,包括代码示例、API 重命名表及自动化工具,见 迁移指南 。
v2.3.2#
变更内容#
此版本重点改进稳定性、基础设施和工作流,并逐步扩展功能。主要新增功能包括 无人机多旋翼及推进器支持 、 多网格射线投射器 、 视觉触觉传感器 、 Haply 设备集成 和新的 OpenArm 环境 。改进了训练工作流、遥操作与 Mimic 流水线、Ray 集成、仿真工具及开发工具,并包含大量提升可靠性和易用性的修复。
这是当前 main 分支的最后一个发布版本,开发重点将转向 develop ,预计该分支会进行大规模重构。我们仍希望继续接收社区贡献,但将投入更多时间开发 Isaac Lab 3.0。现有 PR 请将目标分支改为 develop ,以跟进最新变化。
新功能#
核心与仿真#
新增支持跟踪动态网格的射线投射器(@renezurbruegg,isaac-sim/IsaacLab#3298 )。
新增视觉触觉传感器及形状感知示例(@JuanaDd,isaac-sim/IsaacLab#3420 )。
新增力旋量合成器,支持在同一刚体上合成多个力旋量(@AntoineRichard,isaac-sim/IsaacLab#3287 )。
新增多旋翼/推进器执行器、多旋翼资产及基于管理器的 ARL 无人机任务,isaac-sim/IsaacLab#3760 ,由 @mihirk284、@grzemal 和 @Zwoelf12 提交。
新增 IMU 传感器的自动变换发现,寻找有效父刚体(@bmccann-bdai,isaac-sim/IsaacLab#3864 )。
为 ContactSensor 增加摩擦力报告(@gattra-rai,isaac-sim/IsaacLab#3563 )。
新增 MJCF 生成器,导入基于 MJCF 的资产(@KyleM73,isaac-sim/IsaacLab#1672 )。
学习与环境#
新增 OpenArm 环境(@JinnnK,isaac-sim/IsaacLab#4089 )。
Mimic 与遥操作#
新增带力反馈的 Haply 设备 API 及遥操作演示(@mingxueg-nv,isaac-sim/IsaacLab#3873 )。
重构重定向器,并为 G1 任务新增 Quest 重定向器(@rwiltz,isaac-sim/IsaacLab#3950 )。
新增 Arena G1 移动操作重定向器(@rwiltz,isaac-sim/IsaacLab#4140 )。
为 Isaac Lab Mimic 增加移动操作数据生成 API(@peterd-NV,isaac-sim/IsaacLab#3992 )。
改进#
核心与仿真#
为 JointPositionToLimitsAction 增加保留顺序标志(@renezurbruegg,isaac-sim/IsaacLab#3716 )。
为 prim 获取工具增加实例化网格解析(@Mayankm96,isaac-sim/IsaacLab#3367 )。
为环境增加可配置的 logdir 参数(@kellyguo11,isaac-sim/IsaacLab#3391 )。
通过 PhysxCfg 提供 PhysX 的 solveArticulationContactLast 标志(@ooctipus,isaac-sim/IsaacLab#3502 )。
移除配置加载和保存对 pickle 的依赖(@kellyguo11,isaac-sim/IsaacLab#3709 )。
改进录制器管理器,支持自定义示范索引(@rebeccazhang0707,isaac-sim/IsaacLab#3552 )。
替换剩余 omni.log 用法,统一为 Python 日志(@pascal-roth,isaac-sim/IsaacLab#3912 )。
用 Isaac Lab 实现替代 Isaac Sim 的 stage_utils、prim_utils 和 nucleus_utils(@pascal-roth,isaac-sim/IsaacLab#3921, isaac-sim/IsaacLab#3923, isaac-sim/IsaacLab#3924 )。
将执行器配置拆分为多个文件,避免循环导入(@bmccann-bdai,isaac-sim/IsaacLab#3994 )。
将日志配置移到共享工具中(@Mayankm96,isaac-sim/IsaacLab#4298 )。
缓存 Isaac Sim 包版本,加快查询(@Mayankm96,isaac-sim/IsaacLab#4299 )。
简化舞台和 prim 工具的导入(@Mayankm96,isaac-sim/IsaacLab#4286 )。
随机化关节黏性及动摩擦,与 Isaac Sim 5.0 一致(@GiulioRomualdi,isaac-sim/IsaacLab#3318 )。
防止刚体质量被随机化为零或负值(@jtigue-bdai,isaac-sim/IsaacLab#4060 )。
改进图像绘制的归一化和着色(@Mayankm96,isaac-sim/IsaacLab#4302 )。
为 isaaclab.sim.views.XformPrimView 增加 Fabric 后端支持(@ooctipus,isaac-sim/IsaacLab#4374 )。
学习与环境#
通过小幅工作流改进提升 PBT 易用性(@ooctipus,isaac-sim/IsaacLab#3449 )。
抓取放置演示支持向量化环境(@kellyguo11,isaac-sim/IsaacLab#3996 )。
通过字符串式导入向 Gymnasium 注册 Direct 环境(@ooctipus,isaac-sim/IsaacLab#3803 )。
Gymnasium 依赖更新到 1.2.1(@Mayankm96,isaac-sim/IsaacLab#3696 )。
更新 SB3 PPO 配置,减少过长的训练时间(@ooctipus,isaac-sim/IsaacLab#3726 )。
支持通过任务终止条件验证回放成功与否(@yami007007,isaac-sim/IsaacLab#4170 )。
为基于 Ray 的训练增加提前停止支持(@ozhanozen,isaac-sim/IsaacLab#3276 )。
Ray 集成支持自定义 ProgressReporter 实现(@ozhanozen,isaac-sim/IsaacLab#3269 )。
rsl_rl 更新到 3.1.2,支持状态相关的标准差(@ashwinvkNV,isaac-sim/IsaacLab#3867 )。
基础设施#
代码检查和导入排序改用 Ruff(@Mayankm96,isaac-sim/IsaacLab#4329, isaac-sim/IsaacLab#4377 )。
将 flake8 和 pytest 配置移入 pyproject.toml(@Mayankm96,isaac-sim/IsaacLab#4335, isaac-sim/IsaacLab#4376 )。
移除 create_prim 对 XformPrim 的依赖(@Mayankm96,isaac-sim/IsaacLab#4307 )。
版权年份更新到 2026(@ashwinvkNV,isaac-sim/IsaacLab#4311 )。
将 .gitignore 的数据集规则限制为顶层目录(@louislelay,isaac-sim/IsaacLab#3400 )。
isaaclab.sh 增加 uv,作为 conda 的替代方案(@KyleM73,isaac-sim/IsaacLab#3172 )。
修复 Theia 的 transformers 依赖问题及失败的测试(@kellyguo11,isaac-sim/IsaacLab#4484 )。
错误修复#
核心与仿真#
修复关节随机化中缺失的执行器索引变量(@ooctipus,isaac-sim/IsaacLab#3447 )。
修复 ViewportCameraController 的 NumPy 数组缺少数据类型问题(@T-K-233,isaac-sim/IsaacLab#3375 )。
修复 PDActuator 文档字符串与实现不一致(@lorenwel,isaac-sim/IsaacLab#3493 )。
修复网格地形中按难度计算栏杆高度的问题(@KyleM73,isaac-sim/IsaacLab#3254 )。
修复启用接触传感器时的接触阈值处理(@kellyguo11,isaac-sim/IsaacLab#3498 )。
修复关节参数随机化中的索引错误(@GiulioRomualdi,isaac-sim/IsaacLab#4051 )。
修复接近关节限位时的速度噪声(@AntoineRichard,isaac-sim/IsaacLab#3989 )。
修复网格转换器未设置碰撞近似属性的问题(@Soappyooo,isaac-sim/IsaacLab#4082 )。
修复 TiledCamera 返回的法向量张量形状(@Rabbit-Hu,isaac-sim/IsaacLab#4241 )。
修复 JointPositionToLimitsAction 的高级索引形状不匹配(@ooctipus,isaac-sim/IsaacLab#3865 )。
修复 DirectRL 环境遥操作崩溃(@emmanuel-ferdman,isaac-sim/IsaacLab#4364 )。
修复激光雷达扫描模式的水平分辨率错误(@pascal-roth,isaac-sim/IsaacLab#4452 )。
学习与环境#
修复 AutoMate 环境的 CUDA 版本解析(@yijieg,isaac-sim/IsaacLab#3795 )。
基础设施与工具#
修复 CI,让 fork PR 的常规测试失败时正确标记失败(@nv-apoddubny,isaac-sim/IsaacLab#3412 )。
修复无 Docker 系统上 isaaclab.sh 的 Docker 可用性检查(@klakhi,isaac-sim/IsaacLab#4180 )。
强制 .bat 文件使用 CRLF 换行,避免 Windows 执行错误(@jiang131072,isaac-sim/IsaacLab#3624 )。
修复环境测试失败,并禁用不稳定测试(@kellyguo11,isaac-sim/IsaacLab#3413 )。
修复 Ray 资源解析中使用 eval 的漏洞(@kellyguo11,isaac-sim/IsaacLab#4425 )。
修复 CI 运行所用的 cuRobo Dockerfile(@kellyguo11,isaac-sim/IsaacLab#4462 )。
文档#
改进 Isaac Lab 贡献指南(@Mayankm96,isaac-sim/IsaacLab#3403 )。
在文档中提取通用安装步骤(@Mayankm96,isaac-sim/IsaacLab#3445 )。
更新 SkillGen 文档中的数据生成命令及成功率(@njawale42,isaac-sim/IsaacLab#3702 )。
更新 Newton Beta 文档,并补充可视化器指导(@kellyguo11、@Milad-Rakhsha-NV,isaac-sim/IsaacLab#3518, isaac-sim/IsaacLab#3551 )。
增加失效文档链接的自动检查,并修复现有链接(@kellyguo11,isaac-sim/IsaacLab#3888 )。
更新 Isaac Lab 技术报告链接(@Mayankm96,isaac-sim/IsaacLab#4074 )。
补充 uv 虚拟环境缺少 pip 的说明(@DBinK,isaac-sim/IsaacLab#4055 )。
为 list_envs.py 增加关键词筛选文档(@louislelay,isaac-sim/IsaacLab#3384 )。
增加多旋翼功能文档(@Mayankm96,isaac-sim/IsaacLab#4400 )。
增加 PVD 与 OVD 对比文档(@kellyguo11,isaac-sim/IsaacLab#4409 )。
迁移指南#
施加外力和力矩:力旋量合成器#
关节体、刚体和刚性物体集合的 set_external_force_and_torque() 已弃用,改为新的可组合力旋量系统。
相关 PR:isaac-sim/IsaacLab#3287
新功能: - 持续力旋量合成器 :施加跨仿真步持续生效的力/力矩,直到显式修改 - 瞬时力旋量合成器 :只施加一个仿真步,之后自动重置 - 可组合性 :支持在同一刚体上叠加多个力和力矩 - 混合坐标系支持 :可组合局部与全局坐标系中的力旋量
迁移指南:
旧 API(已弃用):
# Old method - overwrites previous forces
asset.set_external_force_and_torque(
forces=torch.ones(1, 1, 3),
torques=torch.ones(1, 1, 3),
body_ids=[0],
env_ids=[0],
is_global=False,
)
新 API:
# Set initial permanent forces (replaces previous)
asset.permanent_wrench_composer.set_forces_and_torques(
forces=torch.ones(1, 1, 3),
env_ids=[0],
body_ids=[0],
)
# Compose additional forces on the same body
asset.permanent_wrench_composer.add_forces_and_torques(
forces=torch.ones(1, 1, 3),
env_ids=[0],
body_ids=[0],
is_global=True, # Mix local and global frames
)
# Add torques independently
asset.permanent_wrench_composer.add_forces_and_torques(
torques=torch.ones(1, 1, 3),
env_ids=[0],
body_ids=[0],
)
# Apply forces and torques together with custom application points
asset.permanent_wrench_composer.add_forces_and_torques(
forces=torch.ones(1, 1, 3),
torques=torch.ones(1, 1, 3),
positions=torch.ones(1, 1, 3),
env_ids=[0],
body_ids=[0],
)
瞬时力旋量(新增):
# Apply forces for a single simulation step only
asset.instantaneous_wrench_composer.add_forces_and_torques(
forces=torch.ones(1, 1, 3),
env_ids=[0],
body_ids=[0],
)
# Multiple instantaneous wrenches compose automatically
asset.instantaneous_wrench_composer.add_forces_and_torques(
forces=torch.ones(1, 2, 3), # Add more forces
env_ids=[0],
body_ids=[0, 1],
)
# These are automatically reset after write_data_to_sim()
主要差异:
set_forces_and_torques()替换现有力旋量。add_forces_and_torques()与现有力旋量合成。持续与瞬时力旋量自动合成。
瞬时力旋量在每个仿真步后自动清除。
应用场景: - 无人机 :将推力与气动阻力、风扰动合成 - 船舶 :施加浮力及波浪引起的运动
格式化与代码检查:迁移到 Ruff#
项目从多种工具( flake8 检查代码、 black 格式化、 isort 排序导入)迁移到统一工具链,全部格式化和代码检查改由 ruff 完成。
相关 PR:isaac-sim/IsaacLab#4329 、isaac-sim/IsaacLab#4377 、isaac-sim/IsaacLab#4335 、isaac-sim/IsaacLab#4376
原因:
性能更高,速度提升 10–100 倍。
配置统一在
pyproject.toml中。格式化与代码检查规则更一致。
简化开发工作流。
迁移步骤:
更新配置文件:
# Copy the updated configuration from the main branch # Files to update: pyproject.toml, .pre-commit-config.yaml
应用新格式:
./isaaclab.sh --format解决合并冲突: 更新后出现的合并冲突很可能来自格式差异。复制新配置文件后,重新运行格式化命令并提交更改。
备注
Pre-commit 钩子会自动对暂存文件运行 ruff 。提交前请确保格式正确,避免 CI 失败。
USD 工具:统一的 isaaclab.sim.utils 模块#
Isaac Lab 现在提供完整的 USD 工具模块( isaaclab.sim.utils ),不再依赖 Isaac Sim 的 isaacsim.core.utils 中分散的工具。
相关 PR:isaac-sim/IsaacLab#4286
原因:
组织更清晰 :USD 操作按逻辑分到 stage、prims、queries、transforms、semantics 子模块。
类型提示 :完整类型标注改善 IDE 支持和代码安全。
版本兼容 :自动处理 Isaac Sim 版本之间的差异。
旧 API(Isaac Sim 工具):
import isaac.core.utils.stage as stage_utils
import isaac.core.utils.prims as prim_utils
# Stage operations
stage_utils.create_new_stage()
current_stage = stage_utils.get_current_stage()
# Prim operations
prim_utils.create_prim("/World/Cube", "Cube")
prim_utils.delete_prim("/World/OldObject")
新 API(Isaac Lab 工具):
import isaaclab.sim as sim_utils
# Stage operations
sim_utils.create_new_stage()
current_stage = sim_utils.get_current_stage()
# Prim operations
sim_utils.create_prim("/World/Cube", "Cube", attributes={"size": 1.0})
sim_utils.delete_prim("/World/OldObject")
旧接口支持:
为向后兼容, isaaclab.sim.utils.legacy 仍提供旧函数,但建议迁移到新 API,或直接使用 USD。
完整变更日志 :isaac-sim/IsaacLab
v2.3.1#
变更内容#
这是小型补丁版本,修复了影响用户工作流的几个关键问题。
主要修复包括:* 基于管理器的工作流更改终止日志行为, get_done_term 现在返回当前步的值,而非上一回合的值。* Isaac Sim 5.1 的 URDF 导入器引入不兼容变化,不再支持合并关节标志。我们已通过导入器补丁恢复该行为。后续计划弃用此标志,直接保留 URDF 的资产定义,不在导入过程中额外处理。
错误修复#
URDF 导入器更新到 2.4.31,继续支持 merge-joints(@kellyguo11,isaac-sim/IsaacLab#4000 )。
分离逐步终止与上一回合终止的状态记录(@ooctipus,isaac-sim/IsaacLab#3745 )。
执行器配置未指定时,使用 USD 中的 effort_limit(@JuanaDd,isaac-sim/IsaacLab#3522 )。
修复 from_files 配置中肌腱属性的类型名(@KyleM73,isaac-sim/IsaacLab#3941 )。
修复 pip 安装文档中的重复文字(@shryt,isaac-sim/IsaacLab#3969 )。
固定 pre-commmit.yaml 工作流的 Python 版本(@hhansen-bdai,isaac-sim/IsaacLab#3929 )。
文档#
更新 Mimic 遥操作文档,链接到运动策略训练(@huihuaNvidia2023,isaac-sim/IsaacLab#4053 )。
完整变更日志 :isaac-sim/IsaacLab
v2.3.0#
变更内容#
Isaac Lab 2.3.0 基于 Isaac Sim 5.1,改进灵巧操作、遥操作和学习工作流。新增具备高级训练功能的灵巧环境,为更多机器人及设备扩展表面夹爪和遥操作支持,并将 SkillGen 集成到 Mimic 模仿学习流水线,通过 cuRobo 实现 GPU 加速运动规划和基于技能的数据生成。
此版本的主要亮点包括:
灵巧强化学习(DexSuite) :新增两个采用 Kuka 机械臂与 Allegro 手的灵巧操作环境,支持自动域随机化(ADR)及种群训练(PBT)。
表面夹爪更新 :扩展表面夹爪以支持基于管理器的工作流,新增
SurfaceGripperAction和SurfaceGripperActionCfg,以及展示表面夹爪和 RMPFlow 遥操作的多个环境。新增机器人及变体,包括配备 Robotiq 夹爪或吸盘的 Franka、UR10,以及 Galbot 和 Agibot。Mimic - SkillGen :Mimic 模仿学习流水线新增 SkillGen 支持,集成 cuRobo,将 GPU 运动规划与按技能分段的数据生成结合。cuRobo 采用专有许可条款,使用前请仔细阅读 cuRobo 许可证 。
Mimic - 移动操作 :新增 G1 人形机器人环境,结合基于 RL 的移动与基于 IK 的操作。集成完整机器人导航系统,通过随机化桌面抓取/放置位置、目的地及地面障碍物扩充示范。将任务分为抓取、导航、放置阶段后,可从纯操作示范生成大规模移动操作数据集。
遥操作 :上半身逆向运动学控制器新增零空间姿态任务,在将冗余自由度约束到偏好的直立姿态时,允许人形任务中的腰部运动。同时新增 Vive 和 Manus 手套支持,提供更多遥操作设备选择。
完整变更日志 :isaac-sim/IsaacLab
Isaac Sim 5.1 更新#
新功能#
核心功能#
RL-Games 包装器支持字典观测(@ooctipus,isaac-sim/IsaacLab#3340 )。
为基于管理器的工作流增加表面夹爪支持(@rebeccazhang0707,isaac-sim/IsaacLab#3174 )。
新增两个带夹爪的机器人(@rebeccazhang0707,isaac-sim/IsaacLab#3229 )。
增加碰撞网格模式属性(@hapatel-bdai,isaac-sim/IsaacLab#2249 )。
为 RL-Games 增加 PBT 算法(@ooctipus,isaac-sim/IsaacLab#3399 )。
Mimic 与遥操作#
为 Isaac Lab 增加支持 cuRobo 的 SkillGen 框架(@njawale42,isaac-sim/IsaacLab#3303 )。
通过分离的导航阶段生成移动操作数据(@jaybdub,isaac-sim/IsaacLab#3259 )。
增加 Manus 和 Vive 支持(@cathyliyuanchen,isaac-sim/IsaacLab#3357 )。
在 IK 错误状态及遥操作任务完成时增加通知控件(@lotusl-code,isaac-sim/IsaacLab#3356 )。
环境#
新增灵巧抬升和朝向调整操作环境(@ooctipus,isaac-sim/IsaacLab#3378 )。
新增末端跟踪环境 Reach-UR10e(@ashwinvkNV,isaac-sim/IsaacLab#3147 )。
增加学生与教师蒸馏的配置示例(@ClemensSchwarke,isaac-sim/IsaacLab#3100 )。
为 Mimic 工作流增加 G1 移动操作环境(@michaellin6,isaac-sim/IsaacLab#3150 )。
以 PickPlace 为例,为配备 Inspire 五指手的 Unitree G1 增加遥操作支持(@yami007007,isaac-sim/IsaacLab#3242 )。
新增使用 RMPFlow 的 Galbot 立方体堆叠任务,包括 left_arm_gripper 和 right_arm_suction(@rebeccazhang0707,isaac-sim/IsaacLab#3210 )。
为 Galbot 堆叠任务增加 AVP 遥操作支持(@rwiltz,isaac-sim/IsaacLab#3669 )。
为 G1 Steering Wheel 环境增加相机(@jaybdub,isaac-sim/IsaacLab#3549 )。
基础设施#
Ray 集成增加 YAML 资源规格声明(@binw666,isaac-sim/IsaacLab#2847 )。
为 Spark 的 ARM 构建安装 CUDA 13(@kellyguo11,isaac-sim/IsaacLab#3396 )。
Pink IK 配置增加 arm64 平台支持(@michaellin6,isaac-sim/IsaacLab#3686 )。
Linux aarch64 的 Torch 安装版本更新到 2.9,opset 从 11 更新到 18(@ooctipus,isaac-sim/IsaacLab#3706 )。
改进#
核心与基础设施#
增加适配 rsl_rl 3.0.1 的修改(@ClemensSchwarke,isaac-sim/IsaacLab#2962 )。
简化跨平台安装 setup.py(@ooctipus,isaac-sim/IsaacLab#3294 )。
更新镜像构建逻辑及细节(@nv-apoddubny,isaac-sim/IsaacLab#3649 )。
将合并前 CI 失败控制应用于任务(@nv-apoddubny,isaac-sim/IsaacLab#3457 )。
Isaac Sim 5.1 从预发布服务器切换到生产服务器(@kellyguo11,isaac-sim/IsaacLab#3691 )。
移除 scikit-learn 依赖(@ooctipus,isaac-sim/IsaacLab#3799 )。
移除 reset_idx 后多余的仿真写入调用(@ooctipus,isaac-sim/IsaacLab#3446 )。
为穹顶灯提供
/rtx/domeLight/upperLowerStrategy渲染参数(@shauryadNv,isaac-sim/IsaacLab#3694 )。为 isaaclab_rl 增加 onnxscript 依赖(@ooctipus,isaac-sim/IsaacLab#3722 )。
在
convert_mesh.py中配置网格碰撞模式(@zehao-wang,isaac-sim/IsaacLab#3558 )。
Mimic 与遥操作#
提升录制器性能,并扩展录制能力(@peterd-NV,isaac-sim/IsaacLab#3302 )。
优化 Kit XR 遥操作的 CPU 耗时(@hougantc-nvda,isaac-sim/IsaacLab#3487 )。
改进数据集文件名,并改善 G1 移动操作数据集训练模型的低成功率问题(@michaellin6,isaac-sim/IsaacLab#3503 )。
更新 teleop_se3 和 record_demos,为 teleop_device 参数提供更清楚的说明(@rwiltz,isaac-sim/IsaacLab#3642 )。
文档#
核心功能#
补充 URDF 导入器缺失引用这一已知问题的说明(@ooctipus,isaac-sim/IsaacLab#3729 )。
修复 training_jetbot_reward_exploration.rst 中的符号(@dougfulop,isaac-sim/IsaacLab#2722 )。
明确资产类 default_inertia 张量所属的坐标系(@preist-nvidia,isaac-sim/IsaacLab#3405 )。
补充 DGX Spark 多节点训练限制(@matthewtrepte,isaac-sim/IsaacLab#3806 )。
更新文档中的移动操作任务名及链接(@fan-ziqi,isaac-sim/IsaacLab#3342 )。
Mimic 与遥操作#
修复 teleop_imitation 教程的 G1 数据集链接(@michaellin6,isaac-sim/IsaacLab#3463 )。
更新
teleop_imitation.rst的数据集说明(#3462)(@peterd-NV,isaac-sim/IsaacLab#3489 )。修复 Isaac Lab 遥操作文档(@tifchen-nvda,isaac-sim/IsaacLab#3539 )。
更新 Isaac Lab CloudXR 遥操作文档(@tifchen-nvda,isaac-sim/IsaacLab#3540 )。
补充 Manus + Vive 的 Lighthouse 基站摆放说明(@cathyliyuanchen,isaac-sim/IsaacLab#3548 )。
修正 CloudXR 遥操作文档的版本信息(@tifchen-nvda,isaac-sim/IsaacLab#3580 )。
在 Mimic 文档中增加 IsaacLabEvalTasks 仓库链接(#3621)(@xyao-nv,isaac-sim/IsaacLab#3627 )。
修复模仿学习文档顺序(@shauryadNv,isaac-sim/IsaacLab#3634 )。
更新 Manus 遥操作文档(@rwiltz,isaac-sim/IsaacLab#3605 )。
更新 SkillGen 数据生成命令及成功率文档(@njawale42,isaac-sim/IsaacLab#3703 )。
修复 Mimic 移动操作遥操作文档的拼写错误(@michaellin6,isaac-sim/IsaacLab#3704 )。
更新遥操作文档的数据集路径,补充 AR 锚点调整说明(@michaellin6,isaac-sim/IsaacLab#3707 )。
增加 pysurvive 安装说明(@rwiltz,isaac-sim/IsaacLab#3747 )。
补充 Mimic 预计数据生成、训练耗时及成功率(@michaellin6,isaac-sim/IsaacLab#3742 )。
补充 SkillGen 数据生成和策略学习耗时(@njawale42,isaac-sim/IsaacLab#3774 )。
补充孤立容器清理及遥操作连接检查方法(@yanziz-nvidia,isaac-sim/IsaacLab#3787 )。
更新 CloudXR 遥操作文档,说明 OpenXR 插件(@tifchen-nvda,isaac-sim/IsaacLab#3786 )。
明确 Mimic 的 CPU 模式用法及 DGX Spark 支持(@peterd-NV,isaac-sim/IsaacLab#3794 )。
更新 cuRobo 安装说明,并为 SkillGen 文档增加显存基准数据(@njawale42,isaac-sim/IsaacLab#3797 )。
在遥操作文档中加入 DGX Spark 限制链接(@lotusl-code,isaac-sim/IsaacLab#3805 )。
增加 Cosmos Transfer1 在 DGX Spark 上的限制说明(@shauryadNv,isaac-sim/IsaacLab#3817 )。
更新 SkillGen 在 DGX Spark 上的限制文档(@njawale42,isaac-sim/IsaacLab#3748 )。
在环境文档中加入 IsaacContrib-PickPlace-G1-InspireFTP-Abs 任务(@yami007007,isaac-sim/IsaacLab#3479 )。
基础设施#
pip 安装的 GLIBC 要求改为 2.35(@GiulioRomualdi,isaac-sim/IsaacLab#3360 )。
更新 Isaac Sim 许可证(@kellyguo11,isaac-sim/IsaacLab#3393 )。
更新 JAX 安装说明(@kellyguo11,isaac-sim/IsaacLab#3561 )。
增加 DGX Spark 限制章节(@mpgussert,isaac-sim/IsaacLab#3652 )。
修复文档中的失效链接(@mpgussert,isaac-sim/IsaacLab#3721 )。
在本地 pip 安装文档中增加 Windows pip 安装说明(@ooctipus,isaac-sim/IsaacLab#3723 )。
补充 Ray 潜在安全风险说明(@kellyguo11,isaac-sim/IsaacLab#3711 )。
修复文档构建错误(@Mayankm96,isaac-sim/IsaacLab#3370 )。
错误修复#
核心功能#
修复 spawn_ground_plane 缺失 visible 属性(@kellyguo11,isaac-sim/IsaacLab#3304 )。
将
platform_height移到正确的网格地形配置(@Mayankm96,isaac-sim/IsaacLab#3316 )。修复仿真重启后调试可视化回调失效(@kellyguo11,isaac-sim/IsaacLab#3338 )。
删除 isaaclab 中未使用的 asset.py(@fan-ziqi,isaac-sim/IsaacLab#3389 )。
将 serve 文件检查移到正确模块(@Mayankm96,isaac-sim/IsaacLab#3368 )。
修复 SurfaceGripper API,适配 Isaac Sim 5.1 变化(@AntoineRichard,isaac-sim/IsaacLab#3528 )。
修复键盘取消订阅的 carb 调用(@rwiltz,isaac-sim/IsaacLab#3662 )。
修复 conda 环境运行射线投射器演示的 GCC 错误(@kellyguo11,isaac-sim/IsaacLab#3712 )。
修正
check_terrain_importer.py的材料和对象导入(@PeterL-NV,isaac-sim/IsaacLab#3411 )。修复
events.py的张量构造警告(@louislelay,isaac-sim/IsaacLab#3251 )。修复使用
--agent时 skrl 训练/回放脚本配置,并重命名智能体配置变量(@Toni-SM,isaac-sim/IsaacLab#3643 )。修复 TiledCamera 数据类型及 CPU 上的 RL-Games 训练(@kellyguo11,isaac-sim/IsaacLab#3808 )。
Mimic 与遥操作#
更新 SkillGen 文档中的 Isaac Lab 目录路径(@njawale42,isaac-sim/IsaacLab#3483 )。
修复遥操作设备返回夹爪动作时 Reach 任务的回归问题(@rwiltz,isaac-sim/IsaacLab#3327 )。
修复 G1 Inspire 手遥操作问题(@yami007007,isaac-sim/IsaacLab#3440 )。
更新 Agibot 环境的默认查看器位姿,使整个场景可见(@rebeccazhang0707,isaac-sim/IsaacLab#3525 )。
修复使用 handtracking 以外的遥操作设备时 XR 界面的问题(@rwiltz,isaac-sim/IsaacLab#3566 )。
修复 Manus 遥操作关节索引映射(@rwiltz,isaac-sim/IsaacLab#3592 )。
更新 GR1T2 DexPilot 手部缩放(@rwiltz,isaac-sim/IsaacLab#3607 )。
修复 surface_gripper 不符合现实的行为(@rebeccazhang0707,isaac-sim/IsaacLab#3679 )。
修复移动操作的 G1 手指 PD 增益配置(@michaellin6,isaac-sim/IsaacLab#3749 )。
修复 right_arm 吸盘穿过立方体的问题(@rebeccazhang0707,isaac-sim/IsaacLab#3764 )。
更新 G1 任务的 XR 锚点,使站立遥操作更自然(@rwiltz,isaac-sim/IsaacLab#3775 )。
关闭 G1 的 dex_retargeting::yourdfpy 警告(@rwiltz,isaac-sim/IsaacLab#3798 )。
调整 G1 环境的 XR 视图高度(@rwiltz,isaac-sim/IsaacLab#3813 )。
基础设施#
修复缺失的 Ray 初始化(@ozhanozen,isaac-sim/IsaacLab#3350 )。
修复 ARM 系统的 Torch nightly 版本安装(@ooctipus,isaac-sim/IsaacLab#3464 )。
修复命令中的等号被意外移除(@ndahile-nvidia,isaac-sim/IsaacLab#3600 )。
更新 aarch64 安装脚本,修复 LD_PRELOAD 问题(@matthewtrepte,isaac-sim/IsaacLab#3708 )。
修复 test_manager_based_rl_env_obs_spaces.py 挂起(@kellyguo11,isaac-sim/IsaacLab#3717 )。
修复 DGX Spark 上运行脚本时缺少桌面图标(@matthewtrepte,isaac-sim/IsaacLab#3804 )。
不兼容变化#
移除 NutPour 和排气管环境未使用的 relevant_link_name 参数(@michaellin6,isaac-sim/IsaacLab#3651 )。
将 I/O 描述符日志目录移到 logs(@kellyguo11,isaac-sim/IsaacLab#3434 )。
已知问题#
由于更新到 Python 3.11,ROS 2 Docker 镜像目前预计无法正常工作。我们正在修复。
我们收到报告,上一 Isaac Sim 版本的物理和渲染工作流均有性能回退。部分问题仍在解决中,也找到了一些临时办法。视口性能回退可通过添加
--kit_args="--/app/usdrt/hierarchy/partialGpuUpdate=1 --/rtx/post/dlss/execMode=0 --/app/runLoops/main/rateLimitEnabled=false --/app/runLoops/main/manualModeEnabled=true --enable omni.kit.loop-isaac"设置 Omniverse 参数。此外,Isaac Sim 5.0 为 PhysX 引入新的执行器模型,改进驱动及摩擦模型,但也带来小幅性能下降。某些基于状态的环境中,我们观察到约 20% 的减速。
v2.2.1#
概述#
这是小型补丁版本,包含一些改进和错误修复。
完整变更日志:isaac-sim/IsaacLab
新功能#
ContactSensor 增加接触点位置报告(@jtigue-bdai)。
增加可导出的环境动作/观测描述符(@AntoineRichard)。
增加 RSL-RL 的 Cartpole 和 ANYmal 运动对称性示例(@Mayankm96)。
改进#
核心 API#
增强 Pink IK 控制器,增加零空间姿态控制及其他改进(@michaellin6)。
检查 Nucleus 服务器的 USD 路径时,增加周期性日志(@matthewtrepte)。
禁止 process_sb3_cfg 对 sb3_ppo_cfg.yaml 中的字符串求值(@ooctipus)。
基础设施#
应用设置 - 为无界面及无界面渲染应用关闭速率限制(@matthewtrepte、@kellyguo11) - 在 balanced 和 performance 渲染预设中禁用
rtx.indirrectDiffuse.enabled(@matthewtrepte) - 将默认性能分析后端设为 NVTX(@soowanpNV、@rwiltz)依赖 - 增加 hf-xet 许可证(@hhansen-bdai) - 补充新的 typing-inspection 依赖许可证(@kellyguo11)
测试与基准测试 - 为基于缩放的随机化范围增加基本验证测试(@louislelay) - 增加
SensorBase测试(@jtigue-bdai)仓库工具 - 改善 install_deps.py 输出(@hhansen-bdai) - 修复 isaaclab.sh,使其准确检测 isaacsim_version 为 4.5 或 >= 5.0(@ooctipus) - 关闭 conftest.py 的详细打印(@ooctipus) - 更新 Isaac Sim 集成测试的 pytest 标志(@ben-johnston-nv) - 细化 CodeOwners(@pascal-roth) - 修复 CI 小问题(@nv-apoddubny)
错误修复#
核心 API#
资产接口 - 修复关节体类向 PhysX 设置摩擦系数的问题(@ossamaAhmed) - 仅为选中的 physx_env_ids 设置 joint_friction_coeff(@ashwinvkNV)
管理器接口 - 修复未拼接观测组的 Dict 空间只保留最后一项的问题(@CSCSX)
MDP 项 - 修复终止项驱动力限值检查逻辑(@moribots) - 在
mdp.randomize_rigid_body_com内广播环境 ID(@Foruck) - 修复 reset_joints_by_scale 和 reset_joints_by_offset 的 IndexError(@Creampelt) - 修复terrain_out_of_bounds,返回张量而非布尔值(@fan-ziqi)
基础设施#
修复分布式训练挂起(@kellyguo11)。
检测到通过 pip 安装 Isaac Lab 时,禁用内部模板生成(@ooctipus)。
修复 isaaclab.bat 拼写错误(@ooctipus)。
更新用户指定渲染预设模式的应用路径选择(@matthewtrepte)。
文档#
增加 Newton 集成文档(@mpgussert)。
按 Isaac Sim 开源情况更新文档 FAQ(@Mayankm96)。
文档中 RSL-RL 检查点路径改为绝对路径(@fan-ziqi)。
修复文档的 MuJoCo 链接(@fan-ziqi)。
XR 文档增加客户端版本说明(@lotusl-code)。
修复失效文档链接(@kellyguo11)。
修复 list_envs.py 脚本路径拼写(@fbeltrao)。
修复文档中的 Franka Blueprint 环境 ID(@louislelay)。
不兼容变化#
改进终止管理器日志,报告每个终止项导致结束的环境占比(@ooctipus)。
v2.2.0#
概述#
Isaac Lab 2.2 在仿真能力、工具和开发体验方面带来重大升级。扩展高级物理功能、新环境,以及测试和文档工作流。完整兼容 Isaac Sim 5.0 ,也向后兼容 Isaac Sim 4.5 。
此版本的主要亮点包括:
模仿学习新环境 :新增两个 GR1 Mimic 环境,支持域随机化及视觉鲁棒性评估,并改进抓取放置任务。
遥操作改进 :增加可配置参数,更新 CloudXR 运行时,支持头部及手部跟踪。
性能与易用性改进 :支持内存舞台及 Fabric 克隆,加快场景创建;新增 OVD 录制器,对大型场景进行 GPU 动画录制;通过 FSD(Fabric Scene Delegate)提高渲染速度。
文档改进 :扩充并更新新功能、常见问题和安装配置文档,包括遥操作系统要求、VS Code 集成及 Python 环境管理。
完整变更日志 :isaac-sim/IsaacLab
Isaac Sim 5.0 更新#
修复 Blackwell GPU 渲染噪声过多的问题。
Python 从 3.10 更新到 3.11。
PyTorch 更新到 torch 2.7.0+cu128,包含 Blackwell 支持。
停止官方支持 Ubuntu 20.04,现正式支持 Ubuntu 22.04 和 24.04 Linux 平台。
Isaac Sim 5.0 不再默认设置
/app/player/useFixedTimeStepping=False,现在由 Isaac Lab 设置。improve_patch_friction已移除,仿真始终按该属性为 true 的行为运行。原生直播支持已移除。
LIVESTREAM=1现在用于公网 WebRTC 串流,LIVESTREAM=2用于私网和局域网 WebRTC 串流。部分 Isaac Sim 资产已重做和重组,以下资产路径有明显更新:
Robots/Ant/ant_instanceable.usd-->Robots/IsaacSim/Ant/ant_instanceable.usdRobots/Humanoid/humanoid_instanceable.usd-->Robots/IsaacSim/Humanoid/humanoid_instanceable.usdRobots/ANYbotics/anymal_instanceable.usd-->Robots/ANYbotics/anymal_c/anymal_c.usdRobots/ANYbotics/anymal_c.usd-->Robots/ANYbotics/anymal_c/anymal_c.usdRobots/Franka/franka.usd-->Robots/FrankaRobotics/FrankaPanda/franka.usdRobots/AllegroHand/allegro_hand_instanceable.usd-->Robots/WonikRobotics/AllegroHand/allegro_hand_instanceable.usdRobots/Crazyflie/cf2x.usd-->Robots/Bitcraze/Crazyflie/cf2x.usdRobots/RethinkRobotics/sawyer_instanceable.usd-->Robots/RethinkRobotics/Sawyer/sawyer_instanceable.usdRobots/ShadowHand/shadow_hand_instanceable.usd-->Robots/ShadowRobot/ShadowHand/shadow_hand_instanceable.usd
新功能#
为 Isaac Lab 增加具有力感知的接触密集操作 FORGE 任务(@noseworm,#2968)。
为 Isaac Lab Mimic 新增两个 GR1 环境(@peterd-NV)。
新增堆叠环境、Cosmos 脚本及视觉鲁棒性评估(@shauryadNv)。
将关节摩擦参数更新为 Isaac Sim 5.0 PhysX API(@ossamaAhmed)。
增加空间肌腱支持(@ossamaAhmed)。
增加 SurfaceGripper 支持及示例(@AntoineRichard)。
增加内存舞台支持(@matthewtrepte)。
增加 OVD 动画录制功能(@matthewtrepte)。
改进#
启用 FSD,加快渲染(@nv-mm)。
在 performance 和 balanced 渲染预设中设置 rtx.indirectDiffuse.enabled 为 True(@matthewtrepte)。
更改合并后流水线使用的自托管运行器(@nv-apoddubny)。
修复并改进 CI 流水线(@nv-apoddubny)。
为测试增加不稳定性标注(@kellyguo11)。
将 Mimic 测试改为 pytest 格式(@peterd-NV)。
Cosmos 测试文件改用 pytest(@shauryadNv)。
因安全漏洞更新 ONNX 和 protobuf 版本(@kellyguo11)。
skrl 最低版本更新到 1.4.3(@Toni-SM)。
更新到 Isaac Sim 5.0(@kellyguo11)。
更新 Docker CloudXR 运行时版本(@lotusl-code)。
移除 XR 渲染模式(@rwiltz)。
OpenXRDevice 从 isaacsim.xr.openxr 迁移到 omni.xr.kitxr(@rwiltz)。
实现遥操作配置参数和设备工厂(@rwiltz)。
更新抓取放置环境,使用方向盘资产(@peterd-NV)。
为 Robomimic 训练脚本增加设置 epoch 数量的命令行参数(@peterd-NV)。
错误修复#
修复操作空间单元测试,避免 pi 旋转错误(@ooctipus)。
修复 AppLauncher 前导入 Torch 导致的 GLIBC 错误(@kellyguo11)。
修复渲染预设(@matthewtrepte,cc0dab6cd50778507efc3c9c2d74a28919ab2092)。
修复内存舞台的回调,并整理环境测试(@matthewtrepte)。
修复异步渲染的 XR 及外部相机问题(@rwiltz)。
模板生成器选择 MARL 时,禁用 RL-Games 选项(@ooctipus)。
生成模板时增加 .gitignore 检查(@kellyguo11)。
修复堆叠实例随机化环境的相机观测错误(@peterd-NV)。
修复回放环境解析(@matthewtrepte)。
修复 isaaclab.bat 连续调用 Python 可执行文件的问题(@kellyguo11)。
修复 SpaceMouse 添加回调函数(@peterd-NV)。
修复使用新 velocity_limit_sim 的人形机器人训练(@AntoineRichard)。
文档#
为 Mimic Cosmos 流水线文档增加评估说明(@shauryadNv)。
为 2.2 版本更新遥操作文档(@rwiltz)。
修复教程脚本中过时的 Dofbot 路径(@mpgussert)。
更新 VS Code IntelliSense 设置及 JAX 安装文档(@Toni-SM)。
更新 JAX 文档,为 Torch 使用场景将版本限制为 < 0.6.0(@kellyguo11)。
增加 Fabric 克隆及内存舞台文档(@matthewtrepte)。
驱动要求改为链接到官方技术文档(@mpgussert)。
增加 OVD 录制警告日志过多的说明(@matthewtrepte)。
补充 HOVER 版本及已知 GLIBCXX 错误文档(@kellyguo11)。
更新遥操作系统要求文档(@lotusl-code)。
CloudXR 遥操作文档增加网络要求(@lotusl-code)。
v2.1.1#
概述#
此版本经过数月开发,整个代码库包含大量更新、增强和新功能。由于变更多,按相关类别组织以便阅读。此版本兼容 NVIDIA Isaac Sim 4.5 。
感谢社区在保证质量和稳定性方面的耐心及贡献。我们计划今后更频繁地发布补丁,改善开发体验。
注意: 此次小版本发布不包含 Docker 镜像或 pip 包。
完整变更日志: isaac-sim/IsaacLab
新功能#
资产接口 * 增加
position参数,可在刚体不同位置施加外力和力矩(@AntoineRichard) * ArticulationData 增加body_incoming_joint_wrench_b字段(@jtigue-bdai) * 允许显式选择关节体根 prim(@lgulich)传感器接口 * 为 FrameTransformer 可视化绘制连接线(@Mayankm96) * FrameTransformer 内的连接线采用可视化标记(@bikcrum)
MDP 项 * 增加
body_pose_w和body_projected_gravity_b观测(@jtigue-bdai) * 增加关节驱动力观测(@jtigue-bdai) * 管理器事件增加质心随机化项(@shendredm) * 增加基于时间的 MDP 观测函数(@TheIndoorDad) * 增加可修改任意环境参数的课程 MDP 项(@ooctipus)新示例任务 * 加入 AutoMate 项目的装配任务(@yijieg) * 增加 Digit 运动示例(@lgulich)
改进#
核心 API#
执行器接口 * 修复资产的隐式执行器限值配置(@ooctipus) * 更新 Franka 机械臂执行器配置(@reeceomahoney)
资产接口 * 优化资产类的数据读取(@Mayankm96) * 增加设置资产 prim 可见性的方法(@Mayankm96)
传感器接口 * 更新射线投射器对齐及自定义漂移采样(@jsmith-bdai) *
ContactSensorData增加force_matrix_w_history(@bikcrum) * IMU 增加projected_gravity_b并优化(@jtigue-bdai)管理器接口 * 观测及动作管理器增加序列化(@jsmith-bdai) *
ObservationManager增加拼接维度(@pascal-roth) * 支持带最小/最大值的组合观测空间(@ooctipus) * 调整CommandManager计数器更新(@pascal-roth) * 基于管理器的工作流集成NoiseModel(@ozhanozen) *NoiseModelWithAdditiveBias支持逐特征偏置(@ozhanozen) * 修复isaaclab.scene.reset_to(),接受None(@ooctipus) * 正确重置逐步奖励缓冲区(@bikcrum)地形生成 * 支持自定义
TerrainGenerator(@pascal-roth) * 增加地形边界选项(@pascal-roth) * 平台高度与物体高度解耦(@jtigue-bdai) * 为MeshRepeatedObjectsTerrain增加噪声(@jtigue-bdai)仿真 * 将 SimContext 初始化回调的异常抛出 * 对地面应用
semantic_tags(@KumoLiu) * 默认将enable_stabilization设为 false(@AntoineRichard) * 修复pxr.Semantics弃用问题(@kellyguo11)数学工具 * 改进
euler_xyz_from_quat(@ShaoshuSu) * 优化yaw_quat(@hapatel-bdai) * 修改quat_apply、quat_apply_inverse和quat_box_minus(@jtigue-bdai) * 增加quat_box_plus、rigid_body_twist_transform及变换数学测试(@jtigue-bdai)通用工具 * 简化
CircularBuffer缓冲区验证(@Mayankm96) * 修改update_class_from_dict()(@ozhanozen) * 允许对字典中的列表值切片(@LinghengMeng、@kellyguo11)
任务 API#
支持
module:task和 Gymnasium >= 1.0(@kellyguo11)。增加 RL 库错误提示(@Toni-SM)。
为
play.py启用 Hydra(@ooctipus)。修复 Ray 指标报告及挂起(@ozhanozen)。
为 RSL-RL 蒸馏增加梯度裁剪(@alessandroassirelli98)。
RSL-RL 支持基于 GRU 的 RNN 导出 ONNX(@WT-MM)。
RL-Games 增加 wandb 支持(@ooctipus)。
优化 SB3 包装器(@araffin)。
启用 SB3 检查点加载(@ooctipus)。
为 CNN 流水线预处理 SB3 环境图像观测空间(@ooctipus)。
基础设施#
依赖 * Torch 更新到 2.7.0,使用 CUDA 12.8(@kellyguo11) * Gymnasium 更新到 1.2.0(@kellyguo11) * NumPy 限制为 < 2(@ooctipus) * 增加开源软件许可证文件(@kellyguo11) * Robomimic 固定为 v0.4.0(@masoudmoghani) * 为 Kit 107.3.1 升级 Pillow(@ooctipus) * 移除 protobuf 版本上限(@kwlzn)
Docker * 使用
--gpus替代 NVIDIA runtime(@yanziz-nvidia) * 增加 Docker 名称后缀参数(@zoemcc) * 增加容器内 Bash 历史记录支持(@AntoineRichard)测试与基准测试 * unittest 改为 pytest(@kellyguo11、@pascal-roth) * 增加训练基准测试的单元测试(@matthewtrepte) * 修复环境及 IK 测试失败(@kellyguo11)
仓库工具 * 增加 URDF 转 USD 的批量转换脚本(@hapatel-bdai) * 增加仓库引用链接(@kellyguo11) * 增加内部模板的 pip 安装警告(@ooctipus)
错误修复#
核心 API#
执行器接口 * 修复 DCMotor 负功率裁剪(@jtigue-bdai)
资产接口 * 修复 body/link/com 数据读取不一致(@ooctipus)
传感器接口 * 修复
Camera、TiledCamera位姿更新(@pascal-roth) * 修复 camera.py CPU 回退(@renaudponcelet) * 修复相机内参逻辑(@jtigue-bdai)管理器接口 * 修复
ObservationManager缓冲区覆盖(@patrickhaoy) * 修复事件管理器项检查(@miguelalonsojr) * 修复Modifiers及历史缓冲区错误(@ZiwenZhuang) * 修复ManagerBase重初始化检查(@Mayankm96) * 修复 CPU 碰撞筛选(@kellyguo11) * 修复 InteractiveScene/LiveVisualizer 导入(@Mayankm96) * 修复 Live Visualizer 图像绘制导入(@pascal-roth)MDP 项 * 修复质心随机化形状不匹配(@shendredm) * 修复纹理随机化的可视 prim 处理(@KumoLiu) * 在
reset_scene_to_default中重置关节目标(@wghou) * 修复关节限位终止条件(@GiulioRomualdi) * 修复SceneEntityCfg的关节重置范围(@ooctipus)数学工具 * 修复
quat_inv()实现(@ozhanozen)
任务 API#
修复 LSTM 导出 ONNX(@jtigue-bdai)。
示例任务#
移除冗余接触终止条件(@louislelay)。
修复 SDF 内存泄漏(@leondavi)。
Digit 环境的
randomization改名为events(@fan-ziqi)。
文档#
README 增加 Isaac Sim 版本章节(@kellyguo11)。
增加物理性能指南(@kellyguo11)。
详细教程中增加 Jetbot 教程(@mpgussert)。
快速开始安装改用 conda(@mpgussert)。
修复库文档拼写错误(@norbertcygiert)。
更新 conda、Fabric 和推理文档(@kellyguo11)。
更新许可证及贡献文档,加入 DCO(@kellyguo11)。
更新 pytest 文档及帮助(@louislelay)。
增加执行器参考文档(@AntoineRichard)。
更新多 GPU PyTorch 配置文档(@Alex-Omar-Nvidia)。
移除文档中已弃用的环境变量(@Kyu3224)。
v2.1.0#
概述#
此版本正式支持通过 Apple Vision Pro 遥操作,采集高质量灵巧手数据,并通过 Isaac Lab Mimic 增加双手遥操作及模仿学习工作流。
新增 USD 属性随机化方法,包括缩放、颜色和纹理。RSL-RL 更新至 v2.3.1,带来分布式训练、学生与教师蒸馏,以及循环学生与教师蒸馏等功能。
我们也重做了 扩展模板 ,在 Isaac Lab 仓库中提供自动模板生成工具。扩展模板让用户在自己的仓库开发项目,避免核心 Isaac Lab 仓库变化直接影响项目。原 IsaacLabExtensionTemplate 仓库只提供基于管理器工作流及 RSL-RL 的有限示例。新的生成器允许选择任意支持的工作流、RL 库及算法。独立的 IsaacLabExtensionTemplate 将在近期弃用。
NVIDIA 也将 HOVER 作为独立仓库发布,提供基于 Isaac Lab 的人形机器人神经全身控制器。HOVER 包括 Unitree H1 实机部署的仿真到现实工作流;Isaac Lab 文档也新增了部署教程。
完整变更日志 :isaac-sim/IsaacLab
新功能#
新增外部项目 / 内部任务模板生成器(@Toni-SM)。
外部任务模板生成器增加占位智能体(@louislelay)。
事件管理器增加 USD 级随机化模式(@Mayankm96)。
增加纹理和缩放随机化事件项(@hapatel-bdai)。
增加通过 Replicator 随机化颜色的事件(@Mayankm96)。
新增 H1 运动交互演示脚本(@kellyguo11)。
新增 Franka 堆叠 Mimic Blueprint 环境(@chengronglai)。
RSL-RL 包装器增加动作裁剪(@Mayankm96)。
新增展示 Gymnasium 空间的任务(@Toni-SM)。
增加 RSL-RL 蒸馏配置并适配导出器(@ClemensSchwarke)。
OpenXR 设备支持头部位姿(@rwiltz)。
增加手部跟踪关节及重定向流水线(@rwiltz)。
增加 OpenXR 设备和重定向器文档(@rwiltz)。
新增用 Isaac Lab 训练及验证 HOVER 策略的教程(@pulkitg01)。
增加渲染模式预设(@matthewtrepte)。
新增使用 Pink IK 的 GR1 场景,以及 GR00T Mimic 数据生成和训练(@ashwinvkNV)。
为 Mimic 增加绝对位姿 Franka 立方体堆叠环境(@rwiltz)。
启用 CloudXR OpenXR 运行时容器(@jaczhangnv)。
增加快速安装及入门指南(@mpgussert)。
改进#
明确 ArticulationData 默认参数(@Mayankm96)。
移除 TerrainImporter 类中的网格存储(@Mayankm96)。
补充 InteractiveScene 状态细节(@Mayankm96)。
将 scripts 挂载到 Docker 容器(@Mayankm96)。
仅在仿真启动时初始化管理器项类(@Mayankm96)。
更新到最新 RSL-RL v2.3.0(@Mayankm96)。
对没有 extension.toml 的目录跳过依赖安装(@jsmith-bdai)。
明确动画文档的层操作说明(@tylerlum)。
减少相机环境的默认环境数量(@kellyguo11)。
更新渲染模式指南(@matthewtrepte)。
为 Mimic 增加任务说明界面支持(@chengronglai)。
增加 ExplicitAction 类,在 AppLauncher 中跟踪参数使用(@nv-mhaselton)。
允许仿真运行时重置物理(@oahmednv)。
Mimic 支持多末端执行器数据生成(DexMimicGen)(@nvcyc)。
错误修复#
修复隐式执行器的默认驱动力限值行为(@jtigue-bdai)。
修复文档字符串与代码不一致(@Bardreamaster)。
修复动画录制器缺少舞台录制扩展(@kellyguo11)。
修复 Factory 环境地面高度(@louislelay)。
移除渲染设置重复定义(@pascal-roth)。
修复环境教程的设备设置(@Mayankm96)。
默认地面颜色恢复为深灰色(@Mayankm96)。
在加载管理器前初始化 extras 字典(@kousheekc)。
修复 development.rst 拼写错误(@vi3itor)。
修复 SE 游戏手柄的 Omniverse 订阅 API(@PinkPanther-ny)。
修复 RslRlVecEnvWrapper 的 modify_action_space(@felipemohr)。
修复基准测试脚本的分布式配置(@kellyguo11)。
修复教程中的
RF_FOOT,改为RH_FOOT(@likecanyon)。RecorderManager 录制前检查是否存在成功项(@peterd-NV)。
时间线停止时取消调试可视化句柄订阅(@jsmith-bdai)。
play.py使用env.step_dt修复等待时间(@tylerlum)。修复 50 系列 GPU 安装说明,加入 torchvision(@kellyguo11)。
修复从外部脚本导入 MotionViewer(@T-K-233)。
每次 app.update 调用后重置 CUDA 设备(@kellyguo11)。
修复 RSL-RL 命令行的 resume 标志(@Mayankm96)。
v2.0.2#
概述#
此补丁版本改进执行器配置、修复关键错误,并撤回 v2.0.1 中意外的行为变化。如果从 Isaac Lab 2.0 之前的版本迁移, 强烈建议改用 此版本。
主要变化:
执行器限值处理 :引入
velocity_limit_sim和effort_limit_sim,明确区分仿真求解器限值与执行器模型约束。隐式执行器速度限值恢复为 v2.0 前的行为。仿真配置更新 :移除
disable_contact_processing,简化行为。渲染配置更新 :恢复 v2.0 前的配置,改善渲染产物质量。
平铺相机修复 :修复运动向量处理,并为
TiledCamera获取语义图像增加临时修复。WebRTC 支持 :直播可指定 IP。
完整变更日志 :isaac-sim/IsaacLab
新功能#
执行器新增
velocity_limit_sim和effort_limit_sim。增加可指定 IP 的 WebRTC 直播支持。
改进#
增加代码贡献指南及示例。
拆分 Articulation 类中的关节状态设置方法。
为 skrl 多智能体算法实现确定性评估。
在
pyproject.toml中增加新扩展。更新 Isaac Sim 二进制安装路径及 VS Code 集成文档。
移除 RigidObject 中剩余的弃用警告。
文档增加安全及成果展示说明。
更新分割及 50 系列 GPU 文档。
增加平铺相机语义分割问题的临时解决办法。
错误修复#
修复并行 Franka 堆叠环境的物体观测偏移。
在 ManagerBasedEnv、DirectRLEnv 和 MARL 环境初始化中增加场景更新。
以 eval() 模式加载执行器网络,避免梯度计算。
修复 ANYmal URDF 导入说明。
修复事件项
reset_root_state_from_terrain()的根速度设置。修复使用
MultiUsdFileCfg时的activate_contact_sensors。修复
TiledCamera运动向量错位。将 Camera 旋转缓冲区的默认张量设备设为 CPU。
不兼容变化#
恢复隐式执行器关节速度限值的旧设置。
从 SimulationContext 移除
disable_contact_processing。Kit experience 文件恢复旧渲染设置。
迁移指南#
注意
这些行为变化可能影响已训练策略的部署,强烈建议仔细阅读。遇到问题请在 GitHub 提交 issue。
ActuatorBaseCfg 新增仿真驱动力及速度限值参数#
我们在 isaaclab.actuators.ActuatorBaseCfg 中新增 velocity_limit_sim 和 effort_limit_sim ,允许通过执行器配置类设置 仿真 关节速度及驱动力限值。
以前,执行器配置中的 velocity_limit 和 effort_limit 承担了过多职责。期间一系列修改导致 Isaac Lab 从 v1.4.0 到 v2.0.1 出现行为回归。为便于理解,下表列出行为变化:
执行器类型 |
属性 |
v1.4.0 行为 |
v2.0.1 行为 |
|---|---|---|---|
隐式 |
|
忽略,不写入仿真 |
写入仿真 |
隐式 |
|
写入仿真 |
写入仿真 |
显式 |
|
供执行器模型(如直流电机)使用,不写入仿真 |
供执行器模型(如直流电机)使用,并写入仿真 |
显式 |
|
供执行器模型使用,不写入仿真 |
供执行器模型使用,并写入仿真 |
将配置限值写入仿真,会直接影响底层物理求解器的行为。速度限值过于严格时尤其明显,高刚度关节更容易达到这些限值。因此,行为变化导致此前训练的策略无法在 Isaac Lab v2.0.1 中正常工作。
我们因此恢复了旧行为,并新增 velocity_limit_sim 和 effort_limit_sim ,明确这些参数修改的是求解器配置。新行为如下:
属性 |
隐式执行器 |
显式执行器 |
|---|---|---|
|
忽略,不写入仿真 |
供模型(如直流电机)使用,不写入仿真 |
|
写入仿真(与 |
供模型使用,不写入仿真 |
|
写入仿真 |
写入仿真 |
|
写入仿真(与 |
写入仿真 |
需要直接修改求解器限值时,建议使用 xxx_sim 参数。
移除 SimulationCfg 的 disable_contact_processing 标志#
我们从 isaaclab.sim.SimulationCfg 移除 disable_contact_processing ,避免用户需要处理这些仿真器细节。默认始终为 True;创建接触传感器后,会在内部将其设为 False。
此前, disable_contact_processing 的行为容易引起困惑。顾名思义,它控制底层 PhysX 物理引擎的接触报告。禁用该标志(注意这里的双重否定)意味着 PhysX 从求解器收集接触信息,并允许向用户报告;启用则不执行此操作,避免相关开销。
许多示例,如运动环境,将此标志设为 True,即 不应 报告接触。但 GPU 仿真绕过该标志,只有 CPU 仿真受影响,因此此前未发现问题。在 CPU 上运行相同示例时,就会出现不同的行为。
仍自行设置该标志的用户,应收到弃用警告,说明标志已移除并改用新的默认行为。
恢复旧渲染设置以改善画质#
Isaac Lab 2.0.0 采用了新的渲染设置,以提高平铺渲染的性能,但画质有所下降。这一变化尤其影响场景中的穹顶光照,而许多示例默认使用这类光照。
多位用户反馈,新设置在一些无需牺牲画质的场景(例如录制仿真视频)中也降低了渲染质量。因此,我们已恢复原先的默认渲染设置,使画质达到用户预期。
对于愿意降低画质以换取速度的用户,我们后续会提供相应指南。
v2.0.1#
概述#
本版本包含少量修复和改进。
本次主要调整是适配 RSL RL 的新包名。包名变更导致 Isaac Lab 原有的安装方式失效;本版本更新了相关配置,确保能够正常安装 RSL RL。
完整变更记录 :isaac-sim/IsaacLab
改进#
改为从 PyPI 安装 RSL-RL(@Mayankm96)。
更新文档中的脚本路径(@fan-ziqi)。
保存文件时禁用扩展自动重载(@kellyguo11)。
更新 v2.0.1 安装文档(@kellyguo11)。
错误修复#
修复向仿真写入关节体位姿时质心和连杆缓冲区的时间戳(@Jackkert)。
修复 xdg-open 命令中的本地文档预览路径(@louislelay)。
修复找不到 rsl-rl 可用发行包的问题(@samibouziri)。
修复 RayCaster 传感器漂移的重置逻辑(@zoctipus)。
v2.0.0#
概述#
Isaac Lab 2.0 新增多项功能,其中 Isaac Lab Mimic 扩展进一步完善了模仿学习工作流。
Isaac Lab Mimic 能以少量人工采集的示范为基础,自动生成更多轨迹,减少构建大型训练数据集所需的人力。该扩展基于 MimicGen ,通过人类示范实现可扩展的机器人学习。
此外,我们新增了一组基于 对抗运动先验(Adversarial Motion Priors) 的 AMP 任务,用于训练人形机器人行走、奔跑和跳舞。
与 Isaac Lab 2.0 配套的 Isaac Sim 4.5 引入了多项新增功能和破坏性变更,包括全面重构 Isaac Sim 扩展、改进 URDF 导入器、将 PyTorch 依赖升级至 2.5.1,以及修复多项平铺渲染问题。平铺渲染现已支持多个不同分辨率的平铺相机。
为适配 Isaac Sim 的重构,我们也重构并调整了 Isaac Lab 的目录结构。这些破坏性变更使本版本无法兼容此前的 Isaac Sim 版本。
注意
使用 Isaac Lab 2.0 时,请确保已升级到 Isaac Sim 4.5。
完整变更记录 :isaac-sim/IsaacLab
Isaac Sim 4.5 的主要更新#
支持多个
TiledCamera实例及不同分辨率渲染性能最高提升至原来的 1.2 倍
优化 Cloner 类,使启动时间缩短 30%
增强用于物理仿真调试的 OmniPVD,支持采集强化学习仿真数据
优化物理仿真性能,吞吐量最高提升 70%
物理引擎支持专为机器人轮子设计的圆柱和圆锥几何体,并提供完整的 GPU 加速
新增 GPU 物理碰撞过滤机制;对于碰撞体较少的场景,可将多个强化学习环境放置在同一原点,且性能损失很小
提高耦合关节在高增益下的仿真稳定性
新功能#
为直接工作流新增人形机器人 AMP 任务(@Toni-SM)。
新增 Isaac Lab Mimic,基于 MimicGen 生成模仿学习数据(@peterd-NV @nvcyc @ashwinvkNV @karsten-nvidia)。
新增整合示例脚本,在同一次仿真中演示数据录制和实时 Mimic 数据集生成(@nvcyc)。
新增用于 GR00T Mimic 的 Franka 堆叠环境(@peterd-NV @nvcyc)。
新增碰撞过滤和实时回放选项(@kellyguo11)。
改进#
新增在预先构建的 USD 场景中执行策略推理的教程(@oahmednv)。
新增多平铺相机的单元测试(@matthewtrepte)。
更新默认渲染设置以改善画质(@kellyguo11)。
新增标志,可在重置时等待纹理加载完成(@oahmednv)。
新增预训练检查点,以及生成和上传检查点的工具(@nv-cupright)。
新增渲染降噪器的优化标志(@kellyguo11)。
将 torch 升级至 2.5.1(@kellyguo11)。
错误修复#
修复未施加力或力矩时外力缓冲区未清零的问题(@matthewtrepte)。
根据 PyPI 安装要求修正
setup.py中的 RSL-RL 包名(@samibouziri)。
不兼容变化#
更新 URDF 和 MJCF 导入器以适配 Isaac Sim 4.5(@Dhoeller19)。
重命名 Isaac Lab 扩展和目录(@kellyguo11)。
调整扩展目录结构并移除旧的模仿学习脚本(@kellyguo11)。
将默认 conda 和 venv Python 环境名从
isaaclab改为env_isaaclab(@Toni-SM)。
注意
我们发现, Camera 和 TiledCamera 对可实例化资产的语义分割和实例分割存在功能异常。自 Isaac Sim 4.5 / Isaac Lab 2.0 起,这两类分割输出只有第一个图块能正确渲染,其余图块为空。在 Omniverse 随下一版 Isaac Sim 提供正式修复前,我们将提供临时方案:当 Camera 或 TiledCamera 需要语义分割或实例分割时,禁用场景实例化。
迁移指南#
重命名 Isaac Sim 扩展#
之前,Isaac Sim 扩展遵循 omni.isaac.* 的约定,例如 omni.isaac.core 。在 Isaac Sim 4.5 中,Isaac Sim 扩展已被重命名为使用前缀 isaacsim ,替代 omni.isaac 。此外,许多扩展已被重命名并拆分成多个扩展,以便为更具模块化的框架做准备,用户可以通过使用应用模板进行定制。
Isaac Lab 中常用的以下 Isaac Sim 扩展已重命名:
omni.isaac.cloner-->isaacsim.core.cloneromni.isaac.core.prims-->isaacsim.core.primsomni.isaac.core.simulation_context-->isaacsim.core.api.simulation_contextomni.isaac.core.utils-->isaacsim.core.utilsomni.isaac.core.world-->isaacsim.core.api.worldomni.isaac.kit.SimulationApp-->isaacsim.SimulationAppomni.isaac.ui-->isaacsim.gui.components
重命名 URDF 和 MJCF 导入器#
从 Isaac Sim 4.5 开始,URDF 和 MJCF 导入器已被重命名,以便与 Isaac Sim 中的其他扩展保持一致。导入器作为开源项目可以在 isaac-sim GitHub 上找到。
由于扩展名更改,Python 模块名称也已更改:
URDF 导入器:
isaacsim.asset.importer.urdf(之前是omni.importer.urdf)MJCF 导入器:
isaacsim.asset.importer.mjcf(之前是:omni.importer.mjcf)
从 Isaac Sim UI 中,URDF 和 MJCF 导入器现在可以通过文件 > 导入菜单直接访问,当在文件浏览器中选择相应的 .urdf 或 .xml 文件时。
URDF 导入器的变化#
Isaac Sim 4.5 更新了 URDF 导入器,新的界面便于配置机器人的 URDF 导入选项。Isaac Lab 的 URDF 转换器也作了相应更新。 isaaclab.sim.converters.UrdfConverterCfg 新增了一些设置,例如可通过 PDGainsCfg 和 NaturalFrequencyGainsCfg 配置关节驱动器的增益。
需要注意一项破坏性变更: gains 必须是 PDGainsCfg 或 NaturalFrequencyGainsCfg 类型。
必须为 PDGainsCfg 指定刚度,例如:
joint_drive=sim_utils.UrdfConverterCfg.JointDriveCfg(
gains=sim_utils.UrdfConverterCfg.JointDriveCfg.PDGainsCfg(stiffness=None, damping=None)
)
必须为 NaturalFrequencyGainsCfg 指定 natural_frequency 。
重命名 Isaac Lab 扩展和文件夹#
对应于 Isaac Sim 4.5 的更改,我们也对 Isaac Lab 目录和扩展做了一些更新。所有之前位于 source/extensions 下的扩展现在直接位于 source/ 目录下。 source/apps 和 source/standalone 文件夹已被移动到根目录,并且现在分别称为 apps/ 和 scripts/ 。
Isaac Lab 扩展已重命名为:
omni.isaac.lab-->isaaclabomni.isaac.lab_assets-->isaaclab_assetsomni.isaac.lab_tasks-->isaaclab_tasks
此外,我们已将之前的 source/standalone/workflows 目录拆分为 scripts/imitation_learning 和 scripts/reinforcement_learning 目录。RSL RL、Stable-Baselines、RL_Games、SKRL 和 Ray 目录位于 scripts/reinforcement_learning 下,而 Robomimic 和新的 Isaac Lab Mimic 目录则位于 scripts/imitation_learning 下。
为便于在项目中重命名 Isaac Lab 扩展,我们提供了一个 简单脚本 。它会遍历本地 Isaac Lab 项目的 source 和 docs 目录,替换旧目录名和导入路径。 该脚本会直接覆盖源文件,请自行评估风险后使用。
Isaac Lab 扩展的重构#
随着用于模仿学习数据生成的 isaaclab_mimic 加入,我们将原先 isaaclab_tasks 下的 wrappers 目录拆分为独立模块 isaaclab_rl 。这个新扩展包含 Isaac Lab 所支持各类强化学习库的专用封装。
新的 isaaclab_mimic 扩展也取代了 robomimic 目录下原有的模仿学习脚本。旧的数据采集和数据集准备脚本已移除,改用新的 Mimic 工作流。需要继续使用旧脚本的用户,可从此前的发布分支获取。
此外, isaaclab_assets 扩展也拆分为 robots 和 sensors 子目录,使各类预定义配置的组织更清晰。
例如,下列导入语句:
from omni.isaac.lab_assets.anymal import ANYMAL_C_CFG
应替换为:
from isaaclab_assets.robots.anymal import ANYMAL_C_CFG
v1.4.1#
概述#
本版本包含多项改进和问题修复。
其中,我们撤销了 上一版本的一项改动 ,以保持原有的训练吞吐性能。
完整变更记录 :isaac-sim/IsaacLab
这是 最后一个兼容 Isaac Sim 4.2 的版本 。下一版本将面向 Isaac Sim 4.5,其破坏性变更会使 Isaac Lab 无法兼容更早的 Isaac Sim 版本。
新功能#
新增 IMU 传感器文档和演示脚本(@mpgussert)。
改进#
移除
root_state_w属性及其设置方法的弃用标记(@jtigue-bdai)。修复多智能体强化学习工作流在训练和推理时录制视频的问题(@Rishi-V)。
为 ViewerCfg 新增跟随刚体的选项(@KyleM73)。
修正
RemotizedPDActuatorCfg中joint_parameter_lookup的类型,使其支持列表格式(@fan-ziqi)。更新 pip 安装文档,明确各个安装选项(@steple)。
修正 Articulation Data 文档字符串中的返回值维度(@zoctipus)。
修正 PD 执行器文档中的错误(@kellyguo11)。
澄清射线相关文档并修复一些小问题(@garylvov)。
将文档中的代码片段改为引用脚本(@mpgussert)。
新增 ActuatorBase 配置的字典转换测试(@mschweig)。
错误修复#
修复 JointAction 使用全部关节时未保持关节顺序的问题(@T-K-233)。
修复通过设置速度推动根刚体的事件项(@Mayankm96)。
修复隐式执行器未正确设置
default_joint_stiffness和default_joint_damping的问题(@zoctipus)。修复导航环境中
pre_trained_policy_action的动作重置(@nicolaloi)。修复刚体对象根刚体质心速度的时间戳检查(@ori-gadot)。
在事件管理器重置时新增事件间隔重采样(@Mayankm96)。
修正根据传感器数据调整目标高度的计算(@fan-ziqi)。
修复
repeated_objects_terrain方法中的死循环(@nicolaloi)。修复关节体设置方法未正确创建索引的问题(@AntoineRichard)。
v1.4.0#
概述#
由于新增了许多功能,我们又发布了一个基于 Isaac Sim 4.2 的 Isaac Lab 版本。本版本包含多个新环境、基于 Ray 的分布式训练与超参数支持、管理器环境的实时绘图等功能,以及多项问题修复。
接下来,我们会将更多精力投入面向即将发布的 Isaac Sim 4.5 的新版本。Isaac Lab 和 Isaac Sim 都将引入破坏性变更,无法向后兼容,同时也会带来多项修复和改进。
完整变更记录 :isaac-sim/IsaacLab
新功能#
新增 Factory 接触密集型操作任务(@noseworm)。
新增使用 ManagerBasedRLEnv 的 Franka 堆叠环境(@peterd-NV)。
在管理器环境中新增录制管理器(@nvcyc)。
新增 Ray 工作流,支持多次运行、分布式超参数调优,以及本地与云端一致的配置(@glvov-bdai)。
为
OperationSpaceController补充文档和测试,并实现对应的 action 和 action_cfg 类(@ozhanozen)。为
OperationSpaceController新增零空间控制选项(@ozhanozen)。观测管理器新增观测项历史记录支持(@jtigue-bdai)。
为管理器新增实时绘图功能(@pascal-roth)。
改进#
新增传感器文档和示例脚本(@mpgussert)。
移除 G1 和 H1 RoughEnvCfg 中重复的
TerminationsCfg代码(@fan-ziqi)。新增修改所有相机裁剪行为的选项,并统一默认值(@pascal-roth)。
新增检查,确保刚体上未应用关节体根节点 API(@lgulich)。
为奖励计算新增由 RayCaster 测得的粗糙地形基座高度(@Andy-xiong6)。
为状态转换新增位置阈值检查(@DorsaRoh)。
为 JointAction 新增裁剪范围(@fan-ziqi)。
错误修复#
修复 direct_marl_env 中 noise_model 的初始化(@NoneJou072)。
修正 isaaclab_tasks README 中的 entry_point 和 kwargs(@fan-ziqi)。
修正 isaaclab.sh 中检查 pre-commit 是否已安装的语法(@louislelay)。
修正生成器配置中的鱼眼相机投影类型(@command-z-z)。
修复执行器速度限制向关节体 root_physx_view 传递的问题(@jtigue-bdai)。
在
DifferentialInverseKinematicsAction类中,改为在根坐标系内计算雅可比矩阵(@zoctipus)。为射线投射传感器的 mesh_prim 新增变换(@clearsky-mio)。
修复 configclass 将 torch 张量转换为字典的问题(@lgulich)。
修复
NonHolonomicAction动作项的 apply_actions 方法中的错误(@KyleM73)。修复重置后传感器数据未更新的问题(@kellyguo11)。
修正命令管理器记录指标和采样命令的顺序(@Mayankm96)。
不兼容变化#
重构位姿和速度 API,区分连杆坐标系与质心坐标系(@jtigue-bdai)。
v1.3.0#
概述#
本次发布原计划作为迁移到 Isaac Sim 4.5 前最后一个基于 Isaac Sim 4.2 的版本。Isaac Sim 4.5 预计会带来破坏性变更,无法兼容 Isaac Sim 4.2 及更早版本。本版本新增了 IMU 传感器、多种 gymnasium 空间的支持、基于管理器的感知环境等功能,并包含多项改进和问题修复。
完整变更记录 :isaac-sim/IsaacLab
新功能#
新增
IMU传感器(@pascal-roth)。新增相机基准测试工具,并修正 distance_to_camera 深度图的反投影(@glvov-bdai)。
新增基于管理器的 Cartpole 视觉示例环境(@glvov-bdai)。
新增从图像提取特征的观测项及对应的 Cartpole 示例(@glvov-bdai)。
直接工作流支持更多 gymnasium 空间类型(@Toni-SM)。
新增配置类,可在指定 prim 路径生成不同资产(@Mayankm96)。
新增刚体集合类(@Dhoeller19)。
为
mesh_converter新增网格缩放、平移和旋转选项(@pascal-roth)。新增随机化显式执行器增益的事件项(@MoreTore)。
新增 Isaac Lab 参考架构文档(@OOmotuyi)。
改进#
扩展 FrameTransformer,支持多个刚体之间的坐标变换(@jsmith-bdai)。
反转 SE-2 键盘设备的偏航指令按键(Z、X)对应的动作(@riccardorancan)。
禁用 Warp 内核反向传播的编译(@Mayankm96)。
以原生字典替代 TensorDict(@Toni-SM)。
缩短 omni.isaac.lab_tasks 的加载时间(@Toni-SM)。
处理固定关节体肌腱时缓存 PhysX 视图的关节路径(@Toni-SM)。
以
__name__特殊属性替代硬编码模块路径(@Mayankm96)。观测项缩放支持浮点数列表(@pascal-roth)。
移除 Simulation App 的扩展启动消息(@Mayankm96)。
为仿真新增渲染配置,并在文档中说明 TiledCamera 的限制(@kellyguo11)。
新增 Kit 命令行参数支持(@kellyguo11)。
当 seed=-1 时,工作流脚本生成随机种子(@kellyguo11)。
新增测量机器人加载性能的基准测试脚本(@Mayankm96)。
将日志记录从
carb改为omni.log(@Mayankm96)。在 VS Code 文件浏览器中隐藏缓存文件(@Divelix)。
为文档新增版本切换功能(@sheikh-nv)。
改进执行器参数无效时的错误消息(@lgulich)。
更新集群部署经过测试的 Docker 和 Apptainer 版本(@pascal-roth)。
移除
omni.isaac.lab扩展对ml_archive的依赖(@fan-ziqi)。新增配置类有效性检查(@Dhoeller19)。
确保网格转换器中的网格名称符合 USD 命名规范(@fan-ziqi)。
在命令管理器中新增命令项类型检查(@command-z-z)。
允许 configclass 的
to_dict处理配置类列表(@jtigue-bdai)。
错误修复#
在可变形泰迪熊抬升环境中禁用物理复制(@Mayankm96)。
修正浮动基座关节体的雅可比矩阵关节索引(@lorenwel)。
修复 RSL-RL 从命令行设置随机种子的问题(@kaixi287)。
修正相机 MDP 项名称和重投影文档字符串(@Mayankm96)。
修正使用
pxr.Semantics时的弃用提示(@Mayankm96)。修复默认地面平面的缩放(@kellyguo11)。
修复通过 pip 安装时的 Isaac Sim 可执行程序(@Toni-SM)。
在独立脚本中,将命令行指定的设备传递给仿真配置(@Mayankm96)。
修复随机化刚体材质的事件(@pascal-roth)。
修复 ray_caster_camera 教程脚本保存数据的问题(@mpgussert)。
修复未定义 DISPLAY 环境变量时无法运行 Docker 容器的问题(@GiulioRomualdi)。
修正设置关节限位时的默认关节位置(@kellyguo11)。
修复设备设置向噪声模块的传递,并新增噪声测试(@jtigue-bdai)。
移除多余的 sbatch,并修正集群部署的默认配置(@pascal-roth)。
修复 RSL-RL 训练脚本加载检查点时的错误(@bearpaw)。
修复
EMAJointPositionToLimitsAction中的 PyTorch 广播问题(@bearpaw)。修正运动速度任务计算
feet_slide奖励时的刚体 ID 选择(@dtc103)。修复 Markdown 文件中失效的 URL(@DorsaRoh)。
修正 Isaac-Lift-Cube-Franka-v0 任务在
sb3_ppo_cfg.yaml中的net_arch(@LinghengMeng)。
v1.2.0#
概述#
本版本基于 Isaac Sim 4.2.0,新增了基于 RTX 的平铺渲染和多智能体环境支持,并包含多项修复和改进。
此外,我们发布了一个基于 Eureka 、使用大语言模型生成奖励的示例:isaac-sim/IsaacLabEureka
完整变更记录 :isaac-sim/IsaacLab
新功能#
新增基于 RTX 的平铺渲染,提高整体渲染速度和画质。
新增直接工作流的 Shadow Hand 视觉立方体调姿环境
Isaac-Repose-Cube-Shadow-Vision-Direct-v0(@kellyguo11)。直接工作流新增多智能体环境支持,并支持 SKRL 的 MAPPO 和 IPPO(@Toni-SM)。
新增直接工作流多智能体环境
Isaac-Cart-Double-Pendulum-Direct-v0和Isaac-Shadow-Hand-Over-Direct-v0(@Toni-SM)。新增不同学习工作流的吞吐量基准测试脚本(@kellyguo11)。
在文档 此处 新增不同硬件的基准测试结果(@kellyguo11)。
新增直接工作流的 Allegro Hand 环境(@kellyguo11)。
在强化学习工作流的 play 脚本中新增视频录制功能(@j3soon)。
在 此处 新增支持的强化学习库对照表(@kellyguo11)。
新增可变形资产 API(@masoudmoghani)。
新增 MJCF 转换器支持(@qqqwan)。
新增通过内参矩阵定义相机配置的函数(@pascal-roth)。
为观测管理器新增可配置的修饰器(@jtigue-bdai)。
强化学习训练新增 Hydra 配置系统(@Dhoeller19)。
改进#
使用 PhysX 提供的加速度作为刚体加速度数据(@Mayankm96)。
补充资产数据所用坐标系的文档(@Mayankm96)。
重命名运动任务中的 Unitree 配置,使名称正确对应(@Mayankm96)。
为
TerrainGenerator新增边界高度设置(@pascal-roth)。为
run_all_tests.py新增命令行参数,用于测试指定扩展(@jsmith-bdai)。解耦刚体对象与关节体资产类(@Mayankm96)。
优化域随机化性能(@kellyguo11)。
允许一个观测组包含不同维度的观测项(@Mayankm96)。
在
JointActionCfg动作项中新增保持关节顺序的标志(@xav-nal)。支持 rl_games 从检查点恢复训练(@sizsJEon)。
为 VS Code 任务新增 Windows 配置(@johnBuffer)。
调整键盘设备的 A 和 D 按键绑定(@zoctipus)。
使用
torch.einsum实现 quat_rotate 和 quat_rotate_inverse 运算(@dxyy1)。扩展关节体测试,覆盖多个实例和设备(@jsmith-bdai)。
支持在初始化时设置环境随机种子(@Mayankm96)。
在无界面运行且启用相机时禁用默认视口(@kellyguo11)。
简化
parse_env_cfg方法的返回类型(@Mayankm96)。简化事件管理器 apply 方法中的条件分支(@Mayankm96)。
错误修复#
修复渲染帧延迟,使渲染图像准确反映物理场景的最新状态。环境配置新增
rerender_on_reset标志,用于控制重置时是否额外渲染一次。启用后,图像和观测始终对应环境的最新状态,但性能会有所下降。修复数学工具中的
wrap_to_pi函数(@Mayankm96)。修复生成网格时的位姿设置(@masoudmoghani)。
修复地形生成器的地形缓存(@Mayankm96)。
修复未安装 rsl_rl 时无法运行训练脚本的问题(@Dhoeller19)。
新增标志,可在随机化刚体质量时重新计算惯量(@Mayankm96)。
修复定义配置类时对
classmethod的支持(@Mayankm96)。修复
Sb3VecEnvWrapper,使其在重置时清空缓冲区(@EricJin2002)。修复 Windows 上 venv 和 conda 环境中的 pip 安装(@kellyguo11)。
将原生直播扩展设为 Isaac Sim 4.1 和 4.0 的默认配置(@jtigue-bdai)。
将 gym 视频录制器的默认帧率设为与回合的控制降采样倍数相匹配(@ozhanozen)。
修复事件管理器的 apply 方法(@kellyguo11)。
更新相机文档,说明世界坐标系单位,并新增内参测试(@pascal-roth)。
支持 rl_games 从检查点恢复训练(@sizsJEon)。
不兼容变化#
简化 SimulationCfg 和 AppLauncher 的设备设置(@Dhoeller19)。
修复脚本中遥操作设备命令行参数的冲突(@Dhoeller19)。
将 container.sh 转换为 Python 工具(@hhansen-bdai)。
不再支持在 Isaac Sim 4.1 中使用
TiledCamera
迁移指南#
在仿真上下文中设置仿真设备#
此前,将仿真设备改为 CPU 时,还需设置其他仿真参数,例如禁用 GPU 物理仿真和 GPU 流水线,配置过程较为繁琐。现在,设备检查直接在仿真上下文中完成,用户只需通过配置对象指定设备。
此前:
sim_utils.SimulationCfg(device="cpu", use_gpu_pipeline=False, dt=0.01, physx=sim_utils.PhysxCfg(use_gpu=False))
现在:
sim_utils.SimulationCfg(device="cpu", dt=0.01, physx=sim_utils.PhysxCfg())
通过命令行设置仿真设备#
此前,用户通过命令行参数 --device_id 指定设备,但这种方式无法明确表达使用 CPU 的意图。因此,现在需要通过 --device 明确指定设备,而非仅提供设备 ID。有效的设备名称如下:
"cpu":在 CPU 上运行仿真
"cuda":在默认索引对应的 GPU 上运行仿真
"cuda:N":在设备 ID 为
N的 GPU 上运行仿真。例如,"cuda:0" 使用索引为 "0" 的设备。
上述改动也改变了部分脚本的命令行用法。
此前:
uv run python source/standalone/workflows/sb3/train.py --task Isaac-Cartpole --cpu
./isaaclab.sh -p source/standalone/workflows/sb3/train.py --task Isaac-Cartpole --cpu
现在:
uv run python source/standalone/workflows/sb3/train.py --task Isaac-Cartpole --device cpu
./isaaclab.sh -p source/standalone/workflows/sb3/train.py --task Isaac-Cartpole --device cpu
重命名独立脚本的遥操作设备命令行参数#
由于 AppLauncher 现在提供 --device 参数,它与部分独立脚本中指定遥操作设备的同名参数发生冲突。为解决这一问题,遥操作设备改由 --teleop_device 参数指定。
此前:
uv run python source/standalone/environments/teleoperation/teleop_se3_agent.py --task IsaacContrib-Lift-Cube-Franka-IK-Rel --num_envs 1 --device keyboard
./isaaclab.sh -p source/standalone/environments/teleoperation/teleop_se3_agent.py --task IsaacContrib-Lift-Cube-Franka-IK-Rel --num_envs 1 --device keyboard
现在:
uv run python source/standalone/environments/teleoperation/teleop_se3_agent.py --task IsaacContrib-Lift-Cube-Franka-IK-Rel --num_envs 1 --teleop_device keyboard
./isaaclab.sh -p source/standalone/environments/teleoperation/teleop_se3_agent.py --task IsaacContrib-Lift-Cube-Franka-IK-Rel --num_envs 1 --teleop_device keyboard
使用 Python 版本的容器工具脚本#
原先的 container.sh 在一个脚本中处理多种用途,例如构建 "base" 或 "ros2" Docker 镜像,以及集群部署,逐渐变得复杂。越来越多用户希望叠加自己的 Docker 配置,这也使 Bash 脚本难以维护。因此,本版本将其功能迁移到 Python 脚本,并将集群相关工具拆分到 docker/cluster 目录下的独立脚本中。
container.sh 仍保留向后兼容性,但内部会调用 Python 脚本 container.py 。建议直接使用 Python 脚本。
此前:
./docker/container.sh start
现在:
./docker/container.py start
强化学习工作流的视频分目录存储#
此前,用户可向 train.py 传入 --video 标志,在强化学习训练期间录制视频。视频保存在本次运行日志目录下的 videos 目录中。
应用户要求, play.py 也新增了策略推理时的视频录制功能。由于无法更改视频文件名的前缀,train 和 play 脚本录制的视频分别保存到 videos/train 和 videos/play 目录中。
不再支持在 Isaac Sim 4.1 中使用平铺相机#
Isaac Sim 4.2 修复了平铺相机渲染流水线中的多项问题,使继续支持 Isaac Sim 4.1 的平铺相机变得困难。因此,建议本版本 Isaac Lab 配合 Isaac Sim 4.2 使用,以获得最佳体验。
v1.1.0#
概述#
随着 Isaac Sim 4.0 和 4.1 发布,我们不再支持 Isaac Sim 2023.1.1。建议所有用户升级到 Isaac Sim 4.1,以使用最新功能和改进。升级详情请参阅 发布说明 。
此外,本次 Isaac Lab 发布也带来了下文所列的新功能和改进。感谢所有贡献者的持续支持。
完整变更记录 :isaac-sim/IsaacLab
新功能#
新增 skrl 分布式多 GPU 学习支持(@Toni-SM)。
更新 skrl 集成,支持使用 JAX 训练和评估(@Toni-SM)。
为射线投射传感器新增激光雷达扫描模式(@pascal-roth)。
新增基于 PBS 作业调度器的集群支持(@shafeef901)。
新增生成可变形网格的 API(@Mayankm96)。
改进#
将文档配色改为绿色主题(@Mayankm96)。
修复 Sphinx 选项卡在深色主题下的显示(@Mayankm96)。
修复 VS Code 设置,使其适用于通过 pip 安装的 Isaac Sim(@Mayankm96)。
修复
isaaclab脚本对 Isaac Sim pip 安装方式的处理(@Mayankm96)。优化交互式场景中的同构克隆(@kellyguo11)。
改进 Docker X11 转发文档(@j3soon)。
错误修复#
在
RigidObjectData中从仿真读取重力方向(@Mayankm96)。修复循环引用导致的资产实例引用计数问题(@Mayankm96)。
修复 torch > 2.1 时的资产反初始化问题(@Mayankm96)。
修复环境渲染逻辑的回归问题(@Dhoeller19)。
修复 Stable-Baselines3 封装中的动作空间检查(@Mayankm96)。
修正处理 Articulation 配置时的警告消息(@locoxsoco)。
修复到达任务环境的动作项(@masoudmoghani)。
修复使用 RL_GAMES 和 SKRL 训练 UR10 到达任务的问题(@sudhirpratapyadav)。
为简单的管理器环境新增事件管理器调用(@Mayankm96)。
不兼容变化#
停止正式支持 Isaac Sim 2023.1.1
移除资产类内部对 body view 的使用(@Mayankm96)。
将
SimulationCfg.substeps重命名为SimulationCfg.render_interval(@Dhoeller19)。
迁移指南#
重命名 SimulationCfg.substeps#
此前,用户设置的 omni.isaac.lab.sim.SimulationCfg.dt 和 omni.isaac.lab.sim.SimulationCfg.substeps 分别表示物理仿真时间步长和子步数。但“子步”含义不够明确:它可能指一个物理时间步 dt 内的积分步数,也可能指一个渲染步内的物理仿真步数。
由于代码中该属性表示后者,因此将其重命名为 render_interval ,以明确其含义。
移除已弃用的属性#
按照此前版本的弃用通知,我们移除了下列类和属性:
事件中的
mdp.add_body_mass方法,请改用mdp.randomize_rigid_body_mass。managers.RandomizationManager和managers.RandomizationTermCfg类,请改用managers.EventManager和managers.EventTermCfg。omni.isaac.lab.sensors.FrameTransformerData中的以下属性:target_rot_source→target_quat_w;target_rot_w→target_quat_source;source_rot_w→source_quat_w。omni.isaac.lab.assets.Articulation和omni.isaac.lab.assets.RigidObject类中的body_physx_view属性。该视图的刚体名称顺序与关节体视图不同,容易造成混淆。
v1.0.0#
概述#
欢迎使用 Isaac Lab 的首个正式版本!
在 Orbit 框架的基础上,我们整合了 OmniIsaacGymEnvs 的强化学习环境设计工作流,让用户能根据应用选择合适的 任务设计方式 。
本版本仍兼容 Isaac Sim 2023.1.1,但建议搭配 Isaac Sim 4.0.0 使用,以获得最新功能和改进。
完整变更记录 :isaac-sim/IsaacLab
新功能#
集成 CI/CD 流水线,在提交拉取请求时触发,并公开运行结果
扩展 Windows 操作系统支持
新增基于平铺渲染的相机传感器实现,优化后的 RGB-D 渲染吞吐量最高可达每秒 1 万帧
新增 RL-Games 多 GPU 和多节点训练支持
集成不依赖管理器的环境设计 API(直接工作流)
新增带延迟的 PD 执行器模型
新增多种学习环境:基于图像的 Cartpole 平衡、Shadow Hand 立方体调姿、Boston Dynamics Spot 运动、Unitree H1 和 G1 运动、ANYmal-C 导航,以及四旋翼目标到达任务
改进#
缩短脚本启动时间(得益于 Isaac Sim 4.0 的改进)
为刚体对象和关节体数据新增惰性缓冲区。它们不再每步更新全部数据,而是在用户查询时才更新
为更多环境新增 SKRL 支持