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

slidingModeControlMRPMW Class Reference

#include <slidingModeControlMRPMW.h>

Inheritance diagram for slidingModeControlMRPMW:

Inheritance graph
[legend]
Collaboration diagram for slidingModeControlMRPMW:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 slidingModeControlMRPMW ()
 Constructors.
 slidingModeControlMRPMW (Whorl *ptr_whorl)
 ~slidingModeControlMRPMW ()
 Destructor.
int Run ()
 Runs the default controller.
int Initialize ()
 Initializes the default controller.
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.
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

Matrix m_gainMRPRate
 Member matrix value that is the angular rate Gain Matrix for the tracking control law.
Matrix m_gainMRPError
double m_mrpGain
 Member scalar value that is the MRP Gain for the tracking control law.
double m_previousTime
 Member scalar value that keeps track of the previous time. Needed by reference model.
Vector m_controlTorque
 Member value that is the control torque vector determined from control law.
Matrix m_estimateInertiaInv
double m_normEstimateInertiaInv
double m_normEstimateInertia
Matrix m_estimateB
Matrix m_estimateBinv
Vector m_phi
Vector m_eta
double m_torqueMax
Matrix m_D_I
double m_normD_I
Matrix m_D_w
Matrix m_D_wprime
Matrix m_D_B
double m_normD_B
Matrix m_D_D
double m_normD_D
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

slidingModeControlMRPMW::slidingModeControlMRPMW  ) 
 

Constructors.

/brief Constructor for slidingModeControlMRPMW

Definition at line 18 of file slidingModeControlMRPMW.cpp.

slidingModeControlMRPMW::slidingModeControlMRPMW Whorl ptr_whorl  ) 
 

/brief Constructor for slidingModeControlMRPMW

Parameters:
ptr_whorl 

Definition at line 26 of file slidingModeControlMRPMW.cpp.

References Initialize().

slidingModeControlMRPMW::~slidingModeControlMRPMW  ) 
 

Destructor.

/brief De-Constructor for slidingModeControlMRPMW

Definition at line 36 of file slidingModeControlMRPMW.cpp.


Member Function Documentation

Matrix Controller::FindA  )  [inherited]
 

Facilitators Determines the A matrix for the momentum wheels.

Definition at line 39 of file Controller.cpp.

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

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

Matrix Controller::FindMOI_sw  )  [inherited]
 

Determines the MOI of the momentum wheels.

Definition at line 63 of file Controller.cpp.

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

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

int slidingModeControlMRPMW::Initialize  )  [virtual]
 

Initializes the default controller.

/brief Initialize slidingModeControlMRPMW

Implements Controller.

Definition at line 44 of file slidingModeControlMRPMW.cpp.

References _, Controller::FindA(), Controller::FindMOI_sw(), Whorl::GetMOI(), O_SESSAME::ssfTime::GetSeconds(), CAMdoubleMatrix::initialize(), CAMdoubleVector::initialize(), Controller::m_angularRateReference, m_controlTorque, m_D_B, m_D_D, m_D_I, m_D_w, m_estimateB, m_estimateBinv, m_estimateInertiaInv, m_eta, m_gainMRPError, m_gainMRPRate, m_normD_B, m_normD_D, m_normD_I, m_normEstimateInertia, m_normEstimateInertiaInv, m_phi, m_previousTime, Controller::m_quaternionReference, m_torqueMax, matrixInv3x3(), and O_SESSAME::norm2().

Referenced by slidingModeControlMRPMW().

void Controller::ReferenceModelSC ssfTime  deltaTime  )  [inherited]
 

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(), Controller::m_angularAccelReference, Controller::m_angularRateReference, Controller::m_mrpReference, Controller::m_quaternionReference, Controller::m_whorl, O_SESSAME::Matrix, NullFunctor(), O_SESSAME::RungeKuttaIntegrator::SetNumSteps(), O_SESSAME::ModifiedRodriguezParameters::Switch(), and O_SESSAME::Vector.

void Controller::ReferenceTrajectory ssfTime  deltaTime  )  [inherited]
 

Definition at line 167 of file Controller.cpp.

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

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

int slidingModeControlMRPMW::Run  )  [virtual]
 

Runs the default controller.

Implements Controller.

Definition at line 155 of file slidingModeControlMRPMW.cpp.

References Controller::A, O_SESSAME::eye(), O_SESSAME::Rotation::GetDCM(), Whorl::GetMOI(), Whorl::GetMomentumWheel(), Whorl::GetMRP(), Whorl::GetOmegaBL(), O_SESSAME::ssfTime::GetSeconds(), MomentumWheel::GetWheelSpeed(), m_controlTorque, m_D_B, m_D_D, m_D_I, m_estimateBinv, m_estimateInertiaInv, m_gainMRPError, m_gainMRPRate, m_phi, m_torqueMax, O_SESSAME::Matrix, matrixInv3x3(), Controller::MOI_sw, AttitudeModels::MRPKinematic(), Controller::ReferenceTrajectory(), Controller::Saturation(), O_SESSAME::Rotation::Set(), O_SESSAME::ModifiedRodriguezParameters::Set(), Whorl::SetAngularRateError(), Whorl::SetControl(), Whorl::SetMRPError(), Whorl::SetReferenceOmegaBL(), Whorl::SetReferenceQuaternion(), Controller::SetWheelTorque(), O_SESSAME::skew(), O_SESSAME::ModifiedRodriguezParameters::Switch(), O_SESSAME::Vabs(), O_SESSAME::Vector, and Controller::WheelSaturation().

