Class YawCompensation
- java.lang.Object
-
- org.orekit.attitudes.GroundPointing
-
- org.orekit.attitudes.GroundPointingAttitudeModifier
-
- org.orekit.attitudes.YawCompensation
-
- All Implemented Interfaces:
AttitudeProvider
,AttitudeProviderModifier
,EventDetectorsProvider
,ParameterDriversProvider
public class YawCompensation extends GroundPointingAttitudeModifier implements AttitudeProviderModifier
This class handles yaw compensation attitude provider.Yaw compensation is mainly used for Earth observation satellites. As a satellites moves along its track, the image of ground points move on the focal point of the optical sensor. This motion is a combination of the satellite motion, but also on the Earth rotation and on the current attitude (in particular if the pointing includes Roll or Pitch offset). In order to reduce geometrical distortion, the yaw angle is changed a little from the simple ground pointing attitude such that the apparent motion of ground points is along a prescribed axis (orthogonal to the optical sensors rows), taking into account all effects.
This attitude is implemented as a wrapper on top of an underlying ground pointing law that defines the roll and pitch angles.
Instances of this class are guaranteed to be immutable.
- Author:
- Véronique Pommier-Maurussane
- See Also:
GroundPointing
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
Constructor Summary
Constructors Constructor Description YawCompensation(Frame inertialFrame, GroundPointing groundPointingLaw)
Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends CalculusFieldElement<T>>
FieldAttitude<T>getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
Compute the attitude corresponding to an orbital state.Attitude
getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the attitude corresponding to an orbital state.<T extends CalculusFieldElement<T>>
TgetYawAngle(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
Compute the yaw compensation angle at date.double
getYawAngle(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the yaw compensation angle at date.-
Methods inherited from class org.orekit.attitudes.GroundPointingAttitudeModifier
getBaseState, getBaseState, getTargetPosition, getTargetPosition, getTargetPV, getTargetPV, getUnderlyingAttitudeProvider
-
Methods inherited from class org.orekit.attitudes.GroundPointing
getAttitudeRotation, getAttitudeRotation, getBodyFrame
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.attitudes.AttitudeProvider
getAttitudeRotation, getAttitudeRotation, getEventDetectors, getFieldEventDetectors
-
Methods inherited from interface org.orekit.attitudes.AttitudeProviderModifier
getEventDetectors, getFieldEventDetectors, getParametersDrivers, getUnderlyingAttitudeProvider
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Constructor Detail
-
YawCompensation
public YawCompensation(Frame inertialFrame, GroundPointing groundPointingLaw)
Creates a new instance.- Parameters:
inertialFrame
- frame in which orbital velocities are computedgroundPointingLaw
- ground pointing attitude provider without yaw compensation- Since:
- 7.1
-
-
Method Detail
-
getAttitude
public Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the attitude corresponding to an orbital state.- Specified by:
getAttitude
in interfaceAttitudeProvider
- Specified by:
getAttitude
in interfaceAttitudeProviderModifier
- Overrides:
getAttitude
in classGroundPointing
- Parameters:
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computed- Returns:
- attitude 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 interfaceAttitudeProvider
- Specified by:
getAttitude
in interfaceAttitudeProviderModifier
- Overrides:
getAttitude
in classGroundPointing
- Type Parameters:
T
- type of the field elements- Parameters:
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computed- Returns:
- attitude on the specified date and position-velocity state
-
getYawAngle
public double getYawAngle(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the yaw compensation angle at date.- Parameters:
pvProv
- provider for PV coordinatesdate
- date at which compensation is requestedframe
- reference frame from which attitude is computed- Returns:
- yaw compensation angle for orbit.
-
getYawAngle
public <T extends CalculusFieldElement<T>> T getYawAngle(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
Compute the yaw compensation angle at date.- Type Parameters:
T
- type of the field elements- Parameters:
pvProv
- provider for PV coordinatesdate
- date at which compensation is requestedframe
- reference frame from which attitude is computed- Returns:
- yaw compensation angle for orbit.
- Since:
- 9.0
-
-