Class SpinStabilized

  • All Implemented Interfaces:
    AttitudeProvider, AttitudeProviderModifier

    public class SpinStabilized
    extends Object
    implements AttitudeProviderModifier
    This class handles a spin stabilized attitude provider.

    Spin stabilized laws are handled as wrappers for an underlying non-rotating law. This underlying law is typically an instance of CelestialBodyPointed with the pointing axis equal to the rotation axis, but can in fact be anything.

    Instances of this class are guaranteed to be immutable.

    Author:
    Luc Maisonobe
    • Constructor Detail

      • SpinStabilized

        public SpinStabilized​(AttitudeProvider nonRotatingLaw,
                              AbsoluteDate start,
                              Vector3D axis,
                              double rate)
        Creates a new instance.
        Parameters:
        nonRotatingLaw - underlying non-rotating attitude provider
        start - start date of the rotation
        axis - rotation axis in satellite frame
        rate - spin rate in radians per seconds
    • Method Detail

      • getAttitude

        public Attitude getAttitude​(PVCoordinatesProvider pvProv,
                                    AbsoluteDate date,
                                    Frame frame)
        Compute the attitude corresponding to an orbital state.
        Specified by:
        getAttitude in interface AttitudeProvider
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        attitude on the specified date and position-velocity state
      • getAttitudeRotation

        public Rotation getAttitudeRotation​(PVCoordinatesProvider pvProv,
                                            AbsoluteDate date,
                                            Frame frame)
        Compute the attitude-related rotation corresponding to an orbital state.
        Specified by:
        getAttitudeRotation in interface AttitudeProvider
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        attitude-related rotation on the specified date and position-velocity state
      • getAttitude

        public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude​(FieldPVCoordinatesProvider<T> pvProv,
                                                                                FieldAbsoluteDate<T> date,
                                                                                Frame frame)
        Compute the attitude corresponding to an orbital state.
        Specified by:
        getAttitude in interface AttitudeProvider
        Type Parameters:
        T - type of the field elements
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        attitude on the specified date and position-velocity state
      • getAttitudeRotation

        public <T extends CalculusFieldElement<T>> FieldRotation<T> getAttitudeRotation​(FieldPVCoordinatesProvider<T> pvProv,
                                                                                        FieldAbsoluteDate<T> date,
                                                                                        Frame frame)
        Compute the attitude-related rotation corresponding to an orbital state.
        Specified by:
        getAttitudeRotation in interface AttitudeProvider
        Type Parameters:
        T - type of the field elements
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        rotation on the specified date and position-velocity state