org.orekit.attitudes
Class YawCompensation

java.lang.Object
  extended by org.orekit.attitudes.AbstractAttitudeLaw
      extended by org.orekit.attitudes.GroundPointing
          extended by org.orekit.attitudes.GroundPointingWrapper
              extended by org.orekit.attitudes.YawCompensation
All Implemented Interfaces:
Serializable, AttitudeLaw, AttitudeLawModifier, AttitudeProvider

public class YawCompensation
extends GroundPointingWrapper

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, Serialized Form

Constructor Summary
YawCompensation(GroundPointing groundPointingLaw)
          Creates a new instance.
 
Method Summary
 Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
          Compute the attitude corresponding to an orbital state.
 TimeStampedAngularCoordinates getCompensation(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame orbitFrame, Attitude base)
          Compute the TimeStampedAngularCoordinates at a given time.
 double getYawAngle(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
          Compute the yaw compensation angle at date.
 
Methods inherited from class org.orekit.attitudes.GroundPointingWrapper
getBaseState, getTargetPoint, getTargetPV, getUnderlyingAttitudeLaw, setSpinDerivativesComputation
 
Methods inherited from class org.orekit.attitudes.GroundPointing
getBodyFrame, getBodyShape
 
Methods inherited from class org.orekit.attitudes.AbstractAttitudeLaw
getAttitude, getSpinDerivativesComputation
 
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
getAttitude
 

Constructor Detail

YawCompensation

public YawCompensation(GroundPointing groundPointingLaw)
Creates a new instance.

Parameters:
groundPointingLaw - ground pointing attitude provider without yaw compensation
Method Detail

getAttitude

public Attitude getAttitude(PVCoordinatesProvider pvProv,
                            AbsoluteDate date,
                            Frame frame)
                     throws OrekitException
Compute the attitude corresponding to an orbital state.

Specified by:
getAttitude in interface AttitudeProvider
Overrides:
getAttitude in class GroundPointing
Parameters:
pvProv - local position-velocity provider around current date
date - current date
frame - reference frame from which attitude is computed
Returns:
attitude attitude on the specified date and position-velocity state
Throws:
OrekitException - if attitude cannot be computed

getCompensation

public TimeStampedAngularCoordinates getCompensation(PVCoordinatesProvider pvProv,
                                                     AbsoluteDate date,
                                                     Frame orbitFrame,
                                                     Attitude base)
                                              throws OrekitException
Compute the TimeStampedAngularCoordinates at a given time.

Specified by:
getCompensation in class GroundPointingWrapper
Parameters:
pvProv - provider for PV coordinates
date - date at which rotation is requested
orbitFrame - reference frame from which attitude is computed
base - base satellite attitude in given frame.
Returns:
compensation rotation at date, i.e rotation between non compensated attitude state and compensated state.
Throws:
OrekitException - if some specific error occurs

getYawAngle

public double getYawAngle(PVCoordinatesProvider pvProv,
                          AbsoluteDate date,
                          Frame frame)
                   throws OrekitException
Compute the yaw compensation angle at date.

Parameters:
pvProv - provider for PV coordinates
date - date at which compensation is requested
frame - reference frame from which attitude is computed
Returns:
yaw compensation angle for orbit.
Throws:
OrekitException - if some specific error occurs


Copyright © 2017 CNES. All Rights Reserved.