Commit de3be74b authored by Kelly Guo's avatar Kelly Guo Committed by Kelly Guo

Sets up app files and settings for backwards compatibility (#467)

# Description

This PR makes the necessary app file and extension setting changes to
support backwards compatibility, but there are still changes required in
the code to have full backwards compatibility with Isaac Sim 4.5 that
will come in other PRs.

Running with Isaac Sim 4.5 requires passing --use_isaacsim_45.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------
Signed-off-by: 's avatarrwiltz <165190220+rwiltz@users.noreply.github.com>
Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
Signed-off-by: 's avatarAshwin Varghese Kuruttukulam <123109010+ashwinvkNV@users.noreply.github.com>
Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
Signed-off-by: 's avatarMichael Gussert <michael@gussert.com>
Signed-off-by: 's avatarsamibouziri <79418773+samibouziri@users.noreply.github.com>
Signed-off-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: 's avatarKyle Morgenstein <34984693+KyleM73@users.noreply.github.com>
Signed-off-by: 's avatarHongyu Li <lihongyu0807@icloud.com>
Signed-off-by: 's avatarToni-SM <toni.semu@gmail.com>
Signed-off-by: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Signed-off-by: 's avatarPascal Roth <57946385+pascal-roth@users.noreply.github.com>
Signed-off-by: 's avatarVictor Khaustov <3192677+vi3itor@users.noreply.github.com>
Signed-off-by: 's avatarAlvinC <alvincny529@gmail.com>
Signed-off-by: 's avatarTyler Lum <tylergwlum@gmail.com>
Signed-off-by: 's avatarMiguel Alonso Jr. <76960110+miguelalonsojr@users.noreply.github.com>
Signed-off-by: 's avatarrenaudponcelet <renaud.poncelet@gmail.com>
Co-authored-by: 's avatarlotusl-code <lotusl@nvidia.com>
Co-authored-by: 's avatarjaczhangnv <jaczhang@nvidia.com>
Co-authored-by: 's avatarrwiltz <165190220+rwiltz@users.noreply.github.com>
Co-authored-by: 's avatarYanzi Zhu <yanziz@nvidia.com>
Co-authored-by: 's avatarnv-mhaselton <mhaselton@nvidia.com>
Co-authored-by: 's avatarcosmith-nvidia <141183495+cosmith-nvidia@users.noreply.github.com>
Co-authored-by: 's avatarMichael Gussert <michael@gussert.com>
Co-authored-by: 's avatarCY Chen <cyc@nvidia.com>
Co-authored-by: 's avataroahmednv <oahmed@Nvidia.com>
Co-authored-by: 's avatarAshwin Varghese Kuruttukulam <123109010+ashwinvkNV@users.noreply.github.com>
Co-authored-by: 's avatarRafael Wiltz <rwiltz@nvidia.com>
Co-authored-by: 's avatarPeter Du <peterd@nvidia.com>
Co-authored-by: 's avatarmatthewtrepte <mtrepte@nvidia.com>
Co-authored-by: 's avatarchengronglai <chengrongl@nvidia.com>
Co-authored-by: 's avatarpulkitg01 <pulkitg@nvidia.com>
Co-authored-by: 's avatarConnor Smith <cosmith@nvidia.com>
Co-authored-by: 's avatarAshwin Varghese Kuruttukulam <ashwinvk@nvidia.com>
Co-authored-by: 's avatarshauryadNv <shauryad@nvidia.com>
Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by: 's avatarsamibouziri <79418773+samibouziri@users.noreply.github.com>
Co-authored-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
Co-authored-by: 's avatarShundo Kishi <syundo0730@gmail.com>
Co-authored-by: 's avatarSheikh Dawood <sabdulajees@nvidia.com>
Co-authored-by: 's avatarToni-SM <aserranomuno@nvidia.com>
Co-authored-by: 's avatarGonglitian <70052908+Gonglitian@users.noreply.github.com>
Co-authored-by: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
Co-authored-by: 's avatarKyle Morgenstein <34984693+KyleM73@users.noreply.github.com>
Co-authored-by: 's avatarJohnson Sun <20457146+j3soon@users.noreply.github.com>
Co-authored-by: 's avatarPascal Roth <57946385+pascal-roth@users.noreply.github.com>
Co-authored-by: 's avatarHongyu Li <lihongyu0807@icloud.com>
Co-authored-by: 's avatarJean-Francois-Lafleche <57650687+Jean-Francois-Lafleche@users.noreply.github.com>
Co-authored-by: 's avatarWei Jinqi <changshanshi@outlook.com>
Co-authored-by: 's avatarLouis LE LAY <le.lay.louis@gmail.com>
Co-authored-by: 's avatarHarsh Patel <hapatel@theaiinstitute.com>
Co-authored-by: 's avatarKousheek Chakraborty <kousheekc@gmail.com>
Co-authored-by: 's avatarVictor Khaustov <3192677+vi3itor@users.noreply.github.com>
Co-authored-by: 's avatarAlvinC <alvincny529@gmail.com>
Co-authored-by: 's avatarFelipe Mohr <50018670+felipemohr@users.noreply.github.com>
Co-authored-by: 's avatarAdAstra7 <87345760+likecanyon@users.noreply.github.com>
Co-authored-by: 's avatargao <ziqi.gao@iff-extern.fraunhofer.de>
Co-authored-by: 's avatarTyler Lum <tylergwlum@gmail.com>
Co-authored-by: 's avatar-T.K.- <t_k_233@outlook.com>
Co-authored-by: 's avatarClemens Schwarke <96480707+ClemensSchwarke@users.noreply.github.com>
Co-authored-by: 's avatarMiguel Alonso Jr. <76960110+miguelalonsojr@users.noreply.github.com>
Co-authored-by: 's avatarMiguel Alonso Jr. <miguel.alonso@nfinite.app>
Co-authored-by: 's avatarrenaudponcelet <renaud.poncelet@gmail.com>
Co-authored-by: 's avatarAles Borovicka <aborovicka@nvidia.com>
Co-authored-by: 's avatarnv-mm <mmagdics@nvidia.com>
parent 14a3a7af
##
# Adapted from: _isaac_sim/apps/omni.isaac.sim.python.gym.headless.kit
##
[package]
title = "Isaac Lab Python Headless"
description = "An app for running Isaac Lab headlessly"
version = "2.2.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "headless"]
[settings]
# Note: This path was adapted to be respective to the kit-exe file location
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.5.0"
##################################
# Omniverse related dependencies #
##################################
[dependencies]
"omni.physx" = {}
"omni.physx.tensors" = {}
"omni.physx.fabric" = {}
"omni.warp.core" = {}
"usdrt.scenegraph" = {}
"omni.kit.telemetry" = {}
"omni.kit.loop" = {}
[settings]
app.content.emptyStageOnStart = false
# Disable print outs on extension startup information
# this only disables the app print_and_log function
app.enableStdoutOutput = false
# default viewport is fill
app.runLoops.rendering_0.fillResolution = false
exts."omni.kit.window.viewport".blockingGetViewportDrawable = false
# Fix PlayButtonGroup error
exts."omni.kit.widget.toolbar".PlayButton.enabled = false
# disable replicator orchestrator for better runtime perf
exts."omni.replicator.core".Orchestrator.enabled = false
[settings.app.settings]
persistent = true
dev_build = false
fabricDefaultStageFrameHistoryCount = 3 # needed for omni.syntheticdata TODO105 still true?
[settings.app.python]
# These disable the kit app from also printing out python output, which gets confusing
interceptSysStdOutput = false
logSysStdOutput = false
[settings]
# MGPU is always on, you can turn it from the settings, and force this off to save even more resource if you
# only want to use a single GPU on your MGPU system
# False for Isaac Sim
renderer.multiGpu.enabled = true
renderer.multiGpu.autoEnable = true
'rtx-transient'.resourcemanager.enableTextureStreaming = true
app.asyncRendering = false
app.asyncRenderingLowLatency = false
app.hydraEngine.waitIdle = false
# app.hydra.aperture.conform = 4 # in 105.1 pixels are square by default
omni.replicator.asyncRendering = false
# Enable Iray and pxr by setting this to "rtx,iray,pxr"
renderer.enabled = "rtx"
# Avoid warning on shutdown from audio context
app.audio.enabled = false
# Enable Vulkan - avoids torch+cu12 error on windows
app.vulkan = true
# hide NonToggleable Exts
exts."omni.kit.window.extensions".hideNonToggleableExts = true
exts."omni.kit.window.extensions".showFeatureOnly = false
# set the default ros bridge to disable on startup
isaac.startup.ros_bridge_extension = ""
# Extensions
###############################
[settings.exts."omni.kit.registry.nucleus"]
registries = [
{ name = "kit/default", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/106/shared" },
{ name = "kit/sdk", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/sdk/${kit_version_short}/${kit_git_hash}" },
{ name = "kit/community", url = "https://dw290v42wisod.cloudfront.net/exts/kit/community" },
]
[settings.app.extensions]
skipPublishVerification = false
registryEnabled = true
[settings.crashreporter.data]
experience = "Isaac Sim"
[settings.persistent]
app.file.recentFiles = []
app.stage.upAxis = "Z"
app.stage.movePrimInPlace = false
app.stage.instanceableOnCreatingReference = false
app.stage.materialStrength = "weakerThanDescendants"
app.transform.gizmoUseSRT = true
app.viewport.grid.scale = 1.0
app.viewport.pickingMode = "kind:model.ALL"
app.viewport.camMoveVelocity = 0.05 # 5 m/s
app.viewport.gizmo.scale = 0.01 # scaled to meters
app.viewport.previewOnPeek = false
app.viewport.snapToSurface = false
app.viewport.displayOptions = 31951 # Disable Frame Rate and Resolution by default
app.window.uiStyle = "NvidiaDark"
app.primCreation.DefaultXformOpType = "Scale, Orient, Translate"
app.primCreation.DefaultXformOpOrder="xformOp:translate, xformOp:orient, xformOp:scale"
app.primCreation.typedDefaults.camera.clippingRange = [0.01, 10000000.0]
simulation.minFrameRate = 15
simulation.defaultMetersPerUnit = 1.0
omnigraph.updateToUsd = false
omnigraph.useSchemaPrims = true
omnigraph.disablePrimNodes = true
omni.replicator.captureOnPlay = true
omnihydra.useSceneGraphInstancing = true
renderer.startupMessageDisplayed = true # hides the IOMMU popup window
# Make Detail panel visible by default
app.omniverse.content_browser.options_menu.show_details = true
app.omniverse.filepicker.options_menu.show_details = true
[settings.physics]
updateToUsd = false
updateParticlesToUsd = false
updateVelocitiesToUsd = false
updateForceSensorsToUsd = false
outputVelocitiesLocalSpace = false
useFastCache = false
visualizationDisplayJoints = false
fabricUpdateTransformations = false
fabricUpdateVelocities = false
fabricUpdateForceSensors = false
fabricUpdateJointStates = false
# Performance improvement
resourcemonitor.timeBetweenQueries = 100
# Register extension folder from this repo in kit
[settings.app.exts]
folders = [
"${exe-path}/exts", # kit extensions
"${exe-path}/extscore", # kit core extensions
"${exe-path}/../exts", # isaac extensions
"${exe-path}/../extsDeprecated", # deprecated isaac extensions
"${exe-path}/../extscache", # isaac cache extensions
"${exe-path}/../extsPhysics", # isaac physics extensions
"${exe-path}/../isaacsim/exts", # isaac extensions for pip
"${exe-path}/../isaacsim/extsDeprecated", # deprecated isaac extensions
"${exe-path}/../isaacsim/extscache", # isaac cache extensions for pip
"${exe-path}/../isaacsim/extsPhysics", # isaac physics extensions for pip
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
[settings.ngx]
enabled=true # Enable this for DLSS
########################
# Isaac Sim Extensions #
########################
[dependencies]
"isaacsim.simulation_app" = {}
"isaacsim.core.api" = {}
"isaacsim.core.cloner" = {}
"isaacsim.core.utils" = {}
"isaacsim.core.version" = {}
########################
# Isaac Lab Extensions #
########################
# Load Isaac Lab extensions last
"isaaclab" = {order = 1000}
"isaaclab_assets" = {order = 1000}
"isaaclab_tasks" = {order = 1000}
"isaaclab_mimic" = {order = 1000}
"isaaclab_rl" = {order = 1000}
# Asset path
# set the S3 directory manually to the latest published S3
# note: this is done to ensure prior versions of Isaac Sim still use the latest assets
[settings]
persistent.isaac.asset_root.default = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
##
# Adapted from: https://github.com/NVIDIA-Omniverse/OmniIsaacGymEnvs/blob/main/apps/omni.isaac.sim.python.gym.camera.kit
#
# This app file designed specifically towards vision-based RL tasks. It provides necessary settings to enable
# multiple cameras to be rendered each frame. Additional settings are also applied to increase performance when
# rendering cameras across multiple environments.
##
[package]
title = "Isaac Lab Python Headless Camera"
description = "An app for running Isaac Lab headlessly with rendering enabled"
version = "2.2.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]
[dependencies]
# Isaac Lab minimal app
"isaaclab.python.headless" = {}
"omni.replicator.core" = {}
# Rendering
"omni.kit.material.library" = {}
"omni.kit.viewport.rtx" = {}
[settings.isaaclab]
# This is used to check that this experience file is loaded when using cameras
cameras_enabled = true
[settings]
# Note: This path was adapted to be respective to the kit-exe file location
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.5.0"
# Disable print outs on extension startup information
# this only disables the app print_and_log function
app.enableStdoutOutput = false
# set the default ros bridge to disable on startup
isaac.startup.ros_bridge_extension = ""
# Flags for better rendering performance
# Disabling these settings reduces renderer VRAM usage and improves rendering performance, but at some quality cost
rtx.translucency.enabled = false
rtx.reflections.enabled = false
rtx.indirectDiffuse.enabled = false
rtx-transient.dlssg.enabled = false
rtx.directLighting.sampledLighting.enabled = true
rtx.directLighting.sampledLighting.samplesPerPixel = 1
rtx.sceneDb.ambientLightIntensity = 1.0
# rtx.shadows.enabled = false
# Avoids replicator warning
rtx.pathtracing.maxSamplesPerLaunch = 1000000
# Avoids silent trimming of tiles
rtx.viewTile.limit = 1000000
# Disable present thread to improve performance
exts."omni.renderer.core".present.enabled=false
# Disabling these settings reduces renderer VRAM usage and improves rendering performance, but at some quality cost
rtx.raytracing.cached.enabled = false
rtx.ambientOcclusion.enabled = false
# Set the DLSS model
rtx.post.dlss.execMode = 0 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto)
# Avoids unnecessary GPU context initialization
renderer.multiGpu.maxGpuCount=1
# Force synchronous rendering to improve training results
omni.replicator.asyncRendering = false
# Avoids frame offset issue
app.updateOrder.checkForHydraRenderComplete = 1000
app.renderer.waitIdle=true
app.hydraEngine.waitIdle=true
app.audio.enabled = false
# Enable Vulkan - avoids torch+cu12 error on windows
app.vulkan = true
# disable replicator orchestrator for better runtime perf
exts."omni.replicator.core".Orchestrator.enabled = false
[settings.exts."omni.kit.registry.nucleus"]
registries = [
{ name = "kit/default", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/106/shared" },
{ name = "kit/sdk", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/sdk/${kit_version_short}/${kit_git_hash}" },
{ name = "kit/community", url = "https://dw290v42wisod.cloudfront.net/exts/kit/community" },
]
[settings.app.python]
# These disable the kit app from also printing out python output, which gets confusing
interceptSysStdOutput = false
logSysStdOutput = false
[settings.app.renderer]
skipWhileMinimized = false
sleepMsOnFocus = 0
sleepMsOutOfFocus = 0
[settings.physics]
updateToUsd = false
updateParticlesToUsd = false
updateVelocitiesToUsd = false
updateForceSensorsToUsd = false
outputVelocitiesLocalSpace = false
useFastCache = false
visualizationDisplayJoints = false
fabricUpdateTransformations = false
fabricUpdateVelocities = false
fabricUpdateForceSensors = false
fabricUpdateJointStates = false
# Register extension folder from this repo in kit
[settings.app.exts]
folders = [
"${exe-path}/exts", # kit extensions
"${exe-path}/extscore", # kit core extensions
"${exe-path}/../exts", # isaac extensions
"${exe-path}/../extsDeprecated", # deprecated isaac extensions
"${exe-path}/../extscache", # isaac cache extensions
"${exe-path}/../extsPhysics", # isaac physics extensions
"${exe-path}/../isaacsim/exts", # isaac extensions for pip
"${exe-path}/../isaacsim/extsDeprecated", # deprecated isaac extensions
"${exe-path}/../isaacsim/extscache", # isaac cache extensions for pip
"${exe-path}/../isaacsim/extsPhysics", # isaac physics extensions for pip
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
# Asset path
# set the S3 directory manually to the latest published S3
# note: this is done to ensure prior versions of Isaac Sim still use the latest assets
[settings]
persistent.isaac.asset_root.default = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
##
# Adapted from: _isaac_sim/apps/isaacsim.exp.base.kit
##
[package]
title = "Isaac Lab Python"
description = "An app for running Isaac Lab"
version = "2.2.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "usd"]
[dependencies]
# Isaac Sim extensions
"isaacsim.app.about" = {}
"isaacsim.asset.browser" = {}
"isaacsim.core.api" = {}
"isaacsim.core.cloner" = {}
"isaacsim.core.nodes" = {}
"isaacsim.core.simulation_manager" = {}
"isaacsim.core.throttling" = {}
"isaacsim.core.utils" = {}
"isaacsim.core.version" = {}
"isaacsim.gui.menu" = {}
"isaacsim.gui.property" = {}
"isaacsim.replicator.behavior" = {}
"isaacsim.robot.manipulators" = {}
"isaacsim.robot.policy.examples" = {}
"isaacsim.robot.schema" = {}
"isaacsim.robot.surface_gripper" = {}
"isaacsim.robot.wheeled_robots" = {}
"isaacsim.sensors.camera" = {}
"isaacsim.sensors.physics" = {}
"isaacsim.sensors.physx" = {}
"isaacsim.sensors.rtx" = {}
"isaacsim.simulation_app" = {}
"isaacsim.storage.native" = {}
"isaacsim.util.debug_draw" = {}
# Isaac Sim Extra
"isaacsim.asset.importer.mjcf" = {}
"isaacsim.asset.importer.urdf" = {}
"omni.physx.bundle" = {}
"omni.physx.tensors" = {}
"omni.replicator.core" = {}
"omni.replicator.replicator_yaml" = {}
"omni.syntheticdata" = {}
"semantics.schema.editor" = {}
"semantics.schema.property" = {}
# Kit based editor extensions
"omni.anim.curve.core" = {}
"omni.graph.action" = {}
"omni.graph.core" = {}
"omni.graph.nodes" = {}
"omni.graph.scriptnode" = {}
"omni.graph.ui_nodes" = {}
"omni.hydra.engine.stats" = {}
"omni.hydra.rtx" = {}
"omni.kit.loop" = {}
"omni.kit.mainwindow" = {}
"omni.kit.manipulator.camera" = {}
"omni.kit.manipulator.prim" = {}
"omni.kit.manipulator.selection" = {}
"omni.kit.material.library" = {}
"omni.kit.menu.common" = { order = 1000 }
"omni.kit.menu.create" = {}
"omni.kit.menu.edit" = {}
"omni.kit.menu.file" = {}
"omni.kit.menu.stage" = {}
"omni.kit.menu.utils" = {}
"omni.kit.primitive.mesh" = {}
"omni.kit.property.bundle" = {}
"omni.kit.raycast.query" = {}
"omni.kit.stage_template.core" = {}
"omni.kit.stagerecorder.bundle" = {}
"omni.kit.telemetry" = {}
"omni.kit.tool.asset_importer" = {}
"omni.kit.tool.collect" = {}
"omni.kit.viewport.legacy_gizmos" = {}
"omni.kit.viewport.menubar.camera" = {}
"omni.kit.viewport.menubar.display" = {}
"omni.kit.viewport.menubar.lighting" = {}
"omni.kit.viewport.menubar.render" = {}
"omni.kit.viewport.menubar.settings" = {}
"omni.kit.viewport.scene_camera_model" = {}
"omni.kit.viewport.window" = {}
"omni.kit.window.console" = {}
"omni.kit.window.content_browser" = {}
"omni.kit.window.property" = {}
"omni.kit.window.stage" = {}
"omni.kit.window.status_bar" = {}
"omni.kit.window.toolbar" = {}
"omni.physx.stageupdate" = {}
"omni.rtx.settings.core" = {}
"omni.uiaudio" = {}
"omni.usd.metrics.assembler.ui" = {}
"omni.usd.schema.metrics.assembler" = {}
"omni.warp.core" = {}
########################
# Isaac Lab Extensions #
########################
# Load Isaac Lab extensions last
"isaaclab" = {order = 1000}
"isaaclab_assets" = {order = 1000}
"isaaclab_tasks" = {order = 1000}
"isaaclab_mimic" = {order = 1000}
"isaaclab_rl" = {order = 1000}
[settings]
exts."omni.kit.material.library".ui_show_list = [
"OmniPBR",
"OmniGlass",
"OmniSurface",
"USD Preview Surface",
]
exts."omni.kit.renderer.core".present.enabled = false # Fixes MGPU stability issue
exts."omni.kit.viewport.window".windowMenu.entryCount = 2 # Allow user to create two viewports by default
exts."omni.kit.viewport.window".windowMenu.label = "" # Put Viewport menuitem under Window menu
exts."omni.rtx.window.settings".window_menu = "Window" # Where to put the render settings menuitem
exts."omni.usd".locking.onClose = false # reduce time it takes to close/create stage
renderer.asyncInit = true # Don't block while renderer inits
renderer.gpuEnumeration.glInterop.enabled = false # Improves startup speed.
rendergraph.mgpu.backend = "copyQueue" # In MGPU configurations, This setting can be removed if IOMMU is disabled for better performance, copyQueue improves stability and performance when IOMMU is enabled
rtx-transient.dlssg.enabled = false # DLSSG frame generation is not compatible with synthetic data generation
rtx.hydra.mdlMaterialWarmup = true # start loading the MDL shaders needed before any delegate is actually created.
omni.replicator.asyncRendering = false # Async rendering must be disabled for SDG
exts."omni.kit.test".includeTests = ["*isaac*"] # Add isaac tests to test runner
foundation.verifyOsVersion.enabled = false
# set the default ros bridge to disable on startup
isaac.startup.ros_bridge_extension = ""
# Disable for base application
[settings."filter:platform"."windows-x86_64"]
isaac.startup.ros_bridge_extension = ""
[settings."filter:platform"."linux-x86_64"]
isaac.startup.ros_bridge_extension = ""
# menu styling
[settings.exts."omni.kit.menu.utils"]
logDeprecated = false
margin_size = [18, 3]
tick_spacing = [10, 6]
margin_size_posttick = [0, 3]
separator_size = [14, 10]
root_spacing = 3
post_label_spaces = 6
color_tick_enabled = 0xFFFAC434
color_separator = 0xFF7E7E7E
color_label_enabled = 0xFFEEEEEE
menu_title_color = 0xFF202020
menu_title_line_color = 0xFF5E5E5E
menu_title_text_color = 0xFF8F8F8F
menu_title_text_height = 24
menu_title_close_color = 0xFFC6C6C6
indent_all_ticks = false
show_menu_titles = true
[settings.app]
name = "Isaac-Sim"
version = "4.5.0"
versionFile = "${exe-path}/VERSION"
content.emptyStageOnStart = true
fastShutdown = true
file.ignoreUnsavedOnExit = true
font.file = "${fonts}/OpenSans-SemiBold.ttf"
font.size = 16
gatherRenderResults = true # True to prevent artifacts in multiple viewport configurations, can be set to false for better performance in some cases
hangDetector.enabled = true
hangDetector.timeout = 120
player.useFixedTimeStepping = true
settings.fabricDefaultStageFrameHistoryCount = 3 # needed for omni.syntheticdata TODO105 still true?
settings.persistent = true # settings are persistent for this app
vulkan = true # Explicitly enable Vulkan (on by default on Linux, off by default on Windows)
### async rendering settings
asyncRendering = false
asyncRenderingLowLatency = false
[settings.app.window]
iconPath = "${isaacsim.simulation_app}/data/omni.isaac.sim.png"
title = "Isaac Sim"
[settings.app.python]
# These disable the kit app from also printing out python output, which gets confusing
interceptSysStdOutput = false
logSysStdOutput = false
[settings.app.renderer]
resolution.height = 720
resolution.width = 1280
skipWhileMinimized = false # python app does not throttle
sleepMsOnFocus = 0 # python app does not throttle
sleepMsOutOfFocus = 0 # python app does not throttle
[settings.app.viewport]
defaultCamPos.x = 5
defaultCamPos.y = 5
defaultCamPos.z = 5
defaults.fillViewport = false # default to not fill viewport
grid.enabled = true
outline.enabled = true
boundingBoxes.enabled = false
show.camera=false
show.lights=false
[settings.telemetry]
enableAnonymousAppName = true # Anonymous Kit application usage telemetry
enableAnonymousData = true # Anonymous Kit application usage telemetry
[settings.persistent]
app.primCreation.DefaultXformOpOrder = "xformOp:translate, xformOp:orient, xformOp:scale"
app.primCreation.DefaultXformOpType = "Scale, Orient, Translate"
app.primCreation.typedDefaults.camera.clippingRange = [0.01, 10000000.0] # Meters default
app.primCreation.DefaultXformOpPrecision = "Double"
app.primCreation.DefaultRotationOrder = "ZYX"
app.primCreation.PrimCreationWithDefaultXformOps = true
app.stage.timeCodeRange = [0, 1000000]
app.stage.upAxis = "Z" # Isaac Sim default Z up
app.viewport.camMoveVelocity = 0.05 # Meters default
app.viewport.gizmo.scale = 0.01 # Meters default
app.viewport.grid.scale = 1.0 # Meters default
app.viewport.camShowSpeedOnStart = false # Hide camera speed on startup
app.omniverse.gamepadCameraControl = false # Disable gamepad control for camera by default
exts."omni.anim.navigation.core".navMesh.config.autoRebakeOnChanges = false
exts."omni.anim.navigation.core".navMesh.viewNavMesh = false
physics.visualizationDisplayJoints = false # improves performance
physics.visualizationSimulationOutput = false # improves performance
physics.resetOnStop = true # Physics state is reset on stop
renderer.startupMessageDisplayed = true # hides the IOMMU popup window
resourcemonitor.timeBetweenQueries = 100 # improves performance
simulation.defaultMetersPerUnit = 1.0 # Meters default
omni.replicator.captureOnPlay = true
[settings]
### async rendering settings
omni.replicator.asyncRendering = false
app.asyncRendering = false
app.asyncRenderingLowLatency = false
# disable replicator orchestrator for better runtime perf
exts."omni.replicator.core".Orchestrator.enabled = false
[settings.app.livestream]
outDirectory = "${data}"
# Extensions
###############################
[settings.exts."omni.kit.registry.nucleus"]
registries = [
{ name = "kit/default", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/106/shared" },
{ name = "kit/sdk", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/sdk/${kit_version_short}/${kit_git_hash}" },
{ name = "kit/community", url = "https://dw290v42wisod.cloudfront.net/exts/kit/community" },
]
[settings.app.extensions]
skipPublishVerification = false
registryEnabled = true
# Register extension folder from this repo in kit
[settings.app.exts]
folders = [
"${exe-path}/exts", # kit extensions
"${exe-path}/extscore", # kit core extensions
"${exe-path}/../exts", # isaac extensions
"${exe-path}/../extsDeprecated", # deprecated isaac extensions
"${exe-path}/../extscache", # isaac cache extensions
"${exe-path}/../extsPhysics", # isaac physics extensions
"${exe-path}/../isaacsim/exts", # isaac extensions for pip
"${exe-path}/../isaacsim/extsDeprecated", # deprecated isaac extensions
"${exe-path}/../isaacsim/extscache", # isaac cache extensions for pip
"${exe-path}/../isaacsim/extsPhysics", # isaac physics extensions for pip
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
[settings.physics]
autoPopupSimulationOutputWindow = false
updateToUsd = false
updateVelocitiesToUsd = false
updateParticlesToUsd = false
updateVelocitiesToUsd = false
updateForceSensorsToUsd = false
outputVelocitiesLocalSpace = false
useFastCache = false
visualizationDisplayJoints = false
fabricUpdateTransformations = false
fabricUpdateVelocities = false
fabricUpdateForceSensors = false
fabricUpdateJointStates = false
# Asset path
# set the S3 directory manually to the latest published S3
# note: this is done to ensure prior versions of Isaac Sim still use the latest assets
[settings]
persistent.isaac.asset_root.default = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
##
# Adapted from: https://github.com/NVIDIA-Omniverse/OmniIsaacGymEnvs/blob/main/apps/omni.isaac.sim.python.gym.camera.kit
#
# This app file designed specifically towards vision-based RL tasks. It provides necessary settings to enable
# multiple cameras to be rendered each frame. Additional settings are also applied to increase performance when
# rendering cameras across multiple environments.
##
[package]
title = "Isaac Lab Python Camera"
description = "An app for running Isaac Lab with rendering enabled"
version = "2.2.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]
[dependencies]
# Isaac Lab minimal app
"isaaclab.python" = {}
# PhysX
"omni.kit.property.physx" = {}
# Rendering
"omni.kit.material.library" = {}
[settings.isaaclab]
# This is used to check that this experience file is loaded when using cameras
cameras_enabled = true
[settings]
# Note: This path was adapted to be respective to the kit-exe file location
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.5.0"
# Disable print outs on extension startup information
# this only disables the app print_and_log function
app.enableStdoutOutput = false
# set the default ros bridge to disable on startup
isaac.startup.ros_bridge_extension = ""
# Flags for better rendering performance
# Disabling these settings reduces renderer VRAM usage and improves rendering performance, but at some quality cost
rtx.translucency.enabled = false
rtx.reflections.enabled = false
rtx.indirectDiffuse.enabled = false
rtx-transient.dlssg.enabled = false
rtx.directLighting.sampledLighting.enabled = true
rtx.directLighting.sampledLighting.samplesPerPixel = 1
rtx.sceneDb.ambientLightIntensity = 1.0
# rtx.shadows.enabled = false
# Avoids replicator warning
rtx.pathtracing.maxSamplesPerLaunch = 1000000
# Avoids silent trimming of tiles
rtx.viewTile.limit = 1000000
# Disable present thread to improve performance
exts."omni.renderer.core".present.enabled=false
# Disabling these settings reduces renderer VRAM usage and improves rendering performance, but at some quality cost
rtx.raytracing.cached.enabled = false
rtx.ambientOcclusion.enabled = false
# Set the DLSS model
rtx.post.dlss.execMode = 0 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto)
# Avoids unnecessary GPU context initialization
renderer.multiGpu.maxGpuCount=1
# Force synchronous rendering to improve training results
omni.replicator.asyncRendering = false
# Avoids frame offset issue
app.updateOrder.checkForHydraRenderComplete = 1000
app.renderer.waitIdle=true
app.hydraEngine.waitIdle=true
app.audio.enabled = false
# disable replicator orchestrator for better runtime perf
exts."omni.replicator.core".Orchestrator.enabled = false
[settings.physics]
updateToUsd = false
updateParticlesToUsd = false
updateVelocitiesToUsd = false
updateForceSensorsToUsd = false
outputVelocitiesLocalSpace = false
useFastCache = false
visualizationDisplayJoints = false
fabricUpdateTransformations = false
fabricUpdateVelocities = false
fabricUpdateForceSensors = false
fabricUpdateJointStates = false
[settings.exts."omni.kit.registry.nucleus"]
registries = [
{ name = "kit/default", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/106/shared" },
{ name = "kit/sdk", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/sdk/${kit_version_short}/${kit_git_hash}" },
{ name = "kit/community", url = "https://dw290v42wisod.cloudfront.net/exts/kit/community" },
]
[settings.app.python]
# These disable the kit app from also printing out python output, which gets confusing
interceptSysStdOutput = false
logSysStdOutput = false
[settings.app.renderer]
skipWhileMinimized = false
sleepMsOnFocus = 0
sleepMsOutOfFocus = 0
# Register extension folder from this repo in kit
[settings.app.exts]
folders = [
"${exe-path}/exts", # kit extensions
"${exe-path}/extscore", # kit core extensions
"${exe-path}/../exts", # isaac extensions
"${exe-path}/../extsDeprecated", # deprecated isaac extensions
"${exe-path}/../extscache", # isaac cache extensions
"${exe-path}/../extsPhysics", # isaac physics extensions
"${exe-path}/../isaacsim/exts", # isaac extensions for pip
"${exe-path}/../isaacsim/extsDeprecated", # deprecated isaac extensions
"${exe-path}/../isaacsim/extscache", # isaac cache extensions for pip
"${exe-path}/../isaacsim/extsPhysics", # isaac physics extensions for pip
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
# Asset path
# set the S3 directory manually to the latest published S3
# note: this is done to ensure prior versions of Isaac Sim still use the latest assets
[settings]
persistent.isaac.asset_root.default = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
##
# Adapted from: apps/isaaclab.python.xr.openxr.kit
##
[package]
title = "Isaac Lab Python OpenXR Headless"
description = "An app for running Isaac Lab with OpenXR in headless mode"
version = "2.2.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "usd", "headless"]
[settings]
# Note: This path was adapted to be respective to the kit-exe file location
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.5.0"
[dependencies]
"isaaclab.python.xr.openxr" = {}
[settings]
xr.profile.ar.enabled = true
# Register extension folder from this repo in kit
[settings.app.exts]
folders = [
"${exe-path}/exts", # kit extensions
"${exe-path}/extscore", # kit core extensions
"${exe-path}/../exts", # isaac extensions
"${exe-path}/../extsDeprecated", # deprecated isaac extensions
"${exe-path}/../extscache", # isaac cache extensions
"${exe-path}/../extsPhysics", # isaac physics extensions
"${exe-path}/../isaacsim/exts", # isaac extensions for pip
"${exe-path}/../isaacsim/extsDeprecated", # deprecated isaac extensions
"${exe-path}/../isaacsim/extscache", # isaac cache extensions for pip
"${exe-path}/../isaacsim/extsPhysics", # isaac physics extensions for pip
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
##
# Adapted from: _isaac_sim/apps/isaacsim.exp.xr.openxr.kit
##
[package]
title = "Isaac Lab Python OpenXR"
description = "An app for running Isaac Lab with OpenXR"
version = "2.2.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "usd"]
[settings]
# Note: This path was adapted to be respective to the kit-exe file location
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.5.0"
### async rendering settings
omni.replicator.asyncRendering = true
app.asyncRendering = true
app.asyncRenderingLowLatency = true
# For XR, set this back to default "#define OMNI_MAX_DEVICE_GROUP_DEVICE_COUNT 16"
renderer.multiGpu.maxGpuCount = 16
renderer.gpuEnumeration.glInterop.enabled = true # Allow Kit XR OpenXR to render headless
[dependencies]
"isaaclab.python" = {}
"isaacsim.xr.openxr" = {}
# Kit extensions
"omni.kit.xr.system.openxr" = {}
"omni.kit.xr.profile.ar" = {}
[settings]
app.xr.enabled = true
# xr settings
xr.ui.enabled = false
xr.depth.aov = "GBufferDepth"
defaults.xr.profile.ar.renderQuality = "off"
defaults.xr.profile.ar.anchorMode = "custom anchor"
rtx.rendermode = "RaytracedLighting"
persistent.xr.profile.ar.render.nearPlane = 0.15
# Register extension folder from this repo in kit
[settings.app.exts]
folders = [
"${exe-path}/exts", # kit extensions
"${exe-path}/extscore", # kit core extensions
"${exe-path}/../exts", # isaac extensions
"${exe-path}/../extsDeprecated", # deprecated isaac extensions
"${exe-path}/../extscache", # isaac cache extensions
"${exe-path}/../extsPhysics", # isaac physics extensions
"${exe-path}/../isaacsim/exts", # isaac extensions for pip
"${exe-path}/../isaacsim/extsDeprecated", # deprecated isaac extensions
"${exe-path}/../isaacsim/extscache", # isaac cache extensions for pip
"${exe-path}/../isaacsim/extsPhysics", # isaac physics extensions for pip
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
# Asset path
# set the S3 directory manually to the latest published S3
# note: this is done to ensure prior versions of Isaac Sim still use the latest assets
[settings]
persistent.isaac.asset_root.default = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
rtx.translucency.enabled = false
rtx.reflections.enabled = false
rtx.reflections.denoiser.enabled = true
# this will be ignored when RR (dldenoiser) is enabled
# rtx.directLighting.sampledLighting.denoisingTechnique = 0
rtx.directLighting.sampledLighting.enabled = true
rtx.sceneDb.ambientLightIntensity = 1.0
rtx.shadows.enabled = true
rtx.indirectDiffuse.enabled = false
rtx.indirectDiffuse.denoiser.enabled = true
# rtx.domeLight.upperLowerStrategy = 3
rtx.ambientOcclusion.enabled = false
rtx.ambientOcclusion.denoiserMode = 1
rtx.raytracing.subpixel.mode = 0
rtx.raytracing.cached.enabled = true
# DLSS frame gen does not yet support tiled camera well
rtx-transient.dlssg.enabled = false
rtx-transient.dldenoiser.enabled = true
# Set the DLSS model
rtx.post.dlss.execMode = 1 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto)
# Avoids replicator warning
rtx.pathtracing.maxSamplesPerLaunch = 1000000
# Avoids silent trimming of tiles
rtx.viewTile.limit = 1000000
rtx.translucency.enabled = false
rtx.reflections.enabled = false
rtx.reflections.denoiser.enabled = false
rtx.directLighting.sampledLighting.denoisingTechnique = 0
rtx.directLighting.sampledLighting.enabled = false
rtx.sceneDb.ambientLightIntensity = 1.0
rtx.shadows.enabled = true
rtx.indirectDiffuse.enabled = false
rtx.indirectDiffuse.denoiser.enabled = false
rtx.domeLight.upperLowerStrategy = 3
rtx.ambientOcclusion.enabled = false
rtx.ambientOcclusion.denoiserMode = 1
rtx.raytracing.subpixel.mode = 0
rtx.raytracing.cached.enabled = false
# DLSS frame gen does not yet support tiled camera well
rtx-transient.dlssg.enabled = false
rtx-transient.dldenoiser.enabled = false
# Set the DLSS model
rtx.post.dlss.execMode = 0 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto)
# Avoids replicator warning
rtx.pathtracing.maxSamplesPerLaunch = 1000000
# Avoids silent trimming of tiles
rtx.viewTile.limit = 1000000
rtx.translucency.enabled = true
rtx.reflections.enabled = true
rtx.reflections.denoiser.enabled = true
# this will be ignored when RR (dldenoiser) is enabled
# rtx.directLighting.sampledLighting.denoisingTechnique = 0
rtx.directLighting.sampledLighting.enabled = true
rtx.sceneDb.ambientLightIntensity = 1.0
rtx.shadows.enabled = true
rtx.indirectDiffuse.enabled = true
rtx.indirectDiffuse.denoiser.enabled = true
# rtx.domeLight.upperLowerStrategy = 4
rtx.ambientOcclusion.enabled = true
rtx.ambientOcclusion.denoiserMode = 0
rtx.raytracing.subpixel.mode = 1
rtx.raytracing.cached.enabled = true
# DLSS frame gen does not yet support tiled camera well
rtx-transient.dlssg.enabled = false
rtx-transient.dldenoiser.enabled = true
# Set the DLSS model
rtx.post.dlss.execMode = 2 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto)
# Avoids replicator warning
rtx.pathtracing.maxSamplesPerLaunch = 1000000
# Avoids silent trimming of tiles
rtx.viewTile.limit = 1000000
rtx.translucency.enabled = true
rtx.reflections.enabled = true
rtx.reflections.denoiser.enabled = true
rtx.directLighting.sampledLighting.denoisingTechnique = 5
rtx.directLighting.sampledLighting.enabled = true
rtx.sceneDb.ambientLightIntensity = 1.0
rtx.shadows.enabled = true
rtx.indirectDiffuse.enabled = true
rtx.indirectDiffuse.denoiser.enabled = true
rtx.domeLight.upperLowerStrategy = 4
rtx.ambientOcclusion.enabled = true
rtx.ambientOcclusion.denoiserMode = 0
rtx.raytracing.subpixel.mode = 1
rtx.raytracing.cached.enabled = true
# DLSS frame gen does not yet support tiled camera well
rtx-transient.dlssg.enabled = false
rtx-transient.dldenoiser.enabled = true
# Set the DLSS model
rtx.post.dlss.execMode = 2 # can be 0 (Performance), 1 (Balanced), 2 (Quality), or 3 (Auto)
# Avoids replicator warning
rtx.pathtracing.maxSamplesPerLaunch = 1000000
# Avoids silent trimming of tiles
rtx.viewTile.limit = 1000000
......@@ -361,6 +361,17 @@ class AppLauncher:
" exceeded, then the animation is not recorded."
),
)
# special flag for backwards compatibility
arg_group.add_argument(
"--use_isaacsim_45",
type=bool,
default=False,
help=(
"Uses previously version of Isaac Sim 4.5. This will reference the Isaac Sim 4.5 compatible app files"
" and will result in some features being unavailable. For full feature set, please update to Isaac Sim"
" 5.0."
),
)
# Corresponding to the beginning of the function,
# if we have removed -h/--help handling, we add it back.
......@@ -702,6 +713,10 @@ class AppLauncher:
# If nothing is provided resolve the experience file based on the headless flag
kit_app_exp_path = os.environ["EXP_PATH"]
isaaclab_app_exp_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), *[".."] * 4, "apps")
# For Isaac Sim 4.5 compatibility, we use the 4.5 app files in a different folder
if launcher_args.get("use_isaacsim_45", False):
isaaclab_app_exp_path = os.path.join(isaaclab_app_exp_path, "isaacsim_4_5")
if self._sim_experience_file == "":
# check if the headless flag is set
# xr rendering overrides camera rendering settings
......@@ -755,6 +770,10 @@ class AppLauncher:
if recording_enabled:
if self._headless:
raise ValueError("Animation recording is not supported in headless mode.")
if launcher_args.get("use_isaacsim_45", False):
raise RuntimeError(
"Animation recording is not supported in Isaac Sim 4.5. Please update to Isaac Sim 5.0."
)
sys.argv += ["--enable", "omni.physx.pvd"]
def _resolve_kit_args(self, launcher_args: dict):
......
......@@ -16,6 +16,7 @@ from typing import TYPE_CHECKING
import omni.log
import omni.physics.tensors.impl.api as physx
from isaacsim.core.simulation_manager import SimulationManager
from isaacsim.core.version import get_version
from pxr import PhysxSchema, UsdPhysics
import isaaclab.sim as sim_utils
......@@ -1377,7 +1378,7 @@ class Articulation(AssetBase):
# process configuration
self._process_cfg()
self._process_actuators_cfg()
self._process_fixed_tendons()
self._process_tendons()
# validate configuration
self._validate_cfg()
# update the robot data
......@@ -1397,7 +1398,7 @@ class Articulation(AssetBase):
# asset named data
self._data.joint_names = self.joint_names
self._data.body_names = self.body_names
# tendon names are set in _process_fixed_tendons function
# tendon names are set in _process_tendons function
# -- joint properties
self._data.default_joint_pos_limits = self.root_physx_view.get_dof_limits().to(self.device).clone()
......@@ -1570,13 +1571,22 @@ class Articulation(AssetBase):
f" joints available: {total_act_joints} != {self.num_joints - self.num_fixed_tendons}."
)
def _process_fixed_tendons(self):
"""Process fixed tendons."""
def _process_tendons(self):
"""Process fixed and spatialtendons."""
# create a list to store the fixed tendon names
self._fixed_tendon_names = list()
self._spatial_tendon_names = list()
# parse fixed tendons properties if they exist
if self.num_fixed_tendons > 0 or self.num_spatial_tendons > 0:
# for spatial tendons, check if we are using isaac sim 5.0
if self.num_spatial_tendons > 0:
isaac_sim_version = get_version()
# checks for Isaac Sim v5.0 as spatial tendons are only available since 5.0
if int(isaac_sim_version[2]) < 5:
raise RuntimeError(
"Spatial tendons are not available in Isaac Sim 4.5. Please update to Isaac Sim 5.0."
)
joint_paths = self.root_physx_view.dof_paths[0]
# iterate over all joints to find tendons attached to them
......
......@@ -66,13 +66,15 @@ setup(
keywords=EXTENSION_TOML_DATA["package"]["keywords"],
license="BSD-3-Clause",
include_package_data=True,
python_requires=">=3.11",
python_requires=">=3.10",
install_requires=INSTALL_REQUIRES,
dependency_links=PYTORCH_INDEX_URL,
packages=["isaaclab"],
classifiers=[
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0",
"Isaac Sim :: 5.0.0",
],
zip_safe=False,
......
......@@ -388,7 +388,7 @@ def test_frame_offset_multi_tiled_camera(setup_camera):
for i in range(num_tiled_cameras):
image_before = image_befores[i]
image_after = image_afters[i]
assert torch.abs(image_after - image_before).mean() > 0.03 # images of same color should be below 0.001
assert torch.abs(image_after - image_before).mean() > 0.02 # images of same color should be below 0.001
for camera in tiled_cameras:
del camera
......
......@@ -25,11 +25,13 @@ setup(
description=EXTENSION_TOML_DATA["package"]["description"],
keywords=EXTENSION_TOML_DATA["package"]["keywords"],
include_package_data=True,
python_requires=">=3.11",
python_requires=">=3.10",
packages=["isaaclab_assets"],
classifiers=[
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0",
"Isaac Sim :: 5.0.0",
],
zip_safe=False,
......
......@@ -50,10 +50,12 @@ setup(
extras_require=EXTRAS_REQUIRE,
license="Apache-2.0",
include_package_data=True,
python_requires=">=3.11",
python_requires=">=3.10",
classifiers=[
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0",
"Isaac Sim :: 5.0.0",
],
zip_safe=False,
......
......@@ -66,14 +66,16 @@ setup(
description=EXTENSION_TOML_DATA["package"]["description"],
keywords=EXTENSION_TOML_DATA["package"]["keywords"],
include_package_data=True,
python_requires=">=3.11",
python_requires=">=3.10",
install_requires=INSTALL_REQUIRES,
dependency_links=PYTORCH_INDEX_URL,
extras_require=EXTRAS_REQUIRE,
packages=["isaaclab_rl"],
classifiers=[
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0",
"Isaac Sim :: 5.0.0",
],
zip_safe=False,
......
......@@ -41,13 +41,15 @@ setup(
description=EXTENSION_TOML_DATA["package"]["description"],
keywords=EXTENSION_TOML_DATA["package"]["keywords"],
include_package_data=True,
python_requires=">=3.11",
python_requires=">=3.10",
install_requires=INSTALL_REQUIRES,
dependency_links=PYTORCH_INDEX_URL,
packages=["isaaclab_tasks"],
classifiers=[
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0",
"Isaac Sim :: 5.0.0",
],
zip_safe=False,
......
......@@ -32,12 +32,14 @@ setup(
description=EXTENSION_TOML_DATA["package"]["description"],
keywords=EXTENSION_TOML_DATA["package"]["keywords"],
install_requires=INSTALL_REQUIRES,
license="MIT",
license="Apache-2.0",
include_package_data=True,
python_requires=">=3.11",
python_requires=">=3.10",
classifiers=[
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0",
"Isaac Sim :: 5.0.0",
],
zip_safe=False,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment