original_docstring: 
          Retrieves the transformation matrix of the agent of the (sub-)scene graph and calculates the position of the
          agent. The matrix of the scene graph is a little bit different than what the robot would receive from the
          simulation.
  
          :param data:    the (sub-)scene graph which contains the transformation matrix of the agent
          :return:        a tuple (x,y,z,r) of the agents position
          
docstring: Retrieves the transformation matrix of the agent of the (sub-)scene graph and calculates the position of the
  agent. The matrix of the scene graph is a little bit different than what the robot would receive from the
  simulation.
docstring_tokens: Retrieves the transformation matrix of the agent of the ( sub - ) scene graph and calculates the position of the agent . The matrix of the scene graph is a little bit different than what the robot would receive from the simulation .
code: def __get_robot_pose(self, data):
          """
          Retrieves the transformation matrix of the agent of the (sub-)scene graph and calculates the position of the
          agent. The matrix of the scene graph is a little bit different than what the robot would receive from the
          simulation.
  
          :param data:    the (sub-)scene graph which contains the transformation matrix of the agent
          :return:        a tuple (x,y,z,r) of the agents position
          """
          # make a rotation matrix
          _ = list(map(float, data))
          r = [[_[4], -_[0], _[8], _[12]],
               [_[5], -_[1], _[9], _[13]],
               [_[6], -_[2], _[10], _[14]],
               [_[7], -_[3], _[11], _[15]]]
          z = math.acos(r[0][0] / math.sqrt(r[0][0] * r[0][0] + r[1][0] * r[1][0])) * (-1 if r[1][0] < 0 else 1)
          #z /= (math.pi/180)
  
          return r[0][3], r[1][3], r[2][3], z
code_tokens: def __get_robot_pose ( self , data ) : _ = list ( map ( float , data ) ) r = [ [ _ [ 4 ] , - _ [ 0 ] , _ [ 8 ] , _ [ 12 ] ] , [ _ [ 5 ] , - _ [ 1 ] , _ [ 9 ] , _ [ 13 ] ] , [ _ [ 6 ] , - _ [ 2 ] , _ [ 10 ] , _ [ 14 ] ] , [ _ [ 7 ] , - _ [ 3 ] , _ [ 11 ] , _ [ 15 ] ] ] z = math . acos ( r [ 0 ] [ 0 ] / math . sqrt ( r [ 0 ] [ 0 ] * r [ 0 ] [ 0 ] + r [ 1 ] [ 0 ] * r [ 1 ] [ 0 ] ) ) * ( - 1 if r [ 1 ] [ 0 ] < 0 else 1 ) return r [ 0 ] [ 3 ] , r [ 1 ] [ 3 ] , r [ 2 ] [ 3 ] , z
short_docstring: Retrieves the transformation matrix of the agent of the (sub-)scene graph and calculates the position of the
  agent.
short_docstring_tokens: Retrieves the transformation matrix of the agent of the ( sub - ) scene graph and calculates the position of the agent .
comment: """
          Retrieves the transformation matrix of the agent of the (sub-)scene graph and calculates the position of the
          agent. The matrix of the scene graph is a little bit different than what the robot would receive from the
          simulation.
  
          :param data:    the (sub-)scene graph which contains the transformation matrix of the agent
          :return:        a tuple (x,y,z,r) of the agents position
          """$SEP$# make a rotation matrix$SEP$#z /= (math.pi/180)