Skip to content

Commit

Permalink
Add new cluster-based estimation mixin
Browse files Browse the repository at this point in the history
Signed-off-by: Gerardo Puga <[email protected]>
Signed-off-by: Gerardo Puga <[email protected]>
  • Loading branch information
glpuga committed Dec 27, 2023
1 parent 7f193ba commit e8906dd
Show file tree
Hide file tree
Showing 8 changed files with 750 additions and 22 deletions.
1 change: 1 addition & 0 deletions beluga/include/beluga/estimation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include <beluga/interfaces/estimation_interface.hpp>

// implementations
#include <beluga/estimation/cluster_based_estimator.hpp>
#include <beluga/estimation/simple_state_estimator.hpp>
#include <beluga/estimation/weighted_state_estimator.hpp>

Expand Down
372 changes: 372 additions & 0 deletions beluga/include/beluga/estimation/cluster_based_estimator.hpp

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions beluga/include/beluga/estimation/simple_state_estimator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@

/**
* \file
* \brief Implementation of algorithms that allow calculating the estimated state of
* a particle filter.
* \brief Implementation of a simple state estimator.
*/

namespace beluga {
Expand Down
17 changes: 0 additions & 17 deletions beluga/include/beluga/estimation/utils/range_statistics.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,23 +35,6 @@
* a particle filter.
*/

/**
* \page StateEstimatorPage Beluga named requirements: StateEstimator
* The requirements that a state estimator must satisfy.
*
* \section StateEstimationRequirements Requirements
* `T` is a `StateEstimator` if given a (possibly const) instance `p` of `T`, the following is satisfied:
* - `p.estimate()` is a valid expression.
* - `std::get<0>(p.estimate())` is valid.
* `decltype(std::get<0>(p.estimate()))` represents the type of the estimated state.
* - `std::get<1>(p.estimate())` is valid.
* `decltype(std::get<1>(p.estimate()))` represents the type of the covariance of the estimation.
*
* \section StateEstimationLinks See also
* - beluga::SimpleStateEstimator<Mixin, Sophus::SE2d>
* - beluga::WeightedStateEstimator<Mixin, Sophus::SE2d>
*/

namespace beluga {

/// Calculates the covariance of a range given its mean and the weights of each element.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@

/**
* \file
* \brief Implementation of algorithms that allow calculating the estimated state of
* a particle filter.
* \brief Implementation of a state estimator that uses the weighted mean and covariance.
*/

namespace beluga {
Expand Down
3 changes: 2 additions & 1 deletion beluga/test/beluga/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@ add_executable(
test_beluga
algorithm/raycasting/test_bresenham.cpp
algorithm/test_distance_map.cpp
algorithm/test_estimation.cpp
algorithm/test_exponential_filter.cpp
algorithm/test_particle_filter.cpp
algorithm/test_raycasting.cpp
algorithm/test_sampling.cpp
estimation/test_cluster_based_estimation.cpp
estimation/test_estimation.cpp
mixin/test_descriptor.cpp
mixin/test_utility.cpp
motion/test_differential_drive_model.cpp
Expand Down
Loading

0 comments on commit e8906dd

Please sign in to comment.