Added 3D boxKDE
This commit is contained in:
@@ -38,7 +38,13 @@ namespace Settings {
|
||||
}
|
||||
|
||||
namespace KDE {
|
||||
const Point2 bandwidth(100,100);
|
||||
const Point2 bandwidth(1,1);
|
||||
const float gridSize = 0.2;
|
||||
}
|
||||
|
||||
namespace KDE3D {
|
||||
const Point3 bandwidth(1, 1, 1);
|
||||
const Point3 gridSize(0.2, 0.2, 1); // in meter
|
||||
}
|
||||
|
||||
//const GridPoint destination = GridPoint(70*100, 35*100, 0*100); // use destination
|
||||
|
||||
5
main.cpp
5
main.cpp
@@ -122,9 +122,10 @@ Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std::string
|
||||
//auto resample = std::make_unique<SMC::ParticleFilterResamplingSimple<MyState>>();
|
||||
auto resample = std::make_unique<SMC::ParticleFilterResamplingSimpleImpoverishment<MyState, MyNavMeshTriangle>>();
|
||||
|
||||
//auto estimate = std::make_unique<SMC::ParticleFilterEstimationBoxKDE<MyState>>(map, 0.2, Point2(1,1));
|
||||
//auto estimate = std::make_unique<SMC::ParticleFilterEstimationBoxKDE<MyState>>(map, Settings::KDE::gridSize, Settings::KDE::bandwidth);
|
||||
//auto estimate = std::make_unique<SMC::ParticleFilterEstimationWeightedAverage<MyState>>();
|
||||
auto estimate = std::make_unique<SMC::ParticleFilterEstimationMax<MyState>>();
|
||||
//auto estimate = std::make_unique<SMC::ParticleFilterEstimationMax<MyState>>();
|
||||
auto estimate = std::make_unique<SMC::ParticleFilterEstimationBoxKDE3D<MyState>>(map, Settings::KDE3D::gridSize, Settings::KDE3D::bandwidth);
|
||||
|
||||
// setup
|
||||
MyFilter pf(numParticles, std::move(init));
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <Indoor/smc/filtering/resampling/ParticleFilterResamplingSimple.h>
|
||||
#include <Indoor/smc/filtering/resampling/ParticleFilterResamplingKLD.h>
|
||||
#include <Indoor/smc/filtering/estimation/ParticleFilterEstimationBoxKDE.h>
|
||||
#include <Indoor/smc/filtering/estimation/ParticleFilterEstimationBoxKDE3D.h>
|
||||
#include <Indoor/smc/filtering/estimation/ParticleFilterEstimationWeightedAverage.h>
|
||||
#include <Indoor/smc/filtering/estimation/ParticleFilterEstimationMax.h>
|
||||
#include <Indoor/navMesh/walk/NavMeshWalkSimple.h>
|
||||
@@ -61,6 +62,11 @@ struct MyState {
|
||||
return pos.pos.y;
|
||||
}
|
||||
|
||||
|
||||
float getZ() {
|
||||
return pos.pos.z;
|
||||
}
|
||||
|
||||
float getBinValue(const int dim) const {
|
||||
switch (dim) {
|
||||
case 0: return this->pos.pos.x;
|
||||
|
||||
Reference in New Issue
Block a user