From b178aafe40a415a184243c2b1a48542d09bcae49 Mon Sep 17 00:00:00 2001 From: Tangger Date: Fri, 3 Apr 2026 15:09:50 +0800 Subject: [PATCH] feat: migrate omni.isaac.* imports to isaacsim.* via compat layer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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) --- migerate/migrate_imports.py | 177 ++++++++++++++++ .../components/load/env_loader.py | 2 +- .../simbox/core/cameras/custom_camera.py | 11 +- workflows/simbox/core/compat.py | 198 ++++++++++++++++++ .../core/controllers/template_controller.py | 15 +- .../simbox/core/objects/articulated_object.py | 6 +- .../simbox/core/objects/conveyor_object.py | 4 +- .../simbox/core/objects/geometry_object.py | 10 +- workflows/simbox/core/objects/plane_object.py | 8 +- workflows/simbox/core/objects/rigid_object.py | 6 +- workflows/simbox/core/objects/shape_object.py | 4 +- workflows/simbox/core/objects/xform_object.py | 6 +- .../simbox/core/robots/template_robot.py | 9 +- .../simbox/core/skills/approach_rotate.py | 14 +- workflows/simbox/core/skills/artpreplan.py | 10 +- workflows/simbox/core/skills/close.py | 10 +- workflows/simbox/core/skills/dexpick.py | 14 +- workflows/simbox/core/skills/dexplace.py | 14 +- workflows/simbox/core/skills/dynamicpick.py | 13 +- workflows/simbox/core/skills/failpick.py | 14 +- workflows/simbox/core/skills/flip.py | 14 +- workflows/simbox/core/skills/goto_pose.py | 13 +- .../simbox/core/skills/gripper_action.py | 6 +- .../simbox/core/skills/heuristic_skill.py | 11 +- workflows/simbox/core/skills/home.py | 6 +- workflows/simbox/core/skills/joint_ctrl.py | 6 +- workflows/simbox/core/skills/manualpick.py | 13 +- workflows/simbox/core/skills/mobile_rotate.py | 6 +- .../simbox/core/skills/mobile_translate.py | 6 +- workflows/simbox/core/skills/move.py | 6 +- workflows/simbox/core/skills/open.py | 10 +- workflows/simbox/core/skills/pick.py | 13 +- workflows/simbox/core/skills/place.py | 14 +- .../simbox/core/skills/pour_water_succ.py | 6 +- workflows/simbox/core/skills/rotate.py | 10 +- workflows/simbox/core/skills/rotate_obj.py | 14 +- workflows/simbox/core/skills/scan.py | 14 +- workflows/simbox/core/skills/track.py | 15 +- workflows/simbox/core/skills/wait.py | 6 +- workflows/simbox/core/tasks/banana.py | 16 +- workflows/simbox/core/utils/camera_utils.py | 6 +- .../simbox/core/utils/transformation_utils.py | 2 +- workflows/simbox/core/utils/utils.py | 6 +- workflows/simbox/solver/planner.py | 18 +- .../tools/rigid_obj/asset_usd_converter.py | 2 +- workflows/simbox_dual_workflow.py | 9 +- workflows/utils/utils.py | 2 +- 47 files changed, 546 insertions(+), 249 deletions(-) create mode 100644 migerate/migrate_imports.py create mode 100644 workflows/simbox/core/compat.py diff --git a/migerate/migrate_imports.py b/migerate/migrate_imports.py new file mode 100644 index 0000000..d7a0d99 --- /dev/null +++ b/migerate/migrate_imports.py @@ -0,0 +1,177 @@ +""" +Batch migrate omni.isaac.* imports to use core.compat module. + +Usage: + python migerate/migrate_imports.py --dry-run # preview changes + python migerate/migrate_imports.py # apply changes +""" +import argparse +import os +import re + +# Files to process (relative to project root) +SCAN_DIRS = [ + "workflows/simbox/core/cameras", + "workflows/simbox/core/controllers", + "workflows/simbox/core/objects", + "workflows/simbox/core/robots", + "workflows/simbox/core/skills", + "workflows/simbox/core/tasks", + "workflows/simbox/core/utils", + "workflows/simbox/solver", + "workflows/", # simbox_dual_workflow.py + "nimbus_extension/components/load", +] + +# Skip these files/dirs +SKIP = ["curobo", "__pycache__", "compat.py", "tools/art"] + +# Mapping: old import pattern -> compat import +# Format: (regex_pattern, replacement_imports_from_compat) +IMPORT_MAP = { + # Full module imports + r"from omni\.isaac\.core import World": "from core.compat import World", + r"from omni\.isaac\.core\.controllers import BaseController": "from core.compat import BaseController", + r"from omni\.isaac\.core\.tasks import BaseTask": "from core.compat import BaseTask", + r"from omni\.isaac\.core\.robots\.robot import Robot": "from core.compat import Robot", + r"from omni\.isaac\.core\.robots import Robot": "from core.compat import Robot", + r"from omni\.isaac\.core\.prims import XFormPrim": "from core.compat import XFormPrim", + r"from omni\.isaac\.core\.prims import RigidPrim": "from core.compat import RigidPrim", + r"from omni\.isaac\.core\.prims import GeometryPrim": "from core.compat import GeometryPrim", + r"from omni\.isaac\.core\.prims import RigidContactView": "from core.compat import RigidContactView", + r"from omni\.isaac\.core\.prims import RigidContactView, XFormPrim": "from core.compat import RigidContactView, XFormPrim", + r"from omni\.isaac\.core\.articulations\.articulation import Articulation": "from core.compat import Articulation", + r"from omni\.isaac\.core\.objects\.cylinder import VisualCylinder": "from core.compat import VisualCylinder", + r"from omni\.isaac\.core\.objects import cuboid, sphere": "from core.compat import cuboid, sphere", + r"from omni\.isaac\.core\.objects import cuboid": "from core.compat import cuboid", + r"from omni\.isaac\.core\.objects import sphere": "from core.compat import sphere", + r"from omni\.isaac\.core\.materials import PreviewSurface": "from core.compat import PreviewSurface", + r"from omni\.isaac\.core\.materials import OmniPBR": "from core.compat import OmniPBR", + r"from omni\.isaac\.core\.materials\.omni_pbr import OmniPBR.*": "from core.compat import OmniPBR", + r"from omni\.isaac\.core\.materials import OmniGlass, OmniPBR": "from core.compat import OmniGlass, OmniPBR", + r"from omni\.isaac\.core\.materials import OmniGlass": "from core.compat import OmniGlass", + r"from omni\.isaac\.core\.scenes\.scene import Scene": "from core.compat import Scene", + r"from omni\.isaac\.sensor import Camera": "from core.compat import Camera", + + # Utils + r"from omni\.isaac\.core\.utils\.prims import get_prim_at_path\b(?!,)": "from core.compat import get_prim_at_path", + r"from omni\.isaac\.core\.utils\.prims import create_prim, get_prim_at_path": "from core.compat import create_prim, get_prim_at_path", + r"from omni\.isaac\.core\.utils\.prims import create_prim, is_prim_path_valid": "from core.compat import create_prim, is_prim_path_valid", + r"from omni\.isaac\.core\.utils\.prims import is_prim_path_valid": "from core.compat import is_prim_path_valid", + r"from omni\.isaac\.core\.utils\.prims import create_prim\b": "from core.compat import create_prim", + r"from omni\.isaac\.core\.utils\.transformations import get_relative_transform\b(?!,)": "from core.compat import get_relative_transform", + r"from omni\.isaac\.core\.utils\.transformations import pose_from_tf_matrix": "from core.compat import pose_from_tf_matrix", + r"from omni\.isaac\.core\.utils\.stage import get_current_stage": "from core.compat import get_current_stage", + r"from omni\.isaac\.core\.utils\.stage import add_reference_to_stage": "from core.compat import add_reference_to_stage", + r"from omni\.isaac\.core\.utils\.stage import get_stage_units": "from core.compat import get_stage_units", + r"from omni\.isaac\.core\.utils\.xforms import get_world_pose": "from core.compat import get_world_pose", + r"from omni\.isaac\.core\.utils\.types import ArticulationAction": "from core.compat import ArticulationAction", + r"from omni\.isaac\.core\.utils\.viewports import set_camera_view": "from core.compat import set_camera_view", + r"from omni\.isaac\.core\.utils\.semantics import add_update_semantics": "from core.compat import add_update_semantics", + r"from omni\.isaac\.core\.utils\.string import find_unique_string_name": "from core.compat import find_unique_string_name", + r"from omni\.isaac\.core\.utils\.extensions import enable_extension": "from core.compat import enable_extension", + r"from omni\.isaac\.core\.utils\.nucleus import get_assets_root_path as nucleus_path": "from core.compat import nucleus_path", +} + +# Multi-line import blocks that need special handling +MULTILINE_PATTERNS = [ + # get_relative_transform, pose_from_tf_matrix block + ( + r"from omni\.isaac\.core\.utils\.transformations import \(\s*\n\s*get_relative_transform,\s*\n\s*pose_from_tf_matrix,?\s*\n\s*\)", + "from core.compat import get_relative_transform, pose_from_tf_matrix", + ), + # prims multi-import blocks + ( + r"from omni\.isaac\.core\.utils\.prims import \(\s*\n\s*get_prim_at_path,\s*\n\s*create_prim,\s*\n\s*is_prim_path_valid,?\s*\n\s*\)", + "from core.compat import get_prim_at_path, create_prim, is_prim_path_valid", + ), + ( + r"from omni\.isaac\.core\.utils\.prims import \(\s*\n[^)]+\)", + None, # skip complex blocks, handle manually + ), +] + + +def should_skip(filepath): + for s in SKIP: + if s in filepath: + return True + return False + + +def migrate_file(filepath, dry_run=False): + with open(filepath, "r") as f: + content = f.read() + + original = content + changes = [] + + # Handle multi-line imports first + for pattern, replacement in MULTILINE_PATTERNS: + if replacement is None: + continue + matches = list(re.finditer(pattern, content)) + for m in matches: + changes.append(f" MULTI: {m.group()[:60]}... -> {replacement}") + content = re.sub(pattern, replacement, content) + + # Handle single-line imports + for pattern, replacement in IMPORT_MAP.items(): + matches = list(re.finditer(pattern, content)) + for m in matches: + changes.append(f" {m.group().strip()} -> {replacement}") + content = re.sub(pattern, replacement, content) + + if content != original: + if not dry_run: + with open(filepath, "w") as f: + f.write(content) + return changes + return [] + + +def main(): + parser = argparse.ArgumentParser(description="Migrate omni.isaac imports to core.compat") + parser.add_argument("--dry-run", action="store_true", help="Preview changes without modifying files") + parser.add_argument("--root", default=".", help="Project root directory") + args = parser.parse_args() + + total_files = 0 + total_changes = 0 + + for scan_dir in SCAN_DIRS: + full_dir = os.path.join(args.root, scan_dir) + if not os.path.exists(full_dir): + continue + + if os.path.isfile(full_dir): + files = [full_dir] + else: + files = [] + for root, dirs, filenames in os.walk(full_dir): + for fn in filenames: + if fn.endswith(".py"): + files.append(os.path.join(root, fn)) + + for filepath in sorted(files): + if should_skip(filepath): + continue + + rel = os.path.relpath(filepath, args.root) + changes = migrate_file(filepath, args.dry_run) + if changes: + total_files += 1 + total_changes += len(changes) + print(f"\n{rel}:") + for c in changes: + print(c) + + action = "would change" if args.dry_run else "changed" + print(f"\n{'='*60}") + print(f"Done: {total_changes} imports {action} in {total_files} files.") + if args.dry_run: + print("Run without --dry-run to apply changes.") + + +if __name__ == "__main__": + main() diff --git a/nimbus_extension/components/load/env_loader.py b/nimbus_extension/components/load/env_loader.py index 3531de3..2653826 100644 --- a/nimbus_extension/components/load/env_loader.py +++ b/nimbus_extension/components/load/env_loader.py @@ -75,7 +75,7 @@ class EnvLoader(SceneLoader): ) self.logger.info(f"simulator params: physics dt={physics_dt}, rendering dt={rendering_dt}") - from omni.isaac.core import World + from core.compat import World world = World( physics_dt=physics_dt, diff --git a/workflows/simbox/core/cameras/custom_camera.py b/workflows/simbox/core/cameras/custom_camera.py index 2b139d0..fdf6fdc 100644 --- a/workflows/simbox/core/cameras/custom_camera.py +++ b/workflows/simbox/core/cameras/custom_camera.py @@ -2,13 +2,10 @@ import numpy as np import omni.replicator.core as rep from core.cameras.base_camera import register_camera from core.utils.camera_utils import get_src -from omni.isaac.core.prims import XFormPrim -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, -) -from omni.isaac.sensor import Camera +from core.compat import XFormPrim +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix +from core.compat import Camera @register_camera diff --git a/workflows/simbox/core/compat.py b/workflows/simbox/core/compat.py new file mode 100644 index 0000000..a28b50b --- /dev/null +++ b/workflows/simbox/core/compat.py @@ -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 diff --git a/workflows/simbox/core/controllers/template_controller.py b/workflows/simbox/core/controllers/template_controller.py index a53281b..89ba7a9 100644 --- a/workflows/simbox/core/controllers/template_controller.py +++ b/workflows/simbox/core/controllers/template_controller.py @@ -34,15 +34,12 @@ from curobo.wrap.reacher.motion_gen import ( MotionGenPlanConfig, PoseCostMetric, ) -from omni.isaac.core import World -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, -) -from omni.isaac.core.utils.types import ArticulationAction +from core.compat import World +from core.compat import BaseController +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix +from core.compat import ArticulationAction # pylint: disable=line-too-long,unused-argument diff --git a/workflows/simbox/core/objects/articulated_object.py b/workflows/simbox/core/objects/articulated_object.py index cf010c5..cc6e51c 100644 --- a/workflows/simbox/core/objects/articulated_object.py +++ b/workflows/simbox/core/objects/articulated_object.py @@ -5,11 +5,11 @@ import random import numpy as np from core.objects.base_object import register_object -from omni.isaac.core.articulations.articulation import Articulation -from omni.isaac.core.utils.stage import add_reference_to_stage +from core.compat import Articulation +from core.compat import add_reference_to_stage try: - from omni.isaac.core.materials.omni_pbr import OmniPBR # Isaac Sim 4.1.0 / 4.2.0 + from core.compat import OmniPBR except ImportError: from isaacsim.core.api.materials import OmniPBR # Isaac Sim 4.5.0 diff --git a/workflows/simbox/core/objects/conveyor_object.py b/workflows/simbox/core/objects/conveyor_object.py index f2491e8..c93fb2b 100644 --- a/workflows/simbox/core/objects/conveyor_object.py +++ b/workflows/simbox/core/objects/conveyor_object.py @@ -1,8 +1,8 @@ import os from core.objects.base_object import register_object -from omni.isaac.core.prims import GeometryPrim -from omni.isaac.core.utils.prims import create_prim +from core.compat import GeometryPrim +from core.compat import create_prim from pxr import Gf, UsdPhysics diff --git a/workflows/simbox/core/objects/geometry_object.py b/workflows/simbox/core/objects/geometry_object.py index 294f04a..cda50cb 100644 --- a/workflows/simbox/core/objects/geometry_object.py +++ b/workflows/simbox/core/objects/geometry_object.py @@ -3,15 +3,11 @@ import os import random from core.objects.base_object import register_object -from omni.isaac.core.prims import GeometryPrim -from omni.isaac.core.utils.prims import ( - create_prim, - get_prim_at_path, - is_prim_path_valid, -) +from core.compat import GeometryPrim +from core.compat import create_prim, get_prim_at_path, is_prim_path_valid try: - from omni.isaac.core.materials.omni_pbr import OmniPBR # Isaac Sim 4.1.0 / 4.2.0 + from core.compat import OmniPBR except ImportError: from isaacsim.core.api.materials import OmniPBR # Isaac Sim 4.5.0 diff --git a/workflows/simbox/core/objects/plane_object.py b/workflows/simbox/core/objects/plane_object.py index 1e08745..b60f0b0 100644 --- a/workflows/simbox/core/objects/plane_object.py +++ b/workflows/simbox/core/objects/plane_object.py @@ -3,12 +3,12 @@ import os import random from core.objects.base_object import register_object -from omni.isaac.core.prims import XFormPrim -from omni.isaac.core.utils.prims import is_prim_path_valid -from omni.isaac.core.utils.stage import get_current_stage +from core.compat import XFormPrim +from core.compat import is_prim_path_valid +from core.compat import get_current_stage try: - from omni.isaac.core.materials.omni_pbr import OmniPBR # Isaac Sim 4.1.0 / 4.2.0 + from core.compat import OmniPBR except ImportError: from isaacsim.core.api.materials import OmniPBR # Isaac Sim 4.5.0 diff --git a/workflows/simbox/core/objects/rigid_object.py b/workflows/simbox/core/objects/rigid_object.py index 5e0c162..0dadabf 100644 --- a/workflows/simbox/core/objects/rigid_object.py +++ b/workflows/simbox/core/objects/rigid_object.py @@ -3,11 +3,11 @@ import os import random from core.objects.base_object import register_object -from omni.isaac.core.prims import RigidPrim -from omni.isaac.core.utils.prims import create_prim, get_prim_at_path +from core.compat import RigidPrim +from core.compat import create_prim, get_prim_at_path try: - from omni.isaac.core.materials.omni_pbr import OmniPBR # Isaac Sim 4.1.0 / 4.2.0 + from core.compat import OmniPBR except ImportError: from isaacsim.core.api.materials import OmniPBR # Isaac Sim 4.5.0 diff --git a/workflows/simbox/core/objects/shape_object.py b/workflows/simbox/core/objects/shape_object.py index f5088db..8997a0b 100644 --- a/workflows/simbox/core/objects/shape_object.py +++ b/workflows/simbox/core/objects/shape_object.py @@ -3,10 +3,10 @@ import os import random from core.objects.base_object import register_object -from omni.isaac.core.prims import GeometryPrim +from core.compat import GeometryPrim try: - from omni.isaac.core.materials.omni_pbr import OmniPBR # Isaac Sim 4.1.0 / 4.2.0 + from core.compat import OmniPBR except ImportError: from isaacsim.core.api.materials import OmniPBR # Isaac Sim 4.5.0 diff --git a/workflows/simbox/core/objects/xform_object.py b/workflows/simbox/core/objects/xform_object.py index 5bd82ea..499728a 100644 --- a/workflows/simbox/core/objects/xform_object.py +++ b/workflows/simbox/core/objects/xform_object.py @@ -3,11 +3,11 @@ import os import random from core.objects.base_object import register_object -from omni.isaac.core.prims import XFormPrim -from omni.isaac.core.utils.prims import create_prim, is_prim_path_valid +from core.compat import XFormPrim +from core.compat import create_prim, is_prim_path_valid try: - from omni.isaac.core.materials.omni_pbr import OmniPBR # Isaac Sim 4.1.0 / 4.2.0 + from core.compat import OmniPBR except ImportError: from isaacsim.core.api.materials import OmniPBR # Isaac Sim 4.5.0 diff --git a/workflows/simbox/core/robots/template_robot.py b/workflows/simbox/core/robots/template_robot.py index a226898..44a6752 100644 --- a/workflows/simbox/core/robots/template_robot.py +++ b/workflows/simbox/core/robots/template_robot.py @@ -7,12 +7,9 @@ from copy import deepcopy import numpy as np from core.robots.base_robot import register_robot -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.utils.prims import create_prim, get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - tf_matrix_from_pose, -) +from core.compat import Robot +from core.compat import create_prim, get_prim_at_path +from core.compat import get_relative_transform, tf_matrix_from_pose from scipy.interpolate import interp1d diff --git a/workflows/simbox/core/skills/approach_rotate.py b/workflows/simbox/core/skills/approach_rotate.py index 3dc7ac7..98350b7 100644 --- a/workflows/simbox/core/skills/approach_rotate.py +++ b/workflows/simbox/core/skills/approach_rotate.py @@ -3,15 +3,11 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from core.utils.interpolate_utils import linear_interpolation from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrix_from_pose from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/artpreplan.py b/workflows/simbox/core/skills/artpreplan.py index 128eaaf..b3d037f 100644 --- a/workflows/simbox/core/skills/artpreplan.py +++ b/workflows/simbox/core/skills/artpreplan.py @@ -3,11 +3,11 @@ from copy import deepcopy import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import get_relative_transform +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform from solver.planner import KPAMPlanner diff --git a/workflows/simbox/core/skills/close.py b/workflows/simbox/core/skills/close.py index 4f48868..9c215fb 100644 --- a/workflows/simbox/core/skills/close.py +++ b/workflows/simbox/core/skills/close.py @@ -3,11 +3,11 @@ from copy import deepcopy import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import get_relative_transform +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform from scipy.spatial.transform import Rotation as R from solver.planner import KPAMPlanner diff --git a/workflows/simbox/core/skills/dexpick.py b/workflows/simbox/core/skills/dexpick.py index 16444e2..337a846 100644 --- a/workflows/simbox/core/skills/dexpick.py +++ b/workflows/simbox/core/skills/dexpick.py @@ -4,15 +4,11 @@ from copy import deepcopy import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig, OmegaConf -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrix_from_pose # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/dexplace.py b/workflows/simbox/core/skills/dexplace.py index f6d33e8..63f278b 100644 --- a/workflows/simbox/core/skills/dexplace.py +++ b/workflows/simbox/core/skills/dexplace.py @@ -5,15 +5,11 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from core.utils.usd_geom_utils import compute_bbox from omegaconf import DictConfig, OmegaConf -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrix_from_pose from scipy.spatial.transform import Rotation as R from scipy.spatial.transform import Slerp diff --git a/workflows/simbox/core/skills/dynamicpick.py b/workflows/simbox/core/skills/dynamicpick.py index 3c1c2cb..41c8f0b 100644 --- a/workflows/simbox/core/skills/dynamicpick.py +++ b/workflows/simbox/core/skills/dynamicpick.py @@ -12,14 +12,11 @@ from core.utils.plan_utils import ( ) from core.utils.transformation_utils import poses_from_tf_matrices from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, tf_matrix_from_pose from omni.timeline import get_timeline_interface from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/failpick.py b/workflows/simbox/core/skills/failpick.py index 4eed5cb..c6dac03 100644 --- a/workflows/simbox/core/skills/failpick.py +++ b/workflows/simbox/core/skills/failpick.py @@ -5,15 +5,11 @@ from copy import deepcopy import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrix_from_pose # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/flip.py b/workflows/simbox/core/skills/flip.py index 3b6c00c..a603dd9 100644 --- a/workflows/simbox/core/skills/flip.py +++ b/workflows/simbox/core/skills/flip.py @@ -3,15 +3,11 @@ from copy import deepcopy import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrix_from_pose from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/goto_pose.py b/workflows/simbox/core/skills/goto_pose.py index 4987bbc..24351b9 100644 --- a/workflows/simbox/core/skills/goto_pose.py +++ b/workflows/simbox/core/skills/goto_pose.py @@ -10,14 +10,11 @@ from core.utils.transformation_utils import ( poses_from_tf_matrices, ) from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, tf_matrix_from_pose from scipy.spatial.transform import Rotation as R from scipy.spatial.transform import Slerp diff --git a/workflows/simbox/core/skills/gripper_action.py b/workflows/simbox/core/skills/gripper_action.py index 2126ab5..f8a6dea 100644 --- a/workflows/simbox/core/skills/gripper_action.py +++ b/workflows/simbox/core/skills/gripper_action.py @@ -1,9 +1,9 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/heuristic_skill.py b/workflows/simbox/core/skills/heuristic_skill.py index b3d20fe..5d501f5 100644 --- a/workflows/simbox/core/skills/heuristic_skill.py +++ b/workflows/simbox/core/skills/heuristic_skill.py @@ -1,13 +1,10 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.transformations import ( - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import pose_from_tf_matrix, tf_matrix_from_pose # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/home.py b/workflows/simbox/core/skills/home.py index b35a518..05d5697 100644 --- a/workflows/simbox/core/skills/home.py +++ b/workflows/simbox/core/skills/home.py @@ -1,9 +1,9 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/joint_ctrl.py b/workflows/simbox/core/skills/joint_ctrl.py index a1f71c6..c0beb07 100644 --- a/workflows/simbox/core/skills/joint_ctrl.py +++ b/workflows/simbox/core/skills/joint_ctrl.py @@ -4,9 +4,9 @@ import torch from core.skills.base_skill import BaseSkill, register_skill from core.utils.interpolate_utils import linear_interpolation from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/manualpick.py b/workflows/simbox/core/skills/manualpick.py index 045efd9..b0878dc 100644 --- a/workflows/simbox/core/skills/manualpick.py +++ b/workflows/simbox/core/skills/manualpick.py @@ -12,14 +12,11 @@ from core.utils.plan_utils import ( ) from core.utils.transformation_utils import poses_from_tf_matrices from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, tf_matrix_from_pose @register_skill diff --git a/workflows/simbox/core/skills/mobile_rotate.py b/workflows/simbox/core/skills/mobile_rotate.py index d0e0b6d..d9ebaee 100644 --- a/workflows/simbox/core/skills/mobile_rotate.py +++ b/workflows/simbox/core/skills/mobile_rotate.py @@ -1,9 +1,9 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/mobile_translate.py b/workflows/simbox/core/skills/mobile_translate.py index c485dbc..3603697 100644 --- a/workflows/simbox/core/skills/mobile_translate.py +++ b/workflows/simbox/core/skills/mobile_translate.py @@ -1,9 +1,9 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/move.py b/workflows/simbox/core/skills/move.py index 543a3c2..66379d0 100644 --- a/workflows/simbox/core/skills/move.py +++ b/workflows/simbox/core/skills/move.py @@ -1,9 +1,9 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/open.py b/workflows/simbox/core/skills/open.py index 5b8f9c0..e62a61d 100644 --- a/workflows/simbox/core/skills/open.py +++ b/workflows/simbox/core/skills/open.py @@ -3,11 +3,11 @@ from copy import deepcopy import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import get_relative_transform +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform from scipy.spatial.transform import Rotation as R from solver.planner import KPAMPlanner diff --git a/workflows/simbox/core/skills/pick.py b/workflows/simbox/core/skills/pick.py index b0f4600..3a66afe 100644 --- a/workflows/simbox/core/skills/pick.py +++ b/workflows/simbox/core/skills/pick.py @@ -11,14 +11,11 @@ from core.utils.plan_utils import ( ) from core.utils.transformation_utils import poses_from_tf_matrices from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, tf_matrix_from_pose # pylint: disable=unused-argument diff --git a/workflows/simbox/core/skills/place.py b/workflows/simbox/core/skills/place.py index 9304212..7d0e147 100644 --- a/workflows/simbox/core/skills/place.py +++ b/workflows/simbox/core/skills/place.py @@ -12,15 +12,11 @@ from core.utils.plan_utils import ( from core.utils.transformation_utils import create_pose_matrices, poses_from_tf_matrices from core.utils.usd_geom_utils import compute_bbox from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrix_from_pose from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/pour_water_succ.py b/workflows/simbox/core/skills/pour_water_succ.py index 43fbe46..c01a6b9 100644 --- a/workflows/simbox/core/skills/pour_water_succ.py +++ b/workflows/simbox/core/skills/pour_water_succ.py @@ -7,9 +7,9 @@ from core.utils.transformation_utils import ( perturb_position, ) from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/rotate.py b/workflows/simbox/core/skills/rotate.py index 276dcce..14c99d6 100644 --- a/workflows/simbox/core/skills/rotate.py +++ b/workflows/simbox/core/skills/rotate.py @@ -3,11 +3,11 @@ from copy import deepcopy import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig, OmegaConf -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import get_relative_transform +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform from scipy.spatial.transform import Rotation as R from solver.planner import KPAMPlanner diff --git a/workflows/simbox/core/skills/rotate_obj.py b/workflows/simbox/core/skills/rotate_obj.py index 48fa516..8fead8c 100644 --- a/workflows/simbox/core/skills/rotate_obj.py +++ b/workflows/simbox/core/skills/rotate_obj.py @@ -3,15 +3,11 @@ import torch from core.skills.base_skill import BaseSkill, register_skill from core.utils.interpolate_utils import linear_interpolation from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrix_from_pose from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/scan.py b/workflows/simbox/core/skills/scan.py index 4d1d4e6..2f87bdf 100644 --- a/workflows/simbox/core/skills/scan.py +++ b/workflows/simbox/core/skills/scan.py @@ -1,15 +1,11 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix, tf_matrix_from_pose from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/track.py b/workflows/simbox/core/skills/track.py index 5d8888b..ebf6a86 100644 --- a/workflows/simbox/core/skills/track.py +++ b/workflows/simbox/core/skills/track.py @@ -3,15 +3,12 @@ from core.skills.base_skill import BaseSkill, register_skill from core.utils.transformation_utils import get_orientation, perturb_orientation from core.utils.usd_geom_utils import compute_bbox from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.objects.cylinder import VisualCylinder -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - tf_matrix_from_pose, -) +from core.compat import BaseController +from core.compat import VisualCylinder +from core.compat import Robot +from core.compat import BaseTask +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, tf_matrix_from_pose from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/skills/wait.py b/workflows/simbox/core/skills/wait.py index d5548b3..399c671 100644 --- a/workflows/simbox/core/skills/wait.py +++ b/workflows/simbox/core/skills/wait.py @@ -1,9 +1,9 @@ import numpy as np from core.skills.base_skill import BaseSkill, register_skill from omegaconf import DictConfig -from omni.isaac.core.controllers import BaseController -from omni.isaac.core.robots.robot import Robot -from omni.isaac.core.tasks import BaseTask +from core.compat import BaseController +from core.compat import Robot +from core.compat import BaseTask # pylint: disable=consider-using-generator,too-many-public-methods,unused-argument diff --git a/workflows/simbox/core/tasks/banana.py b/workflows/simbox/core/tasks/banana.py index b8d1030..001f403 100644 --- a/workflows/simbox/core/tasks/banana.py +++ b/workflows/simbox/core/tasks/banana.py @@ -18,16 +18,12 @@ from core.utils.scene_utils import deactivate_selected_prims from core.utils.transformation_utils import get_orientation from core.utils.visual_distractor import set_distractors from omegaconf import DictConfig -from omni.isaac.core.materials import PreviewSurface -from omni.isaac.core.prims import RigidContactView, XFormPrim -from omni.isaac.core.scenes.scene import Scene -from omni.isaac.core.tasks import BaseTask -from omni.isaac.core.utils.prims import ( - delete_prim, - get_prim_at_path, - is_prim_path_valid, -) -from omni.isaac.core.utils.stage import get_current_stage +from core.compat import PreviewSurface +from core.compat import RigidContactView, XFormPrim +from core.compat import Scene +from core.compat import BaseTask +from core.compat import delete_prim, get_prim_at_path, is_prim_path_valid +from core.compat import get_current_stage from omni.physx.scripts import particleUtils from pxr import Gf, PhysxSchema, Sdf, Usd, UsdGeom, UsdLux, UsdShade, Vt from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/utils/camera_utils.py b/workflows/simbox/core/utils/camera_utils.py index b21a244..6e30abb 100644 --- a/workflows/simbox/core/utils/camera_utils.py +++ b/workflows/simbox/core/utils/camera_utils.py @@ -1,7 +1,7 @@ import numpy as np -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import get_relative_transform -from omni.isaac.sensor import Camera +from core.compat import get_prim_at_path +from core.compat import get_relative_transform +from core.compat import Camera def _get_annotator(camera: Camera, annotator_name: str): diff --git a/workflows/simbox/core/utils/transformation_utils.py b/workflows/simbox/core/utils/transformation_utils.py index af65806..e074d22 100644 --- a/workflows/simbox/core/utils/transformation_utils.py +++ b/workflows/simbox/core/utils/transformation_utils.py @@ -1,5 +1,5 @@ import numpy as np -from omni.isaac.core.utils.transformations import pose_from_tf_matrix +from core.compat import pose_from_tf_matrix from scipy.spatial.transform import Rotation as R diff --git a/workflows/simbox/core/utils/utils.py b/workflows/simbox/core/utils/utils.py index c4dab19..1519922 100644 --- a/workflows/simbox/core/utils/utils.py +++ b/workflows/simbox/core/utils/utils.py @@ -18,7 +18,7 @@ logging.getLogger("urllib3").setLevel(logging.WARNING) def set_semantic_label(prim: Prim, label): - from omni.isaac.core.utils.semantics import add_update_semantics + from core.compat import add_update_semantics if prim.GetTypeName() == "Mesh": add_update_semantics(prim, semantic_label=label, type_label="class") @@ -28,7 +28,7 @@ def set_semantic_label(prim: Prim, label): def set_plane_semantic_label(prim: Prim, label): - from omni.isaac.core.utils.semantics import add_update_semantics + from core.compat import add_update_semantics if prim.GetTypeName() == "Plane": add_update_semantics(prim, semantic_label=label, type_label="class") @@ -38,7 +38,7 @@ def set_plane_semantic_label(prim: Prim, label): def set_robot_semantic_label(robot: Prim, parent_name: str): - from omni.isaac.core.utils.semantics import add_update_semantics + from core.compat import add_update_semantics if robot.GetTypeName() == "Mesh": prim_path = str(robot.GetPrimPath()) diff --git a/workflows/simbox/solver/planner.py b/workflows/simbox/solver/planner.py index da23f95..eaf8a69 100644 --- a/workflows/simbox/solver/planner.py +++ b/workflows/simbox/solver/planner.py @@ -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 diff --git a/workflows/simbox/tools/rigid_obj/asset_usd_converter.py b/workflows/simbox/tools/rigid_obj/asset_usd_converter.py index 3d37b47..4ca2ba8 100644 --- a/workflows/simbox/tools/rigid_obj/asset_usd_converter.py +++ b/workflows/simbox/tools/rigid_obj/asset_usd_converter.py @@ -83,7 +83,7 @@ if __name__ == "__main__": kit = SimulationApp() import omni - from omni.isaac.core.utils.extensions import enable_extension + from core.compat import enable_extension enable_extension("omni.kit.asset_converter") diff --git a/workflows/simbox_dual_workflow.py b/workflows/simbox_dual_workflow.py index 42befe3..1b1cbba 100644 --- a/workflows/simbox_dual_workflow.py +++ b/workflows/simbox_dual_workflow.py @@ -10,11 +10,8 @@ from datetime import datetime import numpy as np import yaml -from omni.isaac.core.utils.prims import get_prim_at_path -from omni.isaac.core.utils.transformations import ( - get_relative_transform, - pose_from_tf_matrix, -) +from core.compat import get_prim_at_path +from core.compat import get_relative_transform, pose_from_tf_matrix from omni.physx import acquire_physx_interface from tqdm import tqdm from yaml import Loader @@ -73,7 +70,7 @@ class SimBoxDualWorkFlow(NimbusWorkFlow): def reset(self, need_preload: bool = True): # source code noted this as debug, so it could be removed later - from omni.isaac.core.utils.viewports import set_camera_view + from core.compat import set_camera_view set_camera_view(eye=[1.3, 0.7, 2.7], target=[0.0, 0, 1.5], camera_prim_path="/OmniverseKit_Persp") # Modify config diff --git a/workflows/utils/utils.py b/workflows/utils/utils.py index 523a4b2..54b4741 100644 --- a/workflows/utils/utils.py +++ b/workflows/utils/utils.py @@ -1,4 +1,4 @@ -from omni.isaac.core.utils.prims import get_prim_at_path +from core.compat import get_prim_at_path from pxr import UsdPhysics