Skip to content
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

Decouples rigid object and articulation asset classes #644

Merged
merged 17 commits into from
Aug 2, 2024

Conversation

Mayankm96
Copy link
Contributor

@Mayankm96 Mayankm96 commented Jul 4, 2024

Description

Since we override a lot of the functions from RigidObject inside the Articulation class, we don't need to rely on inheritance anymore. Duplicacy in the code makes it easier to understand the two classes' functionalities without severely added overhead from the maintenance side. Moreover, conceptually, it can be motivated that the two are independent concepts.

This MR decouples the rigid object and articulation concepts in the framework.

Type of change

  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist

  • 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

@Mayankm96 Mayankm96 requested a review from Dhoeller19 July 4, 2024 13:16
@Mayankm96 Mayankm96 self-assigned this Jul 4, 2024
Base automatically changed from fix/articulation-body-view to main July 5, 2024 10:34
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Copy link
Collaborator

@jtigue-bdai jtigue-bdai left a comment

Choose a reason for hiding this comment

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

Everything looks good. I just have a specific question about the num_instances property of the articulation

@jsmith-bdai jsmith-bdai mentioned this pull request Jul 9, 2024
6 tasks
@jsmith-bdai
Copy link
Collaborator

This seems like a big change, do you mind outlining the pros / cons of this approach?

It looks like we're not getting much benefit at first glance, but are now having a lot of repeated code that will be difficult to maintain

@Mayankm96
Copy link
Contributor Author

Will work on this MR once #760 and #742 are merged.

Mayankm96 and others added 3 commits August 2, 2024 13:56
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
@Mayankm96 Mayankm96 added the enhancement New feature or request label Aug 2, 2024
Copy link
Collaborator

@jsmith-bdai jsmith-bdai left a comment

Choose a reason for hiding this comment

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

LGTM if sufficiently tested!

We need to keep an eye on any of the now duplicated code changing and make sure it is changed in both places (although these changes seem unlikely which is good!)

Mayankm96 and others added 3 commits August 2, 2024 17:24
@Mayankm96 Mayankm96 merged commit 7b92c57 into main Aug 2, 2024
2 of 3 checks passed
@Mayankm96 Mayankm96 deleted the fix/decouple-articulation branch August 2, 2024 15:39
iamdrfly pushed a commit to iamdrfly/IsaacLab that referenced this pull request Nov 21, 2024
# Description

Since we override a lot of the functions from RigidObject inside the
Articulation class, we don't need to rely on inheritance anymore.
Duplicacy in the code makes it easier to understand the two classes'
functionalities without severely added overhead from the maintenance
side. Moreover, conceptually, it can be motivated that the two are
independent concepts.

This MR decouples the rigid object and articulation concepts in the
framework.

## Type of change

- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- This change requires a documentation update

## Checklist

- [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: David Hoeller <dhoeller@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants