Skip to content

Latest commit

 

History

History
100 lines (68 loc) · 4.99 KB

README.md

File metadata and controls

100 lines (68 loc) · 4.99 KB

Isaac Lab Extension for Mobility Embodiment Specialist using Residual RL

Overview

This directory contains Isaac Lab extension for mobility embodiment specialist with residual RL.

Installation

  1. First, install Isaac Lab v1.3.0 and Isaac Sim 4.2 by following the Isaac Lab installation guide.

    The repo has been tested in Isaac Lab v1.3.0, so follow the steps below to set the correct version:

    # Clone the Isaac Lab repository
    git clone [email protected]:isaac-sim/IsaacLab.git
    
    # Switch to the correct version
    cd IsaacLab
    git fetch origin
    git checkout v1.3.0
    
    # Install Isaac Lab
    ./isaaclab.sh --install

    NOTE: There might be error messages about RSL_RL not found during installation, we can safely ignore it as a custimized RSL_RL libary is used for residual RL training.

  2. Install the mobility_es extension in this directory after Isaac Lab and Sim are installed:

    # Set Isaac Lab path
    export ISAACLAB_PATH=</path/to/IsaacLab>
    
    # Install the extension
    ${ISAACLAB_PATH}/isaaclab.sh -p -m pip install -e exts/mobility_es

Usage

Running the Environment

${ISAACLAB_PATH}/isaaclab.sh -p scripts/play.py --enable_cameras

Adding New Embodiments

To add a new robot embodiment, follow these steps:

  1. Create Robot Configuration:

  2. Create Environment Configuration:

    Component Description
    scene.robot Set robot articulation configuration
    scene.camera Configure camera settings
    actions Define action item for the embodiment
    observations Configure RL observations
    events Configure RL events
    rewards Configure RL rewards
    terminations Configure RL terminations

    NOTE: Each embodiment should define its own action term as a low-level controller that maps velocity commands to joint positions. We have pre-defined action terms for different robot embodiments in exts/mobility_es/mobility_es/mdp/action that can be re-configured for new embodiments.

  3. Register and Verify Environment:

    • Import your new environment in the play.py script scripts/play.py
    • Verify the environment is functional by running the play.py script with the new environment
  4. Examples of Existing Embodiments:

Adding New Scenes

To add a new scene, follow these steps:

  1. Create Scene Configuration:

  2. Add Occupancy Map [Optional]:

    • We use occupancy map for collision-free pose sampling, while optional, we recommend adding the occupancy map for the new scene to improve sampling efficiency.
    • For occupancy map generation, follow this insturction to create the occupancy map with the new scene USD file in Isaac Sim. Make sure to rotate the occupancy map properly to match the scene orientation and set the origin as the top-left of the image in the occupancy_map.yaml file.

    Occupancy Map Example

  3. Register and Verify Scene:

    • Import your new scene in the play.py script scripts/play.py
    • Verify the scene is functional by running the play.py script with the new scene by setting env_cfg.scene.environment = MyNewSceneCfg()