in gym-compete/gym_compete/new_envs/agents/agent.py [0:0]
def _set_other_joint(self):
self._other_qpos_idx = {}
for i in range(self.n_agents):
if i == self.id: continue
other_join_names = list_filter(
lambda x: self.in_agent_scope(x, i), self.env.model.joint_names
)
other_joint_ids = [self.env.model.joint_names.index(body)
for body in other_join_names]
other_jnt_qposadr = self.env.model.jnt_qposadr[other_joint_ids]
jnt_type = self.env.model.jnt_type[other_joint_ids]
jnt_nqpos = [self.JNT_NPOS[int(j)] for j in jnt_type]
nq = sum(jnt_nqpos)
qpos_start_idx = int(other_jnt_qposadr[0])
qpos_end_idx = int(other_jnt_qposadr[-1] + jnt_nqpos[-1])
assert nq == qpos_end_idx - qpos_start_idx, (i, nq, qpos_start_idx, qpos_end_idx)
self._other_qpos_idx[i] = (qpos_start_idx, qpos_end_idx)