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