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_)
1.5.0