diff --git a/source/isaaclab/config/extension.toml b/source/isaaclab/config/extension.toml index d031ffce038..a7945b41cf2 100644 --- a/source/isaaclab/config/extension.toml +++ b/source/isaaclab/config/extension.toml @@ -1,7 +1,7 @@ [package] # Note: Semantic Versioning is used: https://semver.org/ -version = "0.50.5" +version = "0.50.6" # Description title = "Isaac Lab framework for Robot Learning" diff --git a/source/isaaclab/docs/CHANGELOG.rst b/source/isaaclab/docs/CHANGELOG.rst index 6fd86207d43..b19e106f7af 100644 --- a/source/isaaclab/docs/CHANGELOG.rst +++ b/source/isaaclab/docs/CHANGELOG.rst @@ -1,6 +1,17 @@ Changelog --------- +0.50.6 (2025-12-18) +~~~~~~~~~~~~~~~~~~~ + +Fixed +^^^^^ + +* Fixed issue where :meth:~isaaclab.envs.mdp.observations.body_pose_w` was modifying the original body pose data + when using slice or int for body_ids in the observation config. A clone of the data is now created to avoid modifying + the original data. + + 0.50.5 (2025-12-15) ~~~~~~~~~~~~~~~~~~~ diff --git a/source/isaaclab/isaaclab/envs/mdp/observations.py b/source/isaaclab/isaaclab/envs/mdp/observations.py index ac502521aae..17538e4983b 100644 --- a/source/isaaclab/isaaclab/envs/mdp/observations.py +++ b/source/isaaclab/isaaclab/envs/mdp/observations.py @@ -154,6 +154,8 @@ def body_pose_w( # access the body poses in world frame pose = asset.data.body_pose_w[:, asset_cfg.body_ids, :7] + if isinstance(asset_cfg.body_ids, (slice, int)): + pose = pose.clone() # if slice or int, make a copy to avoid modifying original data pose[..., :3] = pose[..., :3] - env.scene.env_origins.unsqueeze(1) return pose.reshape(env.num_envs, -1)