Unverified Commit b468546f authored by David Hoeller's avatar David Hoeller Committed by GitHub

Fixes articulation indexing (#478)

# Description

Fixes articulation indexing.

Fixes # [472](https://github.com/isaac-sim/IsaacLab/issues/472)

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] 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
- [ ] I have run all the tests with `./isaaclab.sh --test` and they pass
- [ ] 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
parent 133c61c4
...@@ -345,7 +345,7 @@ class Articulation(RigidObject): ...@@ -345,7 +345,7 @@ class Articulation(RigidObject):
physx_env_ids = self._ALL_INDICES physx_env_ids = self._ALL_INDICES
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set into internal buffers # set into internal buffers
self._data.joint_pos[env_ids, joint_ids] = position self._data.joint_pos[env_ids, joint_ids] = position
...@@ -377,7 +377,7 @@ class Articulation(RigidObject): ...@@ -377,7 +377,7 @@ class Articulation(RigidObject):
physx_env_ids = self._ALL_INDICES physx_env_ids = self._ALL_INDICES
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set into internal buffers # set into internal buffers
self._data.joint_stiffness[env_ids, joint_ids] = stiffness self._data.joint_stiffness[env_ids, joint_ids] = stiffness
...@@ -407,7 +407,7 @@ class Articulation(RigidObject): ...@@ -407,7 +407,7 @@ class Articulation(RigidObject):
physx_env_ids = self._ALL_INDICES physx_env_ids = self._ALL_INDICES
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set into internal buffers # set into internal buffers
self._data.joint_damping[env_ids, joint_ids] = damping self._data.joint_damping[env_ids, joint_ids] = damping
...@@ -435,7 +435,7 @@ class Articulation(RigidObject): ...@@ -435,7 +435,7 @@ class Articulation(RigidObject):
physx_env_ids = self._ALL_INDICES physx_env_ids = self._ALL_INDICES
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# move tensor to cpu if needed # move tensor to cpu if needed
if isinstance(limits, torch.Tensor): if isinstance(limits, torch.Tensor):
...@@ -466,7 +466,7 @@ class Articulation(RigidObject): ...@@ -466,7 +466,7 @@ class Articulation(RigidObject):
physx_env_ids = self._ALL_INDICES physx_env_ids = self._ALL_INDICES
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set into internal buffers # set into internal buffers
self._data.joint_armature[env_ids, joint_ids] = armature self._data.joint_armature[env_ids, joint_ids] = armature
...@@ -493,7 +493,7 @@ class Articulation(RigidObject): ...@@ -493,7 +493,7 @@ class Articulation(RigidObject):
physx_env_ids = self._ALL_INDICES physx_env_ids = self._ALL_INDICES
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set into internal buffers # set into internal buffers
self._data.joint_friction[env_ids, joint_ids] = joint_friction self._data.joint_friction[env_ids, joint_ids] = joint_friction
...@@ -521,7 +521,7 @@ class Articulation(RigidObject): ...@@ -521,7 +521,7 @@ class Articulation(RigidObject):
physx_env_ids = self._ALL_INDICES physx_env_ids = self._ALL_INDICES
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set into internal buffers # set into internal buffers
self._data.joint_limits[env_ids, joint_ids] = limits self._data.joint_limits[env_ids, joint_ids] = limits
...@@ -551,7 +551,7 @@ class Articulation(RigidObject): ...@@ -551,7 +551,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set targets # set targets
self._data.joint_pos_target[env_ids, joint_ids] = target self._data.joint_pos_target[env_ids, joint_ids] = target
...@@ -575,7 +575,7 @@ class Articulation(RigidObject): ...@@ -575,7 +575,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set targets # set targets
self._data.joint_vel_target[env_ids, joint_ids] = target self._data.joint_vel_target[env_ids, joint_ids] = target
...@@ -599,7 +599,7 @@ class Articulation(RigidObject): ...@@ -599,7 +599,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if joint_ids is None: if joint_ids is None:
joint_ids = slice(None) joint_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and joint_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set targets # set targets
self._data.joint_effort_target[env_ids, joint_ids] = target self._data.joint_effort_target[env_ids, joint_ids] = target
...@@ -626,7 +626,7 @@ class Articulation(RigidObject): ...@@ -626,7 +626,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if fixed_tendon_ids is None: if fixed_tendon_ids is None:
fixed_tendon_ids = slice(None) fixed_tendon_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and fixed_tendon_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set stiffness # set stiffness
self._data.fixed_tendon_stiffness[env_ids, fixed_tendon_ids] = stiffness self._data.fixed_tendon_stiffness[env_ids, fixed_tendon_ids] = stiffness
...@@ -653,7 +653,7 @@ class Articulation(RigidObject): ...@@ -653,7 +653,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if fixed_tendon_ids is None: if fixed_tendon_ids is None:
fixed_tendon_ids = slice(None) fixed_tendon_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and fixed_tendon_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set damping # set damping
self._data.fixed_tendon_damping[env_ids, fixed_tendon_ids] = damping self._data.fixed_tendon_damping[env_ids, fixed_tendon_ids] = damping
...@@ -680,7 +680,7 @@ class Articulation(RigidObject): ...@@ -680,7 +680,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if fixed_tendon_ids is None: if fixed_tendon_ids is None:
fixed_tendon_ids = slice(None) fixed_tendon_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and fixed_tendon_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set limit_stiffness # set limit_stiffness
self._data.fixed_tendon_limit_stiffness[env_ids, fixed_tendon_ids] = limit_stiffness self._data.fixed_tendon_limit_stiffness[env_ids, fixed_tendon_ids] = limit_stiffness
...@@ -707,7 +707,7 @@ class Articulation(RigidObject): ...@@ -707,7 +707,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if fixed_tendon_ids is None: if fixed_tendon_ids is None:
fixed_tendon_ids = slice(None) fixed_tendon_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and fixed_tendon_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set limit # set limit
self._data.fixed_tendon_limit[env_ids, fixed_tendon_ids] = limit self._data.fixed_tendon_limit[env_ids, fixed_tendon_ids] = limit
...@@ -734,7 +734,7 @@ class Articulation(RigidObject): ...@@ -734,7 +734,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if fixed_tendon_ids is None: if fixed_tendon_ids is None:
fixed_tendon_ids = slice(None) fixed_tendon_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and fixed_tendon_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set rest_length # set rest_length
self._data.fixed_tendon_rest_length[env_ids, fixed_tendon_ids] = rest_length self._data.fixed_tendon_rest_length[env_ids, fixed_tendon_ids] = rest_length
...@@ -761,7 +761,7 @@ class Articulation(RigidObject): ...@@ -761,7 +761,7 @@ class Articulation(RigidObject):
env_ids = slice(None) env_ids = slice(None)
if fixed_tendon_ids is None: if fixed_tendon_ids is None:
fixed_tendon_ids = slice(None) fixed_tendon_ids = slice(None)
elif env_ids != slice(None): if env_ids != slice(None) and fixed_tendon_ids != slice(None):
env_ids = env_ids[:, None] env_ids = env_ids[:, None]
# set offset # set offset
self._data.fixed_tendon_offset[env_ids, fixed_tendon_ids] = offset self._data.fixed_tendon_offset[env_ids, fixed_tendon_ids] = offset
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment