00001 ////////////////////////////////////////////////////////////////////////////////////////////////// 00002 /*! \file OpenLoopMWController.h 00003 * \brief The OpenLoopMWController class provides open loop control for parameter estimation. 00004 * It is derived from the Contorller class. 00005 * \author $Author: cakinli $ 00006 * \version $Revision: 1.4 $ 00007 * \date $Date: 2005/02/25 18:40:53 $ 00008 *////////////////////////////////////////////////////////////////////////////////////////////////// 00009 /*! 00010 */ 00011 ////////////////////////////////////////////////////////////////////////////////////////////////// 00012 00013 00014 #ifndef __SSSL_OPENLOOPMWCONTROLLER_H__ 00015 #define __SSSL_OPENLOOPMWCONTROLLER_H__ 00016 00017 #include <Controller/Controller.h> 00018 #include <fstream> 00019 00020 using namespace std; 00021 using namespace O_SESSAME; 00022 00023 class OpenLoopMWController : public Controller { 00024 00025 public: 00026 /** Constructors */ 00027 OpenLoopMWController() {}; 00028 OpenLoopMWController(Whorl* ptr_whorl) { 00029 m_whorl = ptr_whorl; 00030 int retcode = Initialize(); 00031 retcode = 0; 00032 }; 00033 00034 /** Destructor */ 00035 ~OpenLoopMWController() { 00036 m_fileID.close(); 00037 }; 00038 00039 /*! Runs the default controller */ 00040 int Run(); 00041 00042 /*! Initializes the default controller */ 00043 int Initialize(); 00044 00045 /*! Load the datafile. */ 00046 ifstream LoadDataFile(char *filename); 00047 00048 private: 00049 00050 Vector m_controlTorque; 00051 ifstream m_fileID; 00052 00053 }; 00054 00055 #endif 00056 00057 // Do not change the comments below - they will be added automatically by CVS 00058 /***************************************************************************** 00059 * $Log: OpenLoopMWController.h,v $ 00060 * Revision 1.4 2005/02/25 18:40:53 cakinli 00061 * Created Makefiles and organized include directives to reduce the number of 00062 * include paths. Reorganized libraries so that there is now one per source 00063 * directory. Each directory is self-contained in terms of its Makefile. 00064 * The local Makefile in each directory includes src/config.mk, which has all 00065 * the definitions and general and pattern rules. So at most, to see what 00066 * goes into building a target, a person needs to examine the Makefile in 00067 * that directory, and ../config.mk. 00068 * 00069 * Revision 1.3 2003/12/12 21:23:27 simpliciter 00070 * Working version update before modifications! 00071 * 00072 * Revision 1.2 2003/11/04 23:42:22 simpliciter 00073 * Changed for wheel speed commands instead of wheel torques. 00074 * 00075 * Revision 1.1 2003/10/31 21:24:57 simpliciter 00076 * Initial submission. 00077 * 00078 * 00079 * 00080 * 00081 ******************************************************************************/ 00082