switched random generator
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user