M1M3 Support System
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LSST::M1M3::SS::ForceComponent Class Referenceabstract

Abstract parent class of all force components. More...

#include <ForceComponent.h>

Inheritance diagram for LSST::M1M3::SS::ForceComponent:
Inheritance graph
[legend]

Public Member Functions

 ForceComponent (const char *name, ForceComponentSettings *forceComponentSettings)
 Construct ForceComponent.
 
const char * getName ()
 Returns force component name.
 
bool isInitialising ()
 Returns true if the force component is being initialised.
 
bool isEnabled ()
 Returns true if the force component is enabled.
 
bool isDisabling ()
 Returns true if the force component is being disabled.
 
bool isActive ()
 Returns true if the force compoment is active - shall be calculated.
 
void enable ()
 Enable the force component.
 
void disable ()
 Disable the force component.
 
virtual void postEnableDisableActions ()=0
 Called after enable/disable changes.
 
void update ()
 
void reset ()
 

Protected Member Functions

virtual void postUpdateActions ()=0
 Called after update to forces.
 

Protected Attributes

float xCurrent [FA_X_COUNT]
 measured actuator current X force
 
float yCurrent [FA_Y_COUNT]
 measured actuator current Y force
 
float zCurrent [FA_Z_COUNT]
 measured actuator current Z force
 
float xTarget [FA_X_COUNT]
 target actuator X force
 
float yTarget [FA_Y_COUNT]
 target actuator Y force
 
float zTarget [FA_Z_COUNT]
 target actuator Z force
 
float xOffset [FA_X_COUNT]
 difference (error) between current and target X force
 
float yOffset [FA_Y_COUNT]
 difference (error) between current and target Y force
 
float zOffset [FA_Z_COUNT]
 difference (error) between current and target Z force
 

Detailed Description

Abstract parent class of all force components.

Forces acting on mirror are calculated as sum of 6 scalar forces (lateral forces in x,y and z direction and rotational forces (moments) around x,y and z axis). Individual actuators forces are summed in FinalForceComponent. Considered forces and demands are:

Force component can be enabled or disabled. When it is disabled, its contribution is scaled linearly to zero to prevent overstressing the mirror. Commanding of the enabled/disabled states and checking if the forces are enabled before being applied is performed in the ForceController class.

Constructor & Destructor Documentation

◆ ForceComponent()

LSST::M1M3::SS::ForceComponent::ForceComponent ( const char * name,
ForceComponentSettings * forceComponentSettings )

Construct ForceComponent.

Parameters
nameforce component name
forceComponentSettings

Member Function Documentation

◆ disable()

void LSST::M1M3::SS::ForceComponent::disable ( )

Disable the force component.

Starts to gradually scales force contribution to

◆ getName()

const char * LSST::M1M3::SS::ForceComponent::getName ( )
inline

Returns force component name.

Returns
force component name

◆ isActive()

bool LSST::M1M3::SS::ForceComponent::isActive ( )
inline

Returns true if the force compoment is active - shall be calculated.

Returns
true if the force component is either enabled or disabling (scaling back to 0)

◆ isDisabling()

bool LSST::M1M3::SS::ForceComponent::isDisabling ( )
inline

Returns true if the force component is being disabled.

Returns
true if the force component is being disabled

◆ isEnabled()

bool LSST::M1M3::SS::ForceComponent::isEnabled ( )
inline

Returns true if the force component is enabled.

Returns
true if the force component is enabled
Here is the caller graph for this function:

◆ isInitialising()

bool LSST::M1M3::SS::ForceComponent::isInitialising ( )
inline

Returns true if the force component is being initialised.

Returns
true if the force component is being initialised

◆ postEnableDisableActions()

virtual void LSST::M1M3::SS::ForceComponent::postEnableDisableActions ( )
pure virtual

◆ postUpdateActions()

virtual void LSST::M1M3::SS::ForceComponent::postUpdateActions ( )
protectedpure virtual

The documentation for this class was generated from the following files: