Added all paths
This commit is contained in:
@@ -93,7 +93,7 @@ namespace Settings {
|
|||||||
const std::string dataDir = "../measurements/data/";
|
const std::string dataDir = "../measurements/data/";
|
||||||
const std::string errorDir = "../measurements/error/";
|
const std::string errorDir = "../measurements/error/";
|
||||||
|
|
||||||
const bool UseKalman = false;
|
const bool UseKalman = true;
|
||||||
|
|
||||||
/** describes one dataset (map, training, parameter-estimation, ...) */
|
/** describes one dataset (map, training, parameter-estimation, ...) */
|
||||||
|
|
||||||
@@ -143,20 +143,12 @@ namespace Settings {
|
|||||||
const DataSetup Path1 = {
|
const DataSetup Path1 = {
|
||||||
mapDir + "map2_ap_path1.xml",
|
mapDir + "map2_ap_path1.xml",
|
||||||
{
|
{
|
||||||
dataDir + "Pixel2/Path1_7208.csv",
|
dataDir + "Pixel2/path1/1560153927208_2_1.csv",
|
||||||
},
|
dataDir + "Pixel2/path1/1560153989866_2_2.csv",
|
||||||
{
|
dataDir + "Pixel2/path1/1560154049481_2_3.csv",
|
||||||
{ NUC1, {1, { 8.1, 18.7, 0.8}, 2.25, 0, 10.0f} }, // NUC 1
|
dataDir + "Pixel2/path1/1560154143357_2_4.csv",
|
||||||
{ NUC2, {2, { 8.4, 27.3, 0.8}, 3.25, 0, 10.0f} }, // NUC 2
|
dataDir + "Pixel2/path1/1560154188048_2_5.csv",
|
||||||
{ NUC3, {3, {21.3, 19.3, 0.8}, 2.50, 0, 10.0f} }, // NUC 3
|
dataDir + "Pixel2/path1/1560154230042_2_6.csv"
|
||||||
{ NUC4, {4, {20.6, 26.8, 0.8}, 3.00, 0, 10.0f} }, // NUC 4
|
|
||||||
},
|
|
||||||
{ 1, 2, 6, 7, 6, 2, 1 }
|
|
||||||
};
|
|
||||||
const DataSetup Path1_1 = {
|
|
||||||
mapDir + "map2_ap_path1.xml",
|
|
||||||
{
|
|
||||||
dataDir + "Pixel2/1560154188048_2_5.csv",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ NUC1, {1, { 8.1, 18.7, 0.8}, 2.25, 0, 10.0f} }, // NUC 1
|
{ NUC1, {1, { 8.1, 18.7, 0.8}, 2.25, 0, 10.0f} }, // NUC 1
|
||||||
@@ -172,6 +164,11 @@ namespace Settings {
|
|||||||
mapDir + "map2_ap_path1.xml",
|
mapDir + "map2_ap_path1.xml",
|
||||||
{
|
{
|
||||||
dataDir + "Pixel2/path2/1560154622883_3_1.csv",
|
dataDir + "Pixel2/path2/1560154622883_3_1.csv",
|
||||||
|
dataDir + "Pixel2/path2/1560154679846_3_2.csv",
|
||||||
|
dataDir + "Pixel2/path2/1560154740633_3_3.csv",
|
||||||
|
dataDir + "Pixel2/path2/1560154852350_3_4.csv",
|
||||||
|
dataDir + "Pixel2/path2/1560154892633_3_5.csv",
|
||||||
|
dataDir + "Pixel2/path2/1560154931995_3_6.csv"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ NUC1, {1, { 8.1, 18.7, 0.8}, 1.50, 0, 3.0f} }, // NUC 1
|
{ NUC1, {1, { 8.1, 18.7, 0.8}, 1.50, 0, 3.0f} }, // NUC 1
|
||||||
@@ -188,6 +185,11 @@ namespace Settings {
|
|||||||
mapDir + "map2_ap_path2.xml",
|
mapDir + "map2_ap_path2.xml",
|
||||||
{
|
{
|
||||||
dataDir + "Pixel2/path3/1560155227376_4_1.csv",
|
dataDir + "Pixel2/path3/1560155227376_4_1.csv",
|
||||||
|
dataDir + "Pixel2/path3/1560155332037_4_2.csv",
|
||||||
|
dataDir + "Pixel2/path3/1560155435568_4_3.csv",
|
||||||
|
dataDir + "Pixel2/path3/1560155662787_4_4.csv",
|
||||||
|
dataDir + "Pixel2/path3/1560155744688_4_5.csv",
|
||||||
|
dataDir + "Pixel2/path3/1560155821831_4_6.csv"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ NUC1, {1, { 8.1, 18.7, 0.8}, 1.25, 0, 3.0f} }, // NUC 1
|
{ NUC1, {1, { 8.1, 18.7, 0.8}, 1.25, 0, 3.0f} }, // NUC 1
|
||||||
@@ -203,6 +205,11 @@ namespace Settings {
|
|||||||
mapDir + "map2_ap_path2.xml",
|
mapDir + "map2_ap_path2.xml",
|
||||||
{
|
{
|
||||||
dataDir + "Pixel2/path4/1560156876457_5_1.csv",
|
dataDir + "Pixel2/path4/1560156876457_5_1.csv",
|
||||||
|
dataDir + "Pixel2/path4/1560156976307_5_2.csv",
|
||||||
|
dataDir + "Pixel2/path4/1560157087291_5_3.csv",
|
||||||
|
dataDir + "Pixel2/path4/1560157347306_5_4.csv",
|
||||||
|
dataDir + "Pixel2/path4/1560157409937_5_5.csv",
|
||||||
|
dataDir + "Pixel2/path4/1560157495026_5_6.csv"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ NUC1, {1, { 8.1, 18.7, 0.8}, 1.50, 0, 3.0f} }, // NUC 1
|
{ NUC1, {1, { 8.1, 18.7, 0.8}, 1.50, 0, 3.0f} }, // NUC 1
|
||||||
@@ -218,7 +225,12 @@ namespace Settings {
|
|||||||
const DataSetup Path5 = {
|
const DataSetup Path5 = {
|
||||||
mapDir + "map2_ap_path2.xml",
|
mapDir + "map2_ap_path2.xml",
|
||||||
{
|
{
|
||||||
|
dataDir + "Pixel2/path5/1560158444772_6_1.csv",
|
||||||
|
dataDir + "Pixel2/path5/1560158562549_6_2.csv",
|
||||||
dataDir + "Pixel2/path5/1560158675012_6_3.csv",
|
dataDir + "Pixel2/path5/1560158675012_6_3.csv",
|
||||||
|
dataDir + "Pixel2/path5/1560158823911_6_4.csv",
|
||||||
|
dataDir + "Pixel2/path5/1560158907998_6_5.csv",
|
||||||
|
dataDir + "Pixel2/path5/1560158988785_6_6.csv"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ NUC1, {1, { 8.1, 18.7, 0.8}, 2.00, 0, 3.0f} }, // NUC 1
|
{ NUC1, {1, { 8.1, 18.7, 0.8}, 2.00, 0, 3.0f} }, // NUC 1
|
||||||
|
|||||||
@@ -179,13 +179,13 @@ void exportFtmValues(Offline::FileReader& fr, Interpolator<uint64_t, Point3>& gt
|
|||||||
static float kalman_procNoiseDistStdDev = 1.2f; // standard deviation of distance for process noise
|
static float kalman_procNoiseDistStdDev = 1.2f; // standard deviation of distance for process noise
|
||||||
static float kalman_procNoiseVelStdDev = 0.1f; // standard deviation of velocity for process noise
|
static float kalman_procNoiseVelStdDev = 0.1f; // standard deviation of velocity for process noise
|
||||||
|
|
||||||
static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std::string folder) {
|
static Stats::Statistics<float> run(Settings::DataSetup setup, int walkIdx, std::string folder) {
|
||||||
|
|
||||||
// reading file
|
// reading file
|
||||||
std::string currDir = std::filesystem::current_path().string();
|
std::string currDir = std::filesystem::current_path().string();
|
||||||
|
|
||||||
Floorplan::IndoorMap* map = Floorplan::Reader::readFromFile(setup.map);
|
Floorplan::IndoorMap* map = Floorplan::Reader::readFromFile(setup.map);
|
||||||
Offline::FileReader fr(setup.training[numFile]);
|
Offline::FileReader fr(setup.training[walkIdx]);
|
||||||
|
|
||||||
// ground truth
|
// ground truth
|
||||||
std::vector<int> gtPath = setup.gtPath;
|
std::vector<int> gtPath = setup.gtPath;
|
||||||
@@ -211,7 +211,7 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::ofstream errorFile;
|
std::ofstream errorFile;
|
||||||
errorFile.open (evalDir.string() + "/" + std::to_string(numFile) + "_" + std::to_string(t) + ".csv");
|
errorFile.open (evalDir.string() + "/" + std::to_string(walkIdx) + "_" + std::to_string(t) + ".csv");
|
||||||
|
|
||||||
|
|
||||||
// wifi
|
// wifi
|
||||||
@@ -221,7 +221,7 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
|
|||||||
kalmanMap->insert({ Settings::NUC3, Kalman(3, setup.NUCs.at(Settings::NUC3).kalman_measStdDev, kalman_procNoiseDistStdDev, kalman_procNoiseVelStdDev) });
|
kalmanMap->insert({ Settings::NUC3, Kalman(3, setup.NUCs.at(Settings::NUC3).kalman_measStdDev, kalman_procNoiseDistStdDev, kalman_procNoiseVelStdDev) });
|
||||||
kalmanMap->insert({ Settings::NUC4, Kalman(4, setup.NUCs.at(Settings::NUC4).kalman_measStdDev, kalman_procNoiseDistStdDev, kalman_procNoiseVelStdDev) });
|
kalmanMap->insert({ Settings::NUC4, Kalman(4, setup.NUCs.at(Settings::NUC4).kalman_measStdDev, kalman_procNoiseDistStdDev, kalman_procNoiseVelStdDev) });
|
||||||
|
|
||||||
std::cout << "Optimal wifi parameters for " << setup.training[numFile] << "\n";
|
std::cout << "Optimal wifi parameters for " << setup.training[walkIdx] << "\n";
|
||||||
optimizeWifiParameters(fr, gtInterpolator);
|
optimizeWifiParameters(fr, gtInterpolator);
|
||||||
|
|
||||||
// mesh
|
// mesh
|
||||||
@@ -397,6 +397,8 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
|
|||||||
//dbg.setTimeInMinute(static_cast<int>(ts.sec()) / 60, static_cast<int>(static_cast<int>(ts.sec())%60));
|
//dbg.setTimeInMinute(static_cast<int>(ts.sec()) / 60, static_cast<int>(static_cast<int>(ts.sec())%60));
|
||||||
//dbg.draw();
|
//dbg.draw();
|
||||||
|
|
||||||
|
//plot.printOverview("test");
|
||||||
|
|
||||||
plot.showParticles(pf.getParticles());
|
plot.showParticles(pf.getParticles());
|
||||||
plot.setCurEst(est.pos.pos);
|
plot.setCurEst(est.pos.pos);
|
||||||
plot.setGroundTruth(gtPos);
|
plot.setGroundTruth(gtPos);
|
||||||
@@ -407,9 +409,10 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
|
|||||||
//plot.splot.getView().setCamera(0, 0);
|
//plot.splot.getView().setCamera(0, 0);
|
||||||
//plot.splot.getView().setEqualXY(true);
|
//plot.splot.getView().setEqualXY(true);
|
||||||
|
|
||||||
|
// plot.plot();
|
||||||
|
|
||||||
plot.plot();
|
plot.plot();
|
||||||
|
//plot.closeStream();
|
||||||
|
|
||||||
//std::this_thread::sleep_for(500ms);
|
//std::this_thread::sleep_for(500ms);
|
||||||
|
|
||||||
// error calc
|
// error calc
|
||||||
@@ -467,9 +470,15 @@ int main(int argc, char** argv)
|
|||||||
//{
|
//{
|
||||||
// for (kalman_procNoiseVelStdDev = 0.1f; kalman_procNoiseVelStdDev < 0.5f; kalman_procNoiseVelStdDev += 0.1f)
|
// for (kalman_procNoiseVelStdDev = 0.1f; kalman_procNoiseVelStdDev < 0.5f; kalman_procNoiseVelStdDev += 0.1f)
|
||||||
// {
|
// {
|
||||||
for (int i = 0; i < 2; ++i) {
|
|
||||||
|
|
||||||
tmp = run(Settings::data.CurrentPath, 0, evaluationName);
|
for (size_t walkIdx = 0; walkIdx < 6; walkIdx++)
|
||||||
|
{
|
||||||
|
std::cout << "Executing walk " << walkIdx << "\n";
|
||||||
|
for (int i = 0; i < 1; ++i)
|
||||||
|
{
|
||||||
|
std::cout << "Start of iteration " << i << "\n";
|
||||||
|
|
||||||
|
tmp = run(Settings::data.CurrentPath, walkIdx, evaluationName);
|
||||||
statsMedian.add(tmp.getMedian());
|
statsMedian.add(tmp.getMedian());
|
||||||
statsAVG.add(tmp.getAvg());
|
statsAVG.add(tmp.getAvg());
|
||||||
statsSTD.add(tmp.getStdDev());
|
statsSTD.add(tmp.getStdDev());
|
||||||
@@ -479,6 +488,8 @@ int main(int argc, char** argv)
|
|||||||
std::cout << "Iteration " << i << " completed" << std::endl;
|
std::cout << "Iteration " << i << " completed" << std::endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// error.push_back({{ kalman_procNoiseDistStdDev, kalman_procNoiseVelStdDev, statsAVG.getAvg() }});
|
// error.push_back({{ kalman_procNoiseDistStdDev, kalman_procNoiseVelStdDev, statsAVG.getAvg() }});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user