Skip to content

Commit

Permalink
Merge branch 'main' into fix/cam-clipping
Browse files Browse the repository at this point in the history
  • Loading branch information
pascal-roth committed Sep 28, 2024
2 parents aafa60d + 2804ff3 commit 5feb179
Show file tree
Hide file tree
Showing 272 changed files with 14,872 additions and 3,062 deletions.
16 changes: 15 additions & 1 deletion .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,24 @@ name: Build & deploy docs
on: [push]

jobs:
check-secrets:
name: Check secrets
runs-on: ubuntu-latest
outputs:
trigger-build: ${{ steps.trigger-build.outputs.defined }}
steps:
- id: trigger-build
env:
REPO_NAME: ${{ secrets.REPO_NAME }}
BRANCH_REF: ${{ secrets.BRANCH_REF }}
if: "${{ github.repository == env.REPO_NAME && github.ref == env.BRANCH_REF }}"
run: echo "defined=true" >> "$GITHUB_OUTPUT"

build-docs:
name: Build and deploy documentation
runs-on: ubuntu-latest
if: github.repository == 'isaac-sim/IsaacLab' && github.ref == 'refs/heads/main'
needs: [check-secrets]
if: needs.check-secrets.outputs.trigger-build == 'true'

steps:
- name: Checkout code
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/postmerge-ci-buildspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ phases:
commands:
- echo "Building a docker image"
- docker login -u \$oauthtoken -p $NGC_TOKEN nvcr.io
- docker build -t $IMAGE_NAME:latest-1.1 --build-arg ISAACSIM_VERSION_ARG=4.1.0 --build-arg ISAACSIM_ROOT_PATH_ARG=/isaac-sim --build-arg ISAACLAB_PATH_ARG=/workspace/isaaclab --build-arg DOCKER_USER_HOME_ARG=/root -f docker/Dockerfile.base .
- docker build -t $IMAGE_NAME:latest-1.2 --build-arg ISAACSIM_VERSION_ARG=4.2.0 --build-arg ISAACSIM_ROOT_PATH_ARG=/isaac-sim --build-arg ISAACLAB_PATH_ARG=/workspace/isaaclab --build-arg DOCKER_USER_HOME_ARG=/root -f docker/Dockerfile.base .
- echo "Pushing the docker image"
- docker push $IMAGE_NAME:latest-1.1
- docker tag $IMAGE_NAME:latest-1.1 $IMAGE_NAME:latest-1.1-b$CODEBUILD_BUILD_NUMBER
- docker push $IMAGE_NAME:latest-1.1-b$CODEBUILD_BUILD_NUMBER
- docker push $IMAGE_NAME:latest-1.2
- docker tag $IMAGE_NAME:latest-1.2 $IMAGE_NAME:latest-1.2-b$CODEBUILD_BUILD_NUMBER
- docker push $IMAGE_NAME:latest-1.2-b$CODEBUILD_BUILD_NUMBER
13 changes: 7 additions & 6 deletions .github/workflows/premerge-ci-buildspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ phases:
pre_build:
commands:
- echo "Launching EC2 instance to run tests"
- INSTANCE_ID=$(aws ec2 run-instances --image-id ami-05c519412a83cc291 --count 1 --instance-type g5.2xlarge --key-name production/ssh/isaaclab --security-group-ids sg-02617e4b8916794c4 --subnet-id subnet-0907ceaeb40fd9eac --block-device-mappings 'DeviceName=/dev/sda1,Ebs={VolumeSize=500}' --output text --query 'Instances[0].InstanceId')
- INSTANCE_ID=$(aws ec2 run-instances --image-id ami-0f7f7fb14ee15d5ae --count 1 --instance-type g5.2xlarge --key-name production/ssh/isaaclab --security-group-ids sg-02617e4b8916794c4 --subnet-id subnet-0907ceaeb40fd9eac --block-device-mappings 'DeviceName=/dev/sda1,Ebs={VolumeSize=500}' --output text --query 'Instances[0].InstanceId')
- aws ec2 wait instance-running --instance-ids $INSTANCE_ID
- EC2_INSTANCE_IP=$(aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" "Name=instance-id,Values=$INSTANCE_ID" --query 'Reservations[*].Instances[*].[PrivateIpAddress]' --output text)
- mkdir -p ~/.ssh
Expand All @@ -16,31 +16,32 @@ phases:
build:
commands:
- echo "Running tests on EC2 instance"
- SRC_DIR=$(basename $CODEBUILD_SRC_DIR)
- cd ..
- |
bash -c '
function retry_scp() {
local retries=5
local wait_time=10
local wait_time=30
local count=0
while [ $count -lt $retries ]; do
scp -r IsaacLab ubuntu@$EC2_INSTANCE_IP:~
sleep $wait_time
scp -r $SRC_DIR ubuntu@$EC2_INSTANCE_IP:~
if [ $? -eq 0 ]; then
echo "SCP command succeeded"
return 0
fi
count=$((count + 1))
echo "SCP command failed. Retrying in $wait_time seconds..."
sleep $wait_time
done
echo "SCP command failed after $retries attempts."
return 1
}
retry_scp
'
- ssh ubuntu@$EC2_INSTANCE_IP "docker login -u \\\$oauthtoken -p $NGC_TOKEN nvcr.io"
- ssh ubuntu@$EC2_INSTANCE_IP "cd IsaacLab;
docker build -t isaac-lab-dev --build-arg ISAACSIM_VERSION_ARG=4.1.0 --build-arg ISAACSIM_ROOT_PATH_ARG=/isaac-sim --build-arg ISAACLAB_PATH_ARG=/workspace/isaaclab --build-arg DOCKER_USER_HOME_ARG=/root -f docker/Dockerfile.base . ;
- ssh ubuntu@$EC2_INSTANCE_IP "cd $SRC_DIR;
DOCKER_BUILDKIT=1 docker build -t isaac-lab-dev --build-arg ISAACSIM_VERSION_ARG=4.2.0 --build-arg ISAACSIM_ROOT_PATH_ARG=/isaac-sim --build-arg ISAACLAB_PATH_ARG=/workspace/isaaclab --build-arg DOCKER_USER_HOME_ARG=/root -f docker/Dockerfile.base . ;
docker run --rm --entrypoint bash --gpus all --network=host --name isaac-lab-test isaac-lab-dev ./isaaclab.sh -t &&
exit $?"
post_build:
Expand Down
6 changes: 6 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
"type": "shell",
"linux": {
"command": "${workspaceFolder}/isaaclab.sh -p ${workspaceFolder}/.vscode/tools/setup_vscode.py"
},
"windows": {
"command": "${workspaceFolder}/isaaclab.bat -p ${workspaceFolder}/.vscode/tools/setup_vscode.py"
}
},
{
Expand All @@ -17,6 +20,9 @@
"type": "shell",
"linux": {
"command": "${workspaceFolder}/isaaclab.sh --format"
},
"windows": {
"command": "${workspaceFolder}/isaaclab.bat --format"
}
}
]
Expand Down
8 changes: 7 additions & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,19 @@ Guidelines for modifications:

