00001 ////////////////////////////////////////////////////////////////////////////////////////////////// 00002 /*! \file Observer.h 00003 * \brief The observer class provides the interface between the individual estimators and the 00004 * rest of the Whorl software 00005 * \author $Author: jayhawk_hokie $ 00006 * \version $Revision: 1.9 $ 00007 * \date $Date: 2007/03/27 19:14:07 $ 00008 *////////////////////////////////////////////////////////////////////////////////////////////////// 00009 /* 00010 */ 00011 ////////////////////////////////////////////////////////////////////////////////////////////////// 00012 00013 #ifndef __SSSL_OBSERVER_H__ 00014 #define __SSSL_OBSERVER_H__ 00015 00016 #include <Utils/Measurement.h> 00017 #include <vector> 00018 00019 #include<matrix/Matrix.h> 00020 00021 using namespace std; 00022 00023 using namespace O_SESSAME; 00024 00025 class Observer { 00026 00027 public: 00028 00029 /*! Constructor */ 00030 Observer(){}; 00031 00032 /*! Destructor */ 00033 virtual ~Observer(){}; 00034 00035 // Facilitators 00036 00037 // Mutators 00038 00039 /*! Runs the observer (pure virtual function) */ 00040 virtual int Run() = 0; 00041 00042 /*! Initializes the observer (pure virtual function */ 00043 virtual int Initialize() = 0; 00044 00045 Vector AccelerationCorrection( Vector _angularAcceleration, Vector _angularRates, 00046 Vector _accelerationMeasurement, Vector _vectorCM ); 00047 00048 protected: 00049 00050 }; 00051 00052 #endif 00053 00054 // Do not change the comments below - they will be added automatically by CVS 00055 /***************************************************************************** 00056 * $Log: Observer.h,v $ 00057 * Revision 1.9 2007/03/27 19:14:07 jayhawk_hokie 00058 * Added acceleration correction function. 00059 * 00060 * Revision 1.8 2005/03/16 18:08:15 cakinli 00061 * *** empty log message *** 00062 * 00063 * Revision 1.7 2003/08/13 23:18:44 mavandyk 00064 * Altered structure as outline in meeting. 00065 * 00066 * Revision 1.6 2003/08/06 21:49:48 mavandyk 00067 * Added comments fixed class structure and runs with config parsig. 00068 * 00069 * Revision 1.5 2003/07/31 21:02:57 mavandyk 00070 * Added a virtual Run and Initialize function. 00071 * 00072 * Revision 1.4 2003/07/21 21:53:13 mavandyk 00073 * Fixed some syntax errors. 00074 * 00075 * Revision 1.3 2003/07/14 20:07:03 mavandyk 00076 * Fixed calls to Whorl class, and handling of time and measurements. 00077 * 00078 * Revision 1.1 2003/07/04 14:12:29 simpliciter 00079 * Moved from src directory. 00080 * 00081 * Revision 1.2 2003/07/03 17:25:51 simpliciter 00082 * Fixed spelling of PateraSilk. 00083 * 00084 * Revision 1.1 2003/07/02 21:30:14 mavandyk 00085 * Base class for all observers. 00086 * 00087 ******************************************************************************/