-
Notifications
You must be signed in to change notification settings - Fork 2.8k
[Newton] Tests, Fixes & Benchmarking for Newton Articulation Data. #4190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Newton] Tests, Fixes & Benchmarking for Newton Articulation Data. #4190
Conversation
Greptile OverviewGreptile SummaryThis PR introduces comprehensive tests, fixes, and benchmarking tools for Newton articulation data. Key changes include:
The changes improve correctness, testability, and performance monitoring capabilities of the Newton articulation system. Confidence Score: 4/5
Important Files ChangedFile Analysis
Sequence DiagramsequenceDiagram
participant User
participant Articulation
participant ArticulationData
participant NewtonManager
participant WarpKernels
participant TimestampedBuffer
User->>Articulation: reset()
Articulation->>ArticulationData: __init__(view, device)
ArticulationData->>NewtonManager: get_model()
NewtonManager-->>ArticulationData: model with gravity
ArticulationData->>ArticulationData: _create_simulation_bindings()
ArticulationData->>ArticulationData: _create_buffers()
Note over ArticulationData: Creates TimestampedWarpBuffer<br/>with device parameter
Articulation->>ArticulationData: set is_primed = True
Note over ArticulationData: Locks default values<br/>from further modification
User->>Articulation: update(dt)
Articulation->>ArticulationData: Access property (e.g., body_com_acc_w)
alt First access or cache invalid
ArticulationData->>ArticulationData: Check timestamp
ArticulationData->>WarpKernels: wp.launch(derive_body_acceleration, device=...)
Note over WarpKernels: Compute acceleration<br/>using velocity_projector
WarpKernels-->>ArticulationData: Result array
ArticulationData->>TimestampedBuffer: Update timestamp
ArticulationData->>ArticulationData: previous_vel.assign(current_vel)
Note over ArticulationData: Use .assign() instead<br/>of wp.copy()
else Cache valid
ArticulationData-->>Articulation: Return cached data
end
Articulation-->>User: Updated state
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additional Comments (1)
-
source/isaaclab_newton/isaaclab_newton/assets/articulation/articulation_data.py, line 383 (link)syntax: "writting" is misspelled
9 files reviewed, 1 comment
7216e34 to
ae272ce
Compare
ooctipus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM thanks antoine!
ae272ce to
dc7c226
Compare
dc7c226 to
30eee35
Compare
30eee35 to
4f0cc73
Compare
# Description Test & Benchmark for newton articulation. Requires #4190 to be merged first. ## Type of change - New feature (non-breaking change which adds functionality) - Documentation update ## Checklist - [ ] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [ ] 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 - [ ] 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
Description
Introduces some tests and fixes for the newton articulation data.
Type of change
Sample Benchmarking output: articulation_data_2025-12-11_18-37-03.json
Sample comparison:
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there