Added all paths
This commit is contained in:
@@ -93,7 +93,7 @@ namespace Settings {
|
||||
const std::string dataDir = "../measurements/data/";
|
||||
const std::string errorDir = "../measurements/error/";
|
||||
|
||||
const bool UseKalman = false;
|
||||
const bool UseKalman = true;
|
||||
|
||||
/** describes one dataset (map, training, parameter-estimation, ...) */
|
||||
|
||||
@@ -143,20 +143,12 @@ namespace Settings {
|
||||
const DataSetup Path1 = {
|
||||
mapDir + "map2_ap_path1.xml",
|
||||
{
|
||||
dataDir + "Pixel2/Path1_7208.csv",
|
||||
},
|
||||
{
|
||||
{ NUC1, {1, { 8.1, 18.7, 0.8}, 2.25, 0, 10.0f} }, // NUC 1
|
||||
{ NUC2, {2, { 8.4, 27.3, 0.8}, 3.25, 0, 10.0f} }, // NUC 2
|
||||
{ NUC3, {3, {21.3, 19.3, 0.8}, 2.50, 0, 10.0f} }, // NUC 3
|
||||
{ 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",
|
||||
dataDir + "Pixel2/path1/1560153927208_2_1.csv",
|
||||
dataDir + "Pixel2/path1/1560153989866_2_2.csv",
|
||||
dataDir + "Pixel2/path1/1560154049481_2_3.csv",
|
||||
dataDir + "Pixel2/path1/1560154143357_2_4.csv",
|
||||
dataDir + "Pixel2/path1/1560154188048_2_5.csv",
|
||||
dataDir + "Pixel2/path1/1560154230042_2_6.csv"
|
||||
},
|
||||
{
|
||||
{ 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",
|
||||
{
|
||||
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
|
||||
@@ -188,6 +185,11 @@ namespace Settings {
|
||||
mapDir + "map2_ap_path2.xml",
|
||||
{
|
||||
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
|
||||
@@ -203,6 +205,11 @@ namespace Settings {
|
||||
mapDir + "map2_ap_path2.xml",
|
||||
{
|
||||
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
|
||||
@@ -212,13 +219,18 @@ namespace Settings {
|
||||
},
|
||||
{ 0, 1, 2, 3, 2, 6, 5, 6, 7, 8 }
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 5 Path: In R<>umen extendend
|
||||
const DataSetup Path5 = {
|
||||
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/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
|
||||
|
||||
@@ -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_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
|
||||
std::string currDir = std::filesystem::current_path().string();
|
||||
|
||||
Floorplan::IndoorMap* map = Floorplan::Reader::readFromFile(setup.map);
|
||||
Offline::FileReader fr(setup.training[numFile]);
|
||||
Offline::FileReader fr(setup.training[walkIdx]);
|
||||
|
||||
// ground truth
|
||||
std::vector<int> gtPath = setup.gtPath;
|
||||
@@ -211,7 +211,7 @@ static Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std:
|
||||
}
|
||||
|
||||
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
|
||||
@@ -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::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);
|
||||
|
||||
// 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.draw();
|
||||
|
||||
//plot.printOverview("test");
|
||||
|
||||
plot.showParticles(pf.getParticles());
|
||||
plot.setCurEst(est.pos.pos);
|
||||
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().setEqualXY(true);
|
||||
|
||||
plot.plot();
|
||||
// plot.plot();
|
||||
|
||||
|
||||
plot.plot();
|
||||
//plot.closeStream();
|
||||
//std::this_thread::sleep_for(500ms);
|
||||
|
||||
// error calc
|
||||
@@ -457,7 +460,7 @@ int main(int argc, char** argv)
|
||||
Stats::Statistics<float> tmp;
|
||||
|
||||
std::string evaluationName = "prologic/tmp";
|
||||
|
||||
|
||||
std::vector<std::array<float, 3>> error;
|
||||
std::ofstream error_out;
|
||||
error_out.open(Settings::errorDir + evaluationName + "_error_path1" + ".csv", std::ios_base::app);
|
||||
@@ -467,18 +470,26 @@ int main(int argc, char** argv)
|
||||
//{
|
||||
// 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);
|
||||
statsMedian.add(tmp.getMedian());
|
||||
statsAVG.add(tmp.getAvg());
|
||||
statsSTD.add(tmp.getStdDev());
|
||||
statsQuantil.add(tmp.getQuantile(0.75));
|
||||
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";
|
||||
|
||||
std::cout << kalman_procNoiseDistStdDev << " " << kalman_procNoiseVelStdDev << std::endl;
|
||||
std::cout << "Iteration " << i << " completed" << std::endl;
|
||||
tmp = run(Settings::data.CurrentPath, walkIdx, evaluationName);
|
||||
statsMedian.add(tmp.getMedian());
|
||||
statsAVG.add(tmp.getAvg());
|
||||
statsSTD.add(tmp.getStdDev());
|
||||
statsQuantil.add(tmp.getQuantile(0.75));
|
||||
|
||||
std::cout << kalman_procNoiseDistStdDev << " " << kalman_procNoiseVelStdDev << std::endl;
|
||||
std::cout << "Iteration " << i << " completed" << std::endl;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// error.push_back({{ kalman_procNoiseDistStdDev, kalman_procNoiseVelStdDev, statsAVG.getAvg() }});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user