def _set_other_joint()

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)