00001 ////////////////////////////////////////////////////////////////////////////////////////////////// 00002 /*! \file AngularRateController.h 00003 * \brief The AngularRateController class contains the actual equations for angular velocity control. 00004 * It is derived from the Contorller class. 00005 * \author $Author: jayhawk_hokie $ 00006 * \version $Revision: 1.2 $ 00007 * \date $Date: 2007/09/05 16:53:30 $ 00008 *////////////////////////////////////////////////////////////////////////////////////////////////// 00009 /*! 00010 */ 00011 ////////////////////////////////////////////////////////////////////////////////////////////////// 00012 00013 00014 #ifndef __SSSL_ANGULAR_RATE_CONTROLLER_H__ 00015 #define __SSSL_ANGULAR_RATE_CONTROLLER_H__ 00016 00017 #include "Controller.h" 00018 00019 using namespace std; 00020 using namespace O_SESSAME; 00021 00022 class AngularRateController : public Controller 00023 { 00024 public: 00025 /*! \brief Constructor */ 00026 AngularRateController( ); 00027 00028 /*! \brief Constructor 00029 * @param ptr_whorl is a pointer to the whorl object. 00030 */ 00031 AngularRateController( Whorl* ptr_whorl ); 00032 00033 /*! \brief Destructor */ 00034 virtual ~AngularRateController(); 00035 00036 /*! \brief Initializes the default controller */ 00037 int Initialize( ); 00038 00039 /*! \brief Runs the default controller, which is a Lyapunov based control law 00040 * that drives the angular rates to zero. 00041 */ 00042 int Run( ); 00043 00044 protected: 00045 00046 /*! \brief Member value in Default Controller Class that is the Gain Matrix for 00047 * the control law. */ 00048 Matrix m_gainMatrix; 00049 00050 /*! \brief Member scalar value that keeps track of the previous time. Needed by reference model. */ 00051 double m_previousTime; 00052 00053 /*! \brief Member value in Default Controll Class that is the control torque vector 00054 * determined from control law. */ 00055 Vector m_controlTorque; 00056 00057 }; 00058 00059 #endif 00060 00061 // Do not change the comments below - they will be added automatically by CVS 00062 /***************************************************************************** 00063 * $Log: AngularRateController.h,v $ 00064 * Revision 1.2 2007/09/05 16:53:30 jayhawk_hokie 00065 * *** empty log message *** 00066 * 00067 * Revision 1.1 2007/08/31 15:52:57 jayhawk_hokie 00068 * Initial Submission. 00069 * 00070 * 00071 * 00072 * 00073 ******************************************************************************/