Commit 981ee227 authored by Kelly Guo's avatar Kelly Guo Committed by Kelly Guo

Updates Isaac Sim imports to follow Isaac Sim 4.5 extensions naming (#169)

In Isaac Sim 4.5, extensions in Isaac Sim have been renamed. In most
cases, the `omni.isaac.*` naming convention has been replaced by
`isaacsim.*`. View classes in Isaac Sim are also renamed: e.g.
`XFormPrimView` --> `XFormPrim`, and `XFormPrim` --> `SingleXFormPrim`.
This PR updates Isaac Lab files that imports Isaac Sim extensions to
follow the new naming of Isaac Sim modules.

This will be a breaking change that breaks backwards compatibility with
previous Isaac Sim versions.

- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- This change requires a documentation update

- [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
- [x] 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 avatarpeterd-NV <peterd@nvidia.com>
Co-authored-by: 's avatarpeterd-NV <peterd@nvidia.com>
Co-authored-by: 's avatarCY Chen <cyc@nvidia.com>
Co-authored-by: 's avataroahmednv <oahmed@Nvidia.com>
Co-authored-by: 's avatarToni-SM <aserranomuno@nvidia.com>
Co-authored-by: 's avatarrwiltz <165190220+rwiltz@users.noreply.github.com>
parent e6614a3b
......@@ -145,6 +145,14 @@ autodoc_mock_imports = [
"omni.isaac.version",
"omni.isaac.motion_generation",
"omni.isaac.ui",
"isaacsim",
"isaacsim.core.api",
"isaacsim.core.cloner",
"isaacsim.core.version",
"isaacsim.robot_motion.motion_generation",
"isaacsim.gui.components",
"isaacsim.asset.importer.urdf",
"isaacsim.asset.importer.mjcf",
"omni.syntheticdata",
"omni.timeline",
"omni.ui",
......
......@@ -135,6 +135,7 @@ Table of Contents
source/refs/additional_resources
source/refs/contributing
source/refs/troubleshooting
source/refs/migration.rst
source/refs/issues
source/refs/changelog
source/refs/license
......
......@@ -10,7 +10,7 @@ or soft bodies. For more information, please refer to the `PhysX Determinism doc
Based on above, Isaac Lab provides a deterministic simulation that ensures consistent simulation
results across different runs. This is achieved by using the same random seed for the
simulation environment and the physics engine. At construction of the environment, the random seed
is set to a fixed value using the :meth:`~omni.isaac.core.utils.torch.set_seed` method. This method sets the
is set to a fixed value using the :meth:`~isaacsim.core.utils.torch.set_seed` method. This method sets the
random seed for both the CPU and GPU globally across different libraries, including PyTorch and
NumPy.
......
......@@ -6,7 +6,7 @@ Creating Visualization Markers
Visualization markers are useful to debug the state of the environment. They can be used to visualize
the frames, commands, and other information in the simulation.
While Isaac Sim provides its own :mod:`omni.isaac.debug_draw` extension, it is limited to rendering only
While Isaac Sim provides its own :mod:`isaacsim.util.debug_draw` extension, it is limited to rendering only
points, lines and splines. For cases, where you need to render more complex shapes, you can use the
:class:`markers.VisualizationMarkers` class.
......
......@@ -42,9 +42,6 @@ The default values for the importer's configuration parameters are specified are
* :attr:`~sim.converters.UrdfConverterCfg.fix_base*` - Whether to fix the base of the robot.
This depends on whether you have a floating-base or fixed-base robot. The command-line flag is
``--fix-base`` where when set, the importer will fix the base of the robot, otherwise it will default to floating-base.
* :attr:`~sim.converters.UrdfConverterCfg.make_instanceable*` - Whether to create instanceable assets.
Usually, this should be set to ``True``. The command-line flag is ``--make-instanceable`` where
when set, the importer will create instanceable assets, otherwise it will default to non-instanceable.
* :attr:`~sim.converters.UrdfConverterCfg.merge_fixed_joints*` - Whether to merge the fixed joints.
Usually, this should be set to ``True`` to reduce the asset complexity. The command-line flag is
``--merge-joints`` where when set, the importer will merge the fixed joints, otherwise it will default to not merging the fixed joints.
......@@ -58,12 +55,6 @@ The default values for the importer's configuration parameters are specified are
Similar to the stiffness, we recommend this to always be ``0.0``.
Note that when instanceable option is selected, the
importer will create two USD files: one for all the mesh data and one for
all the non-mesh data (e.g. joints, rigid bodies, etc.). The prims in the mesh data file are
referenced in the non-mesh data file. This allows the mesh data (which is often bulky) to be
loaded into memory only once and used multiple times in a scene.
Example Usage
~~~~~~~~~~~~~
......@@ -94,21 +85,14 @@ The following shows the steps to clone the repository and run the converter:
./isaaclab.sh -p source/standalone/tools/convert_urdf.py \
~/git/anymal_d_simple_description/urdf/anymal.urdf \
source/extensions/omni.isaac.lab_assets/data/Robots/ANYbotics/anymal_d.usd \
--merge-joints \
--make-instanceable
--merge-joints
Executing the above script will create two USD files inside the
Executing the above script will create a USD file inside the
``source/extensions/omni.isaac.lab_assets/data/Robots/ANYbotics/`` directory:
* ``anymal_d.usd`` - This is the main asset file. It contains all the non-mesh data.
* ``Props/instanceable_assets.usd`` - This is the mesh data file.
* ``anymal_d.usd`` - This is the main asset file.
.. note::
Since Isaac Sim 2023.1.1, the URDF importer behavior has changed and it stores the mesh data inside the
main asset file even if the ``--make-instanceable`` flag is set. This means that the
``Props/instanceable_assets.usd`` file is created but not used anymore.
To run the script headless, you can add the ``--headless`` flag. This will not open the GUI and
exit the script after the conversion is complete.
......@@ -153,7 +137,7 @@ The following shows the steps to clone the repository and run the converter:
# create a directory to clone
mkdir ~/git && cd ~/git
# clone a repository with URDF files
git clone git@github.com:git@github.com:google-deepmind/mujoco_menagerie.git
git clone git@github.com:google-deepmind/mujoco_menagerie.git
# go to top of the Isaac Lab repository
cd IsaacLab
......@@ -164,6 +148,12 @@ The following shows the steps to clone the repository and run the converter:
--import-sites \
--make-instanceable
Executing the above script will create USD files inside the
``source/extensions/omni.isaac.lab_assets/data/Robots/Unitree/`` directory:
* ``h1.usd`` - This is the main asset file. It contains all the non-mesh data.
* ``Props/instanceable_assets.usd`` - This is the mesh data file.
.. figure:: ../_static/tutorials/tutorial_convert_mjcf.jpg
:align: center
:figwidth: 100%
......
......@@ -72,7 +72,7 @@ to create a point cloud from the depth image and transform it to the world frame
:start-at: # Derive pointcloud from camera at camera_index
:end-before: # In the first few steps, things are still being instanced and Camera.data
The resulting point cloud can be visualized using the :mod:`omni.isaac.debug_draw` extension from Isaac Sim.
The resulting point cloud can be visualized using the :mod:`isaacsim.util.debug_draw` extension from Isaac Sim.
This makes it easy to visualize the point cloud in the 3D space.
.. literalinclude:: ../../../source/standalone/tutorials/04_sensors/run_usd_camera.py
......
......@@ -48,7 +48,7 @@ Querying the sensor for data can be done at simulation run time like any other s
-------------------------------
Ray-caster @ '/World/envs/env_.*/Robot/base/lidar_cage':
view type : <class 'omni.isaac.core.prims.xform_prim_view.XFormPrimView'>
view type : <class 'isaacsim.core.prims.xform_prim.XFormPrim'>
update period (s) : 0.016666666666666666
number of meshes : 1
number of sensors : 1
......
Migration Guide (Isaac Sim)
===========================
Moving from Isaac Sim 2022.2.1 to 2023.1.0 and later brings in a number of changes to the
APIs and the way the application is built. This document outlines the changes
and how to migrate your code to the new APIs. Many of these changes attribute to
the underlying Omniverse Kit upgrade from 104.2 to 105.1. The new upgrade brings
the following notable changes:
Moving from Isaac Sim 4.2 to 4.5 and later brings in a number of changes to the
APIs and Isaac Sim extensions and classes. This document outlines the changes
and how to migrate your code to the new APIs.
* Update to USD 22.11
* Upgrading the Python from 3.7 to 3.10
Renaming of Isaac Sim Extensions
--------------------------------
Renaming of PhysX Flatcache to PhysX Fabric
-------------------------------------------
Previously, Isaac Sim extensions have been following the convention of ``omni.isaac.*``,
such as ``omni.isaac.core``. In Isaac Sim 4.5, Isaac Sim extensions have been renamed
to use the prefix ``isaacsim``, replacing ``omni.isaac``. In addition, many extensions
have been renamed and split into multiple extensions to prepare for a more modular
framework that can be customized by users through the use of app templates.
The PhysX Flatcache has been renamed to PhysX Fabric. The new name is more
descriptive of the functionality and is consistent with the naming convention
used by Omniverse called `Fabric`_. Consequently, the Python module name has
also been changed from :mod:`omni.physxflatcache` to :mod:`omni.physxfabric`.
Notably, the following commonly used Isaac Sim extensions in Isaac Lab are renamed as follow:
Following this, on the Isaac Sim side, various renaming have occurred:
* The parameter passed to :class:`SimulationContext` constructor via the keyword :obj:`sim_params`
now expects the key ``use_fabric`` instead of ``use_flatcache``.
* The Python attribute :attr:`SimulationContext.get_physics_context().use_flatcache` is now
:attr:`SimulationContext.get_physics_context().use_fabric`.
* The Python function :meth:`SimulationContext.get_physics_context().enable_flatcache` is now
:meth:`SimulationContext.get_physics_context().enable_fabric`.
* ``omni.isaac.cloner`` --> ``isaacsim.core.cloner``
* ``omni.isaac.core.prims`` --> ``isaacsim.core.prims``
* ``omni.isaac.core.simulation_context`` --> ``isaacsim.core.api.simulation_context``
* ``omni.isaac.core.utils`` --> ``isaacsim.core.utils``
* ``omni.isaac.core.world`` --> ``isaacsim.core.api.world``
* ``omni.isaac.kit.SimulationApp`` --> ``isaacsim.SimulationApp``
* ``omni.isaac.ui`` --> ``isaacsim.gui.components``
Renaming of the URDF and MJCF Importers
---------------------------------------
Starting from Isaac Sim 2023.1, the URDF and MJCF importers have been renamed to be more consistent
with the other asset importers in Omniverse. The importers are now available on NVIDIA-Omniverse GitHub
Starting from Isaac Sim 4.5, the URDF and MJCF importers have been renamed to be more consistent
with the other extensions in Isaac Sim. The importers are available on isaac-sim GitHub
as open source projects.
Due to the extension name change, the Python module names have also been changed:
* URDF Importer: :mod:`omni.importer.urdf` (previously :mod:`omni.isaac.urdf`)
* MJCF Importer: :mod:`omni.importer.mjcf` (previously :mod:`omni.isaac.mjcf`)
Deprecation of :class:`UsdLux.Light` API
----------------------------------------
As highlighted in the release notes of `USD 22.11`_, the ``UsdLux.Light`` API has
been deprecated in favor of the new ``UsdLuxLightAPI`` API. In the new API the attributes
are prefixed with ``inputs:``. For example, the ``intensity`` attribute is now available as
``inputs:intensity``.
The following example shows how to create a sphere light using the old API and
the new API.
.. dropdown:: Code for Isaac Sim 2022.2.1 and below
:icon: code
.. code-block:: python
import omni.isaac.core.utils.prims as prim_utils
prim_utils.create_prim(
"/World/Light/GreySphere",
"SphereLight",
translation=(4.5, 3.5, 10.0),
attributes={"radius": 2.5, "intensity": 600.0, "color": (0.75, 0.75, 0.75)},
)
.. dropdown:: Code for Isaac Sim 2023.1.0 and above
:icon: code
.. code-block:: python
import omni.isaac.core.utils.prims as prim_utils
prim_utils.create_prim(
"/World/Light/WhiteSphere",
"SphereLight",
translation=(-4.5, 3.5, 10.0),
attributes={
"inputs:radius": 2.5,
"inputs:intensity": 600.0,
"inputs:color": (1.0, 1.0, 1.0)
},
)
.. _Fabric: https://docs.omniverse.nvidia.com/kit/docs/usdrt/latest/docs/usd_fabric_usdrt.html
.. _`USD 22.11`: https://github.com/PixarAnimationStudios/OpenUSD/blob/release/CHANGELOG.md
* URDF Importer: :mod:`isaacsim.asset.importer.urdf` (previously :mod:`omni.importer.urdf`)
* MJCF Importer: :mod:`isaacsim.asset.importer.mjcf` (previously :mod:`omni.importer.mjcf`)
From the Isaac Sim UI, both URDF and MJCF importers can now be accessed directly from the File > Import
menu when selecting a corresponding .urdf or .xml file in the file browser.
Renaming of omni.isaac.core Classes
-----------------------------------
Isaac Sim 4.5 introduced some naming changes to the core prim classes that are commonly
used in Isaac Lab. These affect the single and ``View`` variations of the prim classes, including
Articulation, RigidPrim, XFormPrim, and others. Single-object classes are now prefixed with
``Single``, such as ``SingleArticulation``, while tensorized View classes now have the ``View``
suffix removed.
The exact renamings of the classes are as follow:
* ``Articulation`` --> ``SingleArticulation``
* ``ArticulationView`` --> ``Articulation``
* ``ClothPrim`` --> ``SingleClothPrim``
* ``ClothPrimView`` --> ``ClothPrim``
* ``DeformablePrim`` --> ``SingleDeformablePrim``
* ``DeformablePrimView`` --> ``DeformablePrim``
* ``GeometryPrim`` --> ``SingleGeometryPrim``
* ``GeometryPrimView`` --> ``GeometryPrim``
* ``ParticleSystem`` --> ``SingleParticleSystem``
* ``ParticleSystemView`` --> ``ParticleSystem``
* ``RigidPrim`` --> ``SingleRigidPrim``
* ``RigidPrimView`` --> ``RigidPrim``
* ``XFormPrim`` --> ``SingleXFormPrim``
* ``XFormPrimView`` --> ``XFormPrim``
Migration Guide (Isaac Sim)
===========================
Moving from Isaac Sim 2022.2.1 to 2023.1.0 and later brings in a number of changes to the
APIs and the way the application is built. This document outlines the changes
and how to migrate your code to the new APIs. Many of these changes attribute to
the underlying Omniverse Kit upgrade from 104.2 to 105.1. The new upgrade brings
the following notable changes:
* Update to USD 22.11
* Upgrading the Python from 3.7 to 3.10
Renaming of PhysX Flatcache to PhysX Fabric
-------------------------------------------
The PhysX Flatcache has been renamed to PhysX Fabric. The new name is more
descriptive of the functionality and is consistent with the naming convention
used by Omniverse called `Fabric`_. Consequently, the Python module name has
also been changed from :mod:`omni.physxflatcache` to :mod:`omni.physxfabric`.
Following this, on the Isaac Sim side, various renaming have occurred:
* The parameter passed to :class:`SimulationContext` constructor via the keyword :obj:`sim_params`
now expects the key ``use_fabric`` instead of ``use_flatcache``.
* The Python attribute :attr:`SimulationContext.get_physics_context().use_flatcache` is now
:attr:`SimulationContext.get_physics_context().use_fabric`.
* The Python function :meth:`SimulationContext.get_physics_context().enable_flatcache` is now
:meth:`SimulationContext.get_physics_context().enable_fabric`.
Renaming of the URDF and MJCF Importers
---------------------------------------
Starting from Isaac Sim 2023.1, the URDF and MJCF importers have been renamed to be more consistent
with the other asset importers in Omniverse. The importers are now available on NVIDIA-Omniverse GitHub
as open source projects.
Due to the extension name change, the Python module names have also been changed:
* URDF Importer: :mod:`omni.importer.urdf` (previously :mod:`omni.isaac.urdf`)
* MJCF Importer: :mod:`omni.importer.mjcf` (previously :mod:`omni.isaac.mjcf`)
Deprecation of :class:`UsdLux.Light` API
----------------------------------------
As highlighted in the release notes of `USD 22.11`_, the ``UsdLux.Light`` API has
been deprecated in favor of the new ``UsdLuxLightAPI`` API. In the new API the attributes
are prefixed with ``inputs:``. For example, the ``intensity`` attribute is now available as
``inputs:intensity``.
The following example shows how to create a sphere light using the old API and
the new API.
.. dropdown:: Code for Isaac Sim 2022.2.1 and below
:icon: code
.. code-block:: python
import isaacsim.core.utils.prims as prim_utils
prim_utils.create_prim(
"/World/Light/GreySphere",
"SphereLight",
translation=(4.5, 3.5, 10.0),
attributes={"radius": 2.5, "intensity": 600.0, "color": (0.75, 0.75, 0.75)},
)
.. dropdown:: Code for Isaac Sim 2023.1.0 and above
:icon: code
.. code-block:: python
import isaacsim.core.utils.prims as prim_utils
prim_utils.create_prim(
"/World/Light/WhiteSphere",
"SphereLight",
translation=(-4.5, 3.5, 10.0),
attributes={
"inputs:radius": 2.5,
"inputs:intensity": 600.0,
"inputs:color": (1.0, 1.0, 1.0)
},
)
.. _Fabric: https://docs.omniverse.nvidia.com/kit/docs/usdrt/latest/docs/usd_fabric_usdrt.html
.. _`USD 22.11`: https://github.com/PixarAnimationStudios/OpenUSD/blob/release/CHANGELOG.md
......@@ -107,7 +107,7 @@ For more information on common paths, please check the Isaac Sim
# checks that python path is set correctly
${ISAACSIM_PYTHON_EXE} -c "print('Isaac Sim configuration is now complete.')"
# checks that Isaac Sim can be launched from python
${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/omni.isaac.core/add_cubes.py
${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/isaacsim.core.api/add_cubes.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
......@@ -117,7 +117,7 @@ For more information on common paths, please check the Isaac Sim
:: checks that python path is set correctly
%ISAACSIM_PYTHON_EXE% -c "print('Isaac Sim configuration is now complete.')"
:: checks that Isaac Sim can be launched from python
%ISAACSIM_PYTHON_EXE% %ISAACSIM_PATH%\standalone_examples\api\omni.isaac.core\add_cubes.py
%ISAACSIM_PYTHON_EXE% %ISAACSIM_PATH%\standalone_examples\api\isaacsim.core.api\add_cubes.py
.. caution::
......
......@@ -36,7 +36,7 @@ This is necessary to do at the start since various dependency modules of Isaac S
after the simulation app is running.
This can be done by importing the :class:`app.AppLauncher` class. This utility class wraps around
:class:`omni.isaac.kit.SimulationApp` class to launch the simulator. It provides mechanisms to
:class:`isaacsim.SimulationApp` class to launch the simulator. It provides mechanisms to
configure the simulator using command-line arguments and environment variables.
For this tutorial, we mainly look at adding the command-line options to a user-defined
......@@ -73,7 +73,7 @@ context**. It takes care of various timeline events and also configures the `phy
simulation.
In Isaac Lab, the :class:`sim.SimulationContext` class inherits from Isaac Sim's
:class:`omni.isaac.core.simulation_context.SimulationContext` to allow configuring the simulation
:class:`isaacsim.core.api.simulation_context.SimulationContext` to allow configuring the simulation
through Python's ``dataclass`` object and handle certain intricacies of the simulation stepping.
For this tutorial, we set the physics and rendering time step to 0.01 seconds. This is done
......@@ -124,7 +124,7 @@ Exiting the simulation
----------------------
Lastly, the simulation application is stopped and its window is closed by calling
:meth:`omni.isaac.kit.SimulationApp.close` method.
:meth:`isaacsim.SimulationApp.close` method.
.. literalinclude:: ../../../../source/standalone/tutorials/00_sim/create_empty.py
:language: python
......
......@@ -5,18 +5,18 @@ Deep-dive into AppLauncher
In this tutorial, we will dive into the :class:`app.AppLauncher` class to configure the simulator using
CLI arguments and environment variables (envars). Particularly, we will demonstrate how to use
:class:`~app.AppLauncher` to enable livestreaming and configure the :class:`omni.isaac.kit.SimulationApp`
:class:`~app.AppLauncher` to enable livestreaming and configure the :class:`isaacsim.simulation_app.SimulationApp`
instance it wraps, while also allowing user-provided options.
The :class:`~app.AppLauncher` is a wrapper for :class:`~omni.isaac.kit.SimulationApp` to simplify
its configuration. The :class:`~omni.isaac.kit.SimulationApp` has many extensions that must be
The :class:`~app.AppLauncher` is a wrapper for :class:`~isaacsim.simulation_app.SimulationApp` to simplify
its configuration. The :class:`~isaacsim.simulation_app.SimulationApp` has many extensions that must be
loaded to enable different capabilities, and some of these extensions are order- and inter-dependent.
Additionally, there are startup options such as ``headless`` which must be set at instantiation time,
and which have an implied relationship with some extensions, e.g. the livestreaming extensions.
The :class:`~app.AppLauncher` presents an interface that can handle these extensions and startup
options in a portable manner across a variety of use cases. To achieve this, we offer CLI and envar
flags which can be merged with user-defined CLI args, while passing forward arguments intended
for :class:`~omni.isaac.kit.SimulationApp`.
for :class:`~isaacsim.simulation_app.SimulationApp`.
The Code
......@@ -44,7 +44,7 @@ their own scripts, while still providing a portable CLI interface.
In this tutorial, a standard :class:`argparse.ArgumentParser` is instantiated and given the
script-specific ``--size`` argument, as well as the arguments ``--height`` and ``--width``.
The latter are ingested by :class:`~omni.isaac.kit.SimulationApp`.
The latter are ingested by :class:`~isaacsim.simulation_app.SimulationApp`.
The argument ``--size`` is not used by :class:`~app.AppLauncher`, but will merge seamlessly
with the :class:`~app.AppLauncher` interface. In-script arguments can be merged with the
......@@ -103,10 +103,10 @@ This readout details the ``--size``, ``--height``, and ``--width`` arguments def
as well as the :class:`~app.AppLauncher` arguments.
The ``[INFO]`` messages preceding the help output also reads out which of these arguments are going
to be interpreted as arguments to the :class:`~omni.isaac.kit.SimulationApp` instance which the
to be interpreted as arguments to the :class:`~isaacsim.simulation_app.SimulationApp` instance which the
:class:`~app.AppLauncher` class wraps. In this case, it is ``--height`` and ``--width``. These
are classified as such because they match the name and type of an argument which can be processed
by :class:`~omni.isaac.kit.SimulationApp`. Please refer to the `specification`_ for such arguments
by :class:`~isaacsim.simulation_app.SimulationApp`. Please refer to the `specification`_ for such arguments
for more examples.
Using environment variables
......@@ -125,7 +125,7 @@ as we will demonstrate later in this tutorial.
These arguments can be used with any script that starts the simulation using :class:`~app.AppLauncher`,
with one exception, ``--enable_cameras``. This setting sets the rendering pipeline to use the
offscreen renderer. However, this setting is only compatible with the :class:`omni.isaac.lab.sim.SimulationContext`.
It will not work with Isaac Sim's :class:`omni.isaac.core.simulation_context.SimulationContext` class.
It will not work with Isaac Sim's :class:`isaacsim.core.api.simulation_context.SimulationContext` class.
For more information on this flag, please see the :class:`~app.AppLauncher` API documentation.
......@@ -159,7 +159,7 @@ This will cause the same behavior as in the previous run, because although we ha
in our envars, CLI args such as ``--livestream`` take precedence in determining behavior. The process can
be killed by pressing ``Ctrl+C`` in the launching terminal.
Finally, we will examine passing arguments to :class:`~omni.isaac.kit.SimulationApp` through
Finally, we will examine passing arguments to :class:`~isaacsim.simulation_app.SimulationApp` through
:class:`~app.AppLauncher`:
.. code-block:: console
......@@ -172,5 +172,5 @@ want our simulation to be more performant. The process can be killed by pressing
terminal.
.. _specification: https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/omni.isaac.kit/docs/index.html#omni.isaac.kit.SimulationApp.DEFAULT_LAUNCHER_CONFIG
.. _specification: https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/isaacsim.simulation_app/docs/index.html#isaacsim.simulation_app.SimulationApp.DEFAULT_LAUNCHER_CONFIG
.. _Native Livestreaming: https://docs.omniverse.nvidia.com/isaacsim/latest/installation/manual_livestream_clients.html#omniverse-streaming-client
......@@ -269,7 +269,7 @@ set "arg=%~1"
rem read the key
if "%arg%"=="-i" (
rem install the python packages in omni.isaac.rl/source directory
rem install the python packages in omni.isaac.lab/source directory
echo [INFO] Installing extensions inside the Isaac Lab repository...
call :extract_python_exe
for /d %%d in ("%ISAACLAB_PATH%\source\extensions\*") do (
......
......@@ -42,8 +42,8 @@ extra_standard_library = [
]
# Imports from Isaac Sim and Omniverse
known_third_party = [
"omni.isaac.core",
"omni.replicator.isaac",
"isaacsim.core.api",
"isaacsim.replicator.common",
"omni.replicator.core",
"pxr",
"omni.kit.*",
......
......@@ -5,7 +5,7 @@
[package]
title = "Isaac Lab Python Headless"
description = "An app for running Isaac Lab headlessly"
version = "1.4.1"
version = "2.0.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "headless"]
......@@ -15,7 +15,7 @@ keywords = ["experience", "app", "isaaclab", "python", "headless"]
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.2.0"
app.version = "4.5.0"
##################################
# Omniverse related dependencies #
......@@ -252,8 +252,8 @@ enabled=true # Enable this for DLSS
# Isaac Sim Extensions #
########################
[dependencies]
"omni.isaac.core" = {}
"omni.isaac.cloner" = {}
"omni.isaac.kit" = {}
"omni.isaac.version" = {}
"omni.kit.loop-isaac" = {}
"isaacsim.simulation_app" = {}
"isaacsim.core.api" = {}
"isaacsim.core.cloner" = {}
"isaacsim.core.utils" = {}
"isaacsim.core.version" = {}
......@@ -9,7 +9,7 @@
[package]
title = "Isaac Lab Python Headless Camera"
description = "An app for running Isaac Lab headlessly with rendering enabled"
version = "1.4.1"
version = "2.0.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]
......@@ -18,7 +18,6 @@ keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]
# Isaac Lab minimal app
"isaaclab.python.headless" = {}
"omni.replicator.core" = {}
"omni.replicator.isaac" = {}
# Rendering
"omni.kit.material.library" = {}
......@@ -33,7 +32,7 @@ cameras_enabled = true
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.2.0"
app.version = "4.5.0"
# Disable print outs on extension startup information
# this only disables the app print_and_log function
......
......@@ -5,7 +5,7 @@
[package]
title = "Isaac Lab Python"
description = "An app for running Isaac Lab"
version = "1.4.1"
version = "2.0.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "usd"]
......@@ -15,100 +15,96 @@ keywords = ["experience", "app", "usd"]
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.2.0"
app.version = "4.5.0"
[dependencies]
# Isaac Sim extensions
"omni.isaac.cloner" = {}
"omni.isaac.core" = {}
"omni.isaac.core_nodes" = {}
"omni.isaac.debug_draw" = {}
"omni.isaac.kit" = {}
"omni.isaac.menu" = {}
"omni.isaac.nucleus" = {}
"omni.isaac.range_sensor" = {}
"omni.isaac.sensor" = {}
"omni.isaac.ui" = {}
"omni.isaac.utils" = {}
"omni.isaac.version" = {}
"omni.kit.property.isaac" = {}
"omni.replicator.isaac" = {}
# Kit extensions
"omni.graph.bundle.action" = {}
"omni.graph.visualization.nodes" = {}
"omni.graph.window.action" = {}
"omni.graph.window.generic" = {}
"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.replicator.common" = {}
"isaacsim.robot_motion.lula" = {}
"isaacsim.robot_motion.motion_generation" = {}
"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.kit.context_menu" = {}
"omni.kit.hotkeys.window" = {}
"omni.kit.loop-isaac" = {}
"omni.kit.menu.common" = {}
"omni.hydra.rtx" = {}
"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.profiler.window" = {}
"omni.kit.property.bundle" = {}
"omni.kit.property.layer" = {}
"omni.kit.renderer.core" = {}
"omni.kit.selection" = {}
"omni.kit.stage_column.payload" = {}
"omni.kit.stage_column.variant" = {}
"omni.kit.stage_templates" = {}
"omni.kit.stagerecorder.core" = {}
"omni.kit.raycast.query" = {}
"omni.kit.stage_template.core" = {}
"omni.kit.telemetry" = {}
"omni.kit.uiapp" = {}
"omni.kit.viewport.window" = {}
"omni.kit.manipulator.camera" = {}
"omni.kit.manipulator.prim" = {}
"omni.kit.manipulator.selection" = {}
"omni.kit.window.drop_support" = {}
"omni.kit.viewport.menubar.settings" = {}
"omni.kit.viewport.menubar.render" = {}
"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.rtx" = {}
"omni.kit.widget.cache_indicator" = {}
"omni.kit.widget.extended_searchfield" = {}
"omni.kit.widget.filebrowser" = {}
"omni.kit.widget.layers" = {}
"omni.kit.widget.live" = {}
"omni.kit.widget.timeline" = {}
"omni.kit.window.commands" = {}
"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.cursor" = {}
"omni.kit.window.extensions" = {}
"omni.kit.window.file" = {}
"omni.kit.window.filepicker" = {}
"omni.kit.window.property" = {}
"omni.kit.window.script_editor" = {}
"omni.kit.window.stage" = {}
"omni.kit.window.stats" = {order = 1000}
"omni.kit.window.status_bar" = {}
"omni.kit.window.title" = {}
"omni.kit.window.toolbar" = {}
"omni.physx.bundle" = {}
# "omni.physx.fabric" = {}
"omni.physx.tensors" = {}
"omni.replicator.core" = {}
"omni.replicator.replicator_yaml" = {}
"omni.resourcemonitor" = {}
"omni.physx.stageupdate" = {}
"omni.rtx.settings.core" = {}
"omni.stats" = {}
"omni.syntheticdata" = {}
"omni.usd.schema.scene.visualization" = {}
"omni.warp" = {}
"semantics.schema.editor" = {}
"semantics.schema.property" = {}
"omni.uiaudio" = {}
"omni.usd.metrics.assembler.ui" = {}
"omni.usd.schema.metrics.assembler" = {}
"omni.warp.core" = {}
[settings]
renderer.active = "rtx"
......
......@@ -9,7 +9,7 @@
[package]
title = "Isaac Lab Python Camera"
description = "An app for running Isaac Lab with rendering enabled"
version = "1.4.1"
version = "2.0.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]
......@@ -33,7 +33,7 @@ cameras_enabled = true
app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.2.0"
app.version = "4.5.0"
# Disable print outs on extension startup information
# this only disables the app print_and_log function
......
......@@ -5,7 +5,7 @@
[package]
title = "Isaac Lab Python OpenXR"
description = "An app for running Isaac Lab with OpenXR"
version = "1.2.0"
version = "2.0.0"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "usd"]
......
......@@ -11,10 +11,6 @@ repository = "https://github.com/isaac-sim/IsaacLab"
category = "robotics"
keywords = ["kit", "robotics", "learning", "ai"]
[dependencies]
"omni.isaac.core" = {}
"omni.replicator.core" = {}
[python.pipapi]
requirements = [
"numpy",
......
......@@ -163,7 +163,7 @@ Added
* Added full buffer property to :class:`omni.isaac.lab.utils.buffers.circular_buffer.CircularBuffer`
0.27.31 (2024-12-15)
0.27.32 (2024-12-15)
~~~~~~~~~~~~~~~~~~~~
Added
......@@ -172,7 +172,7 @@ Added
* Added action clip to all :class:`omni.isaac.lab.envs.mdp.actions`.
0.27.30 (2024-12-14)
0.27.31 (2024-12-14)
~~~~~~~~~~~~~~~~~~~~
Changed
......@@ -181,7 +181,7 @@ Changed
* Added check for error below threshold in state machines to ensure the state has been reached.
0.27.29 (2024-12-13)
0.27.30 (2024-12-13)
~~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -190,7 +190,7 @@ Fixed
* Fixed the shape of ``quat_w`` in the ``apply_actions`` method of :attr:`~omni.isaac.lab.env.mdp.NonHolonomicAction` (previously (N,B,4), now (N,4) since the number of root bodies B is required to be 1). Previously ``apply_actions`` errored because ``euler_xyz_from_quat`` requires inputs of shape (N,4).
0.27.28 (2024-12-11)
0.27.29 (2024-12-11)
~~~~~~~~~~~~~~~~~~~~
Changed
......@@ -201,7 +201,7 @@ Changed
* Improved documentation to clarify the usage of the :meth:`~omni.isaac.lab.envs.mdp.rewards.base_height_l2` function in both flat and rough terrain settings.
0.27.27 (2024-12-11)
0.27.28 (2024-12-11)
~~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -211,7 +211,7 @@ Fixed
Jacobian computed w.r.t. to the root frame of the robot. This helps ensure that root pose does not affect the tracking.
0.27.26 (2024-12-09)
0.27.27 (2024-12-09)
~~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -221,7 +221,7 @@ Fixed
return only the states of the specified environment IDs.
0.27.25 (2024-12-06)
0.27.26 (2024-12-06)
~~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -231,7 +231,7 @@ Fixed
:attr:`~omni.isaac.lab.assets.Articulation.root_physx_view` level.
0.27.24 (2024-12-06)
0.27.25 (2024-12-06)
~~~~~~~~~~~~~~~~~~~~
Changed
......@@ -242,7 +242,7 @@ Changed
disabled. Using an articulation root for rigid bodies is not needed and decreases overall performance.
0.27.23 (2024-12-06)
0.27.24 (2024-12-06)
~~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -252,7 +252,7 @@ Fixed
Earlier, the projection names used snakecase instead of camelcase.
0.27.22 (2024-12-06)
0.27.23 (2024-12-06)
~~~~~~~~~~~~~~~~~~~~
Added
......@@ -270,7 +270,7 @@ Changed
:class:`~omni.isaac.lab.sensors.Camera` did not clip them and had a different behavior for both types.
0.27.21 (2024-12-05)
0.27.22 (2024-12-05)
~~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -279,7 +279,7 @@ Fixed
* Fixed the condition in ``isaaclab.sh`` that checks whether ``pre-commit`` is installed before attempting installation.
0.27.20 (2024-12-04)
0.27.21 (2024-12-04)
~~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -288,7 +288,7 @@ Fixed
* Fixed the order of the incoming parameters in :class:`omni.isaac.lab.envs.DirectMARLEnv` to correctly use ``NoiseModel`` in marl-envs.
0.27.19 (2024-12-04)
0.27.20 (2024-12-04)
~~~~~~~~~~~~~~~~~~~~
Added
......@@ -303,7 +303,7 @@ Added
* Added ``replay_demos.py`` script to replay demos loaded from an HDF5 file.
0.27.18 (2024-12-02)
0.27.19 (2024-12-02)
~~~~~~~~~~~~~~~~~~~~
Changed
......@@ -312,6 +312,15 @@ Changed
* Changed :class:`omni.isaac.lab.envs.DirectMARLEnv` to inherit from ``Gymnasium.Env`` due to requirement from Gymnasium v1.0.0 requiring all environments to be a subclass of ``Gymnasium.Env`` when using the ``make`` interface.
0.27.18 (2024-11-28)
~~~~~~~~~~~~~~~~~~~~
Changed
^^^^^^^
* Renamed Isaac Sim imports to follow Isaac Sim 4.5 naming conventions.
0.27.17 (2024-11-20)
~~~~~~~~~~~~~~~~~~~~
......@@ -1523,7 +1532,7 @@ Fixed
^^^^^
* Fixed the env origins in :meth:`_compute_env_origins_grid` of :class:`omni.isaac.lab.terrain.TerrainImporter`
to match that obtained from the Isaac Sim :class:`omni.isaac.cloner.GridCloner` class.
to match that obtained from the Isaac Sim :class:`isaacsim.core.cloner.GridCloner` class.
Added
^^^^^
......@@ -3044,7 +3053,7 @@ Added
^^^^^
* Added the :class:`omni.isaac.lab.sim.SimulationContext` class to the :mod:`omni.isaac.lab.sim` module.
This class inherits from the :class:`omni.isaac.core.simulation_context.SimulationContext` class and adds
This class inherits from the :class:`isaacsim.core.api.simulation_context.SimulationContext` class and adds
the ability to create a simulation context from a configuration object.
......@@ -3310,7 +3319,7 @@ Added
~~~~~~~~~~~~~~~~~~
* Added the :class:`omni.isaac.lab.app.AppLauncher` class to allow controlled instantiation of
the `SimulationApp <https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/omni.isaac.kit/docs/index.html>`_
the `SimulationApp <https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/isaacsim.simulation_app/docs/index.html>`_
and extension loading for remote deployment and ROS bridges.
Changed
......
......@@ -3,12 +3,12 @@
#
# SPDX-License-Identifier: BSD-3-Clause
"""Sub-package with the utility class to configure the :class:`omni.isaac.kit.SimulationApp`.
"""Sub-package with the utility class to configure the :class:`isaacsim.simulation_app.SimulationApp`.
The :class:`AppLauncher` parses environment variables and input CLI arguments to launch the simulator in
various different modes. This includes with or without GUI and switching between different Omniverse remote
clients. Some of these require the extensions to be loaded in a specific order, otherwise a segmentation
fault occurs. The launched :class:`omni.isaac.kit.SimulationApp` instance is accessible via the
fault occurs. The launched :class:`isaacsim.simulation_app.SimulationApp` instance is accessible via the
:attr:`AppLauncher.app` property.
"""
......@@ -23,7 +23,7 @@ from typing import Any, Literal
with contextlib.suppress(ModuleNotFoundError):
import isaacsim # noqa: F401
from omni.isaac.kit import SimulationApp
from isaacsim import SimulationApp
class AppLauncher:
......@@ -66,7 +66,7 @@ class AppLauncher:
such as ``LIVESTREAM``.
.. _argparse.Namespace: https://docs.python.org/3/library/argparse.html?highlight=namespace#argparse.Namespace
.. _SimulationApp: https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/omni.isaac.kit/docs/index.html
.. _SimulationApp: https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/isaacsim.simulation_app/docs/index.html
"""
# We allow users to pass either a dict or an argparse.Namespace into
# __init__, anticipating that these will be all of the argparse arguments
......@@ -631,7 +631,7 @@ class AppLauncher:
# These have to be loaded after SimulationApp is initialized
import carb
import omni.physx.bindings._physx as physx_impl
from omni.isaac.core.utils.extensions import enable_extension
from isaacsim.core.utils.extensions import enable_extension
# Retrieve carb settings for modification
carb_settings_iface = carb.settings.get_settings()
......
......@@ -13,7 +13,7 @@ from collections.abc import Sequence
from prettytable import PrettyTable
from typing import TYPE_CHECKING
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.log
import omni.physics.tensors.impl.api as physx
from pxr import PhysxSchema, UsdPhysics
......
......@@ -40,7 +40,7 @@ class AssetBase(ABC):
:mod:`omni.isaac.lab.sim.spawners` module.
Unlike Isaac Sim interface, where one usually needs to call the
:meth:`omni.isaac.core.prims.XFormPrimView.initialize` method to initialize the PhysX handles, the asset
:meth:`isaacsim.core.prims.XFormPrim.initialize` method to initialize the PhysX handles, the asset
class automatically initializes and invalidates the PhysX handles when the stage is played/stopped. This
is done by registering callbacks for the stage play/stop events.
......
......@@ -5,12 +5,14 @@
import os
from omni.isaac.core.utils.extensions import get_extension_path_from_name
from isaacsim.core.utils.extensions import get_extension_path_from_name
from omni.isaac.lab.controllers.rmp_flow import RmpFlowControllerCfg
# Note: RMP-Flow config files for supported robots are stored in the motion_generation extension
_RMP_CONFIG_DIR = os.path.join(get_extension_path_from_name("omni.isaac.motion_generation"), "motion_policy_configs")
_RMP_CONFIG_DIR = os.path.join(
get_extension_path_from_name("isaacsim.robot_motion.motion_generation"), "motion_policy_configs"
)
# Path to current directory
_CUR_DIR = os.path.dirname(os.path.realpath(__file__))
......@@ -22,7 +24,7 @@ FRANKA_RMPFLOW_CFG = RmpFlowControllerCfg(
frame_name="panda_end_effector",
evaluations_per_frame=5,
)
"""Configuration of RMPFlow for Franka arm (default from `omni.isaac.motion_generation`)."""
"""Configuration of RMPFlow for Franka arm (default from `isaacsim.robot_motion.motion_generation`)."""
UR10_RMPFLOW_CFG = RmpFlowControllerCfg(
......@@ -32,4 +34,4 @@ UR10_RMPFLOW_CFG = RmpFlowControllerCfg(
frame_name="ee_link",
evaluations_per_frame=5,
)
"""Configuration of RMPFlow for UR10 arm (default from `omni.isaac.motion_generation`)."""
"""Configuration of RMPFlow for UR10 arm (default from `isaacsim.robot_motion.motion_generation`)."""
......@@ -6,11 +6,11 @@
import torch
from dataclasses import MISSING
import omni.isaac.core.utils.prims as prim_utils
from omni.isaac.core.articulations import Articulation
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.motion_generation import ArticulationMotionPolicy
from omni.isaac.motion_generation.lula.motion_policies import RmpFlow, RmpFlowSmoothed
import isaacsim.core.utils.prims as prim_utils
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.prims.articulations import Articulation
from isaacsim.robot_motion.motion_generation import ArticulationMotionPolicy
from isaacsim.robot_motion.motion_generation.lula.motion_policies import RmpFlow, RmpFlowSmoothed
from omni.isaac.lab.utils import configclass
......
......@@ -17,10 +17,10 @@ from collections.abc import Sequence
from dataclasses import MISSING
from typing import Any, ClassVar
import omni.isaac.core.utils.torch as torch_utils
import isaacsim.core.utils.torch as torch_utils
import omni.kit.app
import omni.log
from omni.isaac.version import get_version
from isaacsim.core.version import get_version
from omni.isaac.lab.managers import EventManager
from omni.isaac.lab.scene import InteractiveScene
......
......@@ -17,10 +17,10 @@ from collections.abc import Sequence
from dataclasses import MISSING
from typing import Any, ClassVar
import omni.isaac.core.utils.torch as torch_utils
import isaacsim.core.utils.torch as torch_utils
import omni.kit.app
import omni.log
from omni.isaac.version import get_version
from isaacsim.core.version import get_version
from omni.isaac.lab.managers import EventManager
from omni.isaac.lab.scene import InteractiveScene
......
......@@ -8,7 +8,7 @@ import torch
from collections.abc import Sequence
from typing import Any
import omni.isaac.core.utils.torch as torch_utils
import isaacsim.core.utils.torch as torch_utils
import omni.log
from omni.isaac.lab.managers import ActionManager, EventManager, ObservationManager, RecorderManager
......
......@@ -13,7 +13,7 @@ import torch
from collections.abc import Sequence
from typing import Any, ClassVar
from omni.isaac.version import get_version
from isaacsim.core.version import get_version
from omni.isaac.lab.managers import CommandManager, CurriculumManager, RewardManager, TerminationManager
from omni.isaac.lab.ui.widgets import ManagerLiveVisualizer
......
......@@ -11,6 +11,7 @@ import weakref
from datetime import datetime
from typing import TYPE_CHECKING
import isaacsim
import omni.kit.app
import omni.kit.commands
import omni.usd
......@@ -110,7 +111,7 @@ class BaseEnvWindow:
width=omni.ui.Fraction(1),
height=0,
collapsed=False,
style=omni.isaac.ui.ui_utils.get_style(),
style=isaacsim.gui.components.ui_utils.get_style(),
horizontal_scrollbar_policy=omni.ui.ScrollBarPolicy.SCROLLBAR_AS_NEEDED,
vertical_scrollbar_policy=omni.ui.ScrollBarPolicy.SCROLLBAR_ALWAYS_ON,
)
......@@ -127,7 +128,9 @@ class BaseEnvWindow:
"tooltip": "Select a rendering mode\n" + self.env.sim.RenderMode.__doc__,
"on_clicked_fn": lambda value: self.env.sim.set_render_mode(self.env.sim.RenderMode[value]),
}
self.ui_window_elements["render_dropdown"] = omni.isaac.ui.ui_utils.dropdown_builder(**render_mode_cfg)
self.ui_window_elements["render_dropdown"] = isaacsim.gui.components.ui_utils.dropdown_builder(
**render_mode_cfg
)
# create animation recording box
record_animate_cfg = {
......@@ -138,7 +141,7 @@ class BaseEnvWindow:
"tooltip": "Record the animation of the scene. Only effective if fabric is disabled.",
"on_clicked_fn": lambda value: self._toggle_recording_animation_fn(value),
}
self.ui_window_elements["record_animation"] = omni.isaac.ui.ui_utils.state_btn_builder(
self.ui_window_elements["record_animation"] = isaacsim.gui.components.ui_utils.state_btn_builder(
**record_animate_cfg
)
# disable the button if fabric is not enabled
......@@ -152,7 +155,7 @@ class BaseEnvWindow:
width=omni.ui.Fraction(1),
height=0,
collapsed=False,
style=omni.isaac.ui.ui_utils.get_style(),
style=isaacsim.gui.components.ui_utils.get_style(),
horizontal_scrollbar_policy=omni.ui.ScrollBarPolicy.SCROLLBAR_AS_NEEDED,
vertical_scrollbar_policy=omni.ui.ScrollBarPolicy.SCROLLBAR_ALWAYS_ON,
)
......@@ -170,7 +173,9 @@ class BaseEnvWindow:
"max": self.env.num_envs,
"tooltip": "The environment index to follow. Only effective if follow mode is not 'World'.",
}
self.ui_window_elements["viewer_env_index"] = omni.isaac.ui.ui_utils.int_builder(**viewport_origin_cfg)
self.ui_window_elements["viewer_env_index"] = isaacsim.gui.components.ui_utils.int_builder(
**viewport_origin_cfg
)
# create a number slider to move to environment origin
self.ui_window_elements["viewer_env_index"].add_value_changed_fn(self._set_viewer_env_index_fn)
......@@ -183,17 +188,19 @@ class BaseEnvWindow:
"tooltip": "Select the viewport camera following mode.",
"on_clicked_fn": self._set_viewer_origin_type_fn,
}
self.ui_window_elements["viewer_follow"] = omni.isaac.ui.ui_utils.dropdown_builder(**viewer_follow_cfg)
self.ui_window_elements["viewer_follow"] = isaacsim.gui.components.ui_utils.dropdown_builder(
**viewer_follow_cfg
)
# add viewer default eye and lookat locations
self.ui_window_elements["viewer_eye"] = omni.isaac.ui.ui_utils.xyz_builder(
self.ui_window_elements["viewer_eye"] = isaacsim.gui.components.ui_utils.xyz_builder(
label="Camera Eye",
tooltip="Modify the XYZ location of the viewer eye.",
default_val=self.env.cfg.viewer.eye,
step=0.1,
on_value_changed_fn=[self._set_viewer_location_fn] * 3,
)
self.ui_window_elements["viewer_lookat"] = omni.isaac.ui.ui_utils.xyz_builder(
self.ui_window_elements["viewer_lookat"] = isaacsim.gui.components.ui_utils.xyz_builder(
label="Camera Target",
tooltip="Modify the XYZ location of the viewer target.",
default_val=self.env.cfg.viewer.lookat,
......@@ -215,7 +222,7 @@ class BaseEnvWindow:
width=omni.ui.Fraction(1),
height=0,
collapsed=False,
style=omni.isaac.ui.ui_utils.get_style(),
style=isaacsim.gui.components.ui_utils.get_style(),
horizontal_scrollbar_policy=omni.ui.ScrollBarPolicy.SCROLLBAR_AS_NEEDED,
vertical_scrollbar_policy=omni.ui.ScrollBarPolicy.SCROLLBAR_ALWAYS_ON,
)
......@@ -404,7 +411,7 @@ class BaseEnvWindow:
)
omni.ui.Label(
name.replace("_", " ").title(),
width=omni.isaac.ui.ui_utils.LABEL_WIDTH - 12,
width=isaacsim.gui.components.ui_utils.LABEL_WIDTH - 12,
alignment=omni.ui.Alignment.LEFT_CENTER,
tooltip=text,
)
......@@ -420,7 +427,7 @@ class BaseEnvWindow:
checked=is_checked,
on_checked_fn=lambda value, e=weakref.proxy(elem): e.set_debug_vis(value),
)
omni.isaac.ui.ui_utils.add_line_rect_flourish()
isaacsim.gui.components.ui_utils.add_line_rect_flourish()
# Create a panel for the debug visualization
if isinstance(elem, ManagerLiveVisualizer):
......
......@@ -23,7 +23,7 @@ import numpy as np
import torch
from dataclasses import MISSING
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.kit.commands
import omni.physx.scripts.utils as physx_utils
from pxr import Gf, PhysxSchema, Sdf, Usd, UsdGeom, UsdPhysics, Vt
......@@ -64,7 +64,7 @@ class VisualizationMarkers:
The class parses the configuration to create different the marker prototypes into the stage. Each marker
prototype prim is created as a child of the :class:`UsdGeom.PointInstancer` prim. The prim path for the
the marker prim is resolved using the key of the marker in the :attr:`VisualizationMarkersCfg.markers`
dictionary. The marker prototypes are created using the :meth:`omni.isaac.core.utils.create_prim`
dictionary. The marker prototypes are created using the :meth:`isaacsim.core.utils.create_prim`
function, and then then instanced using :class:`UsdGeom.PointInstancer` prim to allow creating multiple
instances of the marker prims.
......
......@@ -9,8 +9,8 @@ from typing import Any
import carb
import omni.usd
from omni.isaac.cloner import GridCloner
from omni.isaac.core.prims import XFormPrimView
from isaacsim.core.cloner import GridCloner
from isaacsim.core.prims import XFormPrim
from pxr import PhysxSchema
import omni.isaac.lab.sim as sim_utils
......@@ -323,10 +323,10 @@ class InteractiveScene:
return self._sensors
@property
def extras(self) -> dict[str, XFormPrimView]:
def extras(self) -> dict[str, XFormPrim]:
"""A dictionary of miscellaneous simulation objects that neither inherit from assets nor sensors.
The keys are the names of the miscellaneous objects, and the values are the `XFormPrimView`_
The keys are the names of the miscellaneous objects, and the values are the `XFormPrim`_
of the corresponding prims.
As an example, lights or other props in the scene that do not have any attributes or properties that you
......@@ -336,7 +336,7 @@ class InteractiveScene:
These are not reset or updated by the scene. They are mainly other prims that are not necessarily
handled by the interactive scene, but are useful to be accessed by the user.
.. _XFormPrimView: https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/omni.isaac.core/docs/index.html#omni.isaac.core.prims.XFormPrimView
.. _XFormPrim: https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/isaacsim.core/docs/index.html#isaacsim.core.prims.XFormPrim
"""
return self._extras
......@@ -620,7 +620,7 @@ class InteractiveScene:
)
# store xform prim view corresponding to this asset
# all prims in the scene are Xform prims (i.e. have a transform component)
self._extras[asset_name] = XFormPrimView(asset_cfg.prim_path, reset_xform_properties=False)
self._extras[asset_name] = XFormPrim(asset_cfg.prim_path, reset_xform_properties=False)
else:
raise ValueError(f"Unknown asset config type for {asset_name}: {asset_cfg}")
# store global collision paths
......
......@@ -12,10 +12,10 @@ from collections.abc import Sequence
from typing import TYPE_CHECKING, Any, Literal
import carb
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.kit.commands
import omni.usd
from omni.isaac.core.prims import XFormPrimView
from isaacsim.core.prims import XFormPrim
from pxr import UsdGeom
import omni.isaac.lab.sim as sim_utils
......@@ -398,7 +398,7 @@ class Camera(SensorBase):
# Initialize parent class
super()._initialize_impl()
# Create a view for the sensor
self._view = XFormPrimView(self.cfg.prim_path, reset_xform_properties=False)
self._view = XFormPrim(self.cfg.prim_path, reset_xform_properties=False)
self._view.initialize()
# Check that sizes are correct
if self._view.count != self._num_envs:
......
......@@ -14,8 +14,8 @@ from typing import TYPE_CHECKING, Any
import carb
import omni.usd
import warp as wp
from omni.isaac.core.prims import XFormPrimView
from omni.isaac.version import get_version
from isaacsim.core.prims import XFormPrim
from isaacsim.core.version import get_version
from pxr import UsdGeom
from omni.isaac.lab.utils.warp.kernels import reshape_tiled_image
......@@ -158,7 +158,7 @@ class TiledCamera(Camera):
# Initialize parent class
SensorBase._initialize_impl(self)
# Create a view for the sensor
self._view = XFormPrimView(self.cfg.prim_path, reset_xform_properties=False)
self._view = XFormPrim(self.cfg.prim_path, reset_xform_properties=False)
self._view.initialize()
# Check that sizes are correct
if self._view.count != self._num_envs:
......
......@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: BSD-3-Clause
"""Sub-module for rigid contact sensor based on :class:`omni.isaac.core.prims.RigidContactView`."""
"""Sub-module for rigid contact sensor based on :class:`isaacsim.core.prims.RigidContactView`."""
from .contact_sensor import ContactSensor
from .contact_sensor_cfg import ContactSensorCfg
......
......@@ -42,7 +42,7 @@ class ContactSensor(SensorBase):
filter pattern using the :attr:`ContactSensorCfg.filter_prim_paths_expr`. This is useful
when you want to report the contact forces between the sensor bodies and a specific set of
bodies in the scene. The data can be accessed using the :attr:`ContactSensorData.force_matrix_w`.
Please check the documentation on `RigidContactView`_ for more details.
Please check the documentation on `RigidContact`_ for more details.
The reporting of the filtered contact forces is only possible as one-to-many. This means that only one
sensor body in an environment can be filtered against multiple bodies in that environment. If you need to
......@@ -56,7 +56,7 @@ class ContactSensor(SensorBase):
it against the object.
.. _PhysX ContactReporter: https://docs.omniverse.nvidia.com/kit/docs/omni_usd_schema_physics/104.2/class_physx_schema_physx_contact_report_a_p_i.html
.. _RigidContactView: https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/omni.isaac.core/docs/index.html#omni.isaac.core.prims.RigidContactView
.. _RigidContact: https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/isaacsim.core/docs/index.html#isaacsim.core.prims.RigidContact
"""
cfg: ContactSensorCfg
......
......@@ -204,7 +204,7 @@ class FrameTransformer(SensorBase):
f" {non_identity_offset_frames}"
)
# The names of bodies that RigidPrimView will be tracking to later extract transforms from
# The names of bodies that RigidPrim will be tracking to later extract transforms from
tracked_prim_paths = [body_names_to_frames[body_name]["prim_path"] for body_name in body_names_to_frames.keys()]
tracked_body_names = [body_name for body_name in body_names_to_frames.keys()]
......
......@@ -9,7 +9,7 @@ import torch
from collections.abc import Sequence
from typing import TYPE_CHECKING
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.physics.tensors.impl.api as physx
from pxr import UsdPhysics
......
......@@ -14,7 +14,7 @@ from typing import TYPE_CHECKING
import omni.log
import omni.physics.tensors.impl.api as physx
import warp as wp
from omni.isaac.core.prims import XFormPrimView
from isaacsim.core.prims import XFormPrim
from pxr import UsdGeom, UsdPhysics
import omni.isaac.lab.sim as sim_utils
......@@ -136,9 +136,9 @@ class RayCaster(SensorBase):
self._view = self._physics_sim_view.create_rigid_body_view(self.cfg.prim_path.replace(".*", "*"))
found_supported_prim_class = True
else:
self._view = XFormPrimView(self.cfg.prim_path, reset_xform_properties=False)
self._view = XFormPrim(self.cfg.prim_path, reset_xform_properties=False)
found_supported_prim_class = True
omni.log.warn(f"The prim at path {prim.GetPath().pathString} is not a physics prim! Using XFormPrimView.")
omni.log.warn(f"The prim at path {prim.GetPath().pathString} is not a physics prim! Using XFormPrim.")
# check if prim view class is found
if not found_supported_prim_class:
raise RuntimeError(f"Failed to find a valid prim view class for the prim paths: {self.cfg.prim_path}")
......@@ -220,7 +220,7 @@ class RayCaster(SensorBase):
def _update_buffers_impl(self, env_ids: Sequence[int]):
"""Fills the buffers of the sensor data."""
# obtain the poses of the sensors
if isinstance(self._view, XFormPrimView):
if isinstance(self._view, XFormPrim):
pos_w, quat_w = self._view.get_world_poses(env_ids)
elif isinstance(self._view, physx.ArticulationView):
pos_w, quat_w = self._view.get_root_transforms()[env_ids].split([3, 4], dim=-1)
......
......@@ -9,9 +9,9 @@ import torch
from collections.abc import Sequence
from typing import TYPE_CHECKING, ClassVar, Literal
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.physics.tensors.impl.api as physx
from omni.isaac.core.prims import XFormPrimView
from isaacsim.core.prims import XFormPrim
import omni.isaac.lab.utils.math as math_utils
from omni.isaac.lab.sensors.camera import CameraData
......@@ -399,7 +399,7 @@ class RayCasterCamera(RayCaster):
"""
# obtain the poses of the sensors
# note: clone arg doesn't exist for xform prim view so we need to do this manually
if isinstance(self._view, XFormPrimView):
if isinstance(self._view, XFormPrim):
pos_w, quat_w = self._view.get_world_poses(env_ids)
elif isinstance(self._view, physx.ArticulationView):
pos_w, quat_w = self._view.get_root_transforms()[env_ids].split([3, 4], dim=-1)
......
......@@ -9,7 +9,7 @@ import os
import omni
import omni.kit.commands
import omni.usd
from omni.isaac.core.utils.extensions import enable_extension
from isaacsim.core.utils.extensions import enable_extension
from pxr import Gf, Tf, Usd, UsdGeom, UsdPhysics, UsdUtils
from omni.isaac.lab.sim.converters.asset_converter_base import AssetConverterBase
......
......@@ -10,7 +10,7 @@ import os
import isaacsim
import omni.kit.commands
import omni.usd
from omni.isaac.core.utils.extensions import enable_extension
from isaacsim.core.utils.extensions import enable_extension
from pxr import Usd
from .asset_converter_base import AssetConverterBase
......@@ -100,11 +100,11 @@ class MjcfConverter(AssetConverterBase):
import_config = omni_mjcf.ImportConfig()
# set the unit scaling factor, 1.0 means meters, 100.0 means cm
import_config.set_distance_scale(1.0)
# import_config.set_distance_scale(1.0)
# set imported robot as default prim
import_config.set_make_default_prim(True)
# import_config.set_make_default_prim(True)
# add a physics scene to the stage on import if none exists
import_config.set_create_physics_scene(False)
# import_config.set_create_physics_scene(False)
# set flag to parse <site> tag
import_config.set_import_sites(True)
......
......@@ -5,13 +5,11 @@
from __future__ import annotations
import os
import isaacsim
import omni.kit.commands
import omni.usd
from omni.isaac.core.utils.extensions import enable_extension
from omni.isaac.version import get_version
from isaacsim.core.utils.extensions import enable_extension
from isaacsim.core.version import get_version
from pxr import Usd
from .asset_converter_base import AssetConverterBase
......@@ -84,14 +82,6 @@ class UrdfConverter(AssetConverterBase):
import_config=import_config,
dest_path=self.usd_path,
)
# fix the issue that material paths are not relative
if self.cfg.make_instanceable:
instanced_usd_path = os.path.join(self.usd_dir, self.usd_instanceable_meshes_path)
stage = Usd.Stage.Open(instanced_usd_path)
# resolve all paths relative to layer path
source_layer = stage.GetRootLayer()
omni.usd.resolve_paths(source_layer.identifier, source_layer.identifier)
stage.Save()
# fix the issue that material paths are not relative
# note: This issue seems to have popped up in Isaac Sim 2023.1.1
......
......@@ -6,7 +6,7 @@
# needed to import for allowing type-hinting: Usd.Stage | None
from __future__ import annotations
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.log
import omni.physx.scripts.utils as physx_utils
from omni.physx.scripts import deformableUtils as deformable_utils
......
......@@ -15,12 +15,12 @@ from contextlib import contextmanager
from typing import Any
import carb
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.log
import omni.physx
from omni.isaac.core.simulation_context import SimulationContext as _SimulationContext
from omni.isaac.core.utils.viewports import set_camera_view
from omni.isaac.version import get_version
from isaacsim.core.api.simulation_context import SimulationContext as _SimulationContext
from isaacsim.core.utils.viewports import set_camera_view
from isaacsim.core.version import get_version
from pxr import Gf, PhysxSchema, Usd, UsdPhysics
from .simulation_cfg import SimulationCfg
......@@ -38,7 +38,7 @@ class SimulationContext(_SimulationContext):
* playing, pausing, stepping and stopping the simulation
* adding and removing callbacks to different simulation events such as physics stepping, rendering, etc.
This class inherits from the :class:`omni.isaac.core.simulation_context.SimulationContext` class and
This class inherits from the :class:`isaacsim.core.api.simulation_context.SimulationContext` class and
adds additional functionalities such as setting up the simulation context with a configuration object,
exposing other commonly used simulator-related functions, and performing version checks of Isaac Sim
to ensure compatibility between releases.
......@@ -306,7 +306,7 @@ class SimulationContext(_SimulationContext):
def get_version(self) -> tuple[int, int, int]:
"""Returns the version of the simulator.
This is a wrapper around the ``omni.isaac.version.get_version()`` function.
This is a wrapper around the ``isaacsim.core.version.get_version()`` function.
The returned tuple contains the following information:
......@@ -329,7 +329,7 @@ class SimulationContext(_SimulationContext):
"""Set the location and target of the viewport camera in the stage.
Note:
This is a wrapper around the :math:`omni.isaac.core.utils.viewports.set_camera_view` function.
This is a wrapper around the :math:`isaacsim.core.utils.viewports.set_camera_view` function.
It is provided here for convenience to reduce the amount of imports needed.
Args:
......@@ -651,7 +651,7 @@ class SimulationContext(_SimulationContext):
self.render()
# Note: For the following code:
# The method is an exact copy of the implementation in the `omni.isaac.kit.SimulationApp` class.
# The method is an exact copy of the implementation in the `isaacsim.simulation_app.SimulationApp` class.
# We need to remove this method once the SimulationApp class becomes a singleton.
# make sure that any replicator workflows finish rendering/writing
......
......@@ -7,8 +7,8 @@ from __future__ import annotations
from typing import TYPE_CHECKING
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
import omni.kit.commands
import omni.log
from pxr import Gf, Sdf, Usd
......
......@@ -7,7 +7,7 @@ from __future__ import annotations
from typing import TYPE_CHECKING
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
from pxr import Usd, UsdLux
from omni.isaac.lab.sim.utils import clone, safe_set_attribute_on_usd_prim
......
......@@ -31,7 +31,7 @@ When parsing physics material properties on an object, the following priority is
Usage:
.. code-block:: python
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.isaac.lab.sim as sim_utils
......
......@@ -7,8 +7,8 @@ from __future__ import annotations
from typing import TYPE_CHECKING
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from pxr import PhysxSchema, Usd, UsdPhysics, UsdShade
from omni.isaac.lab.sim.utils import clone, safe_set_attribute_on_usd_schema
......
......@@ -7,7 +7,7 @@ from __future__ import annotations
from typing import TYPE_CHECKING
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.kit.commands
from pxr import Usd
......
......@@ -10,7 +10,7 @@ import trimesh
import trimesh.transformations
from typing import TYPE_CHECKING
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
from pxr import Usd, UsdPhysics
from omni.isaac.lab.sim import schemas
......
......@@ -7,7 +7,7 @@ from __future__ import annotations
from typing import TYPE_CHECKING
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.kit.commands
import omni.log
from pxr import Sdf, Usd
......
......@@ -7,7 +7,7 @@ from __future__ import annotations
from typing import TYPE_CHECKING
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
from pxr import Usd
from omni.isaac.lab.sim import schemas
......
......@@ -10,8 +10,8 @@ import re
from typing import TYPE_CHECKING
import carb
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from pxr import Sdf, Usd
import omni.isaac.lab.sim as sim_utils
......
......@@ -13,10 +13,10 @@ import re
from collections.abc import Callable
from typing import TYPE_CHECKING, Any
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.kit.commands
import omni.log
from omni.isaac.cloner import Cloner
from isaacsim.core.cloner import Cloner
from pxr import PhysxSchema, Sdf, Usd, UsdGeom, UsdPhysics, UsdShade
# from Isaac Sim 4.2 onwards, pxr.Semantics is deprecated
......
......@@ -80,7 +80,7 @@ def create_prim_from_mesh(prim_path: str, mesh: trimesh.Trimesh, **kwargs):
physics_material: The physics material to apply. Defaults to None.
"""
# need to import these here to prevent isaacsim launching when importing this module
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
from pxr import UsdGeom
import omni.isaac.lab.sim as sim_utils
......
......@@ -35,7 +35,7 @@ simulation_app = app_launcher.app
import numpy as np
import torch
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.assets import Articulation
......
......@@ -23,7 +23,7 @@ import torch
import unittest
from typing import Literal
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.isaac.lab.sim as sim_utils
import omni.isaac.lab.utils.math as math_utils
......
......@@ -25,7 +25,7 @@ import ctypes
import torch
import unittest
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.isaac.lab.sim as sim_utils
import omni.isaac.lab.utils.math as math_utils
......
......@@ -26,7 +26,7 @@ import torch
import unittest
from typing import Literal
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.assets import RigidObject, RigidObjectCfg
......
......@@ -25,7 +25,7 @@ import ctypes
import torch
import unittest
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.assets import RigidObjectCfg, RigidObjectCollection, RigidObjectCollectionCfg
......
......@@ -15,9 +15,9 @@ simulation_app = AppLauncher(headless=True).app
import torch
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.cloner import GridCloner
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.cloner import GridCloner
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.assets import Articulation
......
......@@ -46,16 +46,16 @@ import os
import random
try:
import omni.isaac.nucleus as nucleus_utils
import isaacsim.storage.native as nucleus_utils
except ModuleNotFoundError:
import omni.isaac.core.utils.nucleus as nucleus_utils
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.nucleus as nucleus_utils
import isaacsim.core.utils.prims as prim_utils
import omni.replicator.core as rep
from omni.isaac.core.articulations import ArticulationView
from omni.isaac.core.prims import GeometryPrim, RigidPrim, RigidPrimView
from omni.isaac.core.utils.carb import set_carb_setting
from omni.isaac.core.utils.viewports import set_camera_view
from omni.isaac.core.world import World
from isaacsim.core.api.world import World
from isaacsim.core.prims import Articulation, RigidPrim, SingleGeometryPrim, SingleRigidPrim
from isaacsim.core.utils.carb import set_carb_setting
from isaacsim.core.utils.viewports import set_camera_view
from PIL import Image, ImageChops
from pxr import Gf, UsdGeom
......@@ -112,8 +112,8 @@ def main():
semantic_label=prim_type,
)
# add rigid properties
GeometryPrim(f"/World/Objects/Obj_{i:02d}", collision=True)
rigid_obj = RigidPrim(f"/World/Objects/Obj_{i:02d}", mass=5.0)
SingleGeometryPrim(f"/World/Objects/Obj_{i:02d}", collision=True)
rigid_obj = SingleRigidPrim(f"/World/Objects/Obj_{i:02d}", mass=5.0)
# cast to geom prim
geom_prim = getattr(UsdGeom, prim_type)(rigid_obj.prim)
# set random color
......@@ -157,9 +157,9 @@ def main():
# Create a view of the stuff we want to see
if args_cli.scenario == "cube":
view: RigidPrimView = world.scene.add(RigidPrimView("/World/Objects/.*", name="my_object"))
view: RigidPrim = world.scene.add(RigidPrim("/World/Objects/.*", name="my_object"))
else:
view: ArticulationView = world.scene.add(ArticulationView("/World/Robot", name="my_object"))
view: Articulation = world.scene.add(Articulation("/World/Robot", name="my_object"))
# Play simulator
world.reset()
# Get initial state
......
......@@ -14,7 +14,7 @@ import contextlib
with contextlib.suppress(ModuleNotFoundError):
import isaacsim # noqa: F401
from omni.isaac.kit import SimulationApp
from isaacsim import SimulationApp
# add argparse arguments
parser = argparse.ArgumentParser(
......@@ -32,16 +32,16 @@ simulation_app = SimulationApp({"headless": args_cli.headless})
import torch
import omni.isaac.core.utils.nucleus as nucleus_utils
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.nucleus as nucleus_utils
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
import omni.kit.commands
import omni.log
import omni.physx
from omni.isaac.core.articulations import ArticulationView
from omni.isaac.core.utils.carb import set_carb_setting
from omni.isaac.core.utils.viewports import set_camera_view
from omni.isaac.core.world import World
from isaacsim.core.api.world import World
from isaacsim.core.prims import Articulation
from isaacsim.core.utils.carb import set_carb_setting
from isaacsim.core.utils.viewports import set_camera_view
from pxr import PhysxSchema, UsdPhysics
# check nucleus connection
......@@ -146,7 +146,7 @@ def main():
root_prim_path = parent_prim.GetPath().pathString
# Setup robot
robot_view = ArticulationView(root_prim_path, name="ANYMAL")
robot_view = Articulation(root_prim_path, name="ANYMAL")
world.scene.add(robot_view)
# Play the simulator
world.reset()
......
......@@ -18,7 +18,7 @@ import contextlib
with contextlib.suppress(ModuleNotFoundError):
import isaacsim # noqa: F401
from omni.isaac.kit import SimulationApp
from isaacsim import SimulationApp
# add argparse arguments
parser = argparse.ArgumentParser(
......@@ -46,15 +46,16 @@ import torch
import omni.log
try:
import omni.isaac.nucleus as nucleus_utils
import isaacsim.storage.native as nucleus_utils
except ModuleNotFoundError:
import omni.isaac.core.utils.nucleus as nucleus_utils
import omni.isaac.core.utils.prims as prim_utils
from omni.isaac.cloner import GridCloner
from omni.isaac.core.articulations import ArticulationView
from omni.isaac.core.utils.carb import set_carb_setting
from omni.isaac.core.utils.viewports import set_camera_view
from omni.isaac.core.world import World
import isaacsim.core.utils.nucleus as nucleus_utils
import isaacsim.core.utils.prims as prim_utils
from isaacsim.core.api.world import World
from isaacsim.core.cloner import GridCloner
from isaacsim.core.prims import Articulation
from isaacsim.core.utils.carb import set_carb_setting
from isaacsim.core.utils.viewports import set_camera_view
# check nucleus connection
if nucleus_utils.get_assets_root_path() is None:
......@@ -149,7 +150,7 @@ def main():
else:
raise ValueError(f"Invalid asset: {args_cli.asset}. Must be one of: isaaclab, oige.")
# Setup robot
robot_view = ArticulationView(root_prim_path, name="ANYMAL")
robot_view = Articulation(root_prim_path, name="ANYMAL")
world.scene.add(robot_view)
# Play the simulator
world.reset()
......
......@@ -26,7 +26,7 @@ import contextlib
with contextlib.suppress(ModuleNotFoundError):
import isaacsim # noqa: F401
from omni.isaac.kit import SimulationApp
from isaacsim import SimulationApp
# launch omniverse app
simulation_app = SimulationApp({"headless": True})
......@@ -40,14 +40,14 @@ import torch # noqa: F401
import omni.log
try:
import omni.isaac.nucleus as nucleus_utils
import isaacsim.storage.native as nucleus_utils
except ModuleNotFoundError:
import omni.isaac.core.utils.nucleus as nucleus_utils
import isaacsim.core.utils.nucleus as nucleus_utils
import omni.isaac.core.utils.prims as prim_utils
from omni.isaac.core.articulations import ArticulationView
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.carb import set_carb_setting
import isaacsim.core.utils.prims as prim_utils
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.prims import Articulation
from isaacsim.core.utils.carb import set_carb_setting
# check nucleus connection
if nucleus_utils.get_assets_root_path() is None:
......@@ -85,7 +85,7 @@ class AnymalArticulation:
# Resolve robot prim paths
root_prim_path = "/World/Robot/base"
# Setup robot
self.view = ArticulationView(root_prim_path, name="ANYMAL")
self.view = Articulation(root_prim_path, name="ANYMAL")
def __del__(self):
"""Delete the Anymal articulation class."""
......
......@@ -45,13 +45,13 @@ simulation_app = app_launcher.app
import numpy as np
import torch
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.replicator.core as rep
from omni.isaac.cloner import GridCloner
from omni.isaac.core.objects import DynamicSphere
from omni.isaac.core.prims import RigidPrimView
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.viewports import set_camera_view
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.cloner import GridCloner
from isaacsim.core.objects import DynamicSphere
from isaacsim.core.prims import RigidPrim
from isaacsim.core.utils.viewports import set_camera_view
def main():
......@@ -112,7 +112,7 @@ def main():
# Set ball positions over terrain origins
# Create a view over all the balls
ball_view = RigidPrimView("/World/envs/env_.*/ball", reset_xform_properties=False)
ball_view = RigidPrim("/World/envs/env_.*/ball", reset_xform_properties=False)
# cache initial state of the balls
ball_initial_positions = torch.tensor(env_positions, dtype=torch.float, device=sim.device)
ball_initial_positions[:, 2] += 5.0
......
......@@ -23,7 +23,7 @@ simulation_app = app_launcher.app
import ctypes
from omni.isaac.core.simulation_context import SimulationContext
from isaacsim.core.api.simulation_context import SimulationContext
from omni.isaac.lab.devices import Se3Keyboard
......
......@@ -25,7 +25,7 @@ import unittest
import carb
import omni.usd
from omni.isaac.core.utils.extensions import enable_extension
from isaacsim.core.utils.extensions import enable_extension
from omni.isaac.lab.envs import ManagerBasedRLEnv, ManagerBasedRLEnvCfg
from omni.isaac.lab.envs.ui import ManagerBasedRLEnvWindow
......
......@@ -16,8 +16,8 @@ simulation_app = AppLauncher(config).app
import torch
import unittest
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.markers import VisualizationMarkers, VisualizationMarkersCfg
......
......@@ -16,7 +16,7 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni
from omni.isaac.cloner import GridCloner
from isaacsim.core.cloner import GridCloner
from omni.isaac.lab_assets import ANYMAL_D_CFG, CARTPOLE_CFG
......
......@@ -36,11 +36,11 @@ simulation_app = app_launcher.app
import torch
import omni.isaac.core.utils.prims as prim_utils
from omni.isaac.cloner import GridCloner
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.carb import set_carb_setting
from omni.isaac.core.utils.viewports import set_camera_view
import isaacsim.core.utils.prims as prim_utils
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.cloner import GridCloner
from isaacsim.core.utils.carb import set_carb_setting
from isaacsim.core.utils.viewports import set_camera_view
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.assets import Articulation
......
......@@ -13,7 +13,7 @@ from __future__ import annotations
import argparse
from omni.isaac.kit import SimulationApp
from isaacsim import SimulationApp
# add argparse arguments
parser = argparse.ArgumentParser(description="Imu Test Script")
......@@ -40,9 +40,9 @@ import traceback
import carb
import omni
from omni.isaac.cloner import GridCloner
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.viewports import set_camera_view
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.cloner import GridCloner
from isaacsim.core.utils.viewports import set_camera_view
from pxr import PhysxSchema
import omni.isaac.lab.sim as sim_utils
......
......@@ -41,11 +41,11 @@ simulation_app = app_launcher.app
import torch
import omni.isaac.core.utils.prims as prim_utils
from omni.isaac.cloner import GridCloner
from omni.isaac.core.prims import RigidPrimView
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.viewports import set_camera_view
import isaacsim.core.utils.prims as prim_utils
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.cloner import GridCloner
from isaacsim.core.prims import RigidPrim
from isaacsim.core.utils.viewports import set_camera_view
import omni.isaac.lab.sim as sim_utils
import omni.isaac.lab.terrains as terrain_gen
......@@ -128,7 +128,7 @@ def main():
)
ray_caster = RayCaster(cfg=ray_caster_cfg)
# Create a view over all the balls
ball_view = RigidPrimView("/World/envs/env_.*/ball", reset_xform_properties=False)
ball_view = RigidPrim("/World/envs/env_.*/ball", reset_xform_properties=False)
# Play simulator
sim.reset()
......
......@@ -24,10 +24,10 @@ import scipy.spatial.transform as tf
import torch
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
import omni.replicator.core as rep
from omni.isaac.core.prims import GeometryPrim, RigidPrim
from isaacsim.core.prims import SingleGeometryPrim, SingleRigidPrim
from pxr import Gf, Usd, UsdGeom
import omni.isaac.lab.sim as sim_utils
......@@ -895,8 +895,8 @@ class TestCamera(unittest.TestCase):
geom_prim.CreateDisplayColorAttr()
geom_prim.GetDisplayColorAttr().Set([color])
# add rigid properties
GeometryPrim(f"/World/Objects/Obj_{i:02d}", collision=True)
RigidPrim(f"/World/Objects/Obj_{i:02d}", mass=5.0)
SingleGeometryPrim(f"/World/Objects/Obj_{i:02d}", collision=True)
SingleRigidPrim(f"/World/Objects/Obj_{i:02d}", mass=5.0)
if __name__ == "__main__":
......
......@@ -18,7 +18,7 @@ import scipy.spatial.transform as tf
import torch
import unittest
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.isaac.lab.sim as sim_utils
import omni.isaac.lab.utils.math as math_utils
......
......@@ -17,7 +17,7 @@ import pathlib
import torch
import unittest
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.stage as stage_utils
import omni.isaac.lab.sim as sim_utils
import omni.isaac.lab.utils.math as math_utils
......
......@@ -22,8 +22,8 @@ import os
import torch
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
import omni.replicator.core as rep
from pxr import Gf
......
......@@ -22,10 +22,10 @@ import random
import torch
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
import omni.replicator.core as rep
from omni.isaac.core.prims import GeometryPrim, RigidPrim
from isaacsim.core.prims import SingleGeometryPrim, SingleRigidPrim
from pxr import Gf, UsdGeom
import omni.isaac.lab.sim as sim_utils
......@@ -1460,8 +1460,8 @@ class TestTiledCamera(unittest.TestCase):
geom_prim.CreateDisplayColorAttr()
geom_prim.GetDisplayColorAttr().Set([color])
# add rigid properties
GeometryPrim(f"/World/Objects/Obj_{i:02d}", collision=True)
RigidPrim(f"/World/Objects/Obj_{i:02d}", mass=5.0)
SingleGeometryPrim(f"/World/Objects/Obj_{i:02d}", collision=True)
SingleRigidPrim(f"/World/Objects/Obj_{i:02d}", mass=5.0)
if __name__ == "__main__":
......
......@@ -40,7 +40,7 @@ import random
import torch
import tqdm
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.isaac.lab.sim as sim_utils
......
......@@ -23,7 +23,7 @@ simulation_app = app_launcher.app
import unittest
from omni.isaac.core.utils.prims import is_prim_path_valid
from isaacsim.core.utils.prims import is_prim_path_valid
from omni.isaac.lab.sim.simulation_cfg import SimulationCfg
from omni.isaac.lab.sim.simulation_context import build_simulation_context
......
......@@ -22,7 +22,7 @@ simulation_app = app_launcher.app
import unittest
from omni.isaac.core.utils.prims import is_prim_path_valid
from isaacsim.core.utils.prims import is_prim_path_valid
from omni.isaac.lab.sim.simulation_cfg import SimulationCfg
from omni.isaac.lab.sim.simulation_context import build_simulation_context
......
......@@ -18,10 +18,10 @@ import random
import tempfile
import unittest
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
import omni
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
from isaacsim.core.api.simulation_context import SimulationContext
from pxr import UsdGeom, UsdPhysics
from omni.isaac.lab.sim.converters import MeshConverter, MeshConverterCfg
......
......@@ -17,10 +17,10 @@ simulation_app = AppLauncher(config).app
import os
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.extensions import enable_extension, get_extension_path_from_name
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.utils.extensions import enable_extension, get_extension_path_from_name
from omni.isaac.lab.sim.converters import MjcfConverter, MjcfConverterCfg
......@@ -33,8 +33,8 @@ class TestMjcfConverter(unittest.TestCase):
# Create a new stage
stage_utils.create_new_stage()
# retrieve path to mjcf importer extension
enable_extension("omni.importer.mjcf")
extension_path = get_extension_path_from_name("omni.importer.mjcf")
enable_extension("isaacsim.asset.importer.mjcf")
extension_path = get_extension_path_from_name("isaacsim.asset.importer.mjcf")
# default configuration
self.config = MjcfConverterCfg(
asset_path=f"{extension_path}/data/mjcf/nv_ant.xml",
......
......@@ -14,9 +14,9 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
from pxr import UsdPhysics
import omni.isaac.lab.sim.schemas as schemas
......
......@@ -15,8 +15,8 @@ simulation_app = AppLauncher(headless=True).app
import numpy as np
import unittest
import omni.isaac.core.utils.prims as prim_utils
from omni.isaac.core.simulation_context import SimulationContext as IsaacSimulationContext
import isaacsim.core.utils.prims as prim_utils
from isaacsim.core.api.simulation_context import SimulationContext as IsaacSimulationContext
from omni.isaac.lab.sim import SimulationCfg, SimulationContext
......
......@@ -14,10 +14,10 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.extensions import enable_extension, get_extension_path_from_name
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.utils.extensions import enable_extension, get_extension_path_from_name
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.utils.assets import ISAACLAB_NUCLEUS_DIR
......@@ -70,8 +70,8 @@ class TestSpawningFromFiles(unittest.TestCase):
def test_spawn_urdf(self):
"""Test loading prim from URDF file."""
# retrieve path to urdf importer extension
enable_extension("omni.importer.urdf")
extension_path = get_extension_path_from_name("omni.importer.urdf")
enable_extension("isaacsim.asset.importer.urdf")
extension_path = get_extension_path_from_name("isaacsim.asset.importer.urdf")
# Spawn franka from URDF
cfg = sim_utils.UrdfFileCfg(
asset_path=f"{extension_path}/data/urdf/robots/franka_description/robots/panda_arm_hand.urdf", fix_base=True
......
......@@ -14,9 +14,9 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
from pxr import UsdLux
import omni.isaac.lab.sim as sim_utils
......
......@@ -14,9 +14,9 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
from pxr import UsdPhysics, UsdShade
import omni.isaac.lab.sim as sim_utils
......
......@@ -14,9 +14,9 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
import omni.isaac.lab.sim as sim_utils
......
......@@ -14,9 +14,9 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.sim.spawners.sensors.sensors import (
......
......@@ -14,9 +14,9 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
import omni.isaac.lab.sim as sim_utils
......
......@@ -14,9 +14,9 @@ simulation_app = AppLauncher(headless=True).app
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.simulation_context import SimulationContext
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
import omni.isaac.lab.sim as sim_utils
from omni.isaac.lab.utils.assets import ISAACLAB_NUCLEUS_DIR
......
......@@ -18,11 +18,11 @@ import numpy as np
import os
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.articulations import ArticulationView
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.extensions import enable_extension, get_extension_path_from_name
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.prims import Articulation
from isaacsim.core.utils.extensions import enable_extension, get_extension_path_from_name
from omni.isaac.lab.sim.converters import UrdfConverter, UrdfConverterCfg
......@@ -35,8 +35,8 @@ class TestUrdfConverter(unittest.TestCase):
# Create a new stage
stage_utils.create_new_stage()
# retrieve path to urdf importer extension
enable_extension("omni.importer.urdf")
extension_path = get_extension_path_from_name("omni.importer.urdf")
enable_extension("isaacsim.asset.importer.urdf")
extension_path = get_extension_path_from_name("isaacsim.asset.importer.urdf")
# default configuration
self.config = UrdfConverterCfg(
asset_path=f"{extension_path}/data/urdf/robots/franka_description/robots/panda_arm_hand.urdf",
......@@ -120,7 +120,7 @@ class TestUrdfConverter(unittest.TestCase):
prim_utils.create_prim(prim_path, usd_path=urdf_converter.usd_path)
# access the robot
robot = ArticulationView(prim_path, reset_xform_properties=False)
robot = Articulation(prim_path, reset_xform_properties=False)
# play the simulator and initialize the robot
self.sim.reset()
robot.initialize()
......
......@@ -16,8 +16,8 @@ simulation_app = AppLauncher(config).app
import numpy as np
import unittest
import omni.isaac.core.utils.prims as prim_utils
import omni.isaac.core.utils.stage as stage_utils
import isaacsim.core.utils.prims as prim_utils
import isaacsim.core.utils.stage as stage_utils
from pxr import Sdf, Usd, UsdGeom
import omni.isaac.lab.sim as sim_utils
......
......@@ -64,16 +64,16 @@ simulation_app = app_launcher.app
import numpy as np
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.kit
import omni.kit.commands
from omni.isaac.cloner import GridCloner
from omni.isaac.core.materials import PhysicsMaterial, PreviewSurface
from omni.isaac.core.objects import DynamicSphere
from omni.isaac.core.prims import GeometryPrim, RigidPrim, RigidPrimView
from omni.isaac.core.simulation_context import SimulationContext
from omni.isaac.core.utils.extensions import enable_extension
from omni.isaac.core.utils.viewports import set_camera_view
from isaacsim.core.api.simulation_context import SimulationContext
from isaacsim.core.cloner import GridCloner
from isaacsim.core.materials import PhysicsMaterial, PreviewSurface
from isaacsim.core.objects import DynamicSphere
from isaacsim.core.prims import RigidPrim, SingleGeometryPrim, SingleRigidPrim
from isaacsim.core.utils.extensions import enable_extension
from isaacsim.core.utils.viewports import set_camera_view
import omni.isaac.lab.sim as sim_utils
import omni.isaac.lab.terrains as terrain_gen
......@@ -137,10 +137,12 @@ def main():
cube_prim_path = omni.kit.commands.execute("CreateMeshPrimCommand", prim_type="Sphere")[1]
prim_utils.move_prim(cube_prim_path, "/World/envs/env_0/ball")
# -- Ball physics
RigidPrim(prim_path="/World/envs/env_0/ball", mass=0.5, scale=(0.5, 0.5, 0.5), translation=(0.0, 0.0, 0.5))
GeometryPrim(prim_path="/World/envs/env_0/ball", collision=True)
SingleRigidPrim(
prim_path="/World/envs/env_0/ball", mass=0.5, scale=(0.5, 0.5, 0.5), translation=(0.0, 0.0, 0.5)
)
SingleGeometryPrim(prim_path="/World/envs/env_0/ball", collision=True)
# -- Ball material
sphere_geom = GeometryPrim(prim_path="/World/envs/env_0/ball", collision=True)
sphere_geom = SingleGeometryPrim(prim_path="/World/envs/env_0/ball", collision=True)
visual_material = PreviewSurface(prim_path="/World/Looks/ballColorMaterial", color=np.asarray([0.0, 0.0, 1.0]))
physics_material = PhysicsMaterial(
prim_path="/World/Looks/ballPhysicsMaterial",
......@@ -163,7 +165,7 @@ def main():
# Set ball positions over terrain origins
# Create a view over all the balls
ball_view = RigidPrimView("/World/envs/env_.*/ball", reset_xform_properties=False)
ball_view = RigidPrim("/World/envs/env_.*/ball", reset_xform_properties=False)
# cache initial state of the balls
ball_initial_positions = terrain_importer.env_origins
ball_initial_positions[:, 2] += 5.0
......
......@@ -18,7 +18,7 @@ import shutil
import torch
import unittest
import omni.isaac.core.utils.torch as torch_utils
import isaacsim.core.utils.torch as torch_utils
from omni.isaac.lab.terrains import FlatPatchSamplingCfg, TerrainGenerator, TerrainGeneratorCfg
from omni.isaac.lab.terrains.config.rough import ROUGH_TERRAINS_CFG
......
......@@ -16,14 +16,14 @@ import numpy as np
import torch
import unittest
import omni.isaac.core.utils.prims as prim_utils
import isaacsim.core.utils.prims as prim_utils
import omni.kit
import omni.kit.commands
from isaacsim.core.api.materials import PhysicsMaterial, PreviewSurface
from omni.isaac.cloner import GridCloner
from omni.isaac.core.objects import DynamicSphere
from omni.isaac.core.prims import GeometryPrim, RigidPrim, RigidPrimView
from omni.isaac.core.utils.extensions import enable_extension
from isaacsim.core.api.objects import DynamicSphere
from isaacsim.core.cloner import GridCloner
from isaacsim.core.prims import RigidPrim, SingleGeometryPrim, SingleRigidPrim
from isaacsim.core.utils.extensions import enable_extension
import omni.isaac.lab.terrains as terrain_gen
from omni.isaac.lab.sim import SimulationContext, build_simulation_context
......@@ -170,7 +170,7 @@ class TestTerrainImporter(unittest.TestCase):
self._populate_scene(geom_sphere=False, sim=sim)
# Create a view over all the balls
ball_view = RigidPrimView("/World/envs/env_.*/ball", reset_xform_properties=False)
ball_view = RigidPrim("/World/envs/env_.*/ball", reset_xform_properties=False)
# Play simulator
sim.reset()
......@@ -202,7 +202,7 @@ class TestTerrainImporter(unittest.TestCase):
self._populate_scene(geom_sphere=False, sim=sim)
# Create a view over all the balls
ball_view = RigidPrimView("/World/envs/env_.*/ball", reset_xform_properties=False)
ball_view = RigidPrim("/World/envs/env_.*/ball", reset_xform_properties=False)
# Play simulator
sim.reset()
......@@ -272,11 +272,13 @@ class TestTerrainImporter(unittest.TestCase):
cube_prim_path = omni.kit.commands.execute("CreateMeshPrimCommand", prim_type="Sphere")[1]
prim_utils.move_prim(cube_prim_path, "/World/envs/env_0/ball")
# -- Ball physics
RigidPrim(prim_path="/World/envs/env_0/ball", mass=0.5, scale=(0.5, 0.5, 0.5), translation=(0.0, 0.0, 0.5))
GeometryPrim(prim_path="/World/envs/env_0/ball", collision=True)
SingleRigidPrim(
prim_path="/World/envs/env_0/ball", mass=0.5, scale=(0.5, 0.5, 0.5), translation=(0.0, 0.0, 0.5)
)
SingleGeometryPrim(prim_path="/World/envs/env_0/ball", collision=True)
# -- Ball material
sphere_geom = GeometryPrim(prim_path="/World/envs/env_0/ball", collision=True)
sphere_geom = SingleGeometryPrim(prim_path="/World/envs/env_0/ball", collision=True)
visual_material = PreviewSurface(prim_path="/World/Looks/ballColorMaterial", color=np.asarray([0.0, 0.0, 1.0]))
physics_material = PhysicsMaterial(
prim_path="/World/Looks/ballPhysicsMaterial",
......@@ -299,7 +301,7 @@ class TestTerrainImporter(unittest.TestCase):
# Set ball positions over terrain origins
# Create a view over all the balls
ball_view = RigidPrimView("/World/envs/env_.*/ball", reset_xform_properties=False)
ball_view = RigidPrim("/World/envs/env_.*/ball", reset_xform_properties=False)
# cache initial state of the balls
ball_initial_positions = terrain_importer.env_origins
ball_initial_positions[:, 2] += 5.0
......
......@@ -83,8 +83,9 @@ class TestNoise(unittest.TestCase):
self.assertTrue(noise_cfg.n_min.device, device)
self.assertTrue(noise_cfg.n_max.device, device)
self.assertTrue(all(torch.le(noise_cfg.n_min, min_result).tolist()))
self.assertTrue(all(torch.ge(noise_cfg.n_max, max_result).tolist()))
# add a small epsilon to accommodate for floating point error
self.assertTrue(all(torch.le(noise_cfg.n_min - 1e-5, min_result).tolist()))
self.assertTrue(all(torch.ge(noise_cfg.n_max + 1e-5, max_result).tolist()))
def test_constant_noise(self):
"""Test constant_noise"""
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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