00001 ////////////////////////////////////////////////////////////////////////////////////////////////// 00002 /*! \file SingleAxisController.h 00003 * \brief The SingleAxisController class contains the actual equations for angular velocity single 00004 * axis control. It is derived from the Contorller class. 00005 * \author $Author: cakinli $ 00006 * \version $Revision: 1.3 $ 00007 * \date $Date: 2005/02/25 18:40:53 $ 00008 *////////////////////////////////////////////////////////////////////////////////////////////////// 00009 /*! 00010 */ 00011 ////////////////////////////////////////////////////////////////////////////////////////////////// 00012 00013 00014 #ifndef __SSSL_SINGLEAXISCONTROLLER_H__ 00015 #define __SSSL_SINGLEAXISCONTROLLER_H__ 00016 00017 #include <Controller/Controller.h> 00018 00019 using namespace std; 00020 using namespace O_SESSAME; 00021 00022 class SingleAxisController : public Controller 00023 { 00024 public: 00025 /** Constructors */ 00026 SingleAxisController() {}; 00027 SingleAxisController(Whorl* _pateraSilk) { PateraSilk = _pateraSilk; }; 00028 SingleAxisController(cfgBody& configBody) {}; 00029 00030 /** Destructor */ 00031 virtual ~SingleAxisController() {}; 00032 00033 /*! Runs the default controller */ 00034 int Run(); 00035 00036 /*! Initializes the default controller */ 00037 int Initialize(); 00038 00039 protected: 00040 00041 Matrix m_gainMatrix; 00042 Vector m_controlTorque; 00043 Whorl *PateraSilk; 00044 00045 }; 00046 00047 #endif 00048 00049 // Do not change the comments below - they will be added automatically by CVS 00050 /***************************************************************************** 00051 * $Log: SingleAxisController.h,v $ 00052 * Revision 1.3 2005/02/25 18:40:53 cakinli 00053 * Created Makefiles and organized include directives to reduce the number of 00054 * include paths. Reorganized libraries so that there is now one per source 00055 * directory. Each directory is self-contained in terms of its Makefile. 00056 * The local Makefile in each directory includes src/config.mk, which has all 00057 * the definitions and general and pattern rules. So at most, to see what 00058 * goes into building a target, a person needs to examine the Makefile in 00059 * that directory, and ../config.mk. 00060 * 00061 * Revision 1.2 2003/08/06 21:47:39 mavandyk 00062 * Updated comments and notation and fixed class structure. 00063 * 00064 * Revision 1.1 2003/07/31 20:55:19 mavandyk 00065 * A single axis attitude controller. 00066 * 00067 * Revision 1.2 2003/07/31 20:42:38 mavandyk 00068 * Fixed some minor problems. 00069 * 00070 * Revision 1.1 2003/07/31 20:27:17 mavandyk 00071 * This is the default controller for Whorl. 00072 * 00073 * Revision 1.3 2003/07/07 14:10:52 simpliciter 00074 * Added log blocks. 00075 * 00076 * 00077 * 00078 ******************************************************************************/