Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

DefaultObserver.h

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////////////////////////////////////////////
00002 /*! \file DefaultObserver.h
00003  *  \brief The default observer class inherits the functionality of the observer class and provides
00004  *         the space for the the actual filter code.
00005  *  \author     $Author: cakinli $
00006  *  \version $Revision: 1.9 $
00007  *  \date    $Date: 2005/03/16 18:08:15 $
00008 *//////////////////////////////////////////////////////////////////////////////////////////////////
00009 /*  
00010 */
00011 //////////////////////////////////////////////////////////////////////////////////////////////////
00012 
00013 #ifndef __SSSL_DEFAULT_OBSERVER_H__
00014 #define __SSSL_DEFAULT_OBSERVER_H__
00015 
00016 #include <Filtering/ExtendedKalmanFilter.h>
00017 #include <Observer/Observer.h>
00018 #include <Utils/Measurement.h>
00019 #include <Base/Whorl.h>
00020 #include <vector>
00021 
00022 using namespace std;
00023 using namespace O_SESSAME;
00024 
00025 class DefaultObserver : public Observer {
00026         
00027         public:
00028         
00029                 /*! Constructor */
00030                 DefaultObserver() { };
00031                 DefaultObserver(Whorl* ptr_whorl) { 
00032                         m_whorl = ptr_whorl;
00033                         int retcode = Initialize();
00034                         retcode = 0;
00035                 };
00036         
00037                 /*! Destructor */
00038                 ~DefaultObserver() { };
00039         
00040                 // Facilitators
00041                 
00042                         // Mutators
00043                 
00044                                 /*! Initialize the filter */
00045                                 int Initialize();
00046                         
00047                                 /*! Run is the funtion that implements the estimator in the derived class Filter */     
00048                                 int Run();
00049                 
00050         protected:
00051                 
00052         private:
00053                 
00054                 ExtendedKalmanFilter   ekf;
00055                 Whorl*                 m_whorl;
00056                 map<string, RateGyro*> m_rateGyros;
00057                 string                 m_rateGyroNames[3];
00058                 Measurement            m_measurements[3];
00059 };
00060 
00061 #endif
00062 
00063 // Do not change the comments below - they will be added automatically by CVS
00064 /*****************************************************************************
00065 *       $Log: DefaultObserver.h,v $
00066 *       Revision 1.9  2005/03/16 18:08:15  cakinli
00067 *       *** empty log message ***
00068 *       
00069 *       Revision 1.8  2003/08/13 23:18:22  mavandyk
00070 *       Altered structure as outline in meeting.
00071 *       
00072 *       Revision 1.7  2003/08/06 21:49:27  mavandyk
00073 *       Added comments fixed class structure and runs with config parsig.
00074 *       
00075 *       Revision 1.6  2003/08/01 11:21:52  mavandyk
00076 *       Changed class structure.
00077 *       
00078 *       Revision 1.5  2003/07/21 21:53:59  mavandyk
00079 *       Fixed some syntax errors.
00080 *       
00081 *       Revision 1.4  2003/07/14 20:06:41  mavandyk
00082 *       Fixed calls to Whorl class, and handling of time and measurements.
00083 *       
00084 *       Revision 1.3  2003/07/10 19:50:53  mavandyk
00085 *       Fixed time handling.
00086 *       
00087 *       Revision 1.1  2003/07/04 14:12:29  simpliciter
00088 *       Moved from src directory.
00089 *       
00090 *       Revision 1.1  2003/07/02 21:33:08  mavandyk
00091 *       The observer for the demo.
00092 *       
00093 *       Revision 1.1  2003/06/30 16:06:00  nicmcp
00094 *       replaced the controller files with the Controller files
00095 *       
00096 *       Revision 1.3  2003/06/30 15:51:57  nicmcp
00097 *       made some changes to the controller files
00098 *       
00099 *       Revision 1.2  2003/06/30 14:13:35  simpliciter
00100 *       Modified comments, added log blocks.
00101 *       
00102 *       
00103 *
00104 ******************************************************************************/

Generated on Wed Sep 5 12:54:19 2007 for DSACSS Operational Code by  doxygen 1.3.9.1