Skip to content

[Bug Report] Articulation vel data reset #5593

Description

@epalmaEth

Describe the bug

Articulation velocity-only write paths do not invalidate the dependent cached body state buffers. In particular, calling write_joint_velocity_to_sim(...), write_root_com_velocity_to_sim(...) or write_root_link_velocity_to_sim(...) can leave body_link_vel_w, body_link_state_w, and body_com_state_w marked as fresh even though the articulation state has changed. This can cause downstream code to read stale body velocity or body state after a velocity-only update.

Steps to reproduce

  • Create an articulation and access one of the derived body state properties so it gets cached.
  • Call a velocity-only write path such as write_joint_velocity_to_sim(...).
  • Read the same derived body state again before a full refresh.
  • Observe that the cached body buffers were not invalidated and may return stale data.

Expected behavior

After any velocity-only write, all dependent body state caches are invalidated, and subsequent reads reflect the updated simulation state.

Actual behavior

Caches remain marked as fresh, so subsequent reads may return stale body velocity/state.

Checklist

  • I have checked that there is no similar issue in the repo (required)
  • I have checked that the issue is not in running Isaac Sim itself and is related to the repo

Acceptance Criteria

  • Velocity-only write APIs must invalidate all derived body state caches.
  • Have a more general way to make articulation_data buffer stale anytime its needed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions