From 8eb953e1cc4ba2c970e6b9fb058be3b671d3c338 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu>
Date: Thu, 18 Jul 2019 20:18:54 +0300
Subject: [PATCH] Remove default YAML values

---
 hello_wolf/processor_range_bearing.cpp        |  4 +---
 hello_wolf/sensor_range_bearing.h             |  4 ++--
 include/core/processor/processor_base.h       |  6 +++---
 include/core/processor/processor_diff_drive.h |  2 +-
 include/core/processor/processor_motion.h     | 13 +++++++------
 include/core/processor/processor_odom_2D.h    |  5 +++--
 include/core/processor/processor_tracker.h    |  4 ++--
 include/core/sensor/sensor_diff_drive.h       |  6 +++---
 src/ceres_wrapper/ceres_manager.cpp           |  2 +-
 src/problem/problem.cpp                       |  4 ++--
 src/processor/processor_odom_2D.cpp           | 11 ++---------
 src/sensor/sensor_odom_2D.cpp                 | 13 +++++++------
 test/dummy/processor_tracker_feature_dummy.h  |  2 +-
 test/dummy/processor_tracker_landmark_dummy.h |  2 +-
 14 files changed, 36 insertions(+), 42 deletions(-)

diff --git a/hello_wolf/processor_range_bearing.cpp b/hello_wolf/processor_range_bearing.cpp
index 54bbb3aec..be22913c2 100644
--- a/hello_wolf/processor_range_bearing.cpp
+++ b/hello_wolf/processor_range_bearing.cpp
@@ -120,9 +120,7 @@ ProcessorBasePtr ProcessorRangeBearing::createAutoConf(const std::string& _uniqu
                                                        const SensorBasePtr _sensor_ptr)
 {
     SensorRangeBearingPtr       sensor_rb = std::static_pointer_cast<SensorRangeBearing>(_sensor_ptr);
-    ProcessorParamsRangeBearingPtr params = std::make_shared<ProcessorParamsRangeBearing>();
-    params->voting_active = _server.getParam<bool>(_unique_name + "/voting_active", "false");
-    params->time_tolerance = _server.getParam<double>(_unique_name + "/time_tolerance", "0.01");
+    ProcessorParamsRangeBearingPtr params = std::make_shared<ProcessorParamsRangeBearing>(_unique_name, _server);
 
     // construct processor
     ProcessorRangeBearingPtr prc = std::make_shared<ProcessorRangeBearing>(sensor_rb, params);
diff --git a/hello_wolf/sensor_range_bearing.h b/hello_wolf/sensor_range_bearing.h
index 161818df6..2c3348236 100644
--- a/hello_wolf/sensor_range_bearing.h
+++ b/hello_wolf/sensor_range_bearing.h
@@ -26,8 +26,8 @@ struct IntrinsicsRangeBearing : public IntrinsicsBase
     IntrinsicsRangeBearing(std::string _unique_name, const ParamsServer& _server):
         IntrinsicsBase(_unique_name, _server)
     {
-        noise_range_metres_std = _server.getParam<Scalar>(_unique_name + "/noise range metres std", "0.05");
-        noise_bearing_degrees_std = _server.getParam<Scalar>(_unique_name + "/noise bearing degrees std", "0.5");
+        noise_range_metres_std = _server.getParam<Scalar>(_unique_name + "/noise_range_metres_std");
+        noise_bearing_degrees_std = _server.getParam<Scalar>(_unique_name + "/noise_bearing_degrees_std");
     }
   std::string print()
   {
diff --git a/include/core/processor/processor_base.h b/include/core/processor/processor_base.h
index 00722d20b..744e03fe6 100644
--- a/include/core/processor/processor_base.h
+++ b/include/core/processor/processor_base.h
@@ -179,9 +179,9 @@ struct ProcessorParamsBase : public ParamsBase
     ProcessorParamsBase(std::string _unique_name, const ParamsServer& _server):
         ParamsBase(_unique_name, _server)
     {
-        voting_active = _server.getParam<bool>(_unique_name + "/voting_active", "false");
-        voting_aux_active = _server.getParam<bool>(_unique_name + "/voting_aux_active", "false");
-        time_tolerance = _server.getParam<Scalar>(_unique_name + "/time_tolerance", "0");
+        voting_active = _server.getParam<bool>(_unique_name + "/voting_active");
+        voting_aux_active = _server.getParam<bool>(_unique_name + "/voting_aux_active");
+        time_tolerance = _server.getParam<Scalar>(_unique_name + "/time_tolerance");
     }
 
     virtual ~ProcessorParamsBase() = default;
diff --git a/include/core/processor/processor_diff_drive.h b/include/core/processor/processor_diff_drive.h
index 831fec136..36b6d5aa0 100644
--- a/include/core/processor/processor_diff_drive.h
+++ b/include/core/processor/processor_diff_drive.h
@@ -23,7 +23,7 @@ struct ProcessorParamsDiffDrive : public ProcessorParamsMotion
   ProcessorParamsDiffDrive(std::string _unique_name, const ParamsServer& _server):
     ProcessorParamsMotion(_unique_name, _server)
   {
-    unmeasured_perturbation_std = _server.getParam<Scalar>(_unique_name + "/unmeasured_perturbation_std", "0.0001");
+    unmeasured_perturbation_std = _server.getParam<Scalar>(_unique_name + "/unmeasured_perturbation_std");
   }
   std::string print()
   {
diff --git a/include/core/processor/processor_motion.h b/include/core/processor/processor_motion.h
index 8f68501f6..a5ff4c533 100644
--- a/include/core/processor/processor_motion.h
+++ b/include/core/processor/processor_motion.h
@@ -33,15 +33,16 @@ struct ProcessorParamsMotion : public ProcessorParamsBase
         ProcessorParamsMotion(std::string _unique_name, const ParamsServer& _server):
             ProcessorParamsBase(_unique_name, _server)
         {
-          max_time_span   = _server.getParam<Scalar>(_unique_name + "/max_time_span", "0.5");
-          max_buff_length = _server.getParam<unsigned int>(_unique_name + "/max_buff_length", "10");
-          dist_traveled   = _server.getParam<Scalar>(_unique_name + "/dist_traveled", "5");
-          angle_turned    = _server.getParam<Scalar>(_unique_name + "/angle_turned", "0.5");
-          unmeasured_perturbation_std = _server.getParam<Scalar>(_unique_name + "/unmeasured_perturbation_std", "1e-4");
+          max_time_span   = _server.getParam<Scalar>(_unique_name + "/max_time_span");
+          max_buff_length = _server.getParam<unsigned int>(_unique_name + "/max_buff_length");
+          dist_traveled   = _server.getParam<Scalar>(_unique_name + "/dist_traveled");
+          angle_turned    = _server.getParam<Scalar>(_unique_name + "/angle_turned");
+          unmeasured_perturbation_std = _server.getParam<Scalar>(_unique_name + "/unmeasured_perturbation_std");
         }
         std::string print()
         {
-          return "\n" + ProcessorParamsBase::print() + "max_time_span: " + std::to_string(max_time_span) + "\n"
+          return "\n" + ProcessorParamsBase::print()
+            + "max_time_span: " + std::to_string(max_time_span) + "\n"
             + "max_buff_length: " + std::to_string(max_buff_length) + "\n"
             + "dist_traveled: " + std::to_string(dist_traveled) + "\n"
             + "angle_turned: " +std::to_string(angle_turned) + "\n"
diff --git a/include/core/processor/processor_odom_2D.h b/include/core/processor/processor_odom_2D.h
index 7c7c1cd0a..7b1acb5b2 100644
--- a/include/core/processor/processor_odom_2D.h
+++ b/include/core/processor/processor_odom_2D.h
@@ -26,11 +26,12 @@ struct ProcessorParamsOdom2D : public ProcessorParamsMotion
         ProcessorParamsOdom2D(std::string _unique_name, const wolf::ParamsServer & _server) :
                 ProcessorParamsMotion(_unique_name, _server)
         {
-            cov_det = _server.getParam<Scalar>(_unique_name + "/cov_det", "1.0");
+            cov_det = _server.getParam<Scalar>(_unique_name + "/cov_det");
         }
         std::string print()
         {
-            return "\n" + ProcessorParamsMotion::print() + "cov_det: " + std::to_string(cov_det) + "\n";
+            return "\n" + ProcessorParamsMotion::print()
+              + "cov_det: " + std::to_string(cov_det) + "\n";
         }
 };
 
diff --git a/include/core/processor/processor_tracker.h b/include/core/processor/processor_tracker.h
index 3915ba33f..1c9277989 100644
--- a/include/core/processor/processor_tracker.h
+++ b/include/core/processor/processor_tracker.h
@@ -24,8 +24,8 @@ struct ProcessorParamsTracker : public ProcessorParamsBase
     ProcessorParamsTracker(std::string _unique_name, const wolf::ParamsServer & _server):
         ProcessorParamsBase(_unique_name, _server)
     {
-        min_features_for_keyframe = _server.getParam<unsigned int>(_unique_name + "/min_features_for_keyframe", "1");
-        max_new_features = _server.getParam<int>(_unique_name + "/max_new_features", "-1");
+        min_features_for_keyframe = _server.getParam<unsigned int>(_unique_name + "/min_features_for_keyframe");
+        max_new_features = _server.getParam<int>(_unique_name + "/max_new_features");
     }
   std::string print()
   {
diff --git a/include/core/sensor/sensor_diff_drive.h b/include/core/sensor/sensor_diff_drive.h
index e67374380..2988669c9 100644
--- a/include/core/sensor/sensor_diff_drive.h
+++ b/include/core/sensor/sensor_diff_drive.h
@@ -52,13 +52,13 @@ struct IntrinsicsDiffDrive : public IntrinsicsBase
         else if(model_str.compare("Five_Factor_Model")) model_ = DiffDriveModel::Five_Factor_Model;
         else throw std::runtime_error("Failed to fetch a valid value for the enumerate DiffDriveModel. Value provided: " + model_str);
 
-        factors_ = _server.getParam<Eigen::VectorXs>(_unique_name + "/factors", "[1,1,1]");
+        factors_ = _server.getParam<Eigen::VectorXs>(_unique_name + "/factors");
 
         left_resolution_ = _server.getParam<Scalar>(_unique_name + "/left_resolution_");
         right_resolution_ = _server.getParam<Scalar>(_unique_name + "/right_resolution_");
 
-        left_gain_ = _server.getParam<Scalar>(_unique_name + "/left_gain", "0.01");
-        right_gain_ = _server.getParam<Scalar>(_unique_name + "/right_gain", "0.01");
+        left_gain_ = _server.getParam<Scalar>(_unique_name + "/left_gain");
+        right_gain_ = _server.getParam<Scalar>(_unique_name + "/right_gain");
     }
   virtual ~IntrinsicsDiffDrive() = default;
   std::string print()
diff --git a/src/ceres_wrapper/ceres_manager.cpp b/src/ceres_wrapper/ceres_manager.cpp
index 1528c15e7..b64e86ab9 100644
--- a/src/ceres_wrapper/ceres_manager.cpp
+++ b/src/ceres_wrapper/ceres_manager.cpp
@@ -43,7 +43,7 @@ CeresManager::~CeresManager()
 SolverManagerPtr CeresManager::create(const ProblemPtr &wolf_problem, const ParamsServer &_server)
 {
     ceres::Solver::Options opt;
-    opt.max_num_iterations = _server.getParam<int>("max_num_iterations","1000");
+    opt.max_num_iterations = _server.getParam<int>("max_num_iterations");
     // CeresManager m = CeresManager(wolf_problem, opt);
     return std::make_shared<CeresManager>(wolf_problem, opt);
 }
diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index eab55cc02..a90448029 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -77,8 +77,8 @@ ProblemPtr Problem::create(const std::string& _frame_structure, SizeEigen _dim)
 ProblemPtr Problem::autoSetup(ParamsServer &_server)
 {
     // Problem structure and dimension
-    std::string frame_structure = _server.getParam<std::string> ("problem/frame structure", "PO");
-    int dim                     = _server.getParam<int>         ("problem/dimension", "2");
+    std::string frame_structure = _server.getParam<std::string> ("problem/frame_structure");
+    int dim                     = _server.getParam<int>         ("problem/dimension");
     auto problem                = Problem::create(frame_structure, dim);
     // cout << "PRINTING SERVER MAP" << endl;
     // _server.print();
diff --git a/src/processor/processor_odom_2D.cpp b/src/processor/processor_odom_2D.cpp
index 48a274778..1d61bd14b 100644
--- a/src/processor/processor_odom_2D.cpp
+++ b/src/processor/processor_odom_2D.cpp
@@ -195,20 +195,13 @@ ProcessorBasePtr ProcessorOdom2D::create(const std::string& _unique_name, const
 
     return prc_ptr;
 }
+
 ProcessorBasePtr ProcessorOdom2D::createAutoConf(const std::string& _unique_name, const ParamsServer& _server, const SensorBasePtr sensor_ptr)
 {
-
     ProcessorOdom2DPtr prc_ptr;
 
     std::shared_ptr<ProcessorParamsOdom2D> params;
-    params = std::make_shared<ProcessorParamsOdom2D>();
-    params->voting_active               = _server.getParam<bool>(_unique_name + "/voting_active", "true");
-    params->time_tolerance              = _server.getParam<double>(_unique_name + "/time_tolerance", "0.1");
-    params->max_time_span               = _server.getParam<double>(_unique_name + "/max_time_span", "999");
-    params->dist_traveled               = _server.getParam<double>(_unique_name + "/dist_traveled", "0.95"); // Will make KFs automatically every 1m displacement
-    params->angle_turned                = _server.getParam<double>(_unique_name + "/angle_turned", "999");
-    params->cov_det                     = _server.getParam<double>(_unique_name + "/cov_det", "999");
-    params->unmeasured_perturbation_std = _server.getParam<double>(_unique_name + "/unmeasured_perturbation_std", "0.0001");
+    params = std::make_shared<ProcessorParamsOdom2D>(_unique_name, _server);
 
     prc_ptr = std::make_shared<ProcessorOdom2D>(params);
     prc_ptr->setName(_unique_name);
diff --git a/src/sensor/sensor_odom_2D.cpp b/src/sensor/sensor_odom_2D.cpp
index fd4427abe..c96059e58 100644
--- a/src/sensor/sensor_odom_2D.cpp
+++ b/src/sensor/sensor_odom_2D.cpp
@@ -61,14 +61,15 @@ SensorBasePtr SensorOdom2D::create(const std::string& _unique_name, const Eigen:
 SensorBasePtr SensorOdom2D::createAutoConf(const std::string& _unique_name, const ParamsServer& _server)
 {
     // Eigen::VectorXs _extrinsics_po = Eigen::Vector3s(0,0,0);
-    Eigen::VectorXs _extrinsics_po = _server.getParam<Eigen::VectorXs>(_unique_name + "/extrinsic/pos", "[0,0,0]");
+    Eigen::VectorXs _extrinsics_po = _server.getParam<Eigen::VectorXs>(_unique_name + "/extrinsic/pose");
+
     assert(_extrinsics_po.size() == 3 && "Bad extrinsics vector length. Should be 3 for 2D.");
-    SensorOdom2DPtr odo;
-    IntrinsicsOdom2D params;
-    params.k_disp_to_disp = _server.getParam<double>(_unique_name + "/intrinsic/k_disp_to_disp", "1");
-    params.k_rot_to_rot   = _server.getParam<double>(_unique_name + "/intrinsic/k_rot_to_rot", "1");
-    odo = std::make_shared<SensorOdom2D>(_extrinsics_po, params);
+
+    IntrinsicsOdom2DPtr params = std::make_shared<IntrinsicsOdom2D>(_unique_name, _server);
+
+    SensorOdom2DPtr odo = std::make_shared<SensorOdom2D>(_extrinsics_po, params);
     odo->setName(_unique_name);
+
     return odo;
 }
 
diff --git a/test/dummy/processor_tracker_feature_dummy.h b/test/dummy/processor_tracker_feature_dummy.h
index 217196b7e..d4f6dfbcd 100644
--- a/test/dummy/processor_tracker_feature_dummy.h
+++ b/test/dummy/processor_tracker_feature_dummy.h
@@ -25,7 +25,7 @@ struct ProcessorParamsTrackerFeatureDummy : public ProcessorParamsTrackerFeature
     ProcessorParamsTrackerFeatureDummy(std::string _unique_name, const wolf::ParamsServer & _server):
         ProcessorParamsTrackerFeature(_unique_name, _server)
     {
-        n_tracks_lost = _server.getParam<unsigned int>(_unique_name + "/n_tracks_lost", "1");
+        n_tracks_lost = _server.getParam<unsigned int>(_unique_name + "/n_tracks_lost");
     }
 };
 
diff --git a/test/dummy/processor_tracker_landmark_dummy.h b/test/dummy/processor_tracker_landmark_dummy.h
index f79b2da40..9977abc48 100644
--- a/test/dummy/processor_tracker_landmark_dummy.h
+++ b/test/dummy/processor_tracker_landmark_dummy.h
@@ -23,7 +23,7 @@ struct ProcessorParamsTrackerLandmarkDummy : public ProcessorParamsTrackerLandma
     ProcessorParamsTrackerLandmarkDummy(std::string _unique_name, const wolf::ParamsServer & _server):
         ProcessorParamsTrackerLandmark(_unique_name, _server)
     {
-        n_landmarks_lost = _server.getParam<unsigned int>(_unique_name + "/n_landmarks_lost", "1");
+        n_landmarks_lost = _server.getParam<unsigned int>(_unique_name + "/n_landmarks_lost");
     }
 };
 
-- 
GitLab