switched random generator

This commit is contained in:
kazu
2016-04-26 15:14:10 +02:00
parent 9eb774f7b9
commit 0e7c45eb02

View File

@@ -5,6 +5,7 @@
#include "MyState.h" #include "MyState.h"
#include <Indoor/grid/Grid.h> #include <Indoor/grid/Grid.h>
#include <Indoor/math/Distributions.h>
class MyInitializer : public K::ParticleFilterInitializer<MyState> { class MyInitializer : public K::ParticleFilterInitializer<MyState> {
@@ -35,13 +36,13 @@ public:
virtual void initialize(std::vector<K::Particle<MyState>>& particles) override { virtual void initialize(std::vector<K::Particle<MyState>>& particles) override {
std::minstd_rand gen; Distribution::Uniform<int> distIdx(0, grid.getNumNodes()-1);
std::uniform_int_distribution<> dist(0, grid.getNumNodes()); Distribution::Uniform<float> distHead(0, M_PI*2);
std::uniform_real_distribution<float> distHead(0, M_PI*2);
for (K::Particle<MyState>& p : particles) { for (K::Particle<MyState>& p : particles) {
MyGridNode& n = grid[dist(gen)]; const int idx = distIdx.draw();
MyGridNode& n = grid[idx];
//p.state.pCur = Point3(x_cm, y_cm, z_cm); //p.state.pCur = Point3(x_cm, y_cm, z_cm);
//GridPoint gp(p.state.pCur.x, p.state.pCur.y, p.state.pCur.z); //GridPoint gp(p.state.pCur.x, p.state.pCur.y, p.state.pCur.z);
@@ -51,7 +52,7 @@ public:
p.state.walkState.node = &n; p.state.walkState.node = &n;
p.state.pOld = p.state.pCur; p.state.pOld = p.state.pCur;
p.state.walkState.heading = distHead(gen); p.state.walkState.heading = distHead.draw();
p.state.hPa = 0; p.state.hPa = 0;
} }