(self)
return observable.Generic(relative_pos_in_egocentric_frame)
Equivalent to `end_effectors_pos` with the head's position appended.
Equivalent to `end_effectors_pos` with the head's position appended.
Equivalent to end_effectors_pos with the head s position appended .
def appendages_pos(self):
    """Equivalent to `end_effectors_pos` with the head's position appended."""
    def relative_pos_in_egocentric_frame(physics):
      end_effectors_with_head = (
          self._entity.end_effectors + (self._entity.head,))
      end_effector = physics.bind(end_effectors_with_head).xpos
      torso = physics.bind(self._entity.root_body).xpos
      xmat = np.reshape(physics.bind(self._entity.root_body).xmat, (3, 3))
      return np.reshape(np.dot(end_effector - torso, xmat), -1)
    return observable.Generic(relative_pos_in_egocentric_frame)
def appendages_pos ( self ) : def relative_pos_in_egocentric_frame ( physics ) : end_effectors_with_head = ( self . _entity . end_effectors + ( self . _entity . head , ) ) end_effector = physics . bind ( end_effectors_with_head ) . xpos torso = physics . bind ( self . _entity . root_body ) . xpos xmat = np . reshape ( physics . bind ( self . _entity . root_body ) . xmat , ( 3 , 3 ) ) return np . reshape ( np . dot ( end_effector - torso , xmat ) , - 1 ) return observable . Generic ( relative_pos_in_egocentric_frame )