public class YawCompensation extends AbstractGroundPointingWrapper
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.
Constructor and Description |
---|
YawCompensation(AbstractGroundPointing groundPointingLaw)
Creates a new instance.
|
YawCompensation(AbstractGroundPointing groundPointingLaw,
Vector3D losInSatFrameVec,
Vector3D losNormalInSatFrameVec)
Creates a new instance with specified los axis in satellite frame.
|
Modifier and Type | Method and Description |
---|---|
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.
|
getBaseState, getGroundPointingLaw, getTargetPoint, getTargetPV, getUnderlyingAttitudeLaw, setSpinDerivativesComputation
getBodyFrame, getBodyShape, getLosInSatFrame, getLosNormalInSatFrame
getSpinDerivativesComputation
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
computeSpinByFD, computeSpinDerivativeByFD, getAttitude
public YawCompensation(AbstractGroundPointing groundPointingLaw)
groundPointingLaw
- ground pointing attitude provider without yaw compensationpublic YawCompensation(AbstractGroundPointing groundPointingLaw, Vector3D losInSatFrameVec, Vector3D losNormalInSatFrameVec)
groundPointingLaw
- ground pointing attitude provider without yaw compensationlosInSatFrameVec
- LOS in satellite frame axislosNormalInSatFrameVec
- LOS normal axis in satellite framepublic Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
getAttitude
in interface AttitudeProvider
getAttitude
in class AbstractGroundPointing
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computedPatriusException
- if attitude cannot be computed for provided datepublic TimeStampedAngularCoordinates getCompensation(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame orbitFrame, Attitude base) throws PatriusException
getCompensation
in class AbstractGroundPointingWrapper
pvProv
- provider for PV coordinatesdate
- date at which rotation is requestedorbitFrame
- reference frame from which attitude is computedbase
- base satellite attitude in given frame.PatriusException
- if some specific error occurspublic double getYawAngle(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
pvProv
- provider for PV coordinatesdate
- date at which compensation is requestedframe
- reference frame from which attitude is computedPatriusException
- if some specific error occursCopyright © 2023 CNES. All rights reserved.