def alpha(self): if self._alpha.any(): return self._alpha elif self.do_diff: self._alpha = np.array(u.diff(self.w, self._t)) return self._alpha raise ValueError('No ang. acceleration data available')
def a(self): if self._a.any(): return self._a elif self.do_diff: self._a = np.array(u.diff(self.v, self._t)) return self._a raise ValueError('No acceleration data available')
def w(self): if self._w.any(): return self._w elif self.do_diff: self._w = np.array(u.diff(self.r, self._t)) return self._w raise ValueError('No ang. velocity data available')
def v(self): if self._v.any(): return self._v elif self.do_diff: self._v = np.array(u.diff(self.p, self._t)) return self._v raise ValueError('No velocity data available')
def w(self): if self._w.any(): return self._w elif self.do_diff: # First determine \dot{Theta} - the rates of change of the # Euler angles... self._w = np.array(u.diff(self.r, self._t)) # Now convert to angular velocities *in the vehicle (IMU) frame*. for i in (range(len(self._w))): # Referencing _r ... must be set before a call to w(self). self._w[i, :] = u.to_angular_rates(self.r[i, :], self._w[i, :]) return self._w raise ValueError('No angular velocity data available')