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

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

    00001 //=============================================================================
    00002 // BFBSU.h: interface for the BFBSU class.
    00003 //
    00004 // Copyright (c) 2005           Model-based Embedded and Robotic Systems Group
    00005 // All Rights Reserved          Massachusetts Institute of Technology
    00006 //
    00007 // This software is provided as is. Model-based Embedded and Robotic Systems
    00008 // (MERS) group does not assume any responsibility.
    00009 //
    00010 // Author:                      Oliver B. Martin
    00011 // Organization:                Model-based Embedded and Robotic Systems Group
    00012 //                              Massachusetts Institute of Technology
    00013 //
    00014 // The BFBSU is a HHM estimation engine that generates
    00015 // estimates that are consistent with the CCA model, commands, and
    00016 // observations. Estimates are generated in best-first order (highest
    00017 // posterior probability first) by using Opsat to find the most likely
    00018 // diagnoses. This implimentation of BFBSU tracks the k most
    00019 // likely estimates in an approximate belief state using the full HMM belief
    00020 // state update equations (including update) in a single Non-MPI OPSAT engine.
    00021 //=============================================================================
    00022
    00023
    00024 #if !defined(_BFBSU_H_)
    00025 #define _BFBSU_H_
    00026
    00027 #if _MSC_VER > 1000
    00028 #pragma once
    00029 #endif // _MSC_VER > 1000
    00030
    00031 #include <Mers/Estimation/Discrete/ApproximateBeliefState/BFBSE/BFBSE.h>
    00032
    00033 namespace Mers {
    00034         namespace Models {
    00035                 namespace CCA {
    00036                         class CCAModel;
    00037                 }
    00038         }
    00039         namespace Estimation {
    00040                 namespace Discrete {
    00041
    00042                         class Trajectories;
    00043
    00044                         namespace ProbabilityRules {
    00045                                 class ObsProbRule;
    00046                         }
    00047
    00048                         namespace ApproximateBeliefState {
    00049                                 namespace BFBSE {
    00050
    00051                                         class BFBSE;
    00052                                 }
    00053                                 namespace BFBSU {
    00063                                         class BFBSU : public Mers::Estimation::Discrete::ApproximateBeliefState::BFBSE::BFBSE
    00064                                         {
    00065
    00066                                         public:
    00067                                                 //-----------------------------------------
    00068                                                 // Constructors
    00069                                                 //-----------------------------------------
    00070
    00080                                                 BFBSU(const Mers::Models::CCA::CCAModel &cca,
    00081                                                                 std::vector<const Mers::Estimation::Discrete::ProbabilityRules::ObsProbRule *> & theObsProbRules,
    00082                                                                 Mers::Estimation::Discrete::Trajectories * initialTrajectories = NULL);
    00083
    00084                                                 //-----------------------------------------
    00085                                                 // Destructors
    00086                                                 //-----------------------------------------
    00087
    00091                                                 virtual ~BFBSU();
    00092
    00093
    00094                                                 //-----------------------------------------
    00095                                                 // Functions
    00096                                                 //-----------------------------------------
    00097
    00098
    00099                                         private:
    00100
    00105                                         //      virtual bool                                    generateTrajectories(void);
    00106
    00107                                                 //-----------------------------------------
    00108                                                 // Data Members
    00109                                                 //-----------------------------------------
    00110
    00111                                         };
    00112                                 }
    00113                         }
    00114                 }
    00115         }
    00116 }
    00117
    00118 #endif // !defined(_BFBSU_H_)