Skip to content

Commit 9c091cd

Browse files
committed
Reorganize migration guide
1 parent 1e71041 commit 9c091cd

5 files changed

Lines changed: 1911 additions & 1840 deletions

File tree

docs/source/migration/include/comparing_simulation_isaacgym.rst

Lines changed: 27 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
.. _migrating-from-isaacgymenvs-comparing-simulation:
22

3-
Comparing Simulations Between Isaac Gym and Isaac Lab
4-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
.. rubric:: Comparing Simulations Between Isaac Gym and Isaac Lab
54

65

76
When migrating simulations from Isaac Gym to Isaac Lab, it is sometimes helpful to compare
@@ -18,8 +17,7 @@ engine for both Isaac Gym and Isaac Lab, albeit with different versions.
1817
the Isaac Sim OmniPVD recording workflow described on this page.
1918

2019

21-
Recording to PXD2 in Isaac Gym Preview Release
22-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
20+
**Recording to PXD2 in Isaac Gym Preview Release**
2321

2422
Simulation traces in Isaac Gym can be recorded using the built-in PhysX Visual Debugger (PVD)
2523
file output feature. Set the operating system environment variable ``GYM_PVD_FILE`` to the
@@ -36,8 +34,7 @@ For detailed instructions, refer to the tuning documentation included with Isaac
3634
This file reference is provided because Isaac Gym does not have its documentation available online.
3735

3836

39-
Recording to OVD in Isaac Lab
40-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
37+
**Recording to OVD in Isaac Lab**
4138

4239
To record an OVD simulation trace file in Isaac Lab, you must set the appropriate Isaac Sim Kit
4340
arguments. It is important that the ``omniPvdOvdRecordingDirectory`` variable is set **before**
@@ -56,8 +53,7 @@ Do not edit Isaac Sim's installed ``SimulationApp`` sources to set these values.
5653
``--kit_args`` so the command remains reproducible across Isaac Sim installations.
5754

5855

59-
Inspecting PXD2 and OVD Files
60-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56+
**Inspecting PXD2 and OVD Files**
6157

6258
By opening the PXD2 file in a PVD viewer and the OVD file in OmniPVD (a Kit extension), you can
6359
manually compare the two simulation runs and their respective parameters.
@@ -93,22 +89,19 @@ extension loaded to inspect OVD files.
9389
.. image:: ../_static/migration/ovd_pvd_comparison.jpg
9490

9591

96-
Parameters to Verify During Simulation Comparison
97-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
92+
**Parameters to Verify During Simulation Comparison**
9893

9994
For PhysX articulations, each attribute is useful to inspect because it reveals how the link or shape
10095
will actually behave in contact, under drives, and at constraints. Below, each attribute is expanded
10196
with why it matters for debugging and tuning simulations.
10297

10398

104-
PxArticulationLink
105-
""""""""""""""""""
99+
**PxArticulationLink**
106100

107101
Each link behaves like a rigid body with mass properties, damping, velocity limits, and contact-resolution
108102
limits. Inspecting these helps explain stability issues, jitter, and odd responses to forces.
109103

110-
Mass Properties
111-
```````````````
104+
**Mass Properties**
112105

113106
**Mass**
114107
Determines how strongly the link accelerates under forces and how it shares impulses in collisions
@@ -130,8 +123,7 @@ Mass Properties
130123
*When to inspect:* Links are too easy or too hard to spin relative to their mass, which affects joint
131124
drive tuning and impact responses.
132125

133-
Damping Properties
134-
``````````````````
126+
**Damping Properties**
135127

136128
**Linear Damping**
137129
Models velocity-proportional drag on translation; higher values make links lose linear speed faster.
@@ -145,8 +137,7 @@ Damping Properties
145137
*When to inspect:* Links keep spinning after impacts or motor drives (too low), or joints feel "sticky"
146138
and fail to swing freely under gravity (too high).
147139

148-
Velocity Properties
149-
```````````````````
140+
**Velocity Properties**
150141

