Commit 51de36d
committed
Add isaaclab_ovphysx.sensors.ray_caster package
Mirror the per-backend RayCaster structure introduced by PR isaac-sim#5510 for
the OVPhysX backend: a single ``_OvPhysxRayCasterMixin`` (~200 lines)
in ``ray_caster.py`` carries the backend-specific pose-tracking
surface, reading live body poses through the ovphysx wheel's
``create_tensor_binding(pattern=..., tensor_type=RIGID_BODY_POSE)``
API. Three 14-line sibling modules compose the mixin with the matching
``Base*`` class (RayCasterCamera, MultiMeshRayCaster,
MultiMeshRayCasterCamera).
Static (non-physics) sensor frames fall back to a one-time USD pose
snapshot, matching PhysX's ``_initialize_static_pose_tracking``. Under
OVPhysX ``clone_usd=True`` scenes where only env_0 carries USD prims,
the env_0 offset is broadcast across the binding's row count (same
broadcast PhysX applies).
Multi-mesh dynamic targets create a second binding via the same
``create_tensor_binding`` call. v1 limitation: target paths must dedup
to a single env-wildcard pattern; multi-pattern targets raise
``NotImplementedError`` (mirrors the OVPhysX ContactSensor
``track_pose`` single-body constraint).
Unblocks ``Isaac-Velocity-Rough-Anymal-D-v0 presets=ovphysx`` (the
height_scanner is a RayCaster).1 parent 51a704e commit 51de36d
7 files changed
Lines changed: 411 additions & 0 deletions
File tree
- source/isaaclab_ovphysx
- changelog.d
- isaaclab_ovphysx/sensors/ray_caster
Lines changed: 15 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
0 commit comments