public class YawCompensation extends GroundPointing implements AttitudeProviderModifier
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.
GroundPointing
,
Serialized FormConstructor and Description |
---|
YawCompensation(Frame inertialFrame,
GroundPointing groundPointingLaw)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
<T extends RealFieldElement<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 RealFieldElement<T>> |
getBaseState(FieldPVCoordinatesProvider<T> pvProv,
FieldAbsoluteDate<T> date,
Frame frame)
Compute the base system state at given date, without compensation.
|
Attitude |
getBaseState(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Compute the base system state at given date, without compensation.
|
<T extends RealFieldElement<T>> |
getTargetPV(FieldPVCoordinatesProvider<T> pvProv,
FieldAbsoluteDate<T> date,
Frame frame)
Compute the target point position/velocity in specified frame.
|
TimeStampedPVCoordinates |
getTargetPV(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Compute the target point position/velocity in specified frame.
|
AttitudeProvider |
getUnderlyingAttitudeProvider()
Get the underlying (ground pointing) attitude provider.
|
<T extends RealFieldElement<T>> |
getYawAngle(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.
|
getBodyFrame
public YawCompensation(Frame inertialFrame, GroundPointing groundPointingLaw) throws OrekitException
inertialFrame
- frame in which orbital velocities are computedgroundPointingLaw
- ground pointing attitude provider without yaw compensationOrekitException
- if the frame specified is not a pseudo-inertial framepublic AttitudeProvider getUnderlyingAttitudeProvider()
getUnderlyingAttitudeProvider
in interface AttitudeProviderModifier
GroundPointing
instancepublic TimeStampedPVCoordinates getTargetPV(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws OrekitException
This method is public
only to allow users to subclass this
abstract class from other packages. It is not intended to
be used directly.
getTargetPV
in class GroundPointing
pvProv
- provider for PV coordinatesdate
- date at which target point is requestedframe
- frame in which observed ground point should be providedOrekitException
- if some specific error occurs,
such as no target reachedpublic <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame) throws OrekitException
getTargetPV
in class GroundPointing
T
- type of the fiels elementspvProv
- provider for PV coordinatesdate
- date at which target point is requestedframe
- frame in which observed ground point should be providedOrekitException
- if some specific error occurs,
such as no target reachedpublic Attitude getBaseState(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws OrekitException
pvProv
- provider for PV coordinatesdate
- date at which state is requestedframe
- reference frame from which attitude is computedOrekitException
- if some specific error occurspublic <T extends RealFieldElement<T>> FieldAttitude<T> getBaseState(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame) throws OrekitException
T
- type of the field elementspvProv
- provider for PV coordinatesdate
- date at which state is requestedframe
- reference frame from which attitude is computedOrekitException
- if some specific error occurspublic Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws OrekitException
getAttitude
in interface AttitudeProvider
getAttitude
in class GroundPointing
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computedOrekitException
- if attitude cannot be computedpublic <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame) throws OrekitException
getAttitude
in interface AttitudeProvider
getAttitude
in class GroundPointing
T
- type of the field elementspvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computedOrekitException
- if attitude cannot be computedpublic double getYawAngle(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws OrekitException
pvProv
- provider for PV coordinatesdate
- date at which compensation is requestedframe
- reference frame from which attitude is computedOrekitException
- if some specific error occurspublic <T extends RealFieldElement<T>> T getYawAngle(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame) throws OrekitException
T
- type of the field elementspvProv
- provider for PV coordinatesdate
- date at which compensation is requestedframe
- reference frame from which attitude is computedOrekitException
- if some specific error occursCopyright © 2002-2017 CS Systèmes d'information. All rights reserved.