Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

Controller Class Reference

#include <Controller.h>

Inheritance diagram for Controller:

Inheritance graph
[legend]
Collaboration diagram for Controller:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Controller ()
 Constructors.
 Controller (Whorl *ptr_whorl)
virtual ~Controller ()
 Destructors.
int SetWheelTorque (Vector ControlTorque)
 Mutators Set the torque produced by the momentum wheels.
int SetThrusterTorque (char Thruster_set, int Number_of_Pulses, double Pulse_length)
 Sets the torque produced by the thrusters.
virtual int Run ()=0
 Runs the controller (pure virtual function).
virtual int Initialize ()=0
 Initializes the controller (pure virtual function).
Matrix FindA ()
 Facilitators Determines the A matrix for the momentum wheels.
Matrix FindMOI_sw ()
 Determines the MOI of the momentum wheels.
void ReferenceModelSC (ssfTime deltaTime)
 Create a spacecraft reference model based on the quaternion kinematic equation and Euler Rotational Equation of Motion. The quaternion and angular rates are numerically integrated.
void ReferenceTrajectory (ssfTime deltaTime)
Vector Saturation (Vector _s, Vector _phi)
Vector Sign (Vector _s)
double SignSingle (double _s)
Vector WheelSaturation (Vector _u)
 Actuator Saturation function for the reaction wheels. Max toruqe is set with m_uMax.

Protected Attributes

Whorlm_whorl
 Member object in Controller Class.
Matrix A
 Member matrix in Controller Class that provides the orientation of the momentum wheels.
Matrix MOI_sw
 Member matrix in Controller Class that is a diagonal matrix with the MOI of the momentum wheels as its memebers.
Vector m_angularRateReference
 Member vector in Controller Class that is the angular rates of the reference model.
Vector m_angularAccelReference
 Member vector in Controller Class that is the angular acceleration of the reference model.
Vector m_quaternionReference
 Member vector in Controller Class that is the quaternion of the reference model.
Vector m_mrpReference
 Member vector in Controller Class that is the MRP's of the reference model.
double m_uMax
 Member double in Controller Class that is the max wheel control torque.

Constructor & Destructor Documentation

Controller::Controller  ) 
 

Constructors.

Definition at line 14 of file Controller.cpp.

References CAMdoubleVector::initialize(), m_angularAccelReference, m_angularRateReference, m_mrpReference, and m_quaternionReference.

Controller::Controller Whorl ptr_whorl  ) 
 

Definition at line 22 of file Controller.cpp.

References A, FindA(), FindMOI_sw(), CAMdoubleVector::initialize(), m_angularAccelReference, m_angularRateReference, m_mrpReference, m_quaternionReference, m_whorl, and MOI_sw.

Controller::~Controller  )  [virtual]
 

Destructors.

Definition at line 35 of file Controller.cpp.


Member Function Documentation

Matrix Controller::FindA  ) 
 

Facilitators Determines the A matrix for the momentum wheels.

Definition at line 39 of file Controller.cpp.

References Whorl::GetMomentumWheel(), MomentumWheel::GetWheelAxis(), MomentumWheel::GetWheelCount(), m_whorl, O_SESSAME::Matrix, and O_SESSAME::Vector.

Referenced by Controller(), testController::Initialize(), slidingModeControlMRPMW::Initialize(), MWCMGController::Initialize(), MRPTracking::Initialize(), DefaultController::Initialize(), and AngularRateController::Initialize().

Matrix Controller::FindMOI_sw  ) 
 

Determines the MOI of the momentum wheels.

Definition at line 63 of file Controller.cpp.

References MomentumWheel::GetAxialInertia(), Whorl::GetMomentumWheel(), MomentumWheel::GetWheelCount(), m_whorl, and O_SESSAME::Matrix.

Referenced by Controller(), testController::Initialize(), slidingModeControlMRPMW::Initialize(), MWCMGController::Initialize(), MRPTracking::Initialize(), DefaultController::Initialize(), and AngularRateController::Initialize().

virtual int Controller::Initialize  )  [pure virtual]
 

Initializes the controller (pure virtual function).

Implemented in AngularRateController, DefaultController, MRPTracking, MWCMGController, OpenLoopMWController, SingleAxisController, slidingModeControlMRPMW, and testController.

void Controller::ReferenceModelSC ssfTime  deltaTime  ) 
 

Create a spacecraft reference model based on the quaternion kinematic equation and Euler Rotational Equation of Motion. The quaternion and angular rates are numerically integrated.

Parameters:
deltaTime is a ssfTime variable that change in time of the reference model.

Definition at line 109 of file Controller.cpp.

References _, AttituteDynamics_QuaternionAngVel(), Whorl::GetMOI(), O_SESSAME::ssfTime::GetSeconds(), O_SESSAME::RungeKuttaIntegrator::Integrate(), m_angularAccelReference, m_angularRateReference, m_mrpReference, m_quaternionReference, m_whorl, O_SESSAME::Matrix, NullFunctor(), O_SESSAME::RungeKuttaIntegrator::SetNumSteps(), O_SESSAME::ModifiedRodriguezParameters::Switch(), and O_SESSAME::Vector.

void Controller::ReferenceTrajectory ssfTime  deltaTime  ) 
 

Definition at line 167 of file Controller.cpp.

