Skip to content

Addresses docs related issues from MultiMeshRayCaster#4222

Merged
Mayankm96 merged 194 commits into
mainfrom
fix/multi-mesh-docs
Dec 16, 2025
Merged

Addresses docs related issues from MultiMeshRayCaster#4222
Mayankm96 merged 194 commits into
mainfrom
fix/multi-mesh-docs

Conversation

@Mayankm96

@Mayankm96 Mayankm96 commented Dec 16, 2025

Copy link
Copy Markdown
Contributor

Description

This MR adds the remaining comments in #3298

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • 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

pascal-roth and others added 30 commits August 9, 2025 08:27
Add the efficient multi-mesh raycasting function implemented in Orbit.
Moreover, this PR fixes the test of it.

The new raycaster allows to raycast against multiple objects, which can
be located at different positions in each environment. The positions can
be tracked over time if enabled in the config.

- New feature (non-breaking change which adds functionality)

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [ ] 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

---------

Co-authored-by: zrene <zrene@ethz.ch>
…ssion (#48)

Fixes number of meshes in the `RayCaster` when raycasting dynamically
against a regex expression of multiple objects in the scene.

- Bug fix (non-breaking change which fixes an issue)

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] 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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
Change Mulit-mesh raycaster and raycaster camera to own files, restore
the ones of main to simplify the merge.

NOTE: test of the camera is currently failing, similar as on public main
at that time, should be fixed after update to latest main

- Breaking change (fix or feature that would cause existing
functionality to not work as expected)

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] 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
- [ ] 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
…d fixes tests (#65)

ClassVar not correctly destroyed, thus removing it (follow changes of
original RayCaster). Fixing tests to comply with changes of our internal
code with 1.4.1.

- Bug fix (non-breaking change which fixes an issue)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)