151142
**Linear Velocity**
152143
Instantaneous world-space translational velocity of the link.
@@ -173,8 +164,7 @@ Velocity Properties
173164
*When to inspect:* Links spin unrealistically fast after collisions or drives (value too large), or
174165
rotation looks unnaturally limited, especially for wheels or rotors that should rotate quickly (value too small).
175166

176-
Contact Resolution Properties
177-
`````````````````````````````
167+
**Contact Resolution Properties**
178168

179169
**Max Depenetration Velocity**
180170
Limits how much corrective velocity the solver may add in one step to resolve penetrations at contacts.
@@ -190,8 +180,7 @@ Contact Resolution Properties
190180
too rigid (sharp impulses causing ringing or bouncing), or when tuning "soft collisions" like rubber or
191181
skin-like surfaces.
192182

193-
State and Behavior Flags
194-
````````````````````````
183+
**State and Behavior Flags**
195184

196185
**Kinematic vs Dynamic flag / Disable gravity**
197186
Indicates whether a link is driven kinematically or fully simulated, and whether gravity affects it.
@@ -206,14 +195,12 @@ State and Behavior Flags
206195
and causing low-amplitude jitter).
207196

208197

209-
PxArticulationJoint
210-
"""""""""""""""""""
198+
**PxArticulationJoint**
211199

212200
The inbound joint defines relative motion between a link and its parent. Inspecting motion and related
213201
parameters explains limits, constraints, and how drives shape articulation pose and stability.
214202

215-
Joint Configuration
216-
```````````````````
203+
**Joint Configuration**
217204

218205
**Motion**
219206
Per-axis setting (locked, limited, free) that defines which degrees of freedom the joint allows and
@@ -234,8 +221,7 @@ Joint Configuration
234221
*When to inspect:* Joints hyper-extend, clip through geometry, or suddenly snap at boundaries; mis-set
235222
limits cause popping and instability.
236223

237-
Drive Properties
238-
````````````````
224+
**Drive Properties**
239225

240226
**Drive target position (orientation) and target velocity**
241227
Desired relative pose and relative velocity that drives the articulation, often using spring-damper models.
@@ -255,14 +241,12 @@ Drive Properties
255241
*When to inspect:* Passive joints keep swinging too long, or appear stuck even without drives.
256242

257243

258-
PxShape
259-
"""""""
244+
**PxShape**
260245

261246
Shapes attached to links determine collision representation and contact behavior. Even if they are internal
262247
in OmniPhysics, their properties have a strong impact on stability, contact timing, and visual alignment.
263248

264-
Collision Offsets
265-
`````````````````
249+
**Collision Offsets**
266250

267251
**Rest Offset**
268252
Distance at which two shapes come to rest; sum of their rest offsets defines the separation where they "settle".
@@ -279,8 +263,7 @@ Collision Offsets
279263
contact count) or "too late" (tunneling or jitter). The difference between contact and rest offsets is
280264
crucial for predictive, stable contacts.
281265

282-
Geometry and Materials
283-
``````````````````````
266+
**Geometry and Materials**
284267

285268
**Geometry type and dimensions**
286269
Box, sphere, capsule, convex, mesh, and the associated size parameters.
@@ -294,8 +277,7 @@ Geometry and Materials
294277
*When to inspect:* An articulation foot skids too easily, sticks to the ground, or bounces unexpectedly.
295278
Wrong materials can make mechanisms unstable or unresponsive.
296279

297-
Shape Flags
298-
```````````
280+
**Shape Flags**
299281

300282
**Flag for simulation / query / trigger**
301283
Whether the shape participates in simulation contacts, raycasts only, or trigger events.
@@ -310,16 +292,14 @@ Shape Flags
310292
reduces performance.
311293

312294

313-
PxRigidDynamic
314-
""""""""""""""
295+
**PxRigidDynamic**
315296

316297
``PxRigidDynamic`` is the core simulated rigid body type in PhysX, so inspecting its attributes is crucial
317298
for understanding individual object behavior, stability, and performance in the scene. Many attributes
318299
mirror ``PxArticulationLink``, but a rigid dynamic is not constrained by articulation joints and can also
319300
be used in kinematic mode.
320301

