Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ Guidelines for modifications:
* Ji Yuan Feng
* Jia Lin Yuan
* Jiakai Zhang
* Jichuan Hu
* Jinghuan Shang
* Jingzhou Liu
* Jinqi Wei
Expand Down
3 changes: 3 additions & 0 deletions scripts/reinforcement_learning/rsl_rl/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"""Script to train RL agent with RSL-RL."""

import argparse
import contextlib
import importlib.metadata as metadata
import logging
import os
Expand Down Expand Up @@ -34,6 +35,8 @@
logger = logging.getLogger(__name__)

# PLACEHOLDER: Extension template (do not remove this comment)
with contextlib.suppress(ImportError):
import isaaclab_tasks_experimental # noqa: F401

RSL_RL_VERSION = "3.0.1"

Expand Down
39 changes: 39 additions & 0 deletions source/isaaclab_experimental/config/extension.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[package]

# Note: Semantic Versioning is used: https://semver.org/
version = "0.0.1"

# Description
title = "Experimental playground for upcoming IsaacLab features"
description="Provides early access to future features that are not yet `production-ready`."
readme = "docs/README.md"
repository = "https://github.com/isaac-sim/IsaacLab"
category = "robotics"
keywords = ["kit", "robotics", "learning", "ai"]

[python.pipapi]
requirements = [
"numpy",
"prettytable==3.3.0",
"toml",
"hidapi",
"gymnasium==0.29.0",
"trimesh"
]

modules = [
"numpy",
"prettytable",
"toml",
"hid",
"gymnasium",
"trimesh"
]

use_online_index=true

[core]
reloadable = false

[[python.module]]
name = "isaaclab_experimental"
20 changes: 20 additions & 0 deletions source/isaaclab_experimental/isaaclab_experimental/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

"""Package containing the core framework."""

import os
import toml
from enum import IntEnum

# Conveniences to other module directories via relative paths
ISAACLAB_EXPERIMENTAL_EXT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../"))
"""Path to the extension source directory."""

ISAACLAB_EXPERIMENTAL_METADATA = toml.load(os.path.join(ISAACLAB_EXPERIMENTAL_EXT_DIR, "config", "extension.toml"))
"""Extension metadata dictionary parsed from the extension.toml file."""

# Configure the module-level variables
__version__ = ISAACLAB_EXPERIMENTAL_METADATA["package"]["version"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

"""Sub-package for environment definitions.

Environments define the interface between the agent and the simulation.
In the simplest case, the environment provides the agent with the current
observations and executes the actions provided by the agent. However, the
environment can also provide additional information such as the current
reward, done flag, and information about the current episode.

There are two types of environment designing workflows:

* **Manager-based**: The environment is decomposed into individual components (or managers)
for different aspects (such as computing observations, applying actions, and applying
randomization. The users mainly configure the managers and the environment coordinates the
managers and calls their functions.
* **Direct**: The user implements all the necessary functionality directly into a single class
directly without the need for additional managers.

Based on these workflows, there are the following environment classes for single and multi-agent RL:

**Single-Agent RL:**

* :class:`ManagerBasedEnv`: The manager-based workflow base environment which only provides the
agent with the current observations and executes the actions provided by the agent.
* :class:`ManagerBasedRLEnv`: The manager-based workflow RL task environment which besides the
functionality of the base environment also provides additional Markov Decision Process (MDP)
related information such as the current reward, done flag, and information.
* :class:`DirectRLEnv`: The direct workflow RL task environment which provides implementations for
implementing scene setup, computing dones, performing resets, and computing reward and observation.

**Multi-Agent RL (MARL):**

* :class:`DirectMARLEnv`: The direct workflow MARL task environment which provides implementations for
implementing scene setup, computing dones, performing resets, and computing reward and observation.

For more information about the workflow design patterns, see the `Task Design Workflows`_ section.

.. _`Task Design Workflows`: https://isaac-sim.github.io/IsaacLab/source/features/task_workflows.html
"""

from .direct_rl_env_warp import DirectRLEnvWarp # noqa: F401
from .interactive_scene_warp import InteractiveSceneWarp # noqa: F401

__all__ = [
"DirectRLEnvWarp",
"InteractiveSceneWarp",
]
Loading