diff --git a/.flake8 b/.flake8 deleted file mode 100644 index 9b4a023d685..00000000000 --- a/.flake8 +++ /dev/null @@ -1,23 +0,0 @@ -[flake8] -show-source=True -statistics=True -per-file-ignores=*/__init__.py:F401 -# E402: Module level import not at top of file -# E501: Line too long -# W503: Line break before binary operator -# E203: Whitespace before ':' -> conflicts with black -# D401: First line should be in imperative mood -# R504: Unnecessary variable assignment before return statement. -# R505: Unnecessary elif after return statement -# SIM102: Use a single if-statement instead of nested if-statements -# SIM117: Merge with statements for context managers that have same scope. -# SIM118: Checks for key-existence checks against dict.keys() calls. -ignore=E402,E501,W503,E203,D401,R504,R505,SIM102,SIM117,SIM118 -max-line-length = 120 -max-complexity = 30 -exclude=_*,.vscode,.git,docs/** -# docstrings -docstring-convention=google -# annotations -suppress-none-returning=True -allow-star-arg-any=True diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 21e13b1026e..424727c8990 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,12 +8,14 @@ repos: rev: 24.3.0 hooks: - id: black - args: ["--unstable"] - repo: https://github.com/pycqa/flake8 - rev: 7.0.0 + rev: 7.1.0 hooks: - id: flake8 - additional_dependencies: [flake8-simplify, flake8-return] + additional_dependencies: + - flake8-simplify + - flake8-return + - Flake8-pyproject - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: diff --git a/.vscode/tools/settings.template.json b/.vscode/tools/settings.template.json index fa0f1c82316..f511f3fddb4 100644 --- a/.vscode/tools/settings.template.json +++ b/.vscode/tools/settings.template.json @@ -62,14 +62,10 @@ // This enables python language server. Seems to work slightly better than jedi: "python.languageServer": "Pylance", // We use "black" as a formatter: - "python.formatting.provider": "black", - "python.formatting.blackArgs": ["--line-length", "120"], + "black-formatter.args": ["--line-length", "120", "--unstable"], // Use flake8 for linting - "python.linting.pylintEnabled": false, - "python.linting.flake8Enabled": true, - "python.linting.flake8Args": [ - "--max-line-length=120" - ], + "flake8.enabled": true, + "flake8.args": ["--config", "${workspaceFolder}/pyproject.toml"], // Use docstring generator "autoDocstring.docstringFormat": "google", "autoDocstring.guessTypes": true, diff --git a/docs/conf.py b/docs/conf.py index 70886bd8201..790012e5d86 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -20,14 +20,14 @@ sys.path.insert(0, os.path.abspath("../source/isaaclab")) sys.path.insert(0, os.path.abspath("../source/isaaclab/isaaclab")) +sys.path.insert(0, os.path.abspath("../source/isaaclab_assets")) +sys.path.insert(0, os.path.abspath("../source/isaaclab_assets/isaaclab_assets")) sys.path.insert(0, os.path.abspath("../source/isaaclab_tasks")) sys.path.insert(0, os.path.abspath("../source/isaaclab_tasks/isaaclab_tasks")) sys.path.insert(0, os.path.abspath("../source/isaaclab_rl")) sys.path.insert(0, os.path.abspath("../source/isaaclab_rl/isaaclab_rl")) sys.path.insert(0, os.path.abspath("../source/isaaclab_mimic")) sys.path.insert(0, os.path.abspath("../source/isaaclab_mimic/isaaclab_mimic")) -sys.path.insert(0, os.path.abspath("../source/isaaclab_assets")) -sys.path.insert(0, os.path.abspath("../source/isaaclab_assets/isaaclab_assets")) # -- Project information ----------------------------------------------------- @@ -124,11 +124,11 @@ "python": ("https://docs.python.org/3", None), "numpy": ("https://numpy.org/doc/stable/", None), "trimesh": ("https://trimesh.org/", None), - "torch": ("https://pytorch.org/docs/stable/", None), + "torch": ("https://docs.pytorch.org/docs/stable/", None), "isaacsim": ("https://docs.isaacsim.omniverse.nvidia.com/5.1.0/py/", None), "gymnasium": ("https://gymnasium.farama.org/", None), "warp": ("https://nvidia.github.io/warp/", None), - "dev-guide": ("https://docs.omniverse.nvidia.com/dev-guide/latest", None), + "omniverse": ("https://docs.omniverse.nvidia.com/dev-guide/latest", None), } # Add any paths that contain templates here, relative to this directory. diff --git a/docs/source/api/lab_mimic/isaaclab_mimic.envs.rst b/docs/source/api/lab_mimic/isaaclab_mimic.envs.rst index 7b4146f5b60..ea8dc82d161 100644 --- a/docs/source/api/lab_mimic/isaaclab_mimic.envs.rst +++ b/docs/source/api/lab_mimic/isaaclab_mimic.envs.rst @@ -7,20 +7,138 @@ .. autosummary:: - FrankaCubeStackIKRelMimicEnv - FrankaCubeStackIKRelMimicEnvCfg + isaaclab_mimic.envs.franka_stack_ik_rel_mimic_env.FrankaCubeStackIKRelMimicEnv + isaaclab_mimic.envs.franka_stack_ik_rel_mimic_env_cfg.FrankaCubeStackIKRelMimicEnvCfg + isaaclab_mimic.envs.franka_stack_ik_abs_mimic_env.FrankaCubeStackIKAbsMimicEnv + isaaclab_mimic.envs.franka_stack_ik_abs_mimic_env_cfg.FrankaCubeStackIKAbsMimicEnvCfg + isaaclab_mimic.envs.galbot_stack_rmp_rel_mimic_env.RmpFlowGalbotCubeStackRelMimicEnv + isaaclab_mimic.envs.galbot_stack_rmp_rel_mimic_env_cfg.RmpFlowGalbotLeftArmGripperCubeStackRelMimicEnvCfg + isaaclab_mimic.envs.galbot_stack_rmp_rel_mimic_env_cfg.RmpFlowGalbotRightArmSuctionCubeStackRelMimicEnvCfg + isaaclab_mimic.envs.galbot_stack_rmp_abs_mimic_env.RmpFlowGalbotCubeStackAbsMimicEnv + isaaclab_mimic.envs.galbot_stack_rmp_abs_mimic_env_cfg.RmpFlowGalbotLeftArmGripperCubeStackAbsMimicEnvCfg + isaaclab_mimic.envs.galbot_stack_rmp_abs_mimic_env_cfg.RmpFlowGalbotRightArmSuctionCubeStackAbsMimicEnvCfg + isaaclab_mimic.envs.pick_place_mimic_env.PickPlaceRelMimicEnv + isaaclab_mimic.envs.pick_place_mimic_env.PickPlaceAbsMimicEnv + isaaclab_mimic.envs.agibot_place_upright_mug_mimic_env_cfg.RmpFlowAgibotPlaceUprightMugMimicEnvCfg + isaaclab_mimic.envs.agibot_place_toy2box_mimic_env_cfg.RmpFlowAgibotPlaceToy2BoxMimicEnvCfg + +Franka Environments +------------------- Franka Cube Stack IK Rel Mimic Env ----------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: FrankaCubeStackIKRelMimicEnv +.. autoclass:: isaaclab_mimic.envs.franka_stack_ik_rel_mimic_env.FrankaCubeStackIKRelMimicEnv :members: :inherited-members: + :show-inheritance: Franka Cube Stack IK Rel Mimic Env Cfg --------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.franka_stack_ik_rel_mimic_env_cfg.FrankaCubeStackIKRelMimicEnvCfg + :members: + :inherited-members: + :show-inheritance: + +Franka Cube Stack IK Abs Mimic Env +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.franka_stack_ik_abs_mimic_env.FrankaCubeStackIKAbsMimicEnv + :members: + :inherited-members: + :show-inheritance: + +Franka Cube Stack IK Abs Mimic Env Cfg +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.franka_stack_ik_abs_mimic_env_cfg.FrankaCubeStackIKAbsMimicEnvCfg + :members: + :inherited-members: + :show-inheritance: + +Galbot Environments +------------------- + +Galbot Cube Stack Rel Mimic Env (RmpFlow) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.galbot_stack_rmp_rel_mimic_env.RmpFlowGalbotCubeStackRelMimicEnv + :members: + :inherited-members: + :show-inheritance: + +Galbot Left Arm Gripper Cube Stack Rel Mimic Env Cfg +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.galbot_stack_rmp_rel_mimic_env_cfg.RmpFlowGalbotLeftArmGripperCubeStackRelMimicEnvCfg + :members: + :inherited-members: + :show-inheritance: + +Galbot Right Arm Suction Cube Stack Rel Mimic Env Cfg +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.galbot_stack_rmp_rel_mimic_env_cfg.RmpFlowGalbotRightArmSuctionCubeStackRelMimicEnvCfg + :members: + :inherited-members: + :show-inheritance: + +Galbot Cube Stack Abs Mimic Env (RmpFlow) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.galbot_stack_rmp_abs_mimic_env.RmpFlowGalbotCubeStackAbsMimicEnv + :members: + :inherited-members: + :show-inheritance: + +Galbot Left Arm Gripper Cube Stack Abs Mimic Env Cfg +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.galbot_stack_rmp_abs_mimic_env_cfg.RmpFlowGalbotLeftArmGripperCubeStackAbsMimicEnvCfg + :members: + :inherited-members: + :show-inheritance: + +Galbot Right Arm Suction Cube Stack Abs Mimic Env Cfg +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.galbot_stack_rmp_abs_mimic_env_cfg.RmpFlowGalbotRightArmSuctionCubeStackAbsMimicEnvCfg + :members: + :inherited-members: + :show-inheritance: + +Agibot Environments +------------------- + +Pick Place Rel Mimic Env +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.pick_place_mimic_env.PickPlaceRelMimicEnv + :members: + :inherited-members: + :show-inheritance: + +Pick Place Abs Mimic Env +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.pick_place_mimic_env.PickPlaceAbsMimicEnv + :members: + :inherited-members: + :show-inheritance: + +Agibot Place Upright Mug Mimic Env Cfg +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: isaaclab_mimic.envs.agibot_place_upright_mug_mimic_env_cfg.RmpFlowAgibotPlaceUprightMugMimicEnvCfg + :members: + :inherited-members: + :show-inheritance: + +Agibot Place Toy2Box Mimic Env Cfg +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. autoclass:: FrankaCubeStackIKRelMimicEnvCfg +.. autoclass:: isaaclab_mimic.envs.agibot_place_toy2box_mimic_env_cfg.RmpFlowAgibotPlaceToy2BoxMimicEnvCfg :members: :inherited-members: :show-inheritance: diff --git a/docs/source/overview/developer-guide/vs_code.rst b/docs/source/overview/developer-guide/vs_code.rst index 1b7190c341b..5464e1e7a64 100644 --- a/docs/source/overview/developer-guide/vs_code.rst +++ b/docs/source/overview/developer-guide/vs_code.rst @@ -75,3 +75,20 @@ and selecting ``Python: Select Interpreter``. For more information on how to set python interpreter for VSCode, please refer to the `VSCode documentation `_. + + +Setting up formatting and linting +--------------------------------- + +We use `black `_ as a formatter and `flake8 `_ as a linter. These are configured in the ``.vscode/settings.json`` file: + +.. code-block:: json + + { + "black-formatter.args": ["--line-length", "120", "--unstable"], + "flake8.enabled": true, + "flake8.args": ["--config", "${workspaceFolder}/pyproject.toml"], + } + +The black formatter will automatically format your code to match the project's style guide (120 character line length). +The flake8 linter will show warnings and errors in your code to help you follow Python best practices and the project's coding standards. diff --git a/pyproject.toml b/pyproject.toml index abbc10aac3f..681067dec4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,6 +7,46 @@ line-length = 120 target-version = ["py311"] preview = true +unstable = true + +[tool.flake8] +show-source = true +statistics = true + +per-file-ignores = [ + "*/__init__.py:F401", +] + +ignore = [ + "E402", # Module level import not at top of file + "E501", # Line too long + "F403", # Unable to detect undefined names + "W503", # Line break before binary operator + "E203", # Whitespace before ':' (Black conflict) + "D401", # First line should be in imperative mood + "R504", # Unnecessary variable assignment before return + "R505", # Unnecessary elif after return statement + "SIM102", # Use a single if-statement instead of nested if-statements + "SIM117", # Merge with statements for context managers that have same scope. + "SIM118", # Checks for key-existence checks against dict.keys() calls. +] + +max-line-length = 120 +max-complexity = 30 + +exclude = [ + "_**", + ".vscode", + ".git", + "docs/**", +] + +# docstrings +docstring-convention = "google" + +# annotations +suppress-none-returning = true +allow-star-arg-any = true [tool.isort] diff --git a/source/isaaclab/isaaclab/controllers/config/rmp_flow.py b/source/isaaclab/isaaclab/controllers/config/rmp_flow.py index 347c5e13edc..55c6d8e1fba 100644 --- a/source/isaaclab/isaaclab/controllers/config/rmp_flow.py +++ b/source/isaaclab/isaaclab/controllers/config/rmp_flow.py @@ -10,12 +10,18 @@ from isaaclab.controllers.rmp_flow import RmpFlowControllerCfg from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +# Directory on Nucleus Server for RMP-Flow assets (URDFs, collision models, etc.) ISAACLAB_NUCLEUS_RMPFLOW_DIR = os.path.join(ISAACLAB_NUCLEUS_DIR, "Controllers", "RmpFlowAssets") # Note: RMP-Flow config files for supported robots are stored in the motion_generation extension -_RMP_CONFIG_DIR = os.path.join( - get_extension_path_from_name("isaacsim.robot_motion.motion_generation"), "motion_policy_configs" -) +# We need to move it here for doc building purposes. +try: + _RMP_CONFIG_DIR = os.path.join( + get_extension_path_from_name("isaacsim.robot_motion.motion_generation"), + "motion_policy_configs", + ) +except Exception: + _RMP_CONFIG_DIR = "" # Path to current directory _CUR_DIR = os.path.dirname(os.path.realpath(__file__)) diff --git a/source/isaaclab_mimic/isaaclab_mimic/envs/__init__.py b/source/isaaclab_mimic/isaaclab_mimic/envs/__init__.py index 130d406cb49..f3a2705a68b 100644 --- a/source/isaaclab_mimic/isaaclab_mimic/envs/__init__.py +++ b/source/isaaclab_mimic/isaaclab_mimic/envs/__init__.py @@ -7,63 +7,55 @@ import gymnasium as gym -from .franka_bin_stack_ik_rel_mimic_env_cfg import FrankaBinStackIKRelMimicEnvCfg -from .franka_stack_ik_abs_mimic_env import FrankaCubeStackIKAbsMimicEnv -from .franka_stack_ik_abs_mimic_env_cfg import FrankaCubeStackIKAbsMimicEnvCfg -from .franka_stack_ik_rel_blueprint_mimic_env_cfg import FrankaCubeStackIKRelBlueprintMimicEnvCfg -from .franka_stack_ik_rel_mimic_env import FrankaCubeStackIKRelMimicEnv -from .franka_stack_ik_rel_mimic_env_cfg import FrankaCubeStackIKRelMimicEnvCfg -from .franka_stack_ik_rel_skillgen_env_cfg import FrankaCubeStackIKRelSkillgenEnvCfg -from .franka_stack_ik_rel_visuomotor_cosmos_mimic_env_cfg import FrankaCubeStackIKRelVisuomotorCosmosMimicEnvCfg -from .franka_stack_ik_rel_visuomotor_mimic_env_cfg import FrankaCubeStackIKRelVisuomotorMimicEnvCfg - ## # Inverse Kinematics - Relative Pose Control ## gym.register( id="Isaac-Stack-Cube-Franka-IK-Rel-Mimic-v0", - entry_point="isaaclab_mimic.envs:FrankaCubeStackIKRelMimicEnv", + entry_point=f"{__name__}.franka_stack_ik_rel_mimic_env:FrankaCubeStackIKRelMimicEnv", kwargs={ - "env_cfg_entry_point": franka_stack_ik_rel_mimic_env_cfg.FrankaCubeStackIKRelMimicEnvCfg, + "env_cfg_entry_point": f"{__name__}.franka_stack_ik_rel_mimic_env_cfg:FrankaCubeStackIKRelMimicEnvCfg", }, disable_env_checker=True, ) gym.register( id="Isaac-Stack-Cube-Franka-IK-Rel-Blueprint-Mimic-v0", - entry_point="isaaclab_mimic.envs:FrankaCubeStackIKRelMimicEnv", + entry_point=f"{__name__}.franka_stack_ik_rel_mimic_env:FrankaCubeStackIKRelMimicEnv", kwargs={ - "env_cfg_entry_point": franka_stack_ik_rel_blueprint_mimic_env_cfg.FrankaCubeStackIKRelBlueprintMimicEnvCfg, + "env_cfg_entry_point": ( + f"{__name__}.franka_stack_ik_rel_blueprint_mimic_env_cfg:FrankaCubeStackIKRelBlueprintMimicEnvCfg" + ), }, disable_env_checker=True, ) gym.register( id="Isaac-Stack-Cube-Franka-IK-Abs-Mimic-v0", - entry_point="isaaclab_mimic.envs:FrankaCubeStackIKAbsMimicEnv", + entry_point=f"{__name__}.franka_stack_ik_abs_mimic_env:FrankaCubeStackIKAbsMimicEnv", kwargs={ - "env_cfg_entry_point": franka_stack_ik_abs_mimic_env_cfg.FrankaCubeStackIKAbsMimicEnvCfg, + "env_cfg_entry_point": f"{__name__}.franka_stack_ik_abs_mimic_env_cfg:FrankaCubeStackIKAbsMimicEnvCfg", }, disable_env_checker=True, ) gym.register( id="Isaac-Stack-Cube-Franka-IK-Rel-Visuomotor-Mimic-v0", - entry_point="isaaclab_mimic.envs:FrankaCubeStackIKRelMimicEnv", + entry_point=f"{__name__}.franka_stack_ik_rel_mimic_env:FrankaCubeStackIKRelMimicEnv", kwargs={ - "env_cfg_entry_point": franka_stack_ik_rel_visuomotor_mimic_env_cfg.FrankaCubeStackIKRelVisuomotorMimicEnvCfg, + "env_cfg_entry_point": ( + f"{__name__}.franka_stack_ik_rel_visuomotor_mimic_env_cfg:FrankaCubeStackIKRelVisuomotorMimicEnvCfg" + ), }, disable_env_checker=True, ) gym.register( id="Isaac-Stack-Cube-Franka-IK-Rel-Visuomotor-Cosmos-Mimic-v0", - entry_point="isaaclab_mimic.envs:FrankaCubeStackIKRelMimicEnv", + entry_point=f"{__name__}.franka_stack_ik_rel_mimic_env:FrankaCubeStackIKRelMimicEnv", kwargs={ - "env_cfg_entry_point": ( - franka_stack_ik_rel_visuomotor_cosmos_mimic_env_cfg.FrankaCubeStackIKRelVisuomotorCosmosMimicEnvCfg - ), + "env_cfg_entry_point": f"{__name__}.franka_stack_ik_rel_visuomotor_cosmos_mimic_env_cfg:FrankaCubeStackIKRelVisuomotorCosmosMimicEnvCfg", }, disable_env_checker=True, ) @@ -75,18 +67,18 @@ gym.register( id="Isaac-Stack-Cube-Franka-IK-Rel-Skillgen-v0", - entry_point="isaaclab_mimic.envs:FrankaCubeStackIKRelMimicEnv", + entry_point=f"{__name__}.franka_stack_ik_rel_mimic_env:FrankaCubeStackIKRelMimicEnv", kwargs={ - "env_cfg_entry_point": franka_stack_ik_rel_skillgen_env_cfg.FrankaCubeStackIKRelSkillgenEnvCfg, + "env_cfg_entry_point": f"{__name__}.franka_stack_ik_rel_skillgen_env_cfg:FrankaCubeStackIKRelSkillgenEnvCfg", }, disable_env_checker=True, ) gym.register( id="Isaac-Stack-Cube-Bin-Franka-IK-Rel-Mimic-v0", - entry_point="isaaclab_mimic.envs:FrankaCubeStackIKRelMimicEnv", + entry_point=f"{__name__}.franka_stack_ik_rel_mimic_env:FrankaCubeStackIKRelMimicEnv", kwargs={ - "env_cfg_entry_point": franka_bin_stack_ik_rel_mimic_env_cfg.FrankaBinStackIKRelMimicEnvCfg, + "env_cfg_entry_point": f"{__name__}.franka_bin_stack_ik_rel_mimic_env_cfg:FrankaBinStackIKRelMimicEnvCfg", }, disable_env_checker=True, ) diff --git a/source/isaaclab_mimic/isaaclab_mimic/envs/pinocchio_envs/__init__.py b/source/isaaclab_mimic/isaaclab_mimic/envs/pinocchio_envs/__init__.py index e03dc1dfe79..e7fe847c42e 100644 --- a/source/isaaclab_mimic/isaaclab_mimic/envs/pinocchio_envs/__init__.py +++ b/source/isaaclab_mimic/isaaclab_mimic/envs/pinocchio_envs/__init__.py @@ -7,49 +7,43 @@ import gymnasium as gym -from .exhaustpipe_gr1t2_mimic_env_cfg import ExhaustPipeGR1T2MimicEnvCfg -from .locomanipulation_g1_mimic_env import LocomanipulationG1MimicEnv -from .locomanipulation_g1_mimic_env_cfg import LocomanipulationG1MimicEnvCfg -from .nutpour_gr1t2_mimic_env_cfg import NutPourGR1T2MimicEnvCfg -from .pickplace_gr1t2_mimic_env import PickPlaceGR1T2MimicEnv -from .pickplace_gr1t2_mimic_env_cfg import PickPlaceGR1T2MimicEnvCfg -from .pickplace_gr1t2_waist_enabled_mimic_env_cfg import PickPlaceGR1T2WaistEnabledMimicEnvCfg - gym.register( id="Isaac-PickPlace-GR1T2-Abs-Mimic-v0", - entry_point="isaaclab_mimic.envs.pinocchio_envs:PickPlaceGR1T2MimicEnv", + entry_point=f"{__name__}.pickplace_gr1t2_mimic_env:PickPlaceGR1T2MimicEnv", kwargs={ - "env_cfg_entry_point": pickplace_gr1t2_mimic_env_cfg.PickPlaceGR1T2MimicEnvCfg, + "env_cfg_entry_point": f"{__name__}.pickplace_gr1t2_mimic_env_cfg:PickPlaceGR1T2MimicEnvCfg", }, disable_env_checker=True, ) gym.register( id="Isaac-PickPlace-GR1T2-WaistEnabled-Abs-Mimic-v0", - entry_point="isaaclab_mimic.envs.pinocchio_envs:PickPlaceGR1T2MimicEnv", + entry_point=f"{__name__}.pickplace_gr1t2_mimic_env:PickPlaceGR1T2MimicEnv", kwargs={ - "env_cfg_entry_point": pickplace_gr1t2_waist_enabled_mimic_env_cfg.PickPlaceGR1T2WaistEnabledMimicEnvCfg, + "env_cfg_entry_point": ( + f"{__name__}.pickplace_gr1t2_waist_enabled_mimic_env_cfg:PickPlaceGR1T2WaistEnabledMimicEnvCfg" + ), }, disable_env_checker=True, ) gym.register( id="Isaac-NutPour-GR1T2-Pink-IK-Abs-Mimic-v0", - entry_point="isaaclab_mimic.envs.pinocchio_envs:PickPlaceGR1T2MimicEnv", - kwargs={"env_cfg_entry_point": nutpour_gr1t2_mimic_env_cfg.NutPourGR1T2MimicEnvCfg}, + entry_point=f"{__name__}.pickplace_gr1t2_mimic_env:PickPlaceGR1T2MimicEnv", + kwargs={"env_cfg_entry_point": f"{__name__}.nutpour_gr1t2_mimic_env_cfg:NutPourGR1T2MimicEnvCfg"}, disable_env_checker=True, ) gym.register( id="Isaac-ExhaustPipe-GR1T2-Pink-IK-Abs-Mimic-v0", - entry_point="isaaclab_mimic.envs.pinocchio_envs:PickPlaceGR1T2MimicEnv", - kwargs={"env_cfg_entry_point": exhaustpipe_gr1t2_mimic_env_cfg.ExhaustPipeGR1T2MimicEnvCfg}, + entry_point=f"{__name__}.pickplace_gr1t2_mimic_env:PickPlaceGR1T2MimicEnv", + kwargs={"env_cfg_entry_point": f"{__name__}.exhaustpipe_gr1t2_mimic_env_cfg:ExhaustPipeGR1T2MimicEnvCfg"}, disable_env_checker=True, ) gym.register( id="Isaac-Locomanipulation-G1-Abs-Mimic-v0", - entry_point="isaaclab_mimic.envs.pinocchio_envs:LocomanipulationG1MimicEnv", - kwargs={"env_cfg_entry_point": locomanipulation_g1_mimic_env_cfg.LocomanipulationG1MimicEnvCfg}, + entry_point=f"{__name__}.locomanipulation_g1_mimic_env:LocomanipulationG1MimicEnv", + kwargs={"env_cfg_entry_point": f"{__name__}.locomanipulation_g1_mimic_env_cfg:LocomanipulationG1MimicEnvCfg"}, disable_env_checker=True, ) diff --git a/source/isaaclab_tasks/isaaclab_tasks/direct/shadow_hand/__init__.py b/source/isaaclab_tasks/isaaclab_tasks/direct/shadow_hand/__init__.py index a34ea685676..4d2f0f3eee5 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/direct/shadow_hand/__init__.py +++ b/source/isaaclab_tasks/isaaclab_tasks/direct/shadow_hand/__init__.py @@ -51,7 +51,9 @@ }, ) -### Vision +# ------- +# Vision +# ------- gym.register( id="Isaac-Repose-Cube-Shadow-Vision-Direct-v0",