https://github.com/t-k-233/g1-demos
https://github.com/t-k-233/g1-demos
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/t-k-233/g1-demos
- Owner: T-K-233
- License: mit
- Created: 2024-10-21T03:00:34.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-10-23T16:54:55.000Z (12 months ago)
- Last Synced: 2024-11-14T18:08:04.913Z (11 months ago)
- Language: Python
- Size: 55.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Template for Isaac Lab Projects
[](https://docs.omniverse.nvidia.com/isaacsim/latest/overview.html)
[](https://isaac-sim.github.io/IsaacLab)
[](https://docs.python.org/3/whatsnew/3.10.html)
[](https://releases.ubuntu.com/20.04/)
[](https://www.microsoft.com/en-us/)
[](https://pre-commit.com/)
[](https://opensource.org/license/mit)## Overview
This repository serves as a template for building projects or extensions based on Isaac Lab. It allows you to develop in an isolated environment, outside of the core Isaac Lab repository.
**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.**Keywords:** extension, template, isaaclab
## Installation
- Install Isaac Lab by following the [installation guide](https://isaac-sim.github.io/IsaacLab/source/setup/installation/index.html). We recommend using the conda installation as it simplifies calling Python scripts from the terminal.
- Clone the repository separately from the Isaac Lab installation (i.e. outside the `IsaacLab` directory):
```bash
# Option 1: HTTPS
git clone https://github.com/isaac-sim/IsaacLabExtensionTemplate.git# Option 2: SSH
git clone git@github.com:isaac-sim/IsaacLabExtensionTemplate.git
```- Throughout the repository, the name `g1_demos` only serves as an example and we provide a script to rename all the references to it automatically:
```bash
# Enter the repository
cd IsaacLabExtensionTemplate
# Rename all occurrences of g1_demos (in files/directories) to your_fancy_extension_name
python scripts/rename_template.py your_fancy_extension_name
```- Using a python interpreter that has Isaac Lab installed, install the library
```bash
python -m pip install -e exts/g1_demos
```- Verify that the extension is correctly installed by running the following command:
```bash
python scripts/rsl_rl/train.py --task=Velocity-G1-v0
``````bash
python scripts/rsl_rl/play.py --task=Velocity-G1-Play-v0
```### 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.
### Setup as Omniverse Extension (Optional)
We provide an example UI extension that will load upon enabling your extension defined in `exts/g1_demos/g1_demos/ui_extension_example.py`. For more information on UI extensions, enable and check out the source code of the `omni.isaac.ui_template` extension and refer to the introduction on [Isaac Sim Workflows 1.2.3. GUI](https://docs.omniverse.nvidia.com/isaacsim/latest/introductory_tutorials/tutorial_intro_workflows.html#gui).
To enable your extension, follow these steps:
1. **Add the search path of your repository** to the extension manager:
- Navigate to the extension manager using `Window` -> `Extensions`.
- Click on the **Hamburger Icon** (☰), then go to `Settings`.
- In the `Extension Search Paths`, enter the absolute path to `IsaacLabExtensionTemplate/exts`
- If not already present, in the `Extension Search Paths`, enter the path that leads to Isaac Lab's extension directory directory (`IsaacLab/source/extensions`)
- Click on the **Hamburger Icon** (☰), then click `Refresh`.2. **Search and enable your extension**:
- Find your extension under the `Third Party` category.
- Toggle it to enable your extension.## 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
```## 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": [
"/exts/g1_demos"
]
}
```### Pylance Crash
If you encounter a crash in `pylance`, it is probable that too many files are indexed and you run out of memory.
A possible solution is to exclude some of omniverse packages that are not used in your project.
To do so, modify `.vscode/settings.json` and comment out packages under the key `"python.analysis.extraPaths"`
Some examples of packages that can likely be excluded are:```json
"/extscache/omni.anim.*" // Animation packages
"/extscache/omni.kit.*" // Kit UI tools
"/extscache/omni.graph.*" // Graph UI tools
"/extscache/omni.services.*" // Services tools
...
```