References _, AttitudeTrajectory(), Whorl::GetMOI(), O_SESSAME::ssfTime::GetSeconds(), O_SESSAME::RungeKuttaIntegrator::Integrate(), m_angularAccelReference, m_angularRateReference, m_mrpReference, m_quaternionReference, m_whorl, O_SESSAME::Matrix, NullFunctor(), O_SESSAME::RungeKuttaIntegrator::SetNumSteps(), O_SESSAME::ModifiedRodriguezParameters::Switch(), and O_SESSAME::Vector.

Referenced by slidingModeControlMRPMW::Run(), MRPTracking::Run(), and AngularRateController::Run().

virtual int Controller::Run  )  [pure virtual]
 

Runs the controller (pure virtual function).

Implemented in AngularRateController, DefaultController, MRPTracking, MWCMGController, OpenLoopMWController, SingleAxisController, slidingModeControlMRPMW, and testController.

Vector Controller::Saturation Vector  _s,
Vector  _phi
 

Definition at line 273 of file Controller.cpp.

References SignSingle(), and O_SESSAME::Vector.

Referenced by slidingModeControlMRPMW::Run().

int Controller::SetThrusterTorque char  Thruster_set,
int  Number_of_Pulses,
double  Pulse_length
 

Sets the torque produced by the thrusters.

Definition at line 104 of file Controller.cpp.

int Controller::SetWheelTorque Vector  ControlTorque  ) 
 

Mutators Set the torque produced by the momentum wheels.

Parameters:
ControlTorque a 3 x 1 vector representing the desired control torque in N-m

Definition at line 84 of file Controller.cpp.

References Whorl::GetMomentumWheel(), MomentumWheel::GetWheelCount(), m_whorl, MomentumWheel::SetWheelTorque(), and O_SESSAME::Vector.

Referenced by testController::Run(), slidingModeControlMRPMW::Run(), SingleAxisController::Run(), OpenLoopMWController::Run(), MWCMGController::Run(), MRPTracking::Run(), DefaultController::Run(), and AngularRateController::Run().

Vector Controller::Sign Vector  _s  ) 
 

Definition at line 291 of file Controller.cpp.

References SignSingle(), and O_SESSAME::Vector.

double Controller::SignSingle double  _s  ) 
 

Definition at line 323 of file Controller.cpp.

Referenced by Saturation(), Sign(), and WheelSaturation().

Vector Controller::WheelSaturation Vector  _u  ) 
 

Actuator Saturation function for the reaction wheels. Max toruqe is set with m_uMax.

Parameters:
_u input control torque vector

Definition at line 303 of file Controller.cpp.

References m_uMax, SignSingle(), and O_SESSAME::Vector.

Referenced by testController::Run(), slidingModeControlMRPMW::Run(), MRPTracking::Run(), DefaultController::Run(), and AngularRateController::Run().


Member Data Documentation

Matrix Controller::A [protected]
 

Member matrix in Controller Class that provides the orientation of the momentum wheels.

Definition at line 102 of file Controller.h.

Referenced by Controller(), slidingModeControlMRPMW::Run(), MRPTracking::Run(), DefaultController::Run(), and AngularRateController::Run().

Vector Controller::m_angularAccelReference [protected]
 

Member vector in Controller Class that is the angular acceleration of the reference model.

Definition at line 112 of file Controller.h.

Referenced by Controller(), ReferenceModelSC(), and ReferenceTrajectory().

Vector Controller::m_angularRateReference [protected]
 

Member vector in Controller Class that is the angular rates of the reference model.

Definition at line 109 of file Controller.h.

Referenced by Controller(), testController::Initialize(), slidingModeControlMRPMW::Initialize(), MRPTracking::Initialize(), DefaultController::Initialize(), AngularRateController::Initialize(), ReferenceModelSC(), and ReferenceTrajectory().

Vector Controller::m_mrpReference [protected]
 

Member vector in Controller Class that is the MRP's of the reference model.

Definition at line 118 of file Controller.h.

Referenced by Controller(), ReferenceModelSC(), and ReferenceTrajectory().

Vector Controller::m_quaternionReference [protected]
 

Member vector in Controller Class that is the quaternion of the reference model.

Definition at line 115 of file Controller.h.

Referenced by Controller(), testController::Initialize(), slidingModeControlMRPMW::Initialize(), MRPTracking::Initialize(), DefaultController::Initialize(), AngularRateController::Initialize(), ReferenceModelSC(), and ReferenceTrajectory().

double Controller::m_uMax [protected]
 

Member double in Controller Class that is the max wheel control torque.

Definition at line 121 of file Controller.h.

Referenced by WheelSaturation().

Whorl* Controller::m_whorl [protected]
 

Member object in Controller Class.

Definition at line 99 of file Controller.h.

Referenced by Controller(), FindA(), FindMOI_sw(), ReferenceModelSC(), ReferenceTrajectory(), and SetWheelTorque().

Matrix Controller::MOI_sw [protected]
 

Member matrix in Controller Class that is a diagonal matrix with the MOI of the momentum wheels as its memebers.

Definition at line 106 of file Controller.h.

Referenced by Controller(), slidingModeControlMRPMW::Run(), MRPTracking::Run(), DefaultController::Run(), and AngularRateController::Run().


The documentation for this class was generated from the following files:
Generated on Wed Sep 5 12:54:39 2007 for DSACSS Operational Code by  doxygen 1.3.9.1