activated interval smoothing for evaluation

This commit is contained in:
toni
2016-05-03 11:17:08 +02:00
parent 8b7b38dd5a
commit 1e8f4259a2
10 changed files with 272 additions and 155 deletions

View File

@@ -67,7 +67,7 @@ public:
std::vector<std::vector<double>> predictionProbabilities;
omp_set_dynamic(0); // Explicitly disable dynamic teams
omp_set_num_threads(4);
omp_set_num_threads(7);
#pragma omp parallel for shared(predictionProbabilities)
for (int i = 0; i < particles_old.size(); ++i) {
std::vector<double> innerVector;
@@ -79,38 +79,53 @@ public:
const double distance_m = p2->state.pCur.getDistance(p1->state.pCur) / 100.0;
double muDistance = 1.0;
double muDistance = 0.8;
double sigmaDistance = 0.5;
double muFloor = 0.0;
double sigmaFloor = 0.1;
switch (p2->state.currentActivity) {
case Activity::ELEVATOR:
muDistance = 0.0;
sigmaDistance = 0.3;
muFloor = 0.6;
sigmaFloor = 0.25;
break;
case Activity::STAIRS_DOWN:
muDistance = 0.5;
sigmaDistance = 0.3;
muFloor = 0.3;
break;
case Activity::STAIRS_UP:
muDistance = 0.4;
sigmaDistance = 0.2;
muFloor = -0.3;
break;
case Activity::STANDING:
muDistance = 0.0;
sigmaDistance = 0.2;
muFloor = 0.0;
break;
case Activity::WALKING:
muDistance = 1.0;
muDistance = 0.8;
sigmaDistance = 0.5;
muFloor = 0.0;
break;
default:
muDistance = 1.0;
muDistance = 0.8;
sigmaDistance = 0.5;
muFloor = 0.0;
break;
}
@@ -125,7 +140,8 @@ public:
//check how near we are to the measurement
const double floorProb = K::NormalDistribution::getProbability(p1->state.measurement_pressure, smoothing_baro_sigma, p2->state.hPa);
double diffZ = (p2->state.pCur.z - p1->state.pCur.z) / 100.0;
const double floorProb = K::NormalDistribution::getProbability(muFloor, sigmaFloor, diffZ);
//combine the probabilities