libstp
Robotics library for Botball
Loading...
Searching...
No Matches
libstp::localization Namespace Reference

Classes

struct  Observation
 Sigma-weighted pose observation pushed by Resync-Steps. More...
struct  LocalizationConfig
class  Localization
 Thread-safe particle-filter localization service. More...
struct  RecorderConfig
class  LocalizationRecorder

Enumerations

enum class  ResamplingAlgorithm : uint8_t { Multinomial = 0 , Residual = 1 , Stratified = 2 , Systematic = 3 }

Functions

void computeResampling (ResamplingAlgorithm method, const std::vector< double > &logWeights, std::mt19937 &rng, std::vector< size_t > &outIndexes, size_t outCount=0)
double effectiveSampleRatio (const std::vector< double > &logWeights)

Enumeration Type Documentation

◆ ResamplingAlgorithm

enum class libstp::localization::ResamplingAlgorithm : uint8_t
strong
Enumerator
Multinomial 

Classical: M independent samples from the CDF.

Residual 

Deterministic floor(M*w) part + multinomial remainder.

Stratified 

Strata of size 1/M, one uniform draw per stratum.

Systematic 

Single uniform offset + fixed-step traversal (lowest variance).

Definition at line 24 of file resampling.hpp.

Function Documentation

◆ computeResampling()

void libstp::localization::computeResampling ( ResamplingAlgorithm method,
const std::vector< double > & logWeights,
std::mt19937 & rng,
std::vector< size_t > & outIndexes,
size_t outCount = 0 )
inline

Compute resampling indexes from log-weights.

Parameters
methodOne of ResamplingAlgorithm.
logWeightsPer-particle log-weights (unnormalized).
rngRandom source.
outIndexesFilled with indexes drawn from logWeights. Resized to outCount (or logWeights.size() if outCount == 0).
outCountDesired output count; 0 means "same as input".

Definition at line 41 of file resampling.hpp.

◆ effectiveSampleRatio()

double libstp::localization::effectiveSampleRatio ( const std::vector< double > & logWeights)
inline

Effective sample size (ESS) computed from log-weights, normalized to [0, 1].

Log-sum-exp trick to dodge underflow on tightly peaked weight distributions. Ported from MRPT's CParticleFilterDataImpl::ESS.

Definition at line 199 of file resampling.hpp.