## Contributors

* Anton Bjørndahl Mortensen
* Alice Zhou
* Amr Mousa
* Andrej Orsula
* Anton Bjørndahl Mortensen
* Antonio Serrano-Muñoz
* Arjun Bhardwaj
* Brayden Zhang
* Calvin Yu
* Chenyu Yang
* David Yang
* Gary Lvov
* HoJin Jeon
* Jean Tampon
* Jia Lin Yuan
* Jingzhou Liu
* Johnson Sun
Expand All @@ -57,8 +61,10 @@ Guidelines for modifications:
* Shafeef Omar
* Vladimir Fokow
* Xavier Nal
* Yang Jin
* Zhengyu Zhang
* Ziqi Fan
* Qian Wan

## Acknowledgements

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

# Isaac Lab

[![IsaacSim](https://img.shields.io/badge/IsaacSim-4.1-silver.svg)](https://docs.omniverse.nvidia.com/isaacsim/latest/overview.html)
[![IsaacSim](https://img.shields.io/badge/IsaacSim-4.2.0-silver.svg)](https://docs.omniverse.nvidia.com/isaacsim/latest/overview.html)
[![Python](https://img.shields.io/badge/python-3.10-blue.svg)](https://docs.python.org/3/whatsnew/3.10.html)
[![Linux platform](https://img.shields.io/badge/platform-linux--64-orange.svg)](https://releases.ubuntu.com/20.04/)
[![Windows platform](https://img.shields.io/badge/platform-windows--64-orange.svg)](https://www.microsoft.com/en-us/)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.1.0
1.2.0
4 changes: 2 additions & 2 deletions docker/.env.base
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

# Accept the NVIDIA Omniverse EULA by default
ACCEPT_EULA=Y
# NVIDIA Isaac Sim version to use (e.g. 4.1.0)
ISAACSIM_VERSION=4.1.0
# NVIDIA Isaac Sim version to use (e.g. 4.2.0)
ISAACSIM_VERSION=4.2.0
# Derived from the default path in the NVIDIA provided Isaac Sim container
DOCKER_ISAACSIM_ROOT_PATH=/isaac-sim
# The Isaac Lab path in the container
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@
{
"name": "Isaac Sim",
"url": "https://developer.nvidia.com/isaac-sim",
"icon": "https://img.shields.io/badge/IsaacSim-4.1-silver.svg",
"icon": "https://img.shields.io/badge/IsaacSim-4.2.0-silver.svg",
"type": "url",
},
{
Expand Down
54 changes: 39 additions & 15 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ Overview
:alt: H1 Humanoid example using Isaac Lab

**Isaac Lab** is a unified and modular framework for robot learning that aims to simplify common workflows
in robotics research (such as RL, learning from demonstrations, and motion planning). It is built upon
in robotics research (such as reinforcement learning, learning from demonstrations, and motion planning). It is built upon
`NVIDIA Isaac Sim`_ to leverage the latest simulation capabilities for photo-realistic scenes, and fast
and efficient simulation. The core objectives of the framework are:
and efficient simulation.

The core objectives of the framework are:

- **Modularity**: Easily customize and add new environments, robots, and sensors.
- **Agility**: Adapt to the changing needs of the community.
Expand All @@ -19,6 +21,19 @@ Key features available in Isaac Lab include fast and accurate physics simulation
tiled rendering APIs for vectorized rendering, domain randomization for improving robustness and adaptability,
and support for running in the cloud.

Additionally, Isaac Lab provides over 26 environments, and we are actively working on adding more environments
to the list. These include classic control tasks, fixed-arm and dexterous manipulation tasks, legged locomotion tasks,
and navigation tasks. A complete list is available in the `environments <source/overview/environments>`_ section.

The framework also includes over 16 robots. If you are looking to add a new robot, please refer to the
:ref:`how-to` section. The current list of robots includes:

- **Classic** Cartpole, Humanoid, Ant
- **Fixed-Arm and Hands**: UR10, Franka, Allegro, Shadow Hand
- **Quadrupeds**: Anybotics Anymal-B, Anymal-C, Anymal-D, Unitree A1, Unitree Go1, Unitree Go2, Boston Dynamics Spot
- **Humanoids**: Unitree H1, Unitree G1
- **Quadcopter**: Crazyflie

For more information about the framework, please refer to the `paper <https://arxiv.org/abs/2301.04195>`_
:cite:`mittal2023orbit`. For clarifications on NVIDIA Isaac ecosystem, please check out the
:doc:`/source/setup/faq` section.
Expand Down Expand Up @@ -60,21 +75,29 @@ Table of Contents
:caption: Getting Started

source/setup/installation/index
source/setup/developer
source/setup/sample
source/setup/template
source/setup/faq

.. toctree::
:maxdepth: 3
:caption: Overview
:titlesonly:

source/overview/developer-guide/index
source/overview/core-concepts/index
source/overview/environments
source/overview/reinforcement-learning/index
source/overview/teleop_imitation
source/overview/showroom
source/overview/simple_agents

.. toctree::
:maxdepth: 2
:caption: Features

source/features/task_workflows
source/features/hydra
source/features/multi_gpu
source/features/tiled_rendering
source/features/environments
source/features/actuators
source/features/reproducibility
.. source/features/motion_generators

.. toctree::
Expand All @@ -86,12 +109,6 @@ Table of Contents
source/how-to/index
source/deployment/index

.. toctree::
:maxdepth: 1
:caption: Source API

source/api/index

.. toctree::
:maxdepth: 1
:caption: Migration Guides
Expand All @@ -101,10 +118,17 @@ Table of Contents
source/migration/migrating_from_omniisaacgymenvs
source/migration/migrating_from_orbit

.. toctree::
:maxdepth: 1
:caption: Source API

source/api/index

.. toctree::
:maxdepth: 1
:caption: References

source/refs/additional_resources
source/refs/contributing
source/refs/troubleshooting
source/refs/issues
Expand All @@ -118,7 +142,7 @@ Table of Contents

GitHub <https://github.com/isaac-sim/IsaacLab>
NVIDIA Isaac Sim <https://docs.omniverse.nvidia.com/isaacsim/latest/index.html>
NVIDIA PhysX <https://nvidia-omniverse.github.io/PhysX/physx/5.4.0/index.html>
NVIDIA PhysX <https://nvidia-omniverse.github.io/PhysX/physx/5.4.1/index.html>

Indices and tables
==================
Expand Down
Binary file added docs/source/_static/benchmarks/cartpole.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/benchmarks/g1_rough.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/benchmarks/shadow.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/demos/arms.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/demos/deformables.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/demos/hands.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/demos/markers.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/demos/procedural_terrain.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/demos/quadrupeds.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions docs/source/api/lab/omni.isaac.lab.envs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
ManagerBasedRLEnvCfg
DirectRLEnv
DirectRLEnvCfg
DirectMARLEnv
DirectMARLEnvCfg
ViewerCfg

Manager Based Environment
Expand Down Expand Up @@ -60,6 +62,20 @@ Direct RL Environment
:show-inheritance:
:exclude-members: __init__, class_type

Direct Multi-Agent RL Environment
---------------------------------

.. autoclass:: DirectMARLEnv
:members:
:inherited-members:
:show-inheritance:

.. autoclass:: DirectMARLEnvCfg
:members:
:inherited-members:
:show-inheritance:
:exclude-members: __init__, class_type

Common
------

Expand Down
2 changes: 1 addition & 1 deletion docs/source/deployment/run_docker_example.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Running an example with Docker
==============================

From the root of the ``Isaac Lab`` repository, the ``docker`` directory contains all the Docker relevant files. These include the three files
From the root of the Isaac Lab repository, the ``docker`` directory contains all the Docker relevant files. These include the three files
(**Dockerfile**, **docker-compose.yaml**, **.env**) which are used by Docker, and an additional script that we use to interface with them,
**container.py**.

Expand Down
Loading

0 comments on commit 5feb179

Please sign in to comment.