Skip to content

Conversation

mikegroom765
Copy link

Description

Add DelayedObservation modifier for stochastic observation latency and multi-rate observation modelling. Closes issue #3465. The DelayedObservation modifier is a shape preserving observation modifier that returns a stale version of the input observation using the DelayBuffer class. It models:

  • Variable latency on observations: per-env (optional) integer lags sampled in [min_lag, max_lag] at each policy step, returning an observation from $$lag_{t}$$ steps in the past.
  • Causal progression: $$lag_{t} <= lag_{t+1} + 1$$
  • (Optional) Frame holds: either specified through update_period (deterministic) to simulate slow sensor updates (e.g., update_period=2 means the observation is held constant, and refreshed every 2 policy steps), or stochastically with hold_prob. With probability hold_prob, the modifier will reuse the previous lag so consecutive steps return the same (older) frame, simulating jitter
  • Supports applying both update_period and hold_prob together, to simulate jitter on low frequency observation updates

Type of change

  • New feature (non-breaking change which adds functionality)

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 Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
isaac-lab Related to Isaac Lab team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant