org.orekit.attitudes.kinematics
Class KinematicsToolkit

java.lang.Object
  extended by org.orekit.attitudes.kinematics.KinematicsToolkit

public final class KinematicsToolkit
extends Object

This class contains static methods performing kinematics operations.

Since:
1.2
Version:
$Id: KinematicsToolkit.java 17602 2017-05-18 08:25:23Z bignon $
Author:
Tiziana Sabatini, Rami Houdroge
Concurrency :
immutable

Nested Class Summary
static class KinematicsToolkit.IntegrationType
          Integration types.
 
Field Summary
static double DEFAULT_4HZ
          Default 4 Hz integration step.
static double DEFAULT_8HZ
          Default 8 Hz integration step.
 
Method Summary
static Vector3D computeSpin(double[] ang, double[] angd, RotationOrder order)
          Compute spin knowing the instantaneous quaternion and its derivative.
static Vector3D computeSpin(Quaternion q, Quaternion qd)
          Compute spin knowing the instantaneous quaternion and its derivative.
static Quaternion differentiateQuaternion(Quaternion q, Vector3D spin)
          Compute the derivative of a quaternion knowing the instantaneous spin.
static Vector3D estimateSpin(Rotation start, Rotation end, double dt)
          Estimate spin between two orientations.
Estimation is based on a simple fixed rate rotation during the time interval between the two attitude.
static Rotation integrate(KinematicsToolkit.IntegrationType type, Rotation initOrientation, AbsoluteDate initDate, AbsoluteDate finalDate, Vector3DFunction spin, double step)
          Integrate a spin function.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_4HZ

public static final double DEFAULT_4HZ
Default 4 Hz integration step.

See Also:
Constant Field Values

DEFAULT_8HZ

public static final double DEFAULT_8HZ
Default 8 Hz integration step.

See Also:
Constant Field Values
Method Detail

estimateSpin

public static Vector3D estimateSpin(Rotation start,
                                    Rotation end,
                                    double dt)
Estimate spin between two orientations.
Estimation is based on a simple fixed rate rotation during the time interval between the two attitude. This method has been copied from the Attitude class; when the class KinematicsToolkit will be merged to Orekit, the Attitude estimateSpin method should be deleted.

Parameters:
start - start orientation
end - end orientation
dt - time elapsed between the dates of the two orientations
Returns:
the spin allowing to go from start to end orientation

computeSpin

public static Vector3D computeSpin(Quaternion q,
                                   Quaternion qd)
Compute spin knowing the instantaneous quaternion and its derivative.

Parameters:
q - the quaternion (rotation transforming frame R to frame S) at a given date
qd - the derivative of the quaternion at a given date
Returns:
the spin of the frame S with regard to frame R (expressed in frame S) at the given date

computeSpin

public static Vector3D computeSpin(double[] ang,
                                   double[] angd,
                                   RotationOrder order)
                            throws OrekitException
Compute spin knowing the instantaneous quaternion and its derivative.

Parameters:
ang - the angles describing a rotation from frame R to frame S at a given date
angd - the derivative of the angles
order - the rotation order: ZXZ for Euler angles, ZYX for Cardan angles
Returns:
the spin of the frame S with regard to frame R (expressed in frame S) at the given date
Throws:
OrekitException - the rotation order is not supported

differentiateQuaternion

public static Quaternion differentiateQuaternion(Quaternion q,
                                                 Vector3D spin)
Compute the derivative of a quaternion knowing the instantaneous spin.

Parameters:
q - the quaternion (rotation transforming frame R to frame S) at a given date
spin - the spin (from frame S to frame R, expressed in frame S) at the given date
Returns:
the derivative of the quaternion q at the given date.

integrate

public static Rotation integrate(KinematicsToolkit.IntegrationType type,
                                 Rotation initOrientation,
                                 AbsoluteDate initDate,
                                 AbsoluteDate finalDate,
                                 Vector3DFunction spin,
                                 double step)
Integrate a spin function. Use the Edwards method for integration of mobile rotation axes.

Parameters:
type - type of the integration (either Wilcox or Edwards)
initOrientation - rotation at initial date
initDate - initial date
finalDate - final date
spin - spin function
step - time step
Returns:
the computed rotation at final date


Copyright © 2017 CNES. All Rights Reserved.