Skip to content

Commit

Permalink
rename hand envs
Browse files Browse the repository at this point in the history
  • Loading branch information
kellyguo11 committed Aug 2, 2024
2 parents 41c5aa6 + e644692 commit 9e3b3b3
Show file tree
Hide file tree
Showing 83 changed files with 1,199 additions and 255 deletions.
1 change: 1 addition & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ Guidelines for modifications:
* Johnson Sun
* Kourosh Darvish
* Lorenz Wellhausen
* Masoud Moghani
* Muhong Guo
* Nuralem Abizov
* Özhan Özen
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
[![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/)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://pre-commit.com/)
[![Docs status](https://img.shields.io/badge/docs-passing-brightgreen.svg)](https://isaac-sim.github.io/IsaacLab)
[![pre-commit](https://img.shields.io/github/actions/workflow/status/isaac-sim/IsaacLab/pre-commit.yaml?logo=pre-commit&logoColor=white&label=pre-commit&color=brightgreen)](https://github.com/isaac-sim/IsaacLab/actions/workflows/pre-commit.yaml)
[![docs status](https://img.shields.io/github/actions/workflow/status/isaac-sim/IsaacLab/docs.yaml?label=docs&color=brightgreen)](https://github.com/isaac-sim/IsaacLab/actions/workflows/docs.yaml)
[![License](https://img.shields.io/badge/license-BSD--3-yellow.svg)](https://opensource.org/licenses/BSD-3-Clause)


Expand Down
28 changes: 25 additions & 3 deletions docker/container.sh
Original file line number Diff line number Diff line change
Expand Up @@ -192,16 +192,19 @@ configure_x11() {
install_xauth
fi
load_statefile_variable __ISAACLAB_TMP_XAUTH
__ISAACLAB_TMP_DIR=/tmp/isaaclab_tmp_xauth/
# Create temp .xauth file to be mounted in the container
if [ "$__ISAACLAB_TMP_XAUTH" = "null" ] || [ ! -f "$__ISAACLAB_TMP_XAUTH" ]; then
__ISAACLAB_TMP_XAUTH=$(mktemp --suffix=".xauth")
mkdir -p "${__ISAACLAB_TMP_DIR}"
__ISAACLAB_TMP_XAUTH=$(mktemp --suffix=".xauth" --tmpdir="${__ISAACLAB_TMP_DIR}")
set_statefile_variable __ISAACLAB_TMP_XAUTH $__ISAACLAB_TMP_XAUTH
# Extract MIT-MAGIC-COOKIE for current display | Change the 'connection family' to FamilyWild (ffff) | merge into tmp .xauth file
# https://www.x.org/archive/X11R6.8.1/doc/Xsecurity.7.html#toc3
xauth_cookie= xauth nlist ${DISPLAY} | sed -e s/^..../ffff/ | xauth -f $__ISAACLAB_TMP_XAUTH nmerge -
xauth nlist ${DISPLAY} | sed -e s/^..../ffff/ | xauth -f $__ISAACLAB_TMP_XAUTH nmerge -
fi
# Export here so it's an envvar for the called Docker commands
export __ISAACLAB_TMP_XAUTH
export __ISAACLAB_TMP_DIR
add_yamls="$add_yamls --file x11.yaml "
# TODO: Add check to make sure Xauth file is correct
}
Expand Down Expand Up @@ -235,6 +238,24 @@ x11_check() {
fi
}

x11_update() {
# Check if the MIT-MAGIC-COOKIE-1 in __ISAACLAB_TMP_XAUTH
# is the same as the current DISPLAY's. If not, generate
# a new .xauth file with the current MIT-MAGIC-COOKIE-1,
# using the same filename so that the bind-mount and
# XAUTHORITY var from build-time still work
load_statefile_variable __ISAACLAB_TMP_XAUTH
if ! [ "$__ISAACLAB_TMP_XAUTH" = "null" ] && [ -f "$__ISAACLAB_TMP_XAUTH" ]; then
tmp_cookie=$(xauth -f "$__ISAACLAB_TMP_XAUTH" list | awk '$2 == "MIT-MAGIC-COOKIE-1" {print $3; exit}')
current_cookie=$(xauth list "${DISPLAY}" | awk '$2 == "MIT-MAGIC-COOKIE-1" {print $3; exit}')
if ! [ "${tmp_cookie}" = "{$current_cookie}" ]; then
rm "$__ISAACLAB_TMP_XAUTH"
touch "$__ISAACLAB_TMP_XAUTH"
xauth nlist ${DISPLAY} | sed -e s/^..../ffff/ | xauth -f $__ISAACLAB_TMP_XAUTH nmerge -
fi
fi
}

x11_cleanup() {
load_statefile_variable __ISAACLAB_TMP_XAUTH
if ! [ "$__ISAACLAB_TMP_XAUTH" = "null" ] && [ -f "$__ISAACLAB_TMP_XAUTH" ]; then
Expand Down Expand Up @@ -323,9 +344,10 @@ case $mode in
enter)
# Check that desired container is running, exit if it isn't
is_container_running isaac-lab-$container_profile
x11_update
echo "[INFO] Entering the existing 'isaac-lab-$container_profile' container in a bash session..."
pushd ${SCRIPT_DIR} > /dev/null 2>&1
docker exec --interactive --tty isaac-lab-$container_profile bash
docker exec --interactive --tty -e DISPLAY=$DISPLAY isaac-lab-$container_profile bash
popd > /dev/null 2>&1
;;
copy)
Expand Down
8 changes: 4 additions & 4 deletions docker/x11.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ services:
- XAUTHORITY=${__ISAACLAB_TMP_XAUTH}
volumes:
- type: bind
source: ${__ISAACLAB_TMP_XAUTH}
target: ${__ISAACLAB_TMP_XAUTH}
source: ${__ISAACLAB_TMP_DIR}
target: ${__ISAACLAB_TMP_DIR}
- type: bind
source: /tmp/.X11-unix
target: /tmp/.X11-unix
Expand All @@ -25,8 +25,8 @@ services:
- XAUTHORITY=${__ISAACLAB_TMP_XAUTH}
volumes:
- type: bind
source: ${__ISAACLAB_TMP_XAUTH}
target: ${__ISAACLAB_TMP_XAUTH}
source: ${__ISAACLAB_TMP_DIR}
target: ${__ISAACLAB_TMP_DIR}
- type: bind
source: /tmp/.X11-unix
target: /tmp/.X11-unix
Expand Down
8 changes: 4 additions & 4 deletions docs/source/features/environments.rst
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,11 @@ for the reach environment:
.. |lift-cube-ik-rel-link| replace:: `Isaac-Lift-Cube-Franka-IK-Rel-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/manager_based/manipulation/lift/config/franka/ik_rel_env_cfg.py>`__
.. |cabi-franka-link| replace:: `Isaac-Open-Drawer-Franka-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/manager_based/manipulation/cabinet/config/franka/joint_pos_env_cfg.py>`__
.. |cube-allegro-link| replace:: `Isaac-Repose-Cube-Allegro-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/manager_based/manipulation/inhand/config/allegro_hand/allegro_env_cfg.py>`__
.. |allegro-direct-link| replace:: `Isaac-Allegro-Hand-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/allegro_hand/allegro_hand_env_cfg.py>`__
.. |allegro-direct-link| replace:: `Isaac-Repose-Cube-Allegro-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/allegro_hand/allegro_hand_env_cfg.py>`__

.. |cube-shadow-link| replace:: `Isaac-Shadow-Hand-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/shadow_hand/shadow_hand_env_cfg.py>`__
.. |cube-shadow-ff-link| replace:: `Isaac-Shadow-Hand-OpenAI-FF-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/shadow_hand/shadow_hand_env_cfg.py>`__
.. |cube-shadow-lstm-link| replace:: `Isaac-Shadow-Hand-OpenAI-LSTM-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/shadow_hand/shadow_hand_env_cfg.py>`__
.. |cube-shadow-link| replace:: `Isaac-Repose-Cube-Shadow-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/shadow_hand/shadow_hand_env_cfg.py>`__
.. |cube-shadow-ff-link| replace:: `Isaac-Repose-Cube-Shadow-OpenAI-FF-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/shadow_hand/shadow_hand_env_cfg.py>`__
.. |cube-shadow-lstm-link| replace:: `Isaac-Repose-Cube-Shadow-OpenAI-LSTM-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/shadow_hand/shadow_hand_env_cfg.py>`__

Locomotion
----------
Expand Down
3 changes: 0 additions & 3 deletions source/apps/isaaclab.python.headless.kit
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,11 @@ app.version = "4.1.0"
# Omniverse related dependencies #
##################################
[dependencies]
"omni.kit.window.title" = {}
"omni.physx" = {}
"omni.physx.tensors" = {}
"omni.physx.fabric" = {}
"omni.warp.core" = {}
"usdrt.scenegraph" = {}
"omni.kit.primitive.mesh" = {}
"omni.kit.mainwindow" = {}
"omni.kit.telemetry" = {}


Expand Down
3 changes: 3 additions & 0 deletions source/apps/isaaclab.python.headless.rendering.kit
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ rtx-transient.dlssg.enabled = false
rtx.sceneDb.ambientLightIntensity = 1.0
rtx.directLighting.sampledLighting.enabled = true

# Avoids unnecessary GPU context initialization
renderer.multiGpu.maxGpuCount=1

# Force synchronous rendering to improve training results
omni.replicator.asyncRendering = false

Expand Down
3 changes: 3 additions & 0 deletions source/apps/isaaclab.python.kit
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,9 @@ rtx.newDenoiser.enabled = true
# Enable Iray and pxr by setting this to "rtx,iray,pxr"
renderer.enabled = "rtx"

# Avoids unnecessary GPU context initialization
renderer.multiGpu.maxGpuCount=1

### async rendering settings
omni.replicator.asyncRendering = false
app.asyncRendering = false
Expand Down
3 changes: 3 additions & 0 deletions source/apps/isaaclab.python.rendering.kit
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ rtx-transient.dlssg.enabled = false
rtx.sceneDb.ambientLightIntensity = 1.0
rtx.directLighting.sampledLighting.enabled = true

# Avoids unnecessary GPU context initialization
renderer.multiGpu.maxGpuCount=1

# Force synchronous rendering to improve training results
omni.replicator.asyncRendering = false

Expand Down
2 changes: 1 addition & 1 deletion source/extensions/omni.isaac.lab/config/extension.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]

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

# Description
title = "Isaac Lab framework for Robot Learning"
Expand Down
70 changes: 70 additions & 0 deletions source/extensions/omni.isaac.lab/docs/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,76 @@
Changelog
---------

0.20.6 (2024-08-02)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Removed the hierarchy from :class:`~omni.isaac.lab.assets.RigidObject` class to
:class:`~omni.isaac.lab.assets.Articulation` class. Previously, the articulation class overrode almost
all the functions of the rigid object class making the hierarchy redundant. Now, the articulation class
is a standalone class that does not inherit from the rigid object class. This does add some code
duplication but the simplicity and clarity of the code is improved.


0.20.5 (2024-08-02)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added :attr:`omni.isaac.lab.terrain.TerrainGeneratorCfg.border_height` to set the height of the border
around the terrain.


0.20.4 (2024-08-02)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the caching of terrains when using the :class:`omni.isaac.lab.terrains.TerrainGenerator` class.
Earlier, the random sampling of the difficulty levels led to different hash values for the same terrain
configuration. This caused the terrains to be re-generated even when the same configuration was used.
Now, the numpy random generator is seeded with the same seed to ensure that the difficulty levels are
sampled in the same order between different runs.


0.20.3 (2024-08-02)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the setting of translation and orientation when spawning a mesh prim. Earlier, the translation
and orientation was being applied both on the parent Xform and the mesh prim. This was causing the
mesh prim to be offset by the translation and orientation of the parent Xform, which is not the intended
behavior.


0.20.2 (2024-08-02)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Modified the computation of body acceleration for rigid body data to use PhysX APIs instead of
numerical finite-differencing. This removes the need for computation of body acceleration at
every update call of the data buffer.


0.20.1 (2024-07-30)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the :meth:`omni.isaac.lab.utils.math.wrap_to_pi` method to handle the wrapping of angles correctly.
Earlier, the method was not wrapping the angles to the range [-pi, pi] correctly when the angles were outside
the range [-2*pi, 2*pi].


0.20.0 (2024-07-26)
~~~~~~~~~~~~~~~~~~~

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,16 @@ def _config_resolution(self, launcher_args: dict):
if distributed_train:
self.device_id = self.local_rank
launcher_args["multi_gpu"] = False
# limit CPU threads to minimize thread context switching
# this ensures processes do not take up all available threads and fight for resources
num_cpu_cores = os.cpu_count()
num_threads_per_process = num_cpu_cores // int(os.getenv("WORLD_SIZE", 1))
# set environment variables to limit CPU threads
os.environ["PXR_WORK_THREAD_LIMIT"] = str(num_threads_per_process)
os.environ["OPENBLAS_NUM_THREADS"] = str(num_threads_per_process)
# pass command line variable to kit
sys.argv.append(f"--/plugins/carb.tasking.plugin/threadCount={num_threads_per_process}")

# set physics and rendering device
launcher_args["physics_gpu"] = self.device_id
launcher_args["active_gpu"] = self.device_id
Expand Down
Loading

0 comments on commit 9e3b3b3

Please sign in to comment.