129 lines
4.8 KiB
C++
129 lines
4.8 KiB
C++
#ifndef SETTINGS_H
|
|
#define SETTINGS_H
|
|
|
|
#include <Indoor/grid/GridPoint.h>
|
|
#include <Indoor/data/Timestamp.h>
|
|
#include <Indoor/sensors/radio/VAPGrouper.h>
|
|
|
|
#include <eigen3/Eigen/Dense>
|
|
|
|
namespace Settings {
|
|
|
|
bool useKLB = true;
|
|
|
|
const int numParticles = 5000;
|
|
|
|
namespace Mode1 {
|
|
const double modeProbability = 0.5;
|
|
}
|
|
|
|
namespace Mode2 {
|
|
const double modeProbability = 0.5;
|
|
}
|
|
|
|
namespace Mixing {
|
|
//Eigen::Matrix2d transitionProbabilityMatrix(1,0,0,1);
|
|
const double lambda = 0.05;
|
|
}
|
|
|
|
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<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, 700, 7, 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
|