321-
Mass and Mass-Related Properties
322-
````````````````````````````````
302+
**Mass and Mass-Related Properties**
323303

324304
**Mass**
325305
Controls translational response to forces and impulses; for the same impulse, lower mass gives higher
@@ -341,8 +321,7 @@ Mass and Mass-Related Properties
341321
small hits), or when anisotropic behavior is needed (e.g., wheels that spin easily around one axis but
342322
resist others).
343323

344-
Damping and Velocity Limits
345-
```````````````````````````
324+
**Damping and Velocity Limits**
346325

347326
**Linear Damping**
348327
Adds velocity-proportional drag on translation.
@@ -380,8 +359,7 @@ Damping and Velocity Limits
380359
*When to inspect:* Thin or small bodies spin so fast they destabilize the scene (value too high), or
381360
spinning elements such as wheels, propellers, or debris appear artificially capped (value too low).
382361

383-
Contact Resolution and Impulses
384-
```````````````````````````````
362+
**Contact Resolution and Impulses**
385363

386364
**Max Depenetration Velocity**
387365
Limits the corrective velocity the solver may introduce in one step to resolve interpenetrations.
@@ -396,8 +374,7 @@ Contact Resolution and Impulses
396374
*When to inspect:* Create softer contacts (lower limit) or very rigid, almost unyielding bodies (high or
397375
default limit); objects sink into each other or bounce unrealistically.
398376

399-
Sleep and Activation Behavior
400-
```````````````````````````````
377+
**Sleep and Activation Behavior**
401378

402379
**Sleep Threshold**
403380
Mass-normalized kinetic energy below which a body becomes a candidate for sleeping.
@@ -411,8 +388,7 @@ Sleep and Activation Behavior
411388
*When to inspect:* Bodies refuse to wake up on interactions or wake too easily. Bad sleep behavior can
412389
make scenes feel "dead" or too noisy.
413390

414-
Kinematic Mode and Locking
415-
``````````````````````````
391+
**Kinematic Mode and Locking**
416392

417393
**Kinematic Flag (PxRigidBodyFlag::eKINEMATIC)**
418394
When set, the body is moved by ``setKinematicTarget`` and ignores forces and gravity, while still
@@ -435,8 +411,7 @@ Kinematic Mode and Locking
435411
*When to inspect:* Objects float in mid-air or drop unexpectedly. A common source of confusion in
436412
mixed setups with some gravity-less bodies.
437413

438-
Forces and Solver Overrides
439-
```````````````````````````
414+
**Forces and Solver Overrides**
440415

441416
**Applied force and torque (accumulated per step)**
442417
Net forces/torques that will be integrated into velocity.
@@ -451,8 +426,7 @@ Forces and Solver Overrides
451426
stability or more accurate stacking. Low iterations can cause jitter and penetration; too high wastes
452427
performance.
453428

