Skip to content

Conversation

@AntoineRichard
Copy link
Collaborator

Description

This PR extends the multi-backend architecture to the sensor classes (ContactSensor, Imu, FrameTransformer) following the same pattern established for asset classes in the antoiner/multi-backend branch.

  • Created abstract base classes for sensors in isaaclab:

    • BaseContactSensor and BaseContactSensorData
    • BaseImu and BaseImuData
    • BaseFrameTransformer and BaseFrameTransformerData
  • Converted existing sensor classes and data classes to factory wrappers using the FactoryBase pattern

  • Moved PhysX-specific sensor implementations to isaaclab_physx:

    • isaaclab_physx.sensors.ContactSensor and ContactSensorData
    • isaaclab_physx.sensors.Imu and ImuData
    • isaaclab_physx.sensors.FrameTransformer and FrameTransformerData
  • Moved PhysX-specific sensor tests to isaaclab_physx/test/sensors/

Type of change

  • New feature (non-breaking change which adds functionality)
  • Breaking change (existing functionality will not work without user modification)

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

@github-actions github-actions bot added documentation Improvements or additions to documentation isaac-sim Related to Isaac Sim team isaac-lab Related to Isaac Lab team labels Jan 29, 2026
@AntoineRichard AntoineRichard marked this pull request as ready for review January 29, 2026 12:39
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 29, 2026

Too many files changed for review. (133 files found, 100 file limit)

@AntoineRichard AntoineRichard changed the title Antoiner/multi backend sensor Adds Initial Support For Multi-Backend Sensors Jan 29, 2026
Signed-off-by: Kelly Guo <kellyg@nvidia.com>
@property
@abstractmethod
def contact_pos_w(self) -> torch.Tensor | None:
"""Average position of contact points. Shape is (N, B, M, 3).
Copy link
Contributor

Choose a reason for hiding this comment

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

for ones that Newton or PhysX don't have support yet, might be useful to add a note in the docstring to mention Newton-only or PhysX-only so that when users look through the APIs, they'll know what to expect on which APIs will be available for their backend

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, that would be reasonable. Can it wait till the newton stack makes it in? It may have support for those things by then?

@kellyguo11 kellyguo11 merged commit c478d07 into isaac-sim:develop Feb 3, 2026
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team isaac-sim Related to Isaac Sim team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants