Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.ManoeuvreManagement
Class AttitudeSlew

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--RtjAocsFramework.ManoeuvreManagement.Manoeuvre
                    |
                    +--RtjAocsFramework.ManoeuvreManagement.AttitudeSlew
All Implemented Interfaces:
Configurable, Monitorable, Resettable, Telemeterable

public class AttitudeSlew
extends Manoeuvre

AttitudeSlew is an example of the concrete manoeuvre.

Copyright: see the Copyright Notice.

Version:
1.1
Author:
Tim Brown (St. Louis, MO, U.S.A.), Vaclav Cechticky (IfA ETHZ)
See Also:
The Manoeuvre Management Framelet Document.

Field Summary
 
Fields inherited from class RtjAocsFramework.ManoeuvreManagement.Manoeuvre
aborted, beenReset, currentState, execTime, finished, inProcess, onHold, ready
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
AttitudeSlew()
          Default constructor, the methods setStartTime(int startTime), setEndTime(int endTime), setEndValue(endValue), setTarget(target), and setErrorThreshold(errorThreshold) have to be called in order to properly set the attitude slew manoeuvre.
AttitudeSlew(int startTime, int endTime, double endValue, AocsData attitude, double errorThreshold)
          Constructor with the configuration parameters.
 
Method Summary
 boolean canContinue()
          Manoeuvre execution should only proceed if external conditions are safe.
 boolean canStart()
          Reaching the time tag is not necessarily enough to trigger execution of a manoeuvre.
 void doContinue()
          Manoeuvres execute over a prolonged period of time.
 int getTelemetryImageLength()
          Return the length in bits of the telemetry image that would be written by the object in response to a call to method writeToTelemetry.
 void initialize()
          Manoeuvres may have to perform some special initialization action when their execution begins.
 boolean isConfigured()
          Checks the configuration.
 void resetConfiguration()
          Resets configuration of the super object and performs the local reset of the configuration.
 void setEndTime(int endTime)
          Initialization method to set the attitude slew manoeuvre end time.
 void setEndValue(double endValue)
          Initialization method to set the attitude slew manoeuvre end value.
 void setErrorThreshold(double errorThreshold)
          Initialization method to set an error threshold.
 void setStartTime(int startTime)
          Initialization method to set the attitude slew manoeuvre start time.
 void setTarget(AocsData target)
          Initialization method to set the target where the attitude slew trajectory is stored.
 void writeToTelemetry(TelemetryStream stream)
          Causes the object to write its own state to the telemetry stream.
 
Methods inherited from class RtjAocsFramework.ManoeuvreManagement.Manoeuvre
abort, addChangeListener, addManoeuvreListener, addMonitor, canHold, canResume, fireChangeEvent, fireManoeuvreEvent, getAocsObject, getMonitorablePropertyValue, getNumberOfMonitorableProperties, getState, getTimeTag, getType, hold, isFinished, isHolding, isInUse, notifyMonitors, removeChangeListener, removeManoeuvreListener, removeMonitor, reset, resume, setInUse, setMaxNumberOfChangeListeners, setMaxNumberOfManoeuvreListeners, setPropertyMonitorListSize, setTimeTag, terminate, wasAborted
 
Methods inherited from class RtjAocsFramework.BasicObjects.AocsObject
addConfigurationListener, addFailureListener, finalize, getAocsClock, getConfigurationListenerList, getCycle, getDestructionRecoveryAction, getFailureListenerList, getSystemManager, getTelemetryFormat, getTime, removeConfigurationListener, removeFailureListener, reportConfigurationEvent, reportFailure, resetStaticConfiguration, setAocsClock, setDestructionRecoveryAction, setMaxNumberOfConfigurationListeners, setMaxNumberOfFailureListeners, setSystemManager, setTelemetryFormat
 
Methods inherited from class RtjAocsFramework.BasicObjects.RootObject
getClassId, getInstanceId, setClassId
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AttitudeSlew

public AttitudeSlew()
Default constructor, the methods setStartTime(int startTime), setEndTime(int endTime), setEndValue(endValue), setTarget(target), and setErrorThreshold(errorThreshold) have to be called in order to properly set the attitude slew manoeuvre.


AttitudeSlew

public AttitudeSlew(int startTime,
                    int endTime,
                    double endValue,
                    AocsData attitude,
                    double errorThreshold)
