added kld with parzen and nv distribution

added new testfiles
fixed plot
fixed numerical errors
This commit is contained in:
toni
2017-03-23 19:50:33 +01:00
parent 48566b79fc
commit 212573cba2
5 changed files with 215 additions and 84 deletions

View File

@@ -7,7 +7,7 @@
namespace Settings {
const int numParticles = 10000;
const int numParticles = 5000;
namespace IMU {
const float turnSigma = 2.5; // 3.5
@@ -31,7 +31,7 @@ namespace Settings {
const Timestamp updateEvery = Timestamp::fromMS(200);
}
namespace WiFiModel {
namespace WiFiModel {
constexpr float sigma = 8.0;
/** if the wifi-signal-strengths are stored on the grid-nodes, this needs a grid rebuild! */
constexpr float TXP = -46;
@@ -46,6 +46,21 @@ namespace Settings {
const VAPGrouper vg_eval = VAPGrouper(VAPGrouper::Mode::LAST_MAC_DIGIT_TO_ZERO, VAPGrouper::Aggregation::AVERAGE);
}
namespace WiFiModelOptimized {
constexpr float sigma = 8.0;
/** if the wifi-signal-strengths are stored on the grid-nodes, this needs a grid rebuild! */
constexpr float TXP = -64.5905;
constexpr float EXP = 1.25988;
constexpr float WAF = -2.47863;
// how to perform VAP grouping. see
// - calibration in Controller.cpp
// - eval in Filter.h
// NOTE: maybe the UAH does not allow valid VAP grouping? delete the grid and rebuild without!
const VAPGrouper vg_calib = VAPGrouper(VAPGrouper::Mode::LAST_MAC_DIGIT_TO_ZERO, VAPGrouper::Aggregation::AVERAGE);
const VAPGrouper vg_eval = VAPGrouper(VAPGrouper::Mode::LAST_MAC_DIGIT_TO_ZERO, VAPGrouper::Aggregation::AVERAGE);
}
namespace BeaconModel {
constexpr float sigma = 8.0;
constexpr float TXP = -71;
@@ -54,7 +69,7 @@ namespace Settings {
}
namespace MapView3D {
const int maxColorPoints = 10000;
const int maxColorPoints = 1000;
constexpr int fps = 15;
const Timestamp msPerFrame = Timestamp::fromMS(1000/fps);
}
@@ -64,6 +79,33 @@ namespace Settings {
constexpr bool useMainThread = false; // perform filtering in the main thread
}
namespace Paths_IPIN2015 {
// doing ground truth stuff for ipin 2015
const std::vector<int> path_0 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 1, 0};
const std::vector<int> path_1 = {29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 13, 14, 15, 16, 17, 18, 19, 2, 1, 0};
const std::vector<int> path_2 = {29, 28, 27, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 19, 18, 17, 16, 15, 14, 13, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29};
}
namespace Paths_Bergwerk {
// ipin 2016 (bergwerk)
const std::vector<int> path1dbl = {29, 29, 28,27,26,255,25,24,23,22,21,20};
const std::vector<int> path2dbl = {19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 23, 7, 6};
const std::vector<int> path3dbl = {5, 5, 27, 26, 255, 25, 4, 3, 2, 215, 1, 0, 30, 31};
const std::vector<int> path4dbl = {29, 29, 28, 27, 32, 33, 34, 35, 36, 10, 9, 8, 22, 37, 38, 39, 40, 41, 42, 43, 44}; // duplicate 1st waypoint!
}
namespace Paths_IPIN2017 {
const std::vector<int> path1 = {0, 1, 2, 3, 4, 5, 6, 7, 700, 8, 9, 10};
const std::vector<int> path2 = {11, 12, 3, 2, 1, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 11};
const std::vector<int> path3 = {31, 32, 33, 34, 35, 36, 37, 38};
}
namespace PATHS_OTHER2017 {
const std::vector<int> path1 = {40, 41, 42, 43, 44, 45, 1, 0, 46, 47, 48, 49, 50, 51, 52};
const std::vector<int> path2 = {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66};
const std::vector<int> path3 = {52, 51, 67, 68, 50, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 73, 78, 79, 80, 81, 61, 82, 83, 84, 42, 41, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95};
}
}
#endif // SETTINGS_H