User Manual 4.3 Attitude law

De Wiki
Aller à : navigation, rechercher

Introduction

Scope

The purpose of this chapter is to describe the current Patrius attitude laws.

Javadoc

The attitude objects are available in the package fr.cnes.sirius.patrius.attitudes.

Library Javadoc
Patrius Package fr.cnes.sirius.patrius.attitudes
Patrius Package fr.cnes.sirius.patrius.attitudes

Links

Orekit attitudes : Orekit Attitudes architecture description

Useful Documents

None as of now.

Package Overview

The general attitude law conception is described hereafter :

AttitudeLawDiagram.png


Features Description

Generalities

The Orekit class AttitudeProvider represents a generic provider for an attitude law. Attitude from an attitude provider can be retrieved using the methods getAttitude(...)

The new AttitudeLaw interface, implementing AttitudeProvider has been added to represent an attitude provider without a time interval of validity.

Instead, to meet spacecraft attitude field needs, a wrapper object has been created. The idea is to provide objects more suited for spacecraft attitude field rather than orbit determination field, that means to associate a specific time interval of validity to the attitude laws. The new objects AttitudeLeg and AttitudeLawLeg meet the requirements. AttitudeLawLeg wraps an AttitudeLaw object and defines a time interval of validity. This class implements the AttitudeLeg interface which extends the AttitudeProvider interface and adds the methods to get the time interval.

In pratical terms, when it comes to create an attitude law for spacecraft attitude field purposes, the user has to create first an AttitudeLaw which is then given to an AttitudeLawLeg object, in addition to the initial and final date of the time interval of validity:

// Attitude law leg provider       
 
// Elliptic earth shape
final OneAxisEllipsoid earthShape = new OneAxisEllipsoid(6378136.460, 1 / 298.257222101, frameITRF);
 
// Target pointing attitude provider over satellite nadir at date, without yaw compensation
final NadirPointing nadirLaw = new NadirPointing(earthShape);
 
// First date
final AbsoluteDate date1 = new AbsoluteDate(new DateComponents(2012, 01, 01), 
                           TimeComponents.H00, TimeScalesFactory.getUTC());
// Last date
final AbsoluteDate date2 = date1.shiftedBy(3600);
 
// Attitude law leg
final AttitudeLawLeg myAttitudeLaw = new AttitudeLawLeg(nadirLaw, date1, date2);

Besides, compared to Orekit, the Attitude object has been slightly modified. In addition to the rotation and the rotation rate it can also provide the rotation acceleration, and its computation can be activated (or not) by the user. Therefore, an additional getAttitude() method and a setSpinDerivativesComputation(final boolean setSpinDerivatives) method have been created to the AttitudeProvider interface. This last method allows the user to activate the rotation acceleration computation. By default, only the rotation and the angular velocity is computed.

Available attitude laws

Ground pointing attitude laws

The satellite x axis is aligned to the satellite velocity vector, and the z axis points to the ground target:

  • Body center ground pointing: the satellite z axis is pointing to the body frame center.
  • Nadir pointing: the satellite z axis is pointing to the vertical of the ground point under satellite.
  • Target ground pointing: the satellite z axis is pointing to a ground point target;
  • LOF offset pointing: the attitude pointing law is defined by an attitude provider and the satellite axis vector chosen for pointing.

These laws require a body shape and a frame.

Body center attitude law

The satellite z axis points to a the body center; this law does not require a body shape.

Target attitude law

The satellite z axis points to a target; this law does not require a body shape.

Celestial body pointed attitude law

The celestial body pointed law is defined by two elements:

  • a celestial body towards which some satellite axis is exactly aimed
  • a phasing reference defining the rotation around the pointing axis

Fixed rate attitude law

The fixed rate attitude law handles a constant rate around a fixed axis. This corresponding attitude provider performs a simple linear extrapolation from an initial orientation, a rotation axis and a rotation rate.

Constant attitude law

The satellite frame has a constant orientation in a given reference frame. This orientation is defined by a rotation provided by the user.

LOF offset attitude law

It is an attitude law defined by fixed Roll, Pitch and Yaw angles (in any order) with respect to a local orbital frame.

Spin stabilized attitude law

Spin stabilized attitude provider. Spin stabilized laws are handled as wrappers for an underlying non-rotating law.

Yaw compensation attitude law

Yaw compensation is mainly used for Earth observation satellites: as a satellite moves along its track, the image of ground points moves on the focal point of the optical sensor. This motion is a combination of the satellite motion, the Earth rotation and 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 sensor rows), taking into account all effects.

Yaw steering attitude law

Yaw steering is mainly used for low Earth orbiting satellites with no missions-related constraints on yaw angle. It sets the yaw angle in such a way the solar arrays have maximal lightning without changing the roll and pitch.

Two directions attitude law

The two directions provided by this attitude law are the following:

  • the first direction is aligned with a given satellite axis;
  • the second direction is aligned at best with another given satellite axis.

This attitude law can be used to represent the GAP (geocentric), and the SUP (heliocentric) pointing laws.