Constructor with the configuration parameters.

Parameters:
startTime - the start time of the attitude slew
endTime - the end time of the attitude slew
endValue - the final value of the attitude slew
attitude - the value of the attitude
errorThreshold - the error threshold
Method Detail

setStartTime

public void setStartTime(int startTime)
Initialization method to set the attitude slew manoeuvre start time.

Parameters:
startTime - the start time of the attitude slew

setEndTime

public void setEndTime(int endTime)
Initialization method to set the attitude slew manoeuvre end time.

Parameters:
endTime - the end time of the attitude slew

setEndValue

public void setEndValue(double endValue)
Initialization method to set the attitude slew manoeuvre end value.

Parameters:
endValue - the end value of the attitude slew

setErrorThreshold

public void setErrorThreshold(double errorThreshold)
Initialization method to set an error threshold. The error threshold defines a maximal step from the current attitude value to the next value.

Parameters:
errorThreshold - the error threshold

setTarget

public void setTarget(AocsData target)
Initialization method to set the target where the attitude slew trajectory is stored.

Parameters:
target - the target AocsData that is made to follow the attitude slew profile. Only the first item in the AocsData object is made to follow the profile.

isConfigured

public boolean isConfigured()
Checks the configuration. The method verifies a configuration of the super class, and a configuration of the target AocsData object where the attitude slew trajectory is stored.

Specified by:
isConfigured in interface Configurable
Overrides:
isConfigured in class Manoeuvre
Returns:
the true value if the object is configured, otherwise returns false

resetConfiguration

public void resetConfiguration()
Resets configuration of the super object and performs the local reset of the configuration.

Specified by:
resetConfiguration in interface Configurable
Overrides:
resetConfiguration in class Manoeuvre

canStart

public boolean canStart()
Reaching the time tag is not necessarily enough to trigger execution of a manoeuvre. Sometimes, other conditions have to be satisfied to ensure that the manoeuvre can execute safely. An attitude slew should only start if the spacecraft angular rates are below a pre-defined threshold.

Overrides:
canStart in class Manoeuvre
Returns:
the true value if the Aocs context in such as to make execution of the manoeuvre safe. The manoeuvre manager will only start manoeuvre execution if the method canStart() returns true.

initialize

public void initialize()
Manoeuvres may have to perform some special initialization action when their execution begins. This method encapsulates this type of action. It is called by the manoeuvre manager the first time the manoeuvre is executed.

Overrides:
initialize in class Manoeuvre

canContinue

public boolean canContinue()
Manoeuvre execution should only proceed if external conditions are safe. For instance, a manoeuvre that performs a slew should periodically check that the spacecraft is indeed following the slew profile. If the deviation from the slew profile exceeds some pre-specified threshold, then an error is likely to have occurred and the manoeuvre should be aborted. The manoeuvre manager can call this method to ask the manoeuvre to verify if the conditions for its continued execution hold. If they do, then method doContinue can be called and the manoeuvre execution is advanced. If they do not, the manoeuvre is aborted. After a manoeuvre is aborted it is cancelled from the list of pending manoeuvres and will no longer be executed.

Overrides:
canContinue in class Manoeuvre
Returns:
the true value if the conditions for its continued execution hold

doContinue

public void doContinue()
Manoeuvres execute over a prolonged period of time. This method is called by the manoeuvre manager to advance the execution of the manoeuvre. When a manoeuvre object receives this command, it retrieves the current aocs time and performs any actions that are due for execution at that time.

Overrides:
doContinue in class Manoeuvre

getTelemetryImageLength

public int getTelemetryImageLength()
Return the length in bits of the telemetry image that would be written by the object in response to a call to method writeToTelemetry.

Specified by:
getTelemetryImageLength in interface Telemeterable
Overrides:
getTelemetryImageLength in class Manoeuvre
Returns:
the length in bits of the telemetry image

writeToTelemetry

public void writeToTelemetry(TelemetryStream stream)
Causes the object to write its own state to the telemetry stream.

Specified by:
writeToTelemetry in interface Telemeterable
Overrides:
writeToTelemetry in class Manoeuvre
Parameters:
stream - the telemetry stream

Real-Time Java AOCS Framework v1.0 API Specification

Real-Time Java AOCS Framework project home page

Automatic Control Laboratory, ETH Zuerich
Physikstrasse 3
CH-8092 Zuerich, Switzerland