Class QuaternionIntegrator

java.lang.Object
com.irurueta.navigation.inertial.calibration.gyroscope.QuaternionIntegrator

public class QuaternionIntegrator extends Object
Class in charge of performing integration steps of rotations. This implementation uses a Runge-Kutta integration algorithm to obtain accurate results on EasyGyroscopeCalibrator
  • Constructor Details

    • QuaternionIntegrator

      private QuaternionIntegrator()
      Constructor. Prevents instantiation of helper class.
  • Method Details

    • integrateGyroSequence

      public static void integrateGyroSequence(BodyKinematicsSequence<StandardDeviationTimedBodyKinematics> sequence, com.irurueta.geometry.Quaternion initialAttitude, QuaternionStepIntegratorType type, com.irurueta.geometry.Quaternion result) throws com.irurueta.geometry.RotationException
      Integrates a sequence of gyroscope measurements contained within timed body kinematics, starting at an initial attitude to obtain a final attitude.
      Parameters:
      sequence - sequence of gyroscope measurements to be integrated.
      initialAttitude - (optional) initial attitude to be used. If null, then the identity attitude will be used.
      type - type of step integrator to be used.
      result - resulting rotation after integration.
      Throws:
      com.irurueta.geometry.RotationException - if a numerical error occurs.
    • integrateGyroSequence

      public static void integrateGyroSequence(BodyKinematicsSequence<StandardDeviationTimedBodyKinematics> sequence, QuaternionStepIntegratorType type, com.irurueta.geometry.Quaternion result) throws com.irurueta.geometry.RotationException
      Integrates a sequence of gyroscope measurements contained within timed body kinematics, starting at the identity attitude to obtain a final attitude.
      Parameters:
      sequence - sequence of gyroscope measurements to be integrated.
      type - type of step integrator to be used.
      result - resulting rotation after integration.
      Throws:
      com.irurueta.geometry.RotationException - if a numerical error occurs.
    • integrateGyroSequenceAndReturnNew

      public static com.irurueta.geometry.Quaternion integrateGyroSequenceAndReturnNew(BodyKinematicsSequence<StandardDeviationTimedBodyKinematics> sequence, com.irurueta.geometry.Quaternion initialAttitude, QuaternionStepIntegratorType type) throws com.irurueta.geometry.RotationException
      Integrates a sequence of gyroscope measurements contained within timed body kinematics, starting at an initial attitude to obtain a final attitude.
      Parameters:
      sequence - sequence of gyroscope measurements to be integrated.
      initialAttitude - (optional) initial attitude to be used. If null, then the identity attitude will be used.
      type - type of step integrator to be used.
      Returns:
      resulting rotation after integration.
      Throws:
      com.irurueta.geometry.RotationException - if a numerical error occurs.
    • integrateGyroSequenceAndReturnNew

      public static com.irurueta.geometry.Quaternion integrateGyroSequenceAndReturnNew(BodyKinematicsSequence<StandardDeviationTimedBodyKinematics> sequence, QuaternionStepIntegratorType type) throws com.irurueta.geometry.RotationException
      Integrates a sequence of gyroscope measurements contained within timed body kinematics, starting at the identity attitude to obtain a final attitude.
      Parameters:
      sequence - sequence of gyroscope measurements to be integrated.
      type - type of step integrator to be used.
      Returns:
      resulting rotation after integration.
      Throws:
      com.irurueta.geometry.RotationException - if a numerical error occurs.