- Main Page
- Namespaces
- Classes
- Files
- Related Pages

# /Users/fpy/titan-1-5-MBARI/Mers/Estimation/Discrete/ApproximateBeliefState/DynamicModeEstimateGeneration/DynamicModeEstimateGenerator.h

    00001 //=============================================================================
    00002 // DynamicModeEstimateGenerator.h: interface for the
    00003 // DynamicModeEstimateGenerator class.
    00004 //
    00005 // Copyright (c) 2004           Model-based Embedded and Robotic Systems Group
    00006 // All Rights Reserved          Massachusetts Institute of Technology
    00007 //
    00008 // This software is provided as is. Model-based Embedded and Robotic Systems
    00009 // (MERS) group does not assume any responsibility.
    00010 //
    00011 // Author:                      Oliver B. Martin
    00012 // Organization:                Model-based Embedded and Robotic Systems Group
    00013 //                              Massachusetts Institute of Technology
    00014 //
    00015 // The DynamicModeEstimateGenerator is an HHM estimation engine that generates estimates that are
    00016 // consistent with the CCA model, commands, and observations. Estimates are
    00017 // generated in best-first order (highest posterior probability first) by using
    00018 // Opsat to find the most likely diagnoses. This implimentation of
    00019 // DynamicModeEstimateGenerator tracks
    00020 // the k most likely approximate belief states over time using an OCSP solver
    00021 // for each trajectory and deciding what OCSP solver to exapand using A* type
    00022 // heuristics that are based on the structure of a belief state.
    00023 //
    00024 //=============================================================================
    00025
    00026
    00027 #if !defined(_DYNAMICMODEESTIMATEGENERATOR_H_)
    00028 #define _DYNAMICMODEESTIMATEGENERATOR_H_
    00029
    00030 #if _MSC_VER > 1000
    00031 #pragma once
    00032 #endif // _MSC_VER > 1000
    00033
    00034 #include <Mers/Estimation/Discrete/ModeEstimationPerformance/Monitor/ModeEstimatorDebug.h>
    00035
    00036 namespace Mers {
    00037         namespace Models {
    00038                 namespace CCA {
    00039                         class CCAModel;
    00040                 }
    00041         }
    00042         namespace Estimation {
    00043                 namespace Discrete {
    00044
    00045                         class Trajectories;
    00046
    00047                         namespace ApproximateBeliefState {
    00048                                 namespace DynamicModeEstimateGenertation {
    00049
    00060                                         class DynamicModeEstimateGenerator : public Mers::Estimation::Discrete::ModeEstimationPerformance::ModeEstimatorDebug
    00061                                         {
    00062
    00063                                         public:
    00064                                                 //-----------------------------------------
    00065                                                 // Constructors
    00066                                                 //-----------------------------------------
    00067
    00075                                                 DynamicModeEstimateGenerator(const Mers::Models::CCA::CCAModel &cca,
    00076                                                         Mers::Estimation::Discrete::Trajectories * initialTrajectories = NULL);
    00077
    00078
    00079                                                 //-----------------------------------------
    00080                                                 // Destructors
    00081                                                 //-----------------------------------------
    00082
    00086                                                 virtual ~DynamicModeEstimateGenerator();
    00087
    00088
    00089                                                 //-----------------------------------------
    00090                                                 // Functions
    00091                                                 //-----------------------------------------
    00092
    00094                                                 virtual unsigned int                    getNumConflictsGenerated(void);
    00095
    00096                                         private:
    00097
    00102                                                 virtual bool                                    generateTrajectories(void);
    00103
    00104                                                 //-----------------------------------------
    00105                                                 // Data Members
    00106                                                 //-----------------------------------------
    00107
    00108                                                 unsigned int                                    numberExternalConflictsAdded;
    00109                                         };
    00110                                 }
    00111                         }
    00112                 }
    00113         }
    00114 }
    00115
    00116 #endif // !defined(_DYNAMICMODEESTIMATEGENERATOR_H_)