454-
Shape-Related Aspects
455-
`````````````````````
429+
**Shape-Related Aspects**
456430

457431
While not properties of ``PxRigidDynamic`` itself, the shapes attached to it heavily influence behavior.
458432

@@ -469,8 +443,7 @@ While not properties of ``PxRigidDynamic`` itself, the shapes attached to it hea
469443
is material configuration rather than mass or damping.
470444

471445

472-
Summary: What to Inspect and Why
473-
""""""""""""""""""""""""""""""""
446+
**Summary: What to Inspect and Why**
474447

475448
The table below summarizes the key inspection areas for each PhysX component:
476449

docs/source/migration/include/deformables.rst

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ configurations live in ``isaaclab_newton.sim``.
1919
`release notes`_ for any changes in the future releases.
2020

2121

22-
Surface and Volume Deformables
23-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22+
.. rubric:: Surface and Volume Deformables
2423

2524
With the new Omni Physics API, deformable bodies are split into two distinct types, as described in the
2625
`Omni Physics documentation`_:
@@ -42,11 +41,9 @@ The type of deformable is determined by the **physics material** assigned to the
4241
**surface** deformable.
4342

4443

45-
Migration from the Old API
46-
~~~~~~~~~~~~~~~~~~~~~~~~~~
44+
.. rubric:: Migration from the Old API
4745

48-
Import Changes
49-
^^^^^^^^^^^^^^
46+
**Import Changes**
5047

5148
Deformable object cfgs remain in ``isaaclab.assets``. Deformable schema and material cfgs should be imported
5249
from the physics backend package:
@@ -72,8 +69,7 @@ from the physics backend package:
7269
* - ``from isaaclab_physx.assets import DeformableObjectCfg``
7370
- ``from isaaclab.assets import DeformableObjectCfg``
7471

75-
Removed Properties
76-
^^^^^^^^^^^^^^^^^^
72+
**Removed Properties**
7773

7874
The following properties have been **removed** from
7975
:class:`~isaaclab_physx.sim.PhysxDeformableBodyPropertiesCfg`:
@@ -93,8 +89,7 @@ The following properties have been **removed** from
9389
mesh, so authoring them on the body prim never reached the solver. Set them on the mesh spawner's
9490
``collision_props`` instead: ``collision_props=[PhysxCollisionCfg(rest_offset=0.0005, contact_offset=0.005)]``.
9591

96-
Added Properties
97-
^^^^^^^^^^^^^^^^
92+
**Added Properties**
9893

9994
The following properties have been **added** to
10095
:class:`~isaaclab_physx.sim.PhysxDeformableBodyPropertiesCfg`:
@@ -114,8 +109,7 @@ The following properties have been **added** to
114109
For a full description of all available properties, refer to the `PhysX deformable schema`_ and
115110
`OmniPhysics deformable schema`_ documentation.
116111

117-
Material Changes
118-
^^^^^^^^^^^^^^^^
112+
**Material Changes**
119113

120114
The deformable material hierarchy is now split by backend:
121115

@@ -134,18 +128,15 @@ The deformable material hierarchy is now split by backend:
134128

135129
The old ``damping_scale`` property has been removed. Use ``elasticity_damping`` directly instead.
136130

137-
DeformableObject View Change
138-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
131+
**DeformableObject View Change**
139132

140133
The internal PhysX view type has changed from ``physx.SoftBodyView`` to ``physx.DeformableBodyView``.
141134
The property ``root_physx_view`` has been deprecated in favor of ``root_view``.
142135

143136

144-
Code Examples
145-
~~~~~~~~~~~~~
137+
.. rubric:: Code Examples
146138

147-
Volume Deformable (Before and After)
148-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
139+
**Volume Deformable (Before and After)**
149140

150141
**Before**:
151142

@@ -186,8 +177,7 @@ Volume Deformable (Before and After)
186177
)
187178
cube_object = DeformableObject(cfg=cfg)
188179
189-
Surface Deformable (New)
190-
^^^^^^^^^^^^^^^^^^^^^^^^
180+
**Surface Deformable (New)**
191181

192182
Surface deformables use :class:`~isaaclab.sim.spawners.meshes.MeshRectangleCfg` for 2D meshes, combined with
193183
:class:`~isaaclab_physx.sim.PhysxSurfaceDeformableBodyMaterialCfg`:
@@ -210,8 +200,7 @@ Surface deformables use :class:`~isaaclab.sim.spawners.meshes.MeshRectangleCfg`
210200
)
211201
cloth_object = DeformableObject(cfg=cfg)
212202
213-
USD File Deformable
214-
^^^^^^^^^^^^^^^^^^^
203+
**USD File Deformable**
215204

216205
Deformable properties can also be applied to imported USD assets using
217206
:class:`~isaaclab.sim.spawners.from_files.UsdFileCfg`:
@@ -236,8 +225,7 @@ Deformable properties can also be applied to imported USD assets using
236225
teddy_object = DeformableObject(cfg=cfg)
237226
238227
239-
Limitations
240-
~~~~~~~~~~~
228+
.. rubric:: Limitations
241229

242230
- **Kinematic targets are volume-only.** Calling
243231
:meth:`~isaaclab.assets.DeformableObject.write_nodal_kinematic_target_to_sim_index` on a surface

0 commit comments

Comments
 (0)