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:
Tangger
2026-04-03 15:09:50 +08:00
parent 6032b12c59
commit b178aafe40
47 changed files with 546 additions and 249 deletions

View File

@@ -13,17 +13,9 @@ import solver.kpam.SE3_utils as SE3_utils
import solver.kpam.term_spec as term_spec
import yaml
from colored import fg
from omni.isaac.core.utils.prims import (
create_prim,
get_prim_at_path,
is_prim_path_valid,
)
from omni.isaac.core.utils.transformations import (
get_relative_transform,
pose_from_tf_matrix,
tf_matrices_from_poses,
)
from omni.isaac.core.utils.xforms import get_world_pose
from core.compat import create_prim, get_prim_at_path, is_prim_path_valid
from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrices_from_poses
from core.compat import get_world_pose
from pydrake.all import *
from scipy.spatial.transform import Rotation as R
from solver.kpam.mp_builder import OptimizationBuilderkPAM
@@ -966,8 +958,8 @@ if __name__ == "__main__":
# from omni.isaac.franka.controllers.pick_place_controller import PickPlaceController
from gensim_testing_v2.tasks.close_microwave import CloseMicrowave
from omni.isaac.core import World
from omni.isaac.core.utils.types import ArticulationAction
from core.compat import World
from core.compat import ArticulationAction
# from solver.planner import KPAMPlanner