#ifndef SETTINGS_H #define SETTINGS_H #include #include #include #include namespace Settings { bool useKLB = true; const int numParticles = 5000; namespace Mode1 { const double modeProbability = 0.99; } namespace Mode2 { const double modeProbability = 0.01; } namespace Mixing { //Eigen::Matrix2d transitionProbabilityMatrix(1,0,0,1); const double lambda = 0.03; } namespace IMU { const float turnSigma = 2.5; // 3.5 const float stepLength = 1.00; const float stepSigma = 0.15; //toni changed } const float smartphoneAboveGround = 1.3; const float offlineSensorSpeedup = 2; namespace Grid { constexpr int gridSize_cm = 20; } //const GridPoint destination = GridPoint(70*100, 35*100, 0*100); // use destination const GridPoint destination = GridPoint(0,0,0); // do not use destination namespace SensorDebug { const Timestamp updateEvery = Timestamp::fromMS(200); } 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; constexpr float EXP = 2.7; constexpr float WAF = -5.0; // 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 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 = -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; constexpr float EXP = 1.5; constexpr float WAF = -20.0; //-5 //20?? } namespace MapView3D { const int maxColorPoints = 1000; constexpr int fps = 15; const Timestamp msPerFrame = Timestamp::fromMS(1000/fps); } namespace Filter { const Timestamp updateEvery = Timestamp::fromMS(500); constexpr bool useMainThread = false; // perform filtering in the main thread } namespace Paths_IPIN2015 { // doing ground truth stuff for ipin 2015 const std::vector 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 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 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 path1dbl = {29, 29, 28,27,26,255,25,24,23,22,21,20}; const std::vector path2dbl = {19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 23, 7, 6}; const std::vector path3dbl = {5, 5, 27, 26, 255, 25, 4, 3, 2, 215, 1, 0, 30, 31}; const std::vector 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 path1 = {0, 1, 2, 3, 4, 5, 6, 700, 7, 9, 10}; const std::vector 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 path3 = {31, 32, 33, 34, 35, 36, 37, 38}; } namespace PATHS_OTHER2017 { const std::vector path1 = {40, 41, 42, 43, 44, 45, 1, 0, 46, 47, 48, 49, 50, 51, 52}; const std::vector path2 = {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66}; const std::vector 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