Commit f06d0e10 authored by Michael Gussert's avatar Michael Gussert Committed by Kelly Guo

Updates and improves on various missing documentation (#520)

## Checklist

- [X] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [X] I have made corresponding changes to the documentation
- [X] My changes generate no new warnings
- [X] 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
- [X] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------
Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
parent 54df6620
...@@ -16,9 +16,7 @@ the general workflow is the same. ...@@ -16,9 +16,7 @@ the general workflow is the same.
This functionality is experimental, and has been tested only on Linux. This functionality is experimental, and has been tested only on Linux.
.. contents:: Table of Contents
:depth: 3
:local:
Overview Overview
-------- --------
......
...@@ -80,10 +80,15 @@ pre-processed URDF and the original URDF are: ...@@ -80,10 +80,15 @@ pre-processed URDF and the original URDF are:
The following shows the steps to clone the repository and run the converter: The following shows the steps to clone the repository and run the converter:
.. code-block:: bash
# create a directory to clone .. tab-set::
mkdir ~/git && cd ~/git :sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code-block:: bash
# clone a repository with URDF files # clone a repository with URDF files
git clone git@github.com:isaac-orbit/anymal_d_simple_description.git git clone git@github.com:isaac-orbit/anymal_d_simple_description.git
...@@ -91,13 +96,31 @@ The following shows the steps to clone the repository and run the converter: ...@@ -91,13 +96,31 @@ The following shows the steps to clone the repository and run the converter:
cd IsaacLab cd IsaacLab
# run the converter # run the converter
./isaaclab.sh -p scripts/tools/convert_urdf.py \ ./isaaclab.sh -p scripts/tools/convert_urdf.py \
~/git/anymal_d_simple_description/urdf/anymal.urdf \ ../anymal_d_simple_description/urdf/anymal.urdf \
source/isaaclab_assets/data/Robots/ANYbotics/anymal_d.usd \ source/isaaclab_assets/data/Robots/ANYbotics/anymal_d.usd \
--merge-joints \ --merge-joints \
--joint-stiffness 0.0 \ --joint-stiffness 0.0 \
--joint-damping 0.0 \ --joint-damping 0.0 \
--joint-target-type none --joint-target-type none
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code-block:: batch
:: clone a repository with URDF files
git clone git@github.com:isaac-orbit/anymal_d_simple_description.git
:: go to top of the Isaac Lab repository
cd IsaacLab
:: run the converter
isaaclab.bat -p scripts\tools\convert_urdf.py ^
..\anymal_d_simple_description\urdf\anymal.urdf ^
source\isaaclab_assets\data\Robots\ANYbotics\anymal_d.usd ^
--merge-joints ^
--joint-stiffness 0.0 ^
--joint-damping 0.0 ^
--joint-target-type none
Executing the above script will create a USD file inside the Executing the above script will create a USD file inside the
``source/isaaclab_assets/data/Robots/ANYbotics/`` directory: ``source/isaaclab_assets/data/Robots/ANYbotics/`` directory:
...@@ -150,10 +173,15 @@ In this example, we use the MuJoCo model of the Unitree's H1 humanoid robot in t ...@@ -150,10 +173,15 @@ In this example, we use the MuJoCo model of the Unitree's H1 humanoid robot in t
The following shows the steps to clone the repository and run the converter: The following shows the steps to clone the repository and run the converter:
.. code-block:: bash
# create a directory to clone .. tab-set::
mkdir ~/git && cd ~/git :sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code-block:: bash
# clone a repository with URDF files # clone a repository with URDF files
git clone git@github.com:google-deepmind/mujoco_menagerie.git git clone git@github.com:google-deepmind/mujoco_menagerie.git
...@@ -161,11 +189,28 @@ The following shows the steps to clone the repository and run the converter: ...@@ -161,11 +189,28 @@ The following shows the steps to clone the repository and run the converter:
cd IsaacLab cd IsaacLab
# run the converter # run the converter
./isaaclab.sh -p scripts/tools/convert_mjcf.py \ ./isaaclab.sh -p scripts/tools/convert_mjcf.py \
~/git/mujoco_menagerie/unitree_h1/h1.xml \ ../mujoco_menagerie/unitree_h1/h1.xml \
source/isaaclab_assets/data/Robots/Unitree/h1.usd \ source/isaaclab_assets/data/Robots/Unitree/h1.usd \
--import-sites \ --import-sites \
--make-instanceable --make-instanceable
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code-block:: batch
:: clone a repository with URDF files
git clone git@github.com:google-deepmind/mujoco_menagerie.git
:: go to top of the Isaac Lab repository
cd IsaacLab
:: run the converter
isaaclab.bat -p scripts\tools\convert_mjcf.py ^
..\mujoco_menagerie\unitree_h1\h1.xml ^
source\isaaclab_assets\data\Robots\Unitree\h1.usd ^
--import-sites ^
--make-instanceable
Executing the above script will create USD files inside the Executing the above script will create USD files inside the
``source/isaaclab_assets/data/Robots/Unitree/`` directory: ``source/isaaclab_assets/data/Robots/Unitree/`` directory:
...@@ -202,10 +247,14 @@ Example Usage ...@@ -202,10 +247,14 @@ Example Usage
We use an OBJ file of a cube to demonstrate the usage of the mesh converter. The following shows We use an OBJ file of a cube to demonstrate the usage of the mesh converter. The following shows
the steps to clone the repository and run the converter: the steps to clone the repository and run the converter:
.. code-block:: bash .. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code-block:: bash
# create a directory to clone
mkdir ~/git && cd ~/git
# clone a repository with URDF files # clone a repository with URDF files
git clone git@github.com:NVIDIA-Omniverse/IsaacGymEnvs.git git clone git@github.com:NVIDIA-Omniverse/IsaacGymEnvs.git
...@@ -213,12 +262,30 @@ the steps to clone the repository and run the converter: ...@@ -213,12 +262,30 @@ the steps to clone the repository and run the converter:
cd IsaacLab cd IsaacLab
# run the converter # run the converter
./isaaclab.sh -p scripts/tools/convert_mesh.py \ ./isaaclab.sh -p scripts/tools/convert_mesh.py \
~/git/IsaacGymEnvs/assets/trifinger/objects/meshes/cube_multicolor.obj \ ../IsaacGymEnvs/assets/trifinger/objects/meshes/cube_multicolor.obj \
source/isaaclab_assets/data/Props/CubeMultiColor/cube_multicolor.usd \ source/isaaclab_assets/data/Props/CubeMultiColor/cube_multicolor.usd \
--make-instanceable \ --make-instanceable \
--collision-approximation convexDecomposition \ --collision-approximation convexDecomposition \
--mass 1.0 --mass 1.0
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code-block:: batch
:: clone a repository with URDF files
git clone git@github.com:NVIDIA-Omniverse/IsaacGymEnvs.git
:: go to top of the Isaac Lab repository
cd IsaacLab
:: run the converter
isaaclab.bat -p scripts\tools\convert_mesh.py ^
..\IsaacGymEnvs\assets\trifinger\objects\meshes\cube_multicolor.obj ^
source\isaaclab_assets\data\Props\CubeMultiColor\cube_multicolor.usd ^
--make-instanceable ^
--collision-approximation convexDecomposition ^
--mass 1.0
You may need to press 'F' to zoom in on the asset after import. You may need to press 'F' to zoom in on the asset after import.
Similar to the URDF and MJCF converter, executing the above script will create two USD files inside the Similar to the URDF and MJCF converter, executing the above script will create two USD files inside the
......
...@@ -17,7 +17,8 @@ properties of an :class:`~assets.Articulation` in Isaac Lab. ...@@ -17,7 +17,8 @@ properties of an :class:`~assets.Articulation` in Isaac Lab.
We will use the Cartpole example to demonstrate how to create an :class:`~assets.ArticulationCfg`. We will use the Cartpole example to demonstrate how to create an :class:`~assets.ArticulationCfg`.
The Cartpole is a simple robot that consists of a cart with a pole attached to it. The cart The Cartpole is a simple robot that consists of a cart with a pole attached to it. The cart
is free to move along a rail, and the pole is free to rotate about the cart. is free to move along a rail, and the pole is free to rotate about the cart. The file for this configuration example is
``source/isaaclab_assets/isaaclab_assets/robots/cartpole.py``.
.. dropdown:: Code for Cartpole configuration .. dropdown:: Code for Cartpole configuration
:icon: code :icon: code
......
...@@ -8,7 +8,8 @@ interfaces within a code in a minimal way. ...@@ -8,7 +8,8 @@ interfaces within a code in a minimal way.
A few quick showroom scripts to run and checkout: A few quick showroom scripts to run and checkout:
- Spawn different quadrupeds and make robots stand using position commands:
- Spawn different arms and apply random joint position commands:
.. tab-set:: .. tab-set::
:sync-group: os :sync-group: os
...@@ -18,20 +19,21 @@ A few quick showroom scripts to run and checkout: ...@@ -18,20 +19,21 @@ A few quick showroom scripts to run and checkout:
.. code:: bash .. code:: bash
./isaaclab.sh -p scripts/demos/quadrupeds.py ./isaaclab.sh -p scripts/demos/arms.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows .. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows :sync: windows
.. code:: batch .. code:: batch
isaaclab.bat -p scripts\demos\quadrupeds.py isaaclab.bat -p scripts\demos\arms.py
.. image:: ../_static/demos/quadrupeds.jpg .. image:: ../_static/demos/arms.jpg
:width: 100% :width: 100%
:alt: Quadrupeds in Isaac Lab :alt: Arms in Isaac Lab
- Spawn different arms and apply random joint position commands:
- Spawn different biped robots:
.. tab-set:: .. tab-set::
:sync-group: os :sync-group: os
...@@ -41,18 +43,83 @@ A few quick showroom scripts to run and checkout: ...@@ -41,18 +43,83 @@ A few quick showroom scripts to run and checkout:
.. code:: bash .. code:: bash
./isaaclab.sh -p scripts/demos/arms.py ./isaaclab.sh -p scripts/demos/bipeds.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows .. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows :sync: windows
.. code:: batch .. code:: batch
isaaclab.bat -p scripts\demos\arms.py isaaclab.bat -p scripts\demos\bipeds.py
.. image:: ../_static/demos/arms.jpg .. image:: ../_static/demos/bipeds.jpg
:width: 100% :width: 100%
:alt: Arms in Isaac Lab :alt: Biped robots in Isaac Lab
- Spawn different deformable (soft) bodies and let them fall from a height:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
./isaaclab.sh -p scripts/demos/deformables.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
isaaclab.bat -p scripts\demos\deformables.py
.. image:: ../_static/demos/deformables.jpg
:width: 100%
:alt: Deformable primitive-shaped objects in Isaac Lab
- Interactive inference of trained H1 rough terrain locomotion policy:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
./isaaclab.sh -p scripts/demos/h1_locomotion.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
isaaclab.bat -p scripts\demos\h1_locomotion.py
.. image:: ../_static/demos/h1_locomotion.jpg
:width: 100%
:alt: H1 locomotion in Isaac Lab
This is an interactive demo that can be run using the mouse and keyboard.
To enter third-person perspective, click on a humanoid character in the scene.
Once entered into third-person view, the humanoid can be controlled by keyboard using:
* ``UP``: go forward
* ``LEFT``: turn left
* ``RIGHT``: turn right
* ``DOWN``: stop
* ``C``: switch between third-person and perspective views
* ``ESC``: exit current third-person view
If a misclick happens outside of the humanoid bodies when selecting a humanoid,
a message is printed to console indicating the error, such as
``The selected prim was not a H1 robot`` or
``Multiple prims are selected. Please only select one!``.
- Spawn different hands and command them to open and close: - Spawn different hands and command them to open and close:
...@@ -77,7 +144,8 @@ A few quick showroom scripts to run and checkout: ...@@ -77,7 +144,8 @@ A few quick showroom scripts to run and checkout:
:width: 100% :width: 100%
:alt: Dexterous hands in Isaac Lab :alt: Dexterous hands in Isaac Lab
- Spawn different deformable (soft) bodies and let them fall from a height:
- Define multiple markers that are useful for visualizations:
.. tab-set:: .. tab-set::
:sync-group: os :sync-group: os
...@@ -87,18 +155,19 @@ A few quick showroom scripts to run and checkout: ...@@ -87,18 +155,19 @@ A few quick showroom scripts to run and checkout:
.. code:: bash .. code:: bash
./isaaclab.sh -p scripts/demos/deformables.py ./isaaclab.sh -p scripts/demos/markers.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows .. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows :sync: windows
.. code:: batch .. code:: batch
isaaclab.bat -p scripts\demos\deformables.py isaaclab.bat -p scripts\demos\markers.py
.. image:: ../_static/demos/deformables.jpg .. image:: ../_static/demos/markers.jpg
:width: 100% :width: 100%
:alt: Deformable primitive-shaped objects in Isaac Lab :alt: Markers in Isaac Lab
- Use the interactive scene and spawn varying assets in individual environments: - Use the interactive scene and spawn varying assets in individual environments:
...@@ -123,6 +192,42 @@ A few quick showroom scripts to run and checkout: ...@@ -123,6 +192,42 @@ A few quick showroom scripts to run and checkout:
:width: 100% :width: 100%
:alt: Multiple assets managed through the same simulation handles :alt: Multiple assets managed through the same simulation handles
- Use the interactive scene and spawn a simple parallel robot for pick and place:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
./isaaclab.sh -p scripts/demos/pick_and_place.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
isaaclab.bat -p scripts\demos\pick_and_place.py
.. image:: ../_static/demos/pick_and_place.jpg
:width: 100%
:alt: User controlled pick and place with a parallel robot
This is an interactive demo that can be run using the mouse and keyboard.
Your goal is pick up the purple cube and to drop it on the red sphere!
Use the following controls to interact with the simulation:
* Hold the ``A`` key to have the gripper track the cube position.
* Hold the ``D`` key to have the gripper track the target position
* Press the ``W`` or ``S`` keys to move the gantry UP or DOWN respectively
* Press ``Q`` or ``E`` to OPEN or CLOSE the gripper respectively
- Create and spawn procedurally generated terrains with different configurations: - Create and spawn procedurally generated terrains with different configurations:
.. tab-set:: .. tab-set::
...@@ -146,7 +251,9 @@ A few quick showroom scripts to run and checkout: ...@@ -146,7 +251,9 @@ A few quick showroom scripts to run and checkout:
:width: 100% :width: 100%
:alt: Procedural Terrains in Isaac Lab :alt: Procedural Terrains in Isaac Lab
- Define multiple markers that are useful for visualizations:
- Spawn a quadcopter in the default environment:
.. tab-set:: .. tab-set::
:sync-group: os :sync-group: os
...@@ -156,20 +263,21 @@ A few quick showroom scripts to run and checkout: ...@@ -156,20 +263,21 @@ A few quick showroom scripts to run and checkout:
.. code:: bash .. code:: bash
./isaaclab.sh -p scripts/demos/markers.py ./isaaclab.sh -p scripts/demos/quadcopter.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows .. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows :sync: windows
.. code:: batch .. code:: batch
isaaclab.bat -p scripts\demos\markers.py isaaclab.bat -p scripts\demos\quadcopter.py
.. image:: ../_static/demos/markers.jpg .. image:: ../_static/demos/quadcopter.jpg
:width: 100% :width: 100%
:alt: Markers in Isaac Lab :alt: Quadcopter in Isaac Lab
- Interactive inference of trained H1 rough terrain locomotion policy:
- Spawn different quadrupeds and make robots stand using position commands:
.. tab-set:: .. tab-set::
:sync-group: os :sync-group: os
...@@ -179,31 +287,15 @@ A few quick showroom scripts to run and checkout: ...@@ -179,31 +287,15 @@ A few quick showroom scripts to run and checkout:
.. code:: bash .. code:: bash
./isaaclab.sh -p scripts/demos/h1_locomotion.py ./isaaclab.sh -p scripts/demos/quadrupeds.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows .. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows :sync: windows
.. code:: batch .. code:: batch
isaaclab.bat -p scripts\demos\h1_locomotion.py isaaclab.bat -p scripts\demos\quadrupeds.py
.. image:: ../_static/demos/h1_locomotion.jpg .. image:: ../_static/demos/quadrupeds.jpg
:width: 100% :width: 100%
:alt: H1 locomotion in Isaac Lab :alt: Quadrupeds in Isaac Lab
This is an interactive demo that can be run using the mouse and keyboard.
To enter third-person perspective, click on a humanoid character in the scene.
Once entered into third-person view, the humanoid can be controlled by keyboard using:
* ``UP``: go forward
* ``LEFT``: turn left
* ``RIGHT``: turn right
* ``DOWN``: stop
* ``C``: switch between third-person and perspective views
* ``ESC``: exit current third-person view
If a misclick happens outside of the humanoid bodies when selecting a humanoid,
a message is printed to console indicating the error, such as
``The selected prim was not a H1 robot`` or
``Multiple prims are selected. Please only select one!``.
...@@ -12,6 +12,10 @@ for robot control. In case of SE(2) teleoperation, the returned command ...@@ -12,6 +12,10 @@ for robot control. In case of SE(2) teleoperation, the returned command
is the linear x-y velocity and yaw rate, while in SE(3), the returned is the linear x-y velocity and yaw rate, while in SE(3), the returned
command is a 6-D vector representing the change in pose. command is a 6-D vector representing the change in pose.
.. note::
Presently, Isaac Lab Mimic is only supported in Linux.
To play inverse kinematics (IK) control with a keyboard device: To play inverse kinematics (IK) control with a keyboard device:
.. code:: bash .. code:: bash
......
...@@ -20,7 +20,7 @@ To use Isaac Automator, first clone the repo: ...@@ -20,7 +20,7 @@ To use Isaac Automator, first clone the repo:
Isaac Automator requires having ``docker`` pre-installed on the system. Isaac Automator requires having ``docker`` pre-installed on the system.
* To install Docker, please follow the instructions for your operating system on the `Docker website`_. * To install Docker, please follow the instructions for your operating system on the `Docker website`_. A minimum version of 26.0.0 for Docker Engine and 2.25.0 for Docker compose are required to work with Isaac Automator.
* Follow the post-installation steps for Docker on the `post-installation steps`_ page. These steps allow you to run * Follow the post-installation steps for Docker on the `post-installation steps`_ page. These steps allow you to run
Docker without using ``sudo``. Docker without using ``sudo``.
......
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