|
|
|
|
@@ -45,15 +45,23 @@ public:
|
|
|
|
|
//pf->setResampling( std::unique_ptr<K::ParticleFilterResamplingPercent<MyState>>(new K::ParticleFilterResamplingPercent<MyState>(0.10)) );
|
|
|
|
|
|
|
|
|
|
// state estimation step
|
|
|
|
|
pf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationWeightedAverageWithAngle<MyState>>(new K::ParticleFilterEstimationWeightedAverageWithAngle<MyState>()));
|
|
|
|
|
//pf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationRegionalWeightedAverage<MyState>>(new K::ParticleFilterEstimationRegionalWeightedAverage<MyState>()));
|
|
|
|
|
//pf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationOrderedWeightedAverage<MyState>>(new K::ParticleFilterEstimationOrderedWeightedAverage<MyState>(0.50f)));
|
|
|
|
|
//pf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationWeightedAverageWithAngle<MyState>>(new K::ParticleFilterEstimationWeightedAverageWithAngle<MyState>()));
|
|
|
|
|
//pf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationRegionalWeightedAverage<MyState>>(new K::ParticleFilterEstimationRegionalWeightedAverage<MyState>()));
|
|
|
|
|
pf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationOrderedWeightedAverage<MyState>>(new K::ParticleFilterEstimationOrderedWeightedAverage<MyState>(0.50f)));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//create the backward smoothing filter
|
|
|
|
|
bf = new K::BackwardSimulation<MyState>(MiscSettings::numBSParticles);
|
|
|
|
|
//bf = new K::CondensationBackwardFilter<MyState>;
|
|
|
|
|
bf->setSampler( std::unique_ptr<K::CumulativeSampler<MyState>>(new K::CumulativeSampler<MyState>()));
|
|
|
|
|
//bf = new K::BackwardSimulation<MyState>(MiscSettings::numBSParticles);
|
|
|
|
|
bf = new K::CondensationBackwardFilter<MyState>;
|
|
|
|
|
//bf->setSampler( std::unique_ptr<K::CumulativeSampler<MyState>>(new K::CumulativeSampler<MyState>()));
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = false;
|
|
|
|
|
|
|
|
|
|
bf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationOrderedWeightedAverage<MyState>>(new K::ParticleFilterEstimationOrderedWeightedAverage<MyState>(0.50f)));
|
|
|
|
|
//bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@@ -80,7 +88,7 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.05;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
bool smoothing_resample = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
@@ -115,6 +123,7 @@ public:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
//bf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationRegionalWeightedAverage<MyState>>(new K::ParticleFilterEstimationRegionalWeightedAverage<MyState>()));
|
|
|
|
|
//bf->setEstimation( std::unique_ptr<K::ParticleFilterEstimationOrderedWeightedAverage<MyState>>(new K::ParticleFilterEstimationOrderedWeightedAverage<MyState>(0.50f)));
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverageWithAngle<MyState>>(new K::ParticleFilterEstimationWeightedAverageWithAngle<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
@@ -146,7 +155,7 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.05;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
bool smoothing_resample = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Dijkstra
|
|
|
|
|
@@ -175,14 +184,6 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.05;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void bergwerk_path1_nexus_simple() {
|
|
|
|
|
@@ -243,14 +244,6 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.05;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void bergwerk_path2_nexus_simple() {
|
|
|
|
|
@@ -312,14 +305,6 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.05;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void bergwerk_path3_nexus_simple() {
|
|
|
|
|
@@ -380,14 +365,6 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.05;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void bergwerk_path4_nexus_simple() {
|
|
|
|
|
@@ -449,14 +426,6 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.15;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void bergwerk_path1_galaxy_simple() {
|
|
|
|
|
@@ -500,14 +469,6 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.15;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void bergwerk_path2_galaxy_simple() {
|
|
|
|
|
@@ -552,14 +513,6 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.15;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void bergwerk_path3_galaxy_simple() {
|
|
|
|
|
@@ -605,14 +558,6 @@ public:
|
|
|
|
|
smoothing_heading_sigma = 5.0;
|
|
|
|
|
smoothing_baro_sigma = 0.15;
|
|
|
|
|
|
|
|
|
|
bool smoothing_resample = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Smoothing using Simple Trans
|
|
|
|
|
bf->setEstimation(std::unique_ptr<K::ParticleFilterEstimationWeightedAverage<MyState>>(new K::ParticleFilterEstimationWeightedAverage<MyState>()));
|
|
|
|
|
if(smoothing_resample)
|
|
|
|
|
bf->setResampling( std::unique_ptr<K::ParticleFilterResamplingSimple<MyState>>(new K::ParticleFilterResamplingSimple<MyState>()) );
|
|
|
|
|
bf->setTransition(std::unique_ptr<MySmoothingTransitionExperimental>( new MySmoothingTransitionExperimental) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void bergwerk_path4_galaxy_simple() {
|
|
|
|
|
|