Skip to content

Conversation

@ozhanozen
Copy link
Contributor

Description

This PR adds NoiseModel support for manager-based workflows. To achieve this, I have:

  • Added NoiseModel lifecycle management to ObservationManager.
  • Added a Callable field, func, to NoiseModelCfg, which ObservationManager uses to assign the class instance within, similar to how it is done for ModifierBase.
  • Renamed apply() to be __call()__, to be consistent with function-based noises and ModifierBase.

Fixes #2715 and #1864.

Note: I left the changelog with the entry [Unreleased] until the PR is given the green light.

Type of change

  • New feature (non-breaking change which adds functionality)
  • 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

@kellyguo11
Copy link
Contributor

@zoctipus could you help review this one please?

@zoctipus
Copy link
Contributor

yeah, happy to view!

Copy link
Collaborator

@ooctipus ooctipus left a comment

Choose a reason for hiding this comment

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

Thanks for submitting the pull request, I have run few test locally and they seems to be well behaving. LGTM

@kellyguo11 kellyguo11 merged commit ea717fa into isaac-sim:main Jun 25, 2025
3 of 4 checks passed
@ozhanozen ozhanozen deleted the feat/manager-based-noise-model branch June 27, 2025 15:06
harry-wf-cheung pushed a commit to harry-wf-cheung/IsaacLab-Harry that referenced this pull request Jul 30, 2025
# Description

This PR adds `NoiseModel` support for manager-based workflows. To
achieve this, I have:
- Added `NoiseModel` lifecycle management to `ObservationManager`.
- Added a `Callable` field, `func`, to `NoiseModelCfg`, which
`ObservationManager` uses to assign the class instance within, similar
to how it is done for `ModifierBase`.
- Renamed `apply()` to be `__call()__`, to be consistent with
function-based noises and `ModifierBase`.

Fixes isaac-sim#2715 and isaac-sim#1864.

Note: I left the changelog with the entry [Unreleased] until the PR is
given the green light.

## Type of change

- New feature (non-breaking change which adds functionality)
- 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Proposal] Support NoiseModel class in ObservationManager

4 participants