def _update_true_state(self):
    (phi, theta, psi) = Quaternion2Euler(self._state[6:10])
    pdot = (Quaternion2Rotation(self._state[6:10]) @ self._state[3:6])
    self.true_state.pn = self._state.item(0)
    self.true_state.pe = self._state.item(1)
    self.true_state.h = (- self._state.item(2))
    self.true_state.Va = self._Va
    self.true_state.alpha = self._alpha
    self.true_state.beta = self._beta
    self.true_state.phi = phi
    self.true_state.theta = theta
    self.true_state.psi = psi
    self.true_state.Vg = np.linalg.norm(pdot)
    self.true_state.gamma = np.arcsin((pdot.item(2) / self.true_state.Vg))
    self.true_state.chi = np.arctan2(pdot.item(1), pdot.item(0))
    self.true_state.p = self._state.item(10)
    self.true_state.q = self._state.item(11)
    self.true_state.r = self._state.item(12)
    self.true_state.wn = self._wind.item(0)
    self.true_state.we = self._wind.item(1)
def _update_true_state(self):
    (phi, theta, psi) = Quaternion2Euler(self._state[6:10])
    pdot = (Quaternion2Rotation(self._state[6:10]) @ self._state[3:6])
    self.true_state.pn = self._state.item(0)
    self.true_state.pe = self._state.item(1)
    self.true_state.h = (- self._state.item(2))
    self.true_state.Va = self._Va
    self.true_state.alpha = self._alpha
    self.true_state.beta = self._beta
    self.true_state.phi = phi
    self.true_state.theta = theta
    self.true_state.psi = psi
    self.true_state.Vg = np.linalg.norm(pdot)
    self.true_state.gamma = np.arcsin((pdot.item(2) / self.true_state.Vg))
    self.true_state.chi = np.arctan2(pdot.item(1), pdot.item(0))
    self.true_state.p = self._state.item(10)
    self.true_state.q = self._state.item(11)
    self.true_state.r = self._state.item(12)
    self.true_state.wn = self._wind.item(0)
    self.true_state.we = self._wind.item(1)