feat: migrate omni.isaac.* imports to isaacsim.* via compat layer
- Add core/compat.py: compatibility module with try/except imports supporting both IS 4.x (omni.isaac.*) and IS 5.x+ (isaacsim.*) - Migrate 152 imports across 47 files from direct omni.isaac.* to core.compat - Handle class renames: RigidPrim→SingleRigidPrim, GeometryPrim→SingleGeometryPrim, XFormPrim→SingleXFormPrim, Articulation→SingleArticulation (aliased for compatibility) - Add migerate/migrate_imports.py: automated migration script for future use - Leave debug_draw and env_loader try/except imports as-is This eliminates ~100 deprecation warnings from our code on IS 5.0, and future-proofs for IS 6.x when old APIs may be removed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
198
workflows/simbox/core/compat.py
Normal file
198
workflows/simbox/core/compat.py
Normal file
@@ -0,0 +1,198 @@
|
||||
"""
|
||||
Isaac Sim 4.x / 5.x API compatibility layer.
|
||||
|
||||
IS 5.0 renamed all `omni.isaac.*` modules to `isaacsim.*`.
|
||||
This module provides unified imports that work across both versions.
|
||||
Import from here instead of directly from omni.isaac.* or isaacsim.*.
|
||||
"""
|
||||
|
||||
# ===== Core =====
|
||||
try:
|
||||
from isaacsim.core.api import World
|
||||
except ImportError:
|
||||
from omni.isaac.core import World
|
||||
|
||||
# ===== Controllers =====
|
||||
try:
|
||||
from isaacsim.core.api.controllers.base_controller import BaseController
|
||||
except ImportError:
|
||||
from omni.isaac.core.controllers import BaseController
|
||||
|
||||
# ===== Tasks =====
|
||||
try:
|
||||
from isaacsim.core.api.tasks.base_task import BaseTask
|
||||
except ImportError:
|
||||
from omni.isaac.core.tasks import BaseTask
|
||||
|
||||
# ===== Robots =====
|
||||
try:
|
||||
from isaacsim.core.api.robots.robot import Robot
|
||||
except ImportError:
|
||||
from omni.isaac.core.robots.robot import Robot
|
||||
|
||||
# ===== Prims (class names changed in IS 5.x) =====
|
||||
try:
|
||||
from isaacsim.core.prims import SingleXFormPrim as XFormPrim
|
||||
except ImportError:
|
||||
from omni.isaac.core.prims import XFormPrim
|
||||
|
||||
try:
|
||||
from isaacsim.core.prims import SingleRigidPrim as RigidPrim
|
||||
except ImportError:
|
||||
from omni.isaac.core.prims import RigidPrim
|
||||
|
||||
try:
|
||||
from isaacsim.core.prims import SingleGeometryPrim as GeometryPrim
|
||||
except ImportError:
|
||||
from omni.isaac.core.prims import GeometryPrim
|
||||
|
||||
try:
|
||||
from isaacsim.core.api.sensors.rigid_contact_view import RigidContactView
|
||||
except ImportError:
|
||||
from omni.isaac.core.prims import RigidContactView
|
||||
|
||||
# ===== Articulations =====
|
||||
try:
|
||||
from isaacsim.core.prims import SingleArticulation as Articulation
|
||||
except ImportError:
|
||||
from omni.isaac.core.articulations.articulation import Articulation
|
||||
|
||||
# ===== Objects =====
|
||||
try:
|
||||
from isaacsim.core.api.objects.cylinder import VisualCylinder
|
||||
except ImportError:
|
||||
from omni.isaac.core.objects.cylinder import VisualCylinder
|
||||
|
||||
try:
|
||||
from isaacsim.core.api.objects import cuboid, sphere
|
||||
except ImportError:
|
||||
from omni.isaac.core.objects import cuboid, sphere
|
||||
|
||||
# ===== Materials =====
|
||||
try:
|
||||
from isaacsim.core.api.materials import PreviewSurface
|
||||
except ImportError:
|
||||
from omni.isaac.core.materials import PreviewSurface
|
||||
|
||||
try:
|
||||
from isaacsim.core.api.materials import OmniPBR
|
||||
except ImportError:
|
||||
try:
|
||||
from omni.isaac.core.materials import OmniPBR
|
||||
except ImportError:
|
||||
from omni.isaac.core.materials.omni_pbr import OmniPBR
|
||||
|
||||
try:
|
||||
from isaacsim.core.api.materials import OmniGlass
|
||||
except ImportError:
|
||||
from omni.isaac.core.materials import OmniGlass
|
||||
|
||||
# ===== Scenes =====
|
||||
try:
|
||||
from isaacsim.core.api.scenes.scene import Scene
|
||||
except ImportError:
|
||||
from omni.isaac.core.scenes.scene import Scene
|
||||
|
||||
# ===== Utils: prims =====
|
||||
try:
|
||||
from isaacsim.core.utils.prims import (
|
||||
get_prim_at_path,
|
||||
create_prim,
|
||||
delete_prim,
|
||||
is_prim_path_valid,
|
||||
)
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.prims import (
|
||||
get_prim_at_path,
|
||||
create_prim,
|
||||
delete_prim,
|
||||
is_prim_path_valid,
|
||||
)
|
||||
|
||||
# ===== Utils: transformations =====
|
||||
try:
|
||||
from isaacsim.core.utils.transformations import (
|
||||
get_relative_transform,
|
||||
pose_from_tf_matrix,
|
||||
tf_matrix_from_pose,
|
||||
tf_matrices_from_poses,
|
||||
)
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.transformations import (
|
||||
get_relative_transform,
|
||||
pose_from_tf_matrix,
|
||||
tf_matrix_from_pose,
|
||||
tf_matrices_from_poses,
|
||||
)
|
||||
|
||||
# ===== Utils: stage =====
|
||||
try:
|
||||
from isaacsim.core.utils.stage import (
|
||||
get_current_stage,
|
||||
add_reference_to_stage,
|
||||
)
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.stage import (
|
||||
get_current_stage,
|
||||
add_reference_to_stage,
|
||||
)
|
||||
|
||||
# ===== Utils: xforms =====
|
||||
try:
|
||||
from isaacsim.core.utils.xforms import get_world_pose
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.xforms import get_world_pose
|
||||
|
||||
# ===== Utils: types =====
|
||||
try:
|
||||
from isaacsim.core.utils.types import ArticulationAction
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.types import ArticulationAction
|
||||
|
||||
# ===== Utils: viewports =====
|
||||
try:
|
||||
from isaacsim.core.utils.viewports import set_camera_view
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.viewports import set_camera_view
|
||||
|
||||
# ===== Utils: semantics =====
|
||||
try:
|
||||
from isaacsim.core.utils.semantics import add_update_semantics
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.semantics import add_update_semantics
|
||||
|
||||
# ===== Utils: string =====
|
||||
try:
|
||||
from isaacsim.core.utils.string import find_unique_string_name
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.string import find_unique_string_name
|
||||
|
||||
# ===== Utils: stage units =====
|
||||
try:
|
||||
from isaacsim.core.utils.stage import get_stage_units
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.stage import get_stage_units
|
||||
|
||||
# ===== Utils: extensions =====
|
||||
try:
|
||||
from isaacsim.core.utils.extensions import enable_extension
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.extensions import enable_extension
|
||||
|
||||
# ===== Utils: nucleus =====
|
||||
try:
|
||||
from isaacsim.storage.native import get_assets_root_path as nucleus_path
|
||||
except ImportError:
|
||||
from omni.isaac.core.utils.nucleus import get_assets_root_path as nucleus_path
|
||||
|
||||
# ===== Sensor: Camera =====
|
||||
try:
|
||||
from isaacsim.sensors.camera import Camera
|
||||
except ImportError:
|
||||
from omni.isaac.sensor import Camera
|
||||
|
||||
# ===== SimulationApp =====
|
||||
try:
|
||||
from isaacsim import SimulationApp
|
||||
except ImportError:
|
||||
from omni.isaac.kit import SimulationApp
|
||||
Reference in New Issue
Block a user