Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.ControllerManagement
Class Controller

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--RtjAocsFramework.ControllerManagement.Controller
All Implemented Interfaces:
Configurable, Resettable, Telemeterable

public class Controller
extends AocsObject

The Controller class is the class encapsulating a SISO controller. The controller transfer function blocks are the abstract control channels to which class Controller holds multiple references.

Change Record:

Copyright: see the Copyright Notice.

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

Field Summary
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
Controller()
          Controller
 
Method Summary
 void doControl()
          A call to this method causes the current measurements to be propagated through the control system and the controller outputs to be accordingly updated.
 AbstractControlChannel getCompensator()
          Gets the control channel which implements the compensator transfer function for this Controller.
 AbstractControlChannel getFeedforwardFilter()
          Gets the control channel which implements the feedforward filter transfer function for this Controller.
 RecoveryAction getInstabilityRecoveryAction()
          Getter methods for the recovery action associated to the controller instability condition.
 AbstractControlChannel getMeasurementFilter()
          Gets the control channel which implements the measurement filter transfer function for this Controller.
 AbstractControlChannel getReferenceSignalFilter()
          Gets the control channel which implements the reference signal filter transfer function for this Controller.
 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.
 boolean isConfigured()
          Checks the configuration.
 boolean isOnHold()
          Returns true if the controller is in "hold" mode.
 boolean isStable()
          A call to this method directs the controller object to perform an internal stability check.
 void linkActuatorCommand(DataSink d)
          Links the specified DataSink to the Output Actuator Command.
 void linkCompensatorOutput(DataSink d)
          Links the specified DataSink to the Compensator Output.
 void linkControllerError(DataSink d)
          Links the specified DataSink to the Output Control Error.
 void linkFeedforwardSignal(DataSource d)
          Links the specified DataSource to the Input Feedforward Signal.
 void linkReferenceSignal(DataSource d)
          Links the specified DataSource to the Input Reference Signal.
 void linkSensorMeasurement(DataSource d)
          Links the specified DataSource to the Input Sensor Measurement.
 void reset()
          Resets super object state and performs the local reset.
 void resetConfiguration()
          Resets configuration of the super object and performs the local reset of the configuration.
 void setActuatorCommand(DataSink d)
          This method is identical to method linkActuatorCommand.
 void setClosedLoop()
          The method for switching between open and closed loop operational mode.
 void setCommandLimits(double high, double low)
          Sets maximum and minimum limits on actuator command output.
 void setCompensator(AbstractControlChannel c)
          Sets the control channel which implements the compensator transfer function for this Controller.
 void setCompensatorOutput(DataSink d)
          This method is identical to method linkCompensatorOutput.
 void setControllerError(DataSink d)
          This method is identical to method linkControllerError.
 void setFeedforwardFilter(AbstractControlChannel c)
          Sets the control channel which implements the feedforward filter transfer function for this Controller.
 void setFeedforwardSignal(DataSource d)
          This method is identical to method linkFeedforwardSignal.
 void setInstabilityRecoveryAction(RecoveryAction r)
          Setter method for the recovery action associated to the controller instability condition.
 void setMeasurementFilter(AbstractControlChannel c)
          Sets the control channel which implements the measurement filter transfer function for this Controller.
 void setOnHold(boolean holdStatus)
          Puts the controller in "hold" mode: inputs no longer propagated and internal state and external outputs are not updated.
 void setOpenLoop()
          The method for switching between open and closed loop operational mode.
 void setReferenceSignal(DataSource d)
          This method is identical to method linkReferenceSignal.
 void setReferenceSignalFilter(AbstractControlChannel c)
          Sets the control channel which implements the reference signal filter transfer function for this Controller.
 void setSensorMeasurement(DataSource d)
          This method is identical to method linkSensorMeasurement.
 void unSetCommandLimits()
          Removes maximum and minimum limits on actuator command output.
 void writeToTelemetry(TelemetryStream stream)
          Causes the object to write its own state to the telemetry stream.
 
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

Controller

public Controller()
Controller

Method Detail

reset

public void reset()
Resets super object state and performs the local reset.

Specified by:
reset in interface Resettable
Overrides:
reset in class AocsObject

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 AocsObject

isConfigured

public boolean isConfigured()
Checks the configuration.

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

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 AocsObject
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 AocsObject
Parameters:
stream - the telemetry stream

setCompensator

public void setCompensator(AbstractControlChannel c)
Sets the control channel which implements the compensator transfer function for this Controller.

Parameters:
c - control channel to be used as compensator transfer function for this Controller

getCompensator

public AbstractControlChannel getCompensator()
Gets the control channel which implements the compensator transfer function for this Controller.

Returns:
the control channel currently set to be used as the compensator transfer function for this Controller

