[Newton] Articulation & Rigid Object Full Tests#4406
[Newton] Articulation & Rigid Object Full Tests#4406AntoineRichard merged 29 commits intoisaac-sim:dev/newtonfrom
Conversation
… at least). There are still some errors some will be patched by latest newton.
…h more or less success.
…lean-up session with a Newton Eng to sanity check this.
…position as this is now handled properly by newton. Still a couple of weird cases left.
2fc4559 to
1befd82
Compare
|
@greptileai could you give it a review? |
Greptile Summary
Important Files Changed
Confidence score: 3/5
|
| if hasattr(asset, "num_bodies"): | ||
| self.num_bodies = asset.num_bodies | ||
| else: | ||
| raise ValueError(f"Unsupported asset type: {self._asset.__class__.__name__}") |
There was a problem hiding this comment.
logic: self._asset is referenced before being assigned (line 39)
| raise ValueError(f"Unsupported asset type: {self._asset.__class__.__name__}") | |
| raise ValueError(f"Unsupported asset type: {asset.__class__.__name__}") |
|
@greptileai let's do another round of review. |
There was a problem hiding this comment.
Additional Comments (1)
-
source/isaaclab/isaaclab/sensors/sensor_base.py, line 206 (link)logic: The
env_maskparameter is defined but never used in the implementation. Shouldenv_maskbe implemented alongsideenv_ids, or is this parameter being added as a placeholder for future development?
39 files reviewed, 9 comments
| def test_reset(self): | ||
| """Test that reset method works properly.""" | ||
| articulation, _, _ = create_test_articulation() | ||
| articulation._create_buffers() |
There was a problem hiding this comment.
logic: Duplicate _create_buffers() call - already called in factory function on line 125
| articulation._create_buffers() | |
| articulation, _, _ = create_test_articulation() |
|
I gave a rough read and ran the tests myself, beyond making those failed one pass, Our new tests are a lot more thorough than before, this is good, but it did took me a decent amount of effort to start make sense what is going on. I think some tests could be refactored further, and could potentially help a lot of new for example: this pattern repeated many time in articulation_integration_tests.py all these instances could be replaced with something like Maybe after these tests passed, let cursor do some of these refactor for us? |
|
some of the failure seems like requires newton or mujoco_warp to be fixed, is the goal to merge it with failed tests, or merge after those has been fixed? |
| cfg = cfg.to_dict() | ||
| # extract non-USD properties | ||
| fix_root_link = cfg.pop("fix_root_link", None) | ||
| print("fix_root_link", fix_root_link) |
Yeah these are the OG tests. I didn't want to alter them too much to see what kind of coverage we have in newton. I think they would need to be reworked in general to be more thorough. |
Description
Brings back all of the original integration tests from the Articulation + the wrench composer.
Also provides UTs, ITs and micro benchmarks for the articulation with newton. Some integration tests are still failing / skipped as the feature set of newton is not complete yet.
Run a unit-test:
Run integration tests:
Run a micro-benchmark:
Known slow down:
make_complete_data_from_torch_dual_index,make_complete_data_from_torch_single_index,make_masks_from_torch_ids, are very slow, and they should be modified to include a out argument, that would allow to preallocate the tensors.Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there