Skip to content

Commit 5139203

Browse files
Adds quick installation and supporting doc pages (#5002)
## Summary - Adds a concise **Quick Installation** page (`quick_installation.rst`) with copy-paste install + run steps - Adds `installation_guide.rst`, `configurations.rst`, and `robots.rst` reference pages - Registers all new pages in the Getting Started toctree Split from #4966 per reviewer feedback (docs-only changes). ## Test plan - [ ] Build docs with `./isaaclab.sh -d` and verify new pages render correctly - [ ] Verify toctree links resolve without warnings - [ ] Confirm `quickstart.rst` (upstream) is unchanged --------- Co-authored-by: Antoine Richard <antoiner@nvidia.com>
1 parent 7ac32c9 commit 5139203

File tree

7 files changed

+318
-67
lines changed

7 files changed

+318
-67
lines changed

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ Table of Contents
100100
:titlesonly:
101101

102102
source/setup/quickstart
103+
source/setup/quick_installation
103104
source/overview/own-project/index
104105
source/setup/walkthrough/index
105106
source/tutorials/index
@@ -148,7 +149,6 @@ Table of Contents
148149
:caption: Resources
149150
:titlesonly:
150151

151-
source/setup/installation/cloud_installation
152152
source/policy_deployment/index
153153

154154
.. toctree::

docs/source/how-to/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ how to import a new asset into Isaac Lab.
2424

2525
import_new_asset
2626
write_articulation_cfg
27+
robots
2728

2829
Creating a Fixed Asset
2930
----------------------

docs/source/how-to/robots.rst

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
.. _isaac-lab-robots:
2+
3+
Robot Configurations
4+
=======================
5+
6+
Robots are entirely defined as instances of configurations within Isaac Lab. If you examine ``source/isaaclab_assets/isaaclab_assets/robots``, you will see a number of files, each of which
7+
contains configurations for the robot in question. The purpose of these individual files is to better define scope for all the different robots, but there is nothing preventing
8+
you from :ref:`adding your own <tutorial-add-new-robot>` to your project or even to the ``isaaclab`` repository! For example, consider the following configuration for
9+
the Dofbot
10+
11+
.. code-block:: python
12+
13+
import isaaclab.sim as sim_utils
14+
from isaaclab.actuators import ImplicitActuatorCfg
15+
from isaaclab.assets.articulation import ArticulationCfg
16+
from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR
17+
18+
DOFBOT_CONFIG = ArticulationCfg(
19+
spawn=sim_utils.UsdFileCfg(
20+
usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Dofbot/dofbot.usd",
21+
rigid_props=sim_utils.RigidBodyPropertiesCfg(
22+
disable_gravity=False,
23+
max_depenetration_velocity=5.0,
24+
),
25+
articulation_props=sim_utils.ArticulationRootPropertiesCfg(
26+
enabled_self_collisions=True, solver_position_iteration_count=8, solver_velocity_iteration_count=0
27+
),
28+
),
29+
init_state=ArticulationCfg.InitialStateCfg(
30+
joint_pos={
31+
"joint1": 0.0,
32+
"joint2": 0.0,
33+
"joint3": 0.0,
34+
"joint4": 0.0,
35+
},
36+
pos=(0.25, -0.25, 0.0),
37+
),
38+
actuators={
39+
"front_joints": ImplicitActuatorCfg(
40+
joint_names_expr=["joint[1-2]"],
41+
effort_limit_sim=100.0,
42+
velocity_limit_sim=100.0,
43+
stiffness=10000.0,
44+
damping=100.0,
45+
),
46+
"joint3_act": ImplicitActuatorCfg(
47+
joint_names_expr=["joint3"],
48+
effort_limit_sim=100.0,
49+
velocity_limit_sim=100.0,
50+
stiffness=10000.0,
51+
damping=100.0,
52+
),
53+
"joint4_act": ImplicitActuatorCfg(
54+
joint_names_expr=["joint4"],
55+
effort_limit_sim=100.0,
56+
velocity_limit_sim=100.0,
57+
stiffness=10000.0,
58+
damping=100.0,
59+
),
60+
},
61+
)
62+
63+
This completely defines the dofbot! You could copy this into a ``.py`` file and import it as a module and you would be able to use the dofbot in
64+
your own lab sims. One common feature you will see in any config defining things with state is the presence of an ``InitialStateCfg``. Remember, the configurations
65+
are what informs vectorization, and it's the ``InitialStateCfg`` that describes the state of the joints of our robot when it gets created in each environment. The
66+
``ImplicitActuatorCfg`` defines the joints of the robot using the default actuation model determined by the joint type. Not all joints need to be actuated, but you
67+
will get warnings if you don't. If you aren't planning on using those undefined joints, you can generally ignore these.

docs/source/refs/troubleshooting.rst

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,75 @@ Tricks and Troubleshooting
99
assistance.
1010

1111

12+
Installation Troubleshooting
13+
----------------------------
14+
15+
``ModuleNotFoundError: No module named 'pip'``
16+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17+
18+
Your venv was created without pip. The install system auto-detects and uses
19+
``uv pip`` when pip is absent, so this error should no longer occur with the
20+
latest Isaac Lab.
21+
22+
``ModuleNotFoundError: No module named 'isaacsim'``
23+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24+
25+
You are running a script that requires Isaac Sim, but it is not installed.
26+
Either:
27+
28+
- Install Isaac Sim: ``./isaaclab.sh -i isaacsim``, or
29+
- Use a Newton-based task with ``presets=newton --visualizer newton`` (Kit-less path)
30+
31+
``ModuleNotFoundError: No module named 'isaaclab_physx'`` or ``'isaaclab_ov'``
32+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33+
34+
These config packages are auto-installed by ``./isaaclab.sh -i``. If using a
35+
selective install, re-run with the default ``./isaaclab.sh -i`` to get all
36+
packages.
37+
38+
``ModuleNotFoundError: No module named 'isaaclab_assets'``
39+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40+
41+
Include ``assets`` in your install command, or use ``./isaaclab.sh -i`` to install
42+
everything.
43+
44+
``ModuleNotFoundError: No module named 'rsl_rl'``
45+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46+
47+
Include the RL framework: ``./isaaclab.sh -i rsl_rl``, or use
48+
``./isaaclab.sh -i`` to install all frameworks.
49+
50+
Crash in ``libusd_tf`` / USD Symbol Collision with OVRTX
51+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52+
53+
If you see a crash involving ``libusd_tf-*.so`` and conflicting USD versions
54+
(e.g. ``pxrInternal_v0_25_5`` vs ``pxrInternal_v0_25_11``):
55+
56+
1. Ensure ``LD_PRELOAD`` is set to ovrtx's ``libcarb.so`` (see the
57+
:ref:`OVRTX section <installation-ovrtx>` of the installation guide)
58+
2. Ensure ``isaacsim`` / ``omniverse-kit`` is **not** installed in the same
59+
environment — their bundled USD libraries conflict with ovrtx's
60+
61+
Visualizer Not Appearing
62+
~~~~~~~~~~~~~~~~~~~~~~~~
63+
64+
If ``--visualizer newton`` shows no window, you may be missing ``imgui-bundle``:
65+
66+
.. code-block:: bash
67+
68+
uv pip install imgui-bundle
69+
70+
For ``viser``, check the terminal for a URL (e.g. ``http://localhost:8012``).
71+
72+
``GLIBC Version Too Old``
73+
~~~~~~~~~~~~~~~~~~~~~~~~~
74+
75+
Isaac Sim pip packages require GLIBC 2.35+. Check with ``ldd --version``.
76+
Ubuntu 22.04+ satisfies this. For older distributions, use the
77+
`binary installation <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/install_workstation.html>`_
78+
method for Isaac Sim.
79+
80+
1281
Debugging physics simulation stability issues
1382
---------------------------------------------
1483

docs/source/setup/installation/index.rst

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,13 @@ fastest way to get started and is ideal for users who only need the Newton physi
147147
# Install Isaac Lab (Newton backend, no Isaac Sim required)
148148
./isaaclab.sh --install # or ./isaaclab.sh -i
149149

150+
# Kickoff training with Newton physics and Newton visualizer
151+
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py \
152+
--task=Isaac-Cartpole-Direct-v0 \
153+
--num_envs=16 --max_iterations=10 \
154+
presets=newton --visualizer newton
155+
156+
150157
**Features available in kit-less mode (Newton backend, no Isaac Sim):**
151158

152159
- Newton physics simulation (GPU-accelerated, including MuJoCo-Warp solver)
@@ -163,11 +170,92 @@ fastest way to get started and is ideal for users who only need the Newton physi
163170
- ROS / ROS2 integration
164171
- URDF and MJCF importers (GUI-based)
165172
- Deformable objects and surface gripper (PhysX-only)
166-
- Teleoperation and imitiation learning workflows
173+
- Teleoperation and imitation learning workflows
167174

168175
To install Isaac Sim, use the pip method described in :doc:`pip_installation`.
169176

170177

178+
.. _installation-selective-install:
179+
180+
Selective Install
181+
-----------------
182+
183+
If you want a minimal environment, ``./isaaclab.sh -i`` accepts comma-separated
184+
sub-package names:
185+
186+
.. list-table::
187+
:header-rows: 1
188+
189+
* - Option
190+
- What it does
191+
* - ``isaacsim``
192+
- Install Isaac Sim pip package
193+
* - ``newton``
194+
- Install Newton physics + Newton visualizer
195+
* - ``physx``
196+
- Install PhysX physics runtime
197+
* - ``ovrtx``
198+
- Install OVRTX renderer runtime
199+
* - ``tasks``
200+
- Install built-in task environments
201+
* - ``assets``
202+
- Install robot/object configurations
203+
* - ``visualizers``
204+
- Install all visualizer backends
205+
* - ``rsl_rl``
206+
- Install RSL-RL framework
207+
* - ``skrl``
208+
- Install skrl framework
209+
* - ``sb3``
210+
- Install Stable Baselines3 framework
211+
* - ``rl_games``
212+
- Install rl_games framework
213+
* - ``robomimic``
214+
- Install robomimic framework
215+
* - ``none``
216+
- Install only core ``isaaclab`` package
217+
218+
Examples:
219+
220+
.. code-block:: bash
221+
222+
# Minimal Newton setup
223+
./isaaclab.sh -i newton,tasks,assets
224+
225+
# Newton with OVRTX and RSL-RL only
226+
./isaaclab.sh -i newton,tasks,assets,ovrtx,rsl_rl
227+
228+
# Full Kit install with skrl
229+
./isaaclab.sh -i isaacsim,skrl
230+
231+
232+
.. _installation-ovrtx:
233+
234+
OVRTX Rendering
235+
---------------
236+
237+
OVRTX provides GPU-accelerated rendering for vision tasks without Kit.
238+
239+
.. code-block:: bash
240+
241+
./isaaclab.sh -i ov[ovrtx]
242+
243+
export LD_PRELOAD=$(python -c "import ovrtx, pathlib; print(pathlib.Path(ovrtx.__file__).parent / 'bin/plugins/libcarb.so')")
244+
245+
./isaaclab.sh -p scripts/benchmarks/benchmark_rsl_rl.py \
246+
--task Isaac-Repose-Cube-Shadow-Vision-Benchmark-Direct-v0 \
247+
--headless --enable_cameras --num_envs 16 --max_iterations 10 \
248+
presets=newton,ovrtx_renderer,simple_shading_diffuse_mdl
249+
250+
251+
Running Installation Tests
252+
--------------------------
253+
254+
.. code-block:: bash
255+
256+
./isaaclab.sh -p -m pytest source/isaaclab/test/cli/test_cli_utils.py -v
257+
258+
171259
Isaac Sim Installation
172260
----------------------
173261

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
.. _isaac-lab-quick-installation:
2+
3+
Quick Installation
4+
=======================
5+
6+
``./isaaclab.sh -i`` installs everything needed to run with Newton Physics out of the box.
7+
8+
.. code-block:: bash
9+
10+
# Install uv
11+
curl -LsSf https://astral.sh/uv/install.sh | sh
12+
13+
# Clone Isaac Lab
14+
git clone https://github.com/isaac-sim/IsaacLab.git
15+
cd IsaacLab
16+
17+
# Create environment and install
18+
uv venv .venv --python 3.12
19+
source .venv/bin/activate
20+
./isaaclab.sh -i
21+
22+
# Run training (Newton backend, 16 envs)
23+
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py \
24+
--task=Isaac-Cartpole-Direct-v0 \
25+
--num_envs=16 --max_iterations=10 \
26+
presets=newton --visualizer newton
27+
28+
29+
Running Tasks
30+
-------------------
31+
32+
The ``presets=`` Hydra override selects the physics backend and renderer at runtime:
33+
34+
.. code-block:: bash
35+
36+
# Newton (Kit-less)
37+
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py \
38+
--task Isaac-Cartpole-Direct-v0 \
39+
--num_envs 4096 \
40+
presets=newton \
41+
--visualizer newton
42+
43+
# PhysX (Kit — requires Isaac Sim)
44+
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py \
45+
--task Isaac-Cartpole-Direct-v0 \
46+
--num_envs 4096 \
47+
presets=physx
48+
49+
# Newton with a specific visualizer
50+
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py \
51+
--task Isaac-Cartpole-Direct-v0 \
52+
--num_envs 4096 \
53+
presets=newton \
54+
--visualizer viser
55+
56+
Kit-less visualizer options: ``newton``, ``rerun``, ``viser``. Multiple can be
57+
combined: ``--visualizer newton,rerun``.
58+
59+
.. seealso::
60+
61+
- :doc:`/source/features/hydra` — Hydra presets and configuration overrides
62+
- :doc:`/source/features/visualization` — Visualizer backends and configuration
63+
- :doc:`/source/how-to/configure_rendering` — Rendering mode presets and settings
64+
- :ref:`isaaclab-installation-root` — Full installation guide with all methods
65+
66+
Available Presets
67+
^^^^^^^^^^^^^^^^^
68+
69+
Presets are combined with commas: ``presets=newton,newton_renderer,depth``.
70+
71+
.. code-block:: bash
72+
73+
presets=newton,newton_renderer,rgb # presets=physics,renderer,render mode
74+
presets=newton,newton_renderer,depth
75+
presets=physx,isaacsim_rtx_renderer,rgb
76+
presets=physx,isaacsim_rtx_renderer,depth
77+
presets=physx,isaacsim_rtx_renderer,albedo
78+
presets=physx,isaacsim_rtx_renderer,simple_shading_constant_diffuse
79+
presets=physx,isaacsim_rtx_renderer,simple_shading_diffuse_mdl
80+
presets=physx,isaacsim_rtx_renderer,simple_shading_full_mdl
81+
presets=newton,ovrtx_renderer,rgb
82+
presets=newton,ovrtx_renderer,depth
83+
presets=newton,ovrtx_renderer,albedo
84+
presets=newton,ovrtx_renderer,simple_shading_constant_diffuse
85+
presets=newton,ovrtx_renderer,simple_shading_diffuse_mdl
86+
presets=newton,ovrtx_renderer,simple_shading_full_mdl

0 commit comments

Comments
 (0)