SuperAPI AI 工具集

isaaclab-migrating-2x-to-3x

编程与开发

查看项目

更新于 11-10 06:24

技能介绍

用途:将 Isaac Lab 2.x 下游项目迁移到 Isaac Lab 3.0,或在升级后诊断迁移错误。该技能本身不是迁移文档的替代品,强调不要凭记忆复制迁移表,而应先读官方迁移指南,再针对具体 API 查看当前源码或示例。

主要流程:1)阅读 docs/source/isaaclab/migrating.rst 中的官方迁移指南;2)判断适用的迁移领域,包括安装、后端包与预设、资产与执行器 API、传感器、四元数顺序、ProxyArray、RL 入口、可视化与录制、导入器、Isaac Sim 扩展启用以及项目特定脚本;3)编辑前在项目里搜索旧 API 符号;4)应用最小范围的针对性修改;5)运行目标冒烟测试或导入测试。

Isaac Sim 扩展导入处理:对直接导入 Isaac Sim 扩展模块的用户代码,优先使用迁移指南列出的 Isaac Lab 内部 API。若仍需直接导入,应添加 from isaaclab.sim.utils import enable_extension,并在 Kit 应用启动后、首次导入该扩展前调用 enable_extension("<extension_name>")。不要从 isaacsim.core.experimental.utils.app 导入 enable_extension,该模块可能在其扩展启用前无法导入。自定义 .kit 文件应显式列出所有直接依赖的 Isaac Sim 扩展,或在导入对应 Python 模块前逐个启用。不要向可能在 Kit 启动前导入的普通 Python 模块添加扩展启用逻辑,除非代码被限制为仅在启动的 Kit 应用内运行。

验证:使用 uv run --with pytest python -m pytest PATH_TO_DOWNSTREAM_TEST 形成反馈循环;直接导入 Isaac Sim 的场景需确保脚本先进入 isaaclab.app.launch_simulation(测试用 isaaclab.test.utils.launch_test_simulation)再启用扩展;可运行 uv run --extra isaacsim --with pytest python -m pytest PATH_TO_TEST 进行应用启动测试。四元数迁移使用官方迁移指南记录的仓库四元数工具。若修改技能本身,运行 uv run --no-project python tools/skills/cli.py check。

维护要求:技能需与 docs/source/isaaclab/migrating.rst、docs/source/isaaclab/installation.rst、source/isaaclab_rl/isaaclab_rl/rsl_rl/rl_cfg.py 以及基于 uv 的 train/play 入口保持同步;若代码变更使迁移指引失效,先更新官方迁移文档,技能保持为路由器加检查清单。

适用场景:Isaac Lab 2.x 下游项目升级、升级后兼容性排错、处理 Isaac Sim 扩展启用和自定义 .kit 依赖等。限制:不代替官方迁移指南,具体 API 细节需查阅源码与文档;性能、收费、平台等信息暂未提供。