Skip to content

Conversation

@AntoineRichard
Copy link
Collaborator

Description

Adds back support for Rigid bodies.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • 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 the isaac-lab Related to Isaac Lab team label Jan 14, 2026
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 14, 2026

Greptile Summary

  • Implements full rigid body physics support for the Newton backend by adding comprehensive RigidObject classes, property setters, and external force handling to match PhysX functionality
  • Updates Newton physics engine dependency to specific commit e45db2c7400ecb4ff8ea022b7c9e41d386884bc8 that contains rigid body features and optimizes memory management through lazy initialization and buffer reuse
  • Adds extensive test suite and benchmarking framework with 18+ test cases covering rigid body operations, though many tests are disabled due to known CPU-specific Newton bugs

Important Files Changed

Filename Overview
source/isaaclab_newton/isaaclab_newton/assets/rigid_object/rigid_object_data.py Major refactor implementing lazy initialization and memory optimization for rigid body data container; contains debug prints and potential syntax errors that need attention
source/isaaclab_newton/isaaclab_newton/assets/rigid_object/rigid_object.py Complete Newton RigidObject implementation with external forces, property setters, and physics integration; contains debug prints and device parameter inconsistencies
source/isaaclab/test/assets/test_rigid_object.py New comprehensive test suite for rigid body functionality; most tests disabled due to CPU-specific Newton bugs and missing dependencies
source/isaaclab/isaaclab/sim/simulation_context.py Adds Newton backend device configuration and debug output; includes uncommented simulation play call that may affect existing behavior

Confidence score: 2/5

  • This PR requires careful review due to extensive changes to core physics systems and potential runtime issues from debug code and syntax errors
  • Score lowered due to numerous debug print statements in production code, potential syntax errors (missing parentheses in tuple creation), and many disabled tests indicating incomplete implementation
  • Pay close attention to rigid_object_data.py and rigid_object.py files which contain the most critical changes and potential issues

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

18 files reviewed, 30 comments

Edit Code Review Agent Settings | Greptile

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (8)

  1. source/isaaclab/isaaclab/assets/rigid_object/rigid_object.py, line 20-30 (link)

    syntax: Multiple references to 'articulation' instead of 'rigid object' in docstrings and comments create confusion about the class's actual purpose

  2. source/isaaclab_newton/test/assets/rigid_object/test_rigid_object.py, line 6-19 (link)

    syntax: Docstring incorrectly refers to 'Articulation class' throughout instead of 'RigidObject class'

  3. source/isaaclab/isaaclab/sim/_impl/newton_manager.py, line 124-131 (link)

    style: Debug print statements should be removed before production release

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  4. source/isaaclab/isaaclab/sim/_impl/newton_manager.py, line 148-149 (link)

    style: Debug print statement should be removed before production release

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  5. source/isaaclab/isaaclab/sim/_impl/newton_manager.py, line 193 (link)

    style: Debug print statement should be removed before production release

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  6. source/isaaclab_newton/test/assets/rigid_object/test_rigid_object_data.py, line 6 (link)

    syntax: Docstring incorrectly refers to 'ArticulationData' instead of 'RigidObjectData'

  7. source/isaaclab_newton/test/assets/rigid_object/test_rigid_object_data.py, line 245 (link)

    syntax: Variable named 'articulation_data' should be 'rigid_object_data' for consistency

  8. source/isaaclab_newton/test/assets/rigid_object/test_rigid_object_data.py, line 254-268 (link)

    syntax: Multiple references to 'articulation_data' should be 'rigid_object_data'

18 files reviewed, 16 comments

Edit Code Review Agent Settings | Greptile

#
# SPDX-License-Identifier: BSD-3-Clause

"""Mock interfaces for testing and benchmarking ArticulationData class."""
Copy link
Contributor

Choose a reason for hiding this comment

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

syntax: Docstring refers to 'ArticulationData class' but this file is for rigid object testing

Suggested change
"""Mock interfaces for testing and benchmarking ArticulationData class."""
"""Mock interfaces for testing and benchmarking RigidObjectData class."""

@AntoineRichard AntoineRichard force-pushed the antoiner/rigid_body_upgrade branch from fdf4241 to 8afadee Compare January 14, 2026 09:12
@github-actions github-actions bot added documentation Improvements or additions to documentation asset New asset feature or request infrastructure labels Jan 14, 2026
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 21, 2026

Skipped: This PR changes more files than the configured file change limit: (666 files found, 500 file limit)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

asset New asset feature or request documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant