Added Path 1

This commit is contained in:
2019-06-11 17:28:33 +02:00
parent c973909580
commit 2aa7d682b3
8 changed files with 95561 additions and 53 deletions

View File

@@ -47,7 +47,7 @@ std::vector<std::tuple<float, float, float>> getFtmValues(Offline::FileReader& f
if (wifi.getAP().getMAC() == nuc)
{
Point3 apPos = Settings::data.Path0.APs.find(wifi.getAP().getMAC())->second;
Point3 apPos = Settings::data.CurrentPath.NUCs.find(wifi.getAP().getMAC())->second.position;
float apDist = gtPos.getDistance(apPos);
float ftmDist = wifi.getFtmDist();
float rssi = wifi.getRSSI();
@@ -152,15 +152,15 @@ void exportFtmValues(Offline::FileReader& fr, Interpolator<uint64_t, Point3>& gt
auto wifi = fr.getWifiFtm()[e.idx].data;
int nucid = Settings::NUCS.at(wifi.getAP().getMAC()).ID;
float ftm_offset = Settings::NUCS.at(wifi.getAP().getMAC()).ftm_offset;
float rssi_pathloss = Settings::NUCS.at(wifi.getAP().getMAC()).rssi_pathloss;
int nucid = Settings::data.CurrentPath.NUCs.at(wifi.getAP().getMAC()).ID;
float ftm_offset = Settings::data.CurrentPath.NUCs.at(wifi.getAP().getMAC()).ftm_offset;
float rssi_pathloss = Settings::data.CurrentPath.NUCs.at(wifi.getAP().getMAC()).rssi_pathloss;
float rssiDist = LogDistanceModel::rssiToDistance(-40, rssi_pathloss, wifi.getRSSI());
float ftmDist = wifi.getFtmDist() + ftm_offset; //in m; plus static offset
float ftmStdDev = wifi.getFtmDistStd();
Point3 apPos = Settings::data.Path0.APs.find(wifi.getAP().getMAC())->second;
Point3 apPos = Settings::data.CurrentPath.NUCs.find(wifi.getAP().getMAC())->second.position;
float apDist = gtPos.getDistance(apPos);
fs << ts.ms() << ";" << nucid << ";" << apDist << ";" << rssiDist << ";" << ftmDist << ";" << ftmStdDev << "\n";
@@ -180,8 +180,7 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
Offline::FileReader fr(setup.training[numFile]);
// ground truth
std::vector<int> gtPath;
for(int i = 0; i < setup.numGTPoints; ++i){gtPath.push_back(i);}
std::vector<int> gtPath = setup.gtPath;
Interpolator<uint64_t, Point3> gtInterpolator = fr.getGroundTruthPath(map, gtPath);
Stats::Statistics<float> errorStats;
@@ -209,10 +208,10 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
// wifi
auto kalmanMap = std::make_shared<std::unordered_map<MACAddress, Kalman>>();
kalmanMap->insert({ Settings::NUC1, Kalman(1, 6.156) });
kalmanMap->insert({ Settings::NUC2, Kalman(2, 5.650) });
kalmanMap->insert({ Settings::NUC3, Kalman(3, 6.107) });
kalmanMap->insert({ Settings::NUC4, Kalman(4, 3.985) });
kalmanMap->insert({ Settings::NUC1, Kalman(1, setup.NUCs.at(Settings::NUC1).kalman_measStdDev) });
kalmanMap->insert({ Settings::NUC2, Kalman(2, setup.NUCs.at(Settings::NUC2).kalman_measStdDev) });
kalmanMap->insert({ Settings::NUC3, Kalman(3, setup.NUCs.at(Settings::NUC3).kalman_measStdDev) });
kalmanMap->insert({ Settings::NUC4, Kalman(4, setup.NUCs.at(Settings::NUC4).kalman_measStdDev) });
// mesh
NM::NavMeshSettings set;
@@ -290,7 +289,7 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
if (e.type == Offline::Sensor::WIFI_FTM) {
auto ftm = fr.getWifiFtm()[e.idx].data;
float ftm_offset = Settings::NUCS.at(ftm.getAP().getMAC()).ftm_offset;
float ftm_offset = Settings::data.CurrentPath.NUCs.at(ftm.getAP().getMAC()).ftm_offset;
float ftmDist = ftm.getFtmDist() + ftm_offset; // in m; plus static offset
auto& kalman = kalmanMap->at(ftm.getAP().getMAC());
@@ -323,11 +322,11 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
// draw wifi ranges
for (auto& ftm : obs.wifi)
{
int nucid = Settings::NUCS.at(ftm.second.getAP().getMAC()).ID;
int nucid = Settings::data.CurrentPath.NUCs.at(ftm.second.getAP().getMAC()).ID;
if (nucid == 1)
{
Point3 apPos = Settings::data.Path0.APs.find(ftm.first)->second;
Point3 apPos = Settings::data.CurrentPath.NUCs.find(ftm.first)->second.position;
// plot.addCircle(nucid, apPos.xy(), ftm.second.getFtmDist());
}
}
@@ -402,7 +401,7 @@ int mainFtm(int argc, char** argv) {
for(int i = 0; i < 1; ++i){
for(int j = 0; j < 1; ++j){
tmp = run(Settings::data.Path0, j, evaluationName);
tmp = run(Settings::data.CurrentPath, j, evaluationName);
statsMedian.add(tmp.getMedian());
statsAVG.add(tmp.getAvg());
statsSTD.add(tmp.getStdDev());