Vector Controller::Saturation Vector  _s,
Vector  _phi
[inherited]
 

Definition at line 273 of file Controller.cpp.

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

Referenced by Run().

int Controller::SetThrusterTorque char  Thruster_set,
int  Number_of_Pulses,
double  Pulse_length
[inherited]
 

Sets the torque produced by the thrusters.

Definition at line 104 of file Controller.cpp.

int Controller::SetWheelTorque Vector  ControlTorque  )  [inherited]
 

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(), Controller::m_whorl, MomentumWheel::SetWheelTorque(), and O_SESSAME::Vector.

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

Vector Controller::Sign Vector  _s  )  [inherited]
 

Definition at line 291 of file Controller.cpp.

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

double Controller::SignSingle double  _s  )  [inherited]
 

Definition at line 323 of file Controller.cpp.

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

Vector Controller::WheelSaturation Vector  _u  )  [inherited]
 

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 Controller::m_uMax, Controller::SignSingle(), and O_SESSAME::Vector.

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


Member Data Documentation

Matrix Controller::A [protected, inherited]
 

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

Definition at line 102 of file Controller.h.

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

Vector Controller::m_angularAccelReference [protected, inherited]
 

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::Controller(), Controller::ReferenceModelSC(), and Controller::ReferenceTrajectory().

Vector Controller::m_angularRateReference [protected, inherited]
 

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::Controller(), testController::Initialize(), Initialize(), MRPTracking::Initialize(), DefaultController::Initialize(), AngularRateController::Initialize(), Controller::ReferenceModelSC(), and Controller::ReferenceTrajectory().

Vector slidingModeControlMRPMW::m_controlTorque [protected]
 

Member value that is the control torque vector determined from control law.

Definition at line 52 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

Matrix slidingModeControlMRPMW::m_D_B [protected]
 

Definition at line 69 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

Matrix slidingModeControlMRPMW::m_D_D [protected]
 

Definition at line 71 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

Matrix slidingModeControlMRPMW::m_D_I [protected]
 

Definition at line 65 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

Matrix slidingModeControlMRPMW::m_D_w [protected]
 

Definition at line 67 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

Matrix slidingModeControlMRPMW::m_D_wprime [protected]
 

Definition at line 68 of file slidingModeControlMRPMW.h.

Matrix slidingModeControlMRPMW::m_estimateB [protected]
 

Definition at line 57 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

Matrix slidingModeControlMRPMW::m_estimateBinv [protected]
 

Definition at line 58 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

Matrix slidingModeControlMRPMW::m_estimateInertiaInv [protected]
 

Definition at line 54 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

Vector slidingModeControlMRPMW::m_eta [protected]
 

Definition at line 61 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

Matrix slidingModeControlMRPMW::m_gainMRPError [protected]
 

Definition at line 42 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

Matrix slidingModeControlMRPMW::m_gainMRPRate [protected]
 

Member matrix value that is the angular rate Gain Matrix for the tracking control law.

Definition at line 41 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

double slidingModeControlMRPMW::m_mrpGain [protected]
 

Member scalar value that is the MRP Gain for the tracking control law.

Definition at line 45 of file slidingModeControlMRPMW.h.

Vector Controller::m_mrpReference [protected, inherited]
 

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::Controller(), Controller::ReferenceModelSC(), and Controller::ReferenceTrajectory().

double slidingModeControlMRPMW::m_normD_B [protected]
 

Definition at line 70 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

double slidingModeControlMRPMW::m_normD_D [protected]
 

Definition at line 72 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

double slidingModeControlMRPMW::m_normD_I [protected]
 

Definition at line 66 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

double slidingModeControlMRPMW::m_normEstimateInertia [protected]
 

Definition at line 56 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

double slidingModeControlMRPMW::m_normEstimateInertiaInv [protected]
 

Definition at line 55 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

Vector slidingModeControlMRPMW::m_phi [protected]
 

Definition at line 60 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

double slidingModeControlMRPMW::m_previousTime [protected]
 

Member scalar value that keeps track of the previous time. Needed by reference model.

Definition at line 48 of file slidingModeControlMRPMW.h.

Referenced by Initialize().

Vector Controller::m_quaternionReference [protected, inherited]
 

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

Definition at line 115 of file Controller.h.

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

double slidingModeControlMRPMW::m_torqueMax [protected]
 

Definition at line 63 of file slidingModeControlMRPMW.h.

Referenced by Initialize(), and Run().

double Controller::m_uMax [protected, inherited]
 

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

Definition at line 121 of file Controller.h.

Referenced by Controller::WheelSaturation().

Whorl* Controller::m_whorl [protected, inherited]
 

Member object in Controller Class.

Definition at line 99 of file Controller.h.

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

Matrix Controller::MOI_sw [protected, inherited]
 

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::Controller(), 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:43 2007 for DSACSS Operational Code by  doxygen 1.3.9.1