- [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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Co-authored-by: zrene <zrene@ethz.ch>
…nstances to benchmark. Fix callback issues for mulit mesh
@github-actions github-actions Bot added bug Something isn't working documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team labels Dec 16, 2025
@greptile-apps

greptile-apps Bot commented Dec 16, 2025

Copy link
Copy Markdown
Contributor

Greptile Overview

Greptile Summary

This PR addresses documentation-related issues from the MultiMeshRayCaster feature merge (#3298). The changes include adding API documentation, improving docstrings, fixing import paths, and adding demo showcase entries.

Key Changes:

  • Added mesh utility module (utils/mesh.py) with functions to convert USD primitives to trimesh objects
  • Added prim_utils.py helper for obtaining world poses from different view types
  • Updated API documentation to include MultiMeshRayCaster classes in isaaclab.sensors and mesh module in isaaclab.utils
  • Improved docstring formatting in multi_mesh_ray_caster.py and ray_caster.py
  • Fixed deprecated import paths from omni.isaac.lab to isaaclab in symmetry files
  • Added multi-mesh raycaster demo to showroom documentation

Issues Found:

  • Wrong image reference in showroom.rst (uses quadrupeds.jpg instead of multi-mesh-raycast.jpg)
  • Invalid asset_type argument in showroom demo commands (uses multi which doesn't exist; should be objects, allegro_hand, or anymal_d)

Confidence Score: 3/5

  • This PR contains documentation fixes but has issues with the showroom demo that will cause runtime errors
  • Score reduced due to documentation errors that will break the demo commands - incorrect image reference and invalid command-line argument values will confuse users trying the examples
  • Pay close attention to docs/source/overview/showroom.rst - the demo commands and image reference need correction before users can successfully run the examples

Important Files Changed

File Analysis

Filename Score Overview
docs/source/overview/showroom.rst 2/5 Incorrect image reference - uses quadrupeds.jpg instead of multi-mesh-raycast.jpg for the multi-mesh raycaster demo
source/isaaclab/isaaclab/utils/mesh.py 5/5 Added comprehensive mesh utility functions with proper documentation for converting USD primitives to trimesh
docs/source/api/lab/isaaclab.sensors.rst 5/5 Added API documentation for MultiMeshRayCaster and MultiMeshRayCasterCamera classes
source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster.py 5/5 Improved documentation formatting and fixed typos in code examples
source/isaaclab/isaaclab/sensors/ray_caster/ray_caster.py 5/5 Enhanced documentation with ClassVar explanations and cleaned up function docs
scripts/demos/sensors/multi_mesh_raycaster.py 4/5 Demo script with proper documentation; command-line argument in docs uses incorrect value multi instead of objects

Sequence Diagram

sequenceDiagram
    participant User
    participant Demo Script
    participant MultiMeshRayCaster
    participant RayCaster Base
    participant Warp Kernels
    participant USD Prims

    User->>Demo Script: Run multi_mesh_raycaster.py with args
    Demo Script->>MultiMeshRayCaster: Initialize with MultiMeshRayCasterCfg
    MultiMeshRayCaster->>RayCaster Base: Call super().__init__(cfg)
    RayCaster Base->>RayCaster Base: Initialize base sensor
    
    MultiMeshRayCaster->>MultiMeshRayCaster: _initialize_impl()
    MultiMeshRayCaster->>USD Prims: Resolve mesh prim paths (regex expressions)
    USD Prims-->>MultiMeshRayCaster: Return matched prims
    
    MultiMeshRayCaster->>MultiMeshRayCaster: Create trimesh from USD geometry
    Note over MultiMeshRayCaster: Uses mesh.py utilities:<br/>create_trimesh_from_geom_mesh()<br/>create_trimesh_from_geom_shape()
    
    MultiMeshRayCaster->>Warp Kernels: Convert trimesh to warp meshes
    Note over Warp Kernels: convert_to_warp_mesh()
    Warp Kernels-->>MultiMeshRayCaster: Return warp mesh objects
    
    MultiMeshRayCaster->>MultiMeshRayCaster: Cache meshes in ClassVar dict
    MultiMeshRayCaster->>MultiMeshRayCaster: Create physics views for dynamic tracking
    Note over MultiMeshRayCaster: Uses prim_utils.py:<br/>obtain_world_pose_from_view()
    
    loop Simulation Step
        Demo Script->>MultiMeshRayCaster: update(dt)
        MultiMeshRayCaster->>MultiMeshRayCaster: Get world poses from views
        MultiMeshRayCaster->>Warp Kernels: raycast_dynamic_meshes()
        Warp Kernels-->>MultiMeshRayCaster: Return hit distances, normals, mesh IDs
        MultiMeshRayCaster->>MultiMeshRayCaster: Store in MultiMeshRayCasterData
        MultiMeshRayCaster-->>Demo Script: Ray hit data available
    end
Loading

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

26 files reviewed, 3 comments

Edit Code Review Agent Settings | Greptile

Comment thread docs/source/overview/showroom.rst Outdated
Comment thread docs/source/overview/showroom.rst Outdated
Comment thread docs/source/overview/showroom.rst Outdated
Mayankm96 and others added 6 commits December 16, 2025 13:10
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
@Mayankm96 Mayankm96 changed the title Addresses docs related issues from MultiMeshRayCast MR Addresses docs related issues from MultiMeshRayCast Dec 16, 2025
@Mayankm96 Mayankm96 changed the title Addresses docs related issues from MultiMeshRayCast Addresses docs related issues from MultiMeshRayCaster Dec 16, 2025
@github-actions

Copy link
Copy Markdown

Test Results Summary

2 750 tests   2 288 ✅  2h 14m 57s ⏱️
  105 suites    461 💤
    1 files        0 ❌  1 🔥

For more details on these errors, see this check.

Results for commit 361be5b.

@Mayankm96 Mayankm96 merged commit 9cd577f into main Dec 16, 2025
7 of 8 checks passed
@Mayankm96 Mayankm96 deleted the fix/multi-mesh-docs branch December 16, 2025 15:55
T-K-233 pushed a commit to ucb-bar/IsaacLab that referenced this pull request Dec 29, 2025
# Description

This MR adds the remaining comments in isaac-sim#3298

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: renezurbruegg <zrene@ethz.ch>
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Signed-off-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Co-authored-by: zrene <zrene@ethz.ch>
Co-authored-by: Pascal Roth <roth.pascal@outlook.de>
Co-authored-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: zrene <rene.zurbruegg@gmail.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Edify0991 pushed a commit to Edify0991/IsaacLab that referenced this pull request Jan 14, 2026
# Description

This MR adds the remaining comments in isaac-sim#3298

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: renezurbruegg <zrene@ethz.ch>
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Signed-off-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Co-authored-by: zrene <zrene@ethz.ch>
Co-authored-by: Pascal Roth <roth.pascal@outlook.de>
Co-authored-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: zrene <rene.zurbruegg@gmail.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
nitesh-subedi pushed a commit to nitesh-subedi/IsaacLab that referenced this pull request Feb 5, 2026
# Description

This MR adds the remaining comments in isaac-sim#3298

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: renezurbruegg <zrene@ethz.ch>
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Signed-off-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Co-authored-by: zrene <zrene@ethz.ch>
Co-authored-by: Pascal Roth <roth.pascal@outlook.de>
Co-authored-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: zrene <rene.zurbruegg@gmail.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants