# InstinctLab **Repository Path**: beichenlee/InstinctLab ## Basic Information - **Project Name**: InstinctLab - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Project Instinct [![IsaacSim](https://img.shields.io/badge/IsaacSim-5.1.0-silver.svg)](https://docs.omniverse.nvidia.com/isaacsim/latest/overview.html) [![Isaac Lab](https://img.shields.io/badge/IsaacLab-2.3.2-silver)](https://isaac-sim.github.io/IsaacLab) [![Python](https://img.shields.io/badge/python-3.11-blue.svg)](https://docs.python.org/3/whatsnew/3.11.html) [![Linux platform](https://img.shields.io/badge/platform-linux--64-orange.svg)](https://releases.ubuntu.com/20.04/) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://pre-commit.com/) [![License](https://img.shields.io/badge/license-CC%20BY--NC%204.0-blue.svg)](https://creativecommons.org/licenses/by-nc/4.0/) ## Overview This repository is the environment side of [Project-Instinct](https://project-instinct.github.io/). We aim at industralize Reinforcement Learning for Humanoid (legged robots) whole-body control. **Key Features:** - `Isolation` Work outside the core Isaac Lab repository, ensuring that your development efforts remain self-contained. - `Flexibility` This template is set up to allow your code to be run as an extension in Omniverse. - `Unified Ecosystem` This repository is a part of the Project-Instinct ecosystem, which includes the [instinct_rl](https://github.com/project-instinct/instinct_rl) and [instinct_onboard](https://github.com/project-instinct/instinct_onboard) repositories. - The core design of this ecosystem is to treat each experiment as a standalone structured folder, which start with a timestamp as a unique identifier. - Adding `--exportonnx` flag to the `play.py` script will export the policy as an ONNX model. After that, you should directly copy the logdir to the robot computer and use the `instinct_onboard` workflow to run the policy on the real robot. **Keywords:** extension, template, isaaclab ## Warning This codebase is under [CC BY-NC 4.0 license](LICENSE), with inherited license in IsaacLab. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products or wrap the code for your own commercial purposes. ## Contributing See our [Contributor Agreement](CONTRIBUTOR_AGREEMENT.md) for contribution guidelines. By contributing or submitting a pull request, you agree to transfer copyright ownership of your contributions to the project maintainers. See [CONTRIBUTORS.md](CONTRIBUTORS.md) for a list of acknowledged contributors. ## Installation - Install Isaac Lab by following the [installation guide](https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/index.html) and **Switch to 5.1.0 version**. We recommend using the conda installation as it simplifies calling Python scripts from the terminal. At the time of release, the IsaacLab commit we are using is `37ddf626871758333d6ed89cf64ad702aef127d0` on Jan 30 2026. - Install Instinct-RL by following the [installation guide](https://github.com/project-instinct/instinct_rl/blob/main/README.md). TL; DR; ```bash git clone https://github.com/project-instinct/instinct_rl.git python -m pip install -e instinct_rl ``` - Clone this repository separately from the Isaac Lab installation (i.e. outside the `IsaacLab` directory): ```bash # Option 1: HTTPS git clone https://github.com/project-instinct/instinctlab.git # Option 2: SSH git clone git@github.com:project-instinct/instinctlab.git ``` - Using a python interpreter that has Isaac Lab installed, install the library ```bash python -m pip install -e source/instinctlab ``` - To run with `instinct-rl`, you can use the following command after installing [instinct-rl](https://github.com/project-instinct/instinct_rl): ```bash python scripts/instinct_rl/train.py --task=Instinct-Shadowing-WholeBody-Plane-G1-Play-v0 --headless ``` ## Documentation of Critical Components - [Instinct-RL Documentation](https://github.com/project-instinct/instinct_rl/blob/main/README.md) - [InstinctLab Documentation](https://github.com/project-instinct/instinctlab/blob/main/DOCS.md) ### Set up IDE (Optional) To setup the IDE, please follow these instructions: - Run VSCode Tasks, by pressing `Ctrl+Shift+P`, selecting `Tasks: Run Task` and running the `setup_python_env` in the drop down menu. When running this task, you will be prompted to add the absolute path to your Isaac Sim installation. If everything executes correctly, it should create a file .python.env in the `.vscode` directory. The file contains the python paths to all the extensions provided by Isaac Sim and Omniverse. This helps in indexing all the python modules for intelligent suggestions while writing code. ## Code formatting We have a pre-commit template to automatically format your code. To install pre-commit: ```bash pip install pre-commit ``` Then you can run pre-commit with: ```bash pre-commit run --all-files ``` To make the `pre-commit` run automatically on every commit, you can use the following command in your repository: ```bash pre-commit install ``` ## Train your own projects ***To preserve your code development and progress. PLEASE create your own repository as an individual project by referring to https://isaac-sim.github.io/IsaacLab/main/source/overview/own-project/index.html*** And copy `scripts/instinct_rl` to your own repository. ### Or you are just to stubborn and want to fork and directly modify the code in this repo. - Please create a new folder in the `source/instinctlab/instinctlab/tasks` directory. The name of the folder should be your project name. Inside the folder, DO add `__init__.py` in each level of the subfolders. (Many people tend to forget this step and could not find the supposely registered tasks.) - We inherit the manager based RL env from IsaacLab to add new features. DO use `instinctlab.envs:InstinctRlEnv` as the entry_point in the `gym.register` call. For example, if you want to add a new task, you can use the following code: ```python import gymnasium as gym from . import agents task_entry = "instinctlab.tasks.shadowing.perceptive.config.g1" gym.register( id="Instinct-Perceptive-Shadowing-G1-Play-v0", entry_point="instinctlab.envs:InstinctRlEnv", disable_env_checker=True, kwargs={ "env_cfg_entry_point": f"{__name__}.perceptive_shadowing_cfg:G1PerceptiveShadowingEnvCfg_PLAY", "instinct_rl_cfg_entry_point": f"{agents.__name__}.instinct_rl_ppo_cfg:G1PerceptiveShadowingPPORunnerCfg", }, ) ``` ## Troubleshooting ### Pylance Missing Indexing of Extensions In some VsCode versions, the indexing of part of the extensions is missing. In this case, add the path to your extension in `.vscode/settings.json` under the key `"python.analysis.extraPaths"`. ```json { "python.analysis.extraPaths": [ "/source/instinctlab" ] } ```