|
Bayes Filters Library
|
#include <EstimatesExtraction.h>
Public Member Functions | |
| EstimatesExtraction (const std::size_t linear_size) noexcept | |
| EstimatesExtraction (const std::size_t linear_size, const std::size_t circular_size) noexcept | |
| EstimatesExtraction (EstimatesExtraction &&estimate_extraction) noexcept | |
| EstimatesExtraction & | operator= (EstimatesExtraction &&estimate_extraction) noexcept |
| ~EstimatesExtraction () noexcept=default | |
| bool | setMethod (const ExtractionMethod &extraction_method) |
| bool | setMobileAverageWindowSize (const int window) |
| std::pair< bool, Eigen::VectorXd > | extract (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights) |
| std::pair< bool, Eigen::VectorXd > | extract (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities) |
| bool | clear () |
| std::vector< std::string > | getInfo () const |
Protected Types | |
| enum | Statistics { Statistics::mean, Statistics::mode, Statistics::map } |
Protected Member Functions | |
| Eigen::VectorXd | mean (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights) const |
| Eigen::VectorXd | mode (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights) const |
| Eigen::VectorXd | map (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities) const |
| Return an approximatation of the MAP (maximum a posteriori) estimate from a running particle filter. More... | |
| Eigen::VectorXd | simpleAverage (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities, const Statistics &base_est_ext) |
| Eigen::VectorXd | weightedAverage (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities, const Statistics &base_est_ext) |
| Eigen::VectorXd | exponentialAverage (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities, const Statistics &base_est_ext) |
Protected Attributes | |
| ExtractionMethod | extraction_method_ = ExtractionMethod::emode |
| HistoryBuffer | hist_buffer_ |
| Eigen::VectorXd | sm_weights_ |
| Eigen::VectorXd | wm_weights_ |
| Eigen::VectorXd | em_weights_ |
| std::size_t | linear_size_ |
| std::size_t | circular_size_ |
| std::size_t | state_size_ |
Definition at line 23 of file EstimatesExtraction.h.
|
strong |
| Enumerator | |
|---|---|
| mean | |
| smean | |
| wmean | |
| emean | |
| mode | |
| smode | |
| wmode | |
| emode | |
| map | |
| smap | |
| wmap | |
| emap | |
Definition at line 36 of file EstimatesExtraction.h.
|
strongprotected |
| Enumerator | |
|---|---|
| mean | |
| mode | |
| map | |
Definition at line 67 of file EstimatesExtraction.h.
|
noexcept |
Definition at line 16 of file EstimatesExtraction.cpp.
|
noexcept |
Definition at line 21 of file EstimatesExtraction.cpp.
|
noexcept |
Definition at line 29 of file EstimatesExtraction.cpp.
|
defaultnoexcept |
| bool EstimatesExtraction::clear | ( | ) |
Definition at line 181 of file EstimatesExtraction.cpp.
|
protected |
Definition at line 332 of file EstimatesExtraction.cpp.
References bfl::utils::log_sum_exp().
| std::pair<bool, Eigen::VectorXd> bfl::EstimatesExtraction::extract | ( | const Eigen::Ref< const Eigen::MatrixXd > & | particles, |
| const Eigen::Ref< const Eigen::VectorXd > & | weights | ||
| ) |
| std::pair<bool, Eigen::VectorXd> bfl::EstimatesExtraction::extract | ( | const Eigen::Ref< const Eigen::MatrixXd > & | particles, |
| const Eigen::Ref< const Eigen::VectorXd > & | weights, | ||
| const Eigen::Ref< const Eigen::VectorXd > & | previous_weights, | ||
| const Eigen::Ref< const Eigen::VectorXd > & | likelihoods, | ||
| const Eigen::Ref< const Eigen::MatrixXd > & | transition_probabilities | ||
| ) |
| std::vector< std::string > EstimatesExtraction::getInfo | ( | ) | const |
Definition at line 187 of file EstimatesExtraction.cpp.
|
protected |
Return an approximatation of the MAP (maximum a posteriori) estimate from a running particle filter.
The approximation is taken from: Saha, S., Boers, Y., Driessen, H., Mandal, P. K., Bagchi, A. (2009), 'Particle Based MAP State Estimation: A Comparison.', 12th International Conference on Information Fusion, Seattle, WA, USA, July 6-9, 2009
The vector 'particles' contains the position of the particles at the current time step k. The vector 'previous_weights' contains the weights at the previous time step (k - 1). The vector 'likelihoods' containts the likelihoods at the current time step k. The matrix 'transition_probabilities' contains, in each entry (i, j), the transition probability between the i-th particle at time k and the j-th particle at time (k-1).
|
protected |
|
protected |
|
noexcept |
Definition at line 43 of file EstimatesExtraction.cpp.
References extraction_method_.
| bool EstimatesExtraction::setMethod | ( | const ExtractionMethod & | extraction_method | ) |
Definition at line 65 of file EstimatesExtraction.cpp.
| bool EstimatesExtraction::setMobileAverageWindowSize | ( | const int | window | ) |
Definition at line 73 of file EstimatesExtraction.cpp.
|
protected |
Definition at line 266 of file EstimatesExtraction.cpp.
|
protected |
Definition at line 296 of file EstimatesExtraction.cpp.
References bfl::utils::log_sum_exp().
|
protected |
Definition at line 103 of file EstimatesExtraction.h.
|
protected |
Definition at line 65 of file EstimatesExtraction.h.
|
protected |
Definition at line 57 of file EstimatesExtraction.h.
Referenced by operator=().
|
protected |
Definition at line 59 of file EstimatesExtraction.h.
|
protected |
Definition at line 101 of file EstimatesExtraction.h.
|
protected |
Definition at line 61 of file EstimatesExtraction.h.
|
protected |
Definition at line 105 of file EstimatesExtraction.h.
|
protected |
Definition at line 63 of file EstimatesExtraction.h.
1.8.17