setMeasurementFilter

public void setMeasurementFilter(AbstractControlChannel c)
Sets the control channel which implements the measurement filter transfer function for this Controller.

Parameters:
c - control channel to be used as measurement filter for this Controller

getMeasurementFilter

public AbstractControlChannel getMeasurementFilter()
Gets the control channel which implements the measurement filter transfer function for this Controller.

Returns:
the control channel currently set to be used as the measurement filter

setFeedforwardFilter

public void setFeedforwardFilter(AbstractControlChannel c)
Sets the control channel which implements the feedforward filter transfer function for this Controller.

Parameters:
c - control channel to be used as the feedforward filter

getFeedforwardFilter

public AbstractControlChannel getFeedforwardFilter()
Gets the control channel which implements the feedforward filter transfer function for this Controller.

Returns:
the control channel currently set to be used as the feedforward filter

setReferenceSignalFilter

public void setReferenceSignalFilter(AbstractControlChannel c)
Sets the control channel which implements the reference signal filter transfer function for this Controller.

Parameters:
c - control channel to be used as the reference signal filter

getReferenceSignalFilter

public AbstractControlChannel getReferenceSignalFilter()
Gets the control channel which implements the reference signal filter transfer function for this Controller.

Returns:
the control channel currently set to be used as the reference signal filter

linkReferenceSignal

public void linkReferenceSignal(DataSource d)
Links the specified DataSource to the Input Reference Signal.

Parameters:
d - a data source

setReferenceSignal

public void setReferenceSignal(DataSource d)
This method is identical to method linkReferenceSignal.

Parameters:
d - a data source

linkSensorMeasurement

public void linkSensorMeasurement(DataSource d)
Links the specified DataSource to the Input Sensor Measurement.

Parameters:
d - a data source

setSensorMeasurement

public void setSensorMeasurement(DataSource d)
This method is identical to method linkSensorMeasurement.

Parameters:
d - a data source

linkFeedforwardSignal

public void linkFeedforwardSignal(DataSource d)
Links the specified DataSource to the Input Feedforward Signal.

Parameters:
d - a data source

setFeedforwardSignal

public void setFeedforwardSignal(DataSource d)
This method is identical to method linkFeedforwardSignal.

Parameters:
d - a data source

linkActuatorCommand

public void linkActuatorCommand(DataSink d)
Links the specified DataSink to the Output Actuator Command.

Parameters:
d - a data sink

setActuatorCommand

public void setActuatorCommand(DataSink d)
This method is identical to method linkActuatorCommand.

Parameters:
d - a data sink

linkCompensatorOutput

public void linkCompensatorOutput(DataSink d)
Links the specified DataSink to the Compensator Output.

Parameters:
d - a data sink

setCompensatorOutput

public void setCompensatorOutput(DataSink d)
This method is identical to method linkCompensatorOutput.

Parameters:
d - a data sink

linkControllerError

public void linkControllerError(DataSink d)
Links the specified DataSink to the Output Control Error.

Parameters:
d - a data sink

setControllerError

public void setControllerError(DataSink d)
This method is identical to method linkControllerError.

Parameters:
d - a data sink

setCommandLimits

public void setCommandLimits(double high,
                             double low)
Sets maximum and minimum limits on actuator command output.

Parameters:
high - upper limit on actuator command
low - lower limit on actuator command

unSetCommandLimits

public void unSetCommandLimits()
Removes maximum and minimum limits on actuator command output.


isStable

public boolean isStable()
A call to this method directs the controller object to perform an internal stability check.

Returns:
the true value if the check indicates that the controller is stable, false otherwise

setInstabilityRecoveryAction

public void setInstabilityRecoveryAction(RecoveryAction r)
Setter method for the recovery action associated to the controller instability condition.

Parameters:
r - a recovery action

getInstabilityRecoveryAction

public RecoveryAction getInstabilityRecoveryAction()
Getter methods for the recovery action associated to the controller instability condition.

Returns:
the recovery action

setOpenLoop

public void setOpenLoop()
The method for switching between open and closed loop operational mode.


setClosedLoop

public void setClosedLoop()
The method for switching between open and closed loop operational mode.


setOnHold

public void setOnHold(boolean holdStatus)
Puts the controller in "hold" mode: inputs no longer propagated and internal state and external outputs are not updated. NB: relies on a method in class ControlChannelBlock that is not implemented in framework prototype.

Parameters:
holdStatus - is true, the state propagation is suspended, when is false is resumed.

isOnHold

public boolean isOnHold()
Returns true if the controller is in "hold" mode. NB: relies on a method in class ControlChannelBlock that is not implemented in framework prototype.


doControl

public void doControl()
A call to this method causes the current measurements to be propagated through the control system and the controller outputs to be accordingly updated.


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