diff --git a/include/core/sensor/sensor_base.h b/include/core/sensor/sensor_base.h index 5f55b72dded65866629a550f8307910d9f50d755..48eddca9fe75da37f142e5c84af507c5d5f98df4 100644 --- a/include/core/sensor/sensor_base.h +++ b/include/core/sensor/sensor_base.h @@ -71,7 +71,7 @@ static SensorBasePtr create(const std::string& _unique_name, SizeEigen _dim, con { \ auto parser = ParserYaml(_yaml_filepath, "", true); \ \ - auto server = ParamsServer(parser.getParams()); \ + auto server = ParamsServer(parser.getParams(), "sensor/" + _unique_name); \ \ auto params = std::make_shared<ParamsSensorClass>(_unique_name, server); \ \ diff --git a/include/core/utils/params_server.h b/include/core/utils/params_server.h index b1562a90678b17dfab4b1ea3f3839f8f09c93144..2ca64f4cc97f11e81616ca716835be2b4681b8d8 100644 --- a/include/core/utils/params_server.h +++ b/include/core/utils/params_server.h @@ -39,12 +39,13 @@ class ParamsServer { private: + std::string global_prefix_; std::map<std::string, std::string> params_; public: - ParamsServer(); - ParamsServer(std::map<std::string, std::string> _params); + ParamsServer(const std::string& _global_prefix = ""); + ParamsServer(std::map<std::string, std::string> _params, const std::string& _global_prefix = ""); ~ParamsServer() { // @@ -62,11 +63,10 @@ class ParamsServer T getParam(std::string _key) const { if(params_.count(_key)) - return converter<T>::convert(params_.find(_key)->second); + return converter<T>::convert(params_.at(_key)); else throw MissingValueException("The following key: '" + _key + "' has not been found in the parameters server."); } - }; template<typename Derived> diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp index dc064e6b7d6b234132e2ece6127246811d23aa7e..f624a36dfced0a59a0f26e9aa3bac6d3df3240fc 100644 --- a/src/problem/problem.cpp +++ b/src/problem/problem.cpp @@ -223,12 +223,11 @@ SensorBasePtr Problem::installSensor(const std::string& _sen_type, // SensorBasePtr Problem::installSensor(const std::string& _sen_type, // const std::string& _unique_sensor_name, // const Eigen::VectorXd& _extrinsics, // - const std::string& _intrinsics_filename) + const std::string& _params_yaml_filename) { - - if (_intrinsics_filename != "") + if (_params_yaml_filename != "") { - assert(file_exists(_intrinsics_filename) && "Cannot install sensor: intrinsics' YAML file does not exist."); + assert(file_exists(_params_yaml_filename) && "Cannot install sensor: intrinsics' YAML file does not exist."); //ParamsSensorBasePtr intr_ptr = FactoryParamsSensor::create(_sen_type, _intrinsics_filename); return installSensor(_sen_type, _unique_sensor_name, _extrinsics, ParamsSensorBasePtr()); } @@ -241,7 +240,6 @@ SensorBasePtr Problem::installSensor(const std::string& _sen_type, // const std::string& _unique_sensor_name, // const ParamsServer& _server) { - //ParamsSensorBasePtr params = FactoryParamsSensor::create(_sen_type, _unique_sensor_name, _server); SensorBasePtr sen_ptr = FactorySensor::create(_sen_type, _unique_sensor_name, dim_, _server); sen_ptr->link(getHardware()); return sen_ptr; diff --git a/src/utils/params_server.cpp b/src/utils/params_server.cpp index b8f2475bde3fcbbf4ceadf246814d96310a883fd..249dabd38183def44e8339129405fcc417e2ec98 100644 --- a/src/utils/params_server.cpp +++ b/src/utils/params_server.cpp @@ -24,13 +24,21 @@ namespace wolf { -ParamsServer::ParamsServer() +ParamsServer::ParamsServer(const std::string& _global_prefix) : + ParamsServer::ParamsServer(std::map<std::string, std::string>{}, _global_prefix) { - params_ = std::map<std::string, std::string>(); } -ParamsServer::ParamsServer(std::map<std::string, std::string> _params) -{ - params_ = _params; +ParamsServer::ParamsServer(std::map<std::string, std::string> _params, const std::string& _global_prefix) : + global_prefix_(_global_prefix) +{ + if (not global_prefix_.empty()) + { + if (global_prefix_.front() == '/') + global_prefix_.erase(0,1); + if (global_prefix_.back() != '/') + global_prefix_.push_back('/'); + } + addParams(_params); } void ParamsServer::print() @@ -41,12 +49,13 @@ void ParamsServer::print() void ParamsServer::addParam(std::string _key, std::string _value) { - params_.insert(std::pair<std::string, std::string>(_key, _value)); + params_.insert(std::pair<std::string, std::string>(global_prefix_ + _key, _value)); } void ParamsServer::addParams(std::map<std::string, std::string> _params) { - params_.insert(_params.begin(), _params.end()); + for (auto param_pair : _params) + addParam(param_pair.first, param_pair.second); } std::string toString(bool _arg) diff --git a/test/gtest_sensor_base.cpp b/test/gtest_sensor_base.cpp index 76a9a0d424357f763819a8d24ded2034bb3a6f10..06e1430b2f0f58a0c9132014c246abdd6b048307 100644 --- a/test/gtest_sensor_base.cpp +++ b/test/gtest_sensor_base.cpp @@ -344,11 +344,8 @@ TEST(SensorBase, POI_mixed) } // CONSTRUCTOR WITH PARAM SERVER and KEY_TYPES -TEST(SensorBase, server) +TEST(SensorBase, server_PO) { - ParserYaml parser = ParserYaml("test/yaml/sensor_base.yaml", wolf_root, true); - ParamsServer server = ParamsServer(parser.getParams()); - std::vector<int> dims({2, 3}); std::vector<std::string> modes({"fix", "initial_guess", "factor"}); std::vector<bool> dynamics({false, true}); @@ -369,8 +366,14 @@ TEST(SensorBase, server) if (not dynamic and drift) continue; - // CORRECT YAML std::string name = "sensor_PO_" + to_string(dim) + "D_" + mode + (dynamic ? "_dynamic" : "") + (drift ? "_drift" : ""); + + // Yaml parser + ParserYaml parser = ParserYaml("test/yaml/sensor_base/" + name + ".yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "/sensor/" + name); + server.print(); + + // CORRECT YAML WOLF_INFO("Creating sensor from name ", name); auto params = std::make_shared<ParamsSensorBase>(name, server); @@ -401,6 +404,19 @@ TEST(SensorBase, server) std::make_shared<ParamsSensorBase>(name + "_wrong", server), server),std::runtime_error); } +} + +TEST(SensorBase, server_POIA) +{ + VectorXd p_state(4), o_state(4), po_std(4); + p_state << 1, 2, 3, 4; + o_state << 1, 0, 0, 0; + po_std << 0.1, 0.2, 0.3, 0.4; + + // Yaml parser + ParserYaml parser = ParserYaml("test/yaml/sensor_base/sensor_POIA_3D.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "/sensor/sensor_POIA_3D"); + server.print(); // POIA - 3D - CORRECT YAML WOLF_INFO("Creating sensor from name sensor_POIA_3D"); @@ -422,6 +438,13 @@ TEST(SensorBase, server) checkSensor(S, 'O', o_state.head(4), true, vector0, false, vector0); checkSensor(S, 'I', p_state.head(4), false, vector0, true, po_std.head(4)); checkSensor(S, 'A', o_state.head(4), false, po_std.head(3), true, po_std.head(3)); +} + +TEST(SensorBase, server_POIA_wrong) +{ + // Yaml parser + ParserYaml parser = ParserYaml("test/yaml/sensor_base/sensor_POIA_3D_wrong.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "/sensor/sensor_POIA_3D_wrong"); // POIA - 3D - INCORRECT YAML WOLF_INFO("Creating sensor from name sensor_POIA_3D_wrong"); @@ -437,8 +460,8 @@ TEST(SensorBase, server) // DUMMY CLASS TEST(SensorBase, dummy_make_shared) { - ParserYaml parser = ParserYaml("test/yaml/sensor_dummy.yaml", wolf_root, true); - ParamsServer server = ParamsServer(parser.getParams()); + ParserYaml parser = ParserYaml("test/yaml/sensor_base/sensor_dummy.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/sensor_dummy_1"); VectorXd p_state(4), o_state(4), po_std(4); p_state << 1, 2, 3, 4; @@ -463,7 +486,12 @@ TEST(SensorBase, dummy_make_shared) checkSensor(S, 'O', o_state.head(4), true, vector0, false, vector0); checkSensor(S, 'I', p_state.head(4), false, vector0, true, po_std.head(4)); checkSensor(S, 'A', o_state.head(4), false, po_std.head(3), true, po_std.head(3)); +} +TEST(SensorBase, dummy_make_shared_wrong) +{ + ParserYaml parser = ParserYaml("test/yaml/sensor_base/sensor_dummy_wrong.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/sensor_dummy_1_wrong"); // POIA - 3D - INCORRECT YAML WOLF_INFO("Creating sensor from name sensor_dummy_1_wrong"); @@ -481,8 +509,8 @@ TEST(SensorBase, dummy_factory) o_state << 1, 0, 0, 0; po_std << 0.1, 0.2, 0.3, 0.4; - ParserYaml parser = ParserYaml("test/yaml/sensor_dummy.yaml", wolf_root, true); - ParamsServer server = ParamsServer(parser.getParams()); + ParserYaml parser = ParserYaml("test/yaml/sensor_base/sensor_dummy.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/sensor_dummy_1"); // POIA - 3D - CORRECT YAML WOLF_INFO("Creating sensor from name sensor_dummy_1"); @@ -501,7 +529,12 @@ TEST(SensorBase, dummy_factory) checkSensor(S, 'O', o_state.head(4), true, vector0, false, vector0); checkSensor(S, 'I', p_state.head(4), false, vector0, true, po_std.head(4)); checkSensor(S, 'A', o_state.head(4), false, po_std.head(3), true, po_std.head(3)); +} +TEST(SensorBase, dummy_factory_wrong) +{ + ParserYaml parser = ParserYaml("test/yaml/sensor_base/sensor_dummy_wrong.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/sensor_dummy_1_wrong"); // POIA - 3D - INCORRECT YAML WOLF_INFO("Creating sensor from name sensor_dummy_1_wrong"); @@ -520,7 +553,10 @@ TEST(SensorBase, dummy_factory_yaml) // POIA - 3D - CORRECT YAML WOLF_INFO("Creating sensor from name sensor_dummy_1"); - auto S = FactorySensorYaml::create("SensorDummy", "sensor_dummy_1", 3, wolf_root + "/test/yaml/sensor_dummy.yaml"); + auto S = FactorySensorYaml::create("SensorDummy", + "sensor_dummy_1", + 3, + wolf_root + "/test/yaml/sensor_base/sensor_dummy.yaml"); // noise ASSERT_MATRIX_APPROX(S->getNoiseStd(), po_std.head<2>(), Constants::EPS); @@ -538,7 +574,10 @@ TEST(SensorBase, dummy_factory_yaml) // POIA - 3D - INCORRECT YAML WOLF_INFO("Creating sensor from name sensor_dummy_1_wrong"); - ASSERT_THROW(FactorySensorYaml::create("SensorDummy", "sensor_dummy_1_wrong", 3, wolf_root + "/test/yaml/sensor_dummy.yaml"), + ASSERT_THROW(FactorySensorYaml::create("SensorDummy", + "sensor_dummy_1_wrong", + 3, + wolf_root + "/test/yaml/sensor_base/sensor_dummy_wrong.yaml"), std::runtime_error); } diff --git a/test/gtest_sensor_odom_2d.cpp b/test/gtest_sensor_odom_2d.cpp index c8a072fc1fb927bd7c582c76c89c0a165d01bdd5..8fdaf0907eff360158d905b07d09c4d021012ba1 100644 --- a/test/gtest_sensor_odom_2d.cpp +++ b/test/gtest_sensor_odom_2d.cpp @@ -43,23 +43,26 @@ Matrix2d noise_cov = noise_std.cwiseAbs2().asDiagonal(); double k_disp_to_disp = 0.5; double k_rot_to_rot = 0.8; -void checkSensorOdom2d(SensorOdom2dPtr S, - const Vector2d& _p_state, - const Vector1d& _o_state, - bool _p_fixed, - bool _o_fixed, - const VectorXd& _p_noise_std, - const VectorXd& _o_noise_std, - bool _p_dynamic, - bool _o_dynamic, - const VectorXd& _p_drift_std, - const VectorXd& _o_drift_std) +void checkSensorOdom2d(SensorBasePtr S_base, + const Vector2d& _p_state, + const Vector1d& _o_state, + bool _p_fixed, + bool _o_fixed, + const VectorXd& _p_noise_std, + const VectorXd& _o_noise_std, + bool _p_dynamic, + bool _o_dynamic, + const VectorXd& _p_drift_std, + const VectorXd& _o_drift_std) { MatrixXd p_noise_cov = _p_noise_std.cwiseAbs2().asDiagonal(); MatrixXd o_noise_cov = _o_noise_std.cwiseAbs2().asDiagonal(); MatrixXd p_drift_cov = _p_drift_std.cwiseAbs2().asDiagonal(); MatrixXd o_drift_cov = _o_drift_std.cwiseAbs2().asDiagonal(); + // cast + SensorOdom2dPtr S = std::dynamic_pointer_cast<SensorOdom2d>(S_base); + ASSERT_TRUE(S!=nullptr); // params ASSERT_NEAR(S->getDispVarToDispNoiseFactor(), k_disp_to_disp, Constants::EPS); ASSERT_NEAR(S->getRotVarToRotNoiseFactor(), k_rot_to_rot, Constants::EPS); @@ -200,7 +203,7 @@ TEST(SensorOdom2d, initial_guess_dynamic_drift) } // mixed -TEST(SensorOdom2d, POI_mixed) +TEST(SensorOdom2d, mixed) { auto params = std::make_shared<ParamsSensorOdom2d>(); params->noise_std = noise_std; @@ -217,123 +220,256 @@ TEST(SensorOdom2d, POI_mixed) // CONSTRUCTOR WITH PARAM SERVER and KEY_TYPES TEST(SensorOdom2d, server) { - ParserYaml parser = ParserYaml("test/yaml/sensor_odom_2d.yaml", wolf_root, true); - ParamsServer server = ParamsServer(parser.getParams()); - std::vector<std::string> modes({"fix", "initial_guess", "factor"}); std::vector<bool> dynamics({false, true}); std::vector<bool> drifts({false, true}); + std::vector<bool> wrongs({false, true}); // P & O for (auto mode : modes) for (auto dynamic : dynamics) for (auto drift : drifts) - { - // nonsense combination - if (not dynamic and drift) - continue; - - // CORRECT YAML - std::string name = "sensor_" + mode + (dynamic ? "_dynamic" : "") + (drift ? "_drift" : ""); - WOLF_INFO("Creating sensor from name ", name); - - auto params = std::make_shared<ParamsSensorOdom2d>(name, server); - auto S = std::make_shared<SensorOdom2d>(name, 2, params, server); - - auto p_size_std = mode == "factor" ? 2 : 0; - auto o_size_std = mode == "factor" ? 1 : 0; - auto p_size_std_drift = drift ? 2 : 0; - auto o_size_std_drift = drift ? 1 : 0; - - // check - checkSensorOdom2d(S, p_state, o_state, - mode == "fix", mode == "fix", - p_std.head(p_size_std), o_std.head(o_size_std), - dynamic, dynamic, - p_std.head(p_size_std_drift), o_std.head(o_size_std_drift)); - - // INCORRECT YAML - WOLF_INFO("Creating sensor from name ", name + "_wrong"); - ASSERT_THROW(std::make_shared<SensorOdom2d>(name + "_wrong", 2, - std::make_shared<ParamsSensorOdom2d>(name + "_wrong", server), - server), - std::runtime_error); - } + for (auto wrong : wrongs) + { + // nonsense combination + if (not dynamic and drift) + continue; + + // Yaml parser + std::string name = "sensor_odom_2d_" + + mode + + (dynamic ? "_dynamic" : "") + + (drift ? "_drift" : "") + + (wrong ? "_wrong" : ""); + ParserYaml parser = ParserYaml("test/yaml/sensor_odom_2d/" + name + ".yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/" + name); + + WOLF_INFO("Creating sensor from name ", name); + + // CORRECT YAML + if (not wrong) + { + auto params = std::make_shared<ParamsSensorOdom2d>(name, server); + auto S = std::make_shared<SensorOdom2d>(name, 2, params, server); + + auto p_size_std = mode == "factor" ? 2 : 0; + auto o_size_std = mode == "factor" ? 1 : 0; + auto p_size_std_drift = drift ? 2 : 0; + auto o_size_std_drift = drift ? 1 : 0; + + // check + checkSensorOdom2d(S, p_state, o_state, + mode == "fix", mode == "fix", + p_std.head(p_size_std), o_std.head(o_size_std), + dynamic, dynamic, + p_std.head(p_size_std_drift), o_std.head(o_size_std_drift)); + } + // INCORRECT YAML + else + { + ASSERT_THROW(std::make_shared<SensorOdom2d>(name + "_wrong", 2, + std::make_shared<ParamsSensorOdom2d>(name + "_wrong", server), + server), + std::runtime_error); + } + } // MIXED - CORRECT YAML - WOLF_INFO("Creating sensor from name sensor_mixed"); - - auto params = std::make_shared<ParamsSensorOdom2d>("sensor_mixed", server); - auto S = std::make_shared<SensorOdom2d>("sensor_mixed", 2, params, server); - - // check - checkSensorOdom2d(S, - p_state, o_state, - false, true, - p_std, vector0, - true, false, - p_std, vector0); + { + WOLF_INFO("Creating sensor from name sensor_mixed"); + + // Yaml parser + ParserYaml parser = ParserYaml("test/yaml/sensor_odom_2d/sensor_odom_2d.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/sensor_mixed"); + + auto params = std::make_shared<ParamsSensorOdom2d>("sensor_mixed", server); + auto S = std::make_shared<SensorOdom2d>("sensor_mixed", 2, params, server); + + // check + checkSensorOdom2d(S, + p_state, o_state, + false, true, + p_std, vector0, + true, false, + p_std, vector0); + } // MIXED - INCORRECT YAML - WOLF_INFO("Creating sensor from name sensor_mixed_wrong"); + { + WOLF_INFO("Creating sensor from name sensor_mixed_wrong"); + + // Yaml parser + ParserYaml parser = ParserYaml("test/yaml/sensor_odom_2d/sensor_odom_2d_wrong.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/sensor_mixed_wrong"); - ASSERT_THROW(std::make_shared<SensorOdom2d>("sensor_mixed_wrong", 2, - std::make_shared<ParamsSensorOdom2d>("sensor_mixed_wrong", server), - server), - std::runtime_error); + ASSERT_THROW(std::make_shared<SensorOdom2d>("sensor_mixed_wrong", 2, + std::make_shared<ParamsSensorOdom2d>("sensor_mixed_wrong", server), + server), + std::runtime_error); + } } TEST(SensorOdom2d, factory) { - ParserYaml parser = ParserYaml("test/yaml/sensor_odom_2d.yaml", wolf_root, true); - ParamsServer server = ParamsServer(parser.getParams()); + std::vector<std::string> modes({"fix", "initial_guess", "factor"}); + std::vector<bool> dynamics({false, true}); + std::vector<bool> drifts({false, true}); + std::vector<bool> wrongs({false, true}); + + // P & O + for (auto mode : modes) + for (auto dynamic : dynamics) + for (auto drift : drifts) + for (auto wrong : wrongs) + { + // nonsense combination + if (not dynamic and drift) + continue; + + // Yaml parser + std::string name = "sensor_odom_2d_" + + mode + + (dynamic ? "_dynamic" : "") + + (drift ? "_drift" : "") + + (wrong ? "_wrong" : ""); + ParserYaml parser = ParserYaml("test/yaml/sensor_odom_2d/" + name + ".yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/" + name); + + WOLF_INFO("Creating sensor from name ", name); + + // CORRECT YAML + if (not wrong) + { + auto S = FactorySensor::create("SensorOdom2d", name, 2, server); + + auto p_size_std = mode == "factor" ? 2 : 0; + auto o_size_std = mode == "factor" ? 1 : 0; + auto p_size_std_drift = drift ? 2 : 0; + auto o_size_std_drift = drift ? 1 : 0; + + // check + checkSensorOdom2d(S, p_state, o_state, + mode == "fix", mode == "fix", + p_std.head(p_size_std), o_std.head(o_size_std), + dynamic, dynamic, + p_std.head(p_size_std_drift), o_std.head(o_size_std_drift)); + } + // INCORRECT YAML + else + { + ASSERT_THROW(FactorySensor::create("SensorOdom2d", name, 2, server), + std::runtime_error); + } + } - // CORRECT YAML - WOLF_INFO("Creating sensor from name sensor_mixed"); + // MIXED - CORRECT YAML + { + WOLF_INFO("Creating sensor from name sensor_mixed"); - auto S = FactorySensor::create("SensorOdom2d", "sensor_mixed", 2, server); + // Yaml parser + ParserYaml parser = ParserYaml("test/yaml/sensor_odom_2d/sensor_odom_2d.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/sensor_mixed"); - SensorOdom2dPtr S_odom = std::dynamic_pointer_cast<SensorOdom2d>(S); + auto S = FactorySensor::create("SensorOdom2d", "sensor_mixed", 2, server); - // checks - ASSERT_TRUE(S_odom != nullptr); - checkSensorOdom2d(S_odom, - p_state, o_state, - false, true, - p_std, vector0, - true, false, - p_std, vector0); - - // INCORRECT YAML - WOLF_INFO("Creating sensor from name sensor_mixed_wrong"); - - ASSERT_THROW(FactorySensor::create("SensorOdom2d", "sensor_mixed_wrong", 2, server), - std::runtime_error); + // check + checkSensorOdom2d(S, + p_state, o_state, + false, true, + p_std, vector0, + true, false, + p_std, vector0); + } + + // MIXED - INCORRECT YAML + { + WOLF_INFO("Creating sensor from name sensor_mixed_wrong"); + + // Yaml parser + ParserYaml parser = ParserYaml("test/yaml/sensor_odom_2d/sensor_odom_2d_wrong.yaml", wolf_root, true); + ParamsServer server = ParamsServer(parser.getParams(), "sensor/sensor_mixed_wrong"); + + ASSERT_THROW(FactorySensor::create("SensorOdom2d", "sensor_mixed_wrong", 2, server), + std::runtime_error); + } } TEST(SensorOdom2d, factory_yaml) { - // CORRECT YAML - WOLF_INFO("Creating sensor from name sensor_mixed"); + std::vector<std::string> modes({"fix", "initial_guess", "factor"}); + std::vector<bool> dynamics({false, true}); + std::vector<bool> drifts({false, true}); + std::vector<bool> wrongs({false, true}); - auto S = FactorySensorYaml::create("SensorOdom2d", "sensor_mixed", 2, wolf_root + "/test/yaml/sensor_odom_2d.yaml"); + // P & O + for (auto mode : modes) + for (auto dynamic : dynamics) + for (auto drift : drifts) + for (auto wrong : wrongs) + { + // nonsense combination + if (not dynamic and drift) + continue; + + std::string name = "sensor_odom_2d_" + + mode + + (dynamic ? "_dynamic" : "") + + (drift ? "_drift" : "") + + (wrong ? "_wrong" : ""); + + WOLF_INFO("Creating sensor from name ", name); + + // CORRECT YAML + if (not wrong) + { + auto S = FactorySensorYaml::create("SensorOdom2d", name, 2, + wolf_root + "/test/yaml/sensor_odom_2d/" + name + ".yaml"); + + auto p_size_std = mode == "factor" ? 2 : 0; + auto o_size_std = mode == "factor" ? 1 : 0; + auto p_size_std_drift = drift ? 2 : 0; + auto o_size_std_drift = drift ? 1 : 0; + + // check + checkSensorOdom2d(S, p_state, o_state, + mode == "fix", mode == "fix", + p_std.head(p_size_std), o_std.head(o_size_std), + dynamic, dynamic, + p_std.head(p_size_std_drift), o_std.head(o_size_std_drift)); + } + // INCORRECT YAML + else + { + ASSERT_THROW(FactorySensorYaml::create("SensorOdom2d", name, 2, + wolf_root + "/test/yaml/sensor_odom_2d/" + name + ".yaml"), + std::runtime_error); + } + } + + // MIXED - CORRECT YAML + { + WOLF_INFO("Creating sensor from name sensor_mixed"); + + auto S = FactorySensorYaml::create("SensorOdom2d", "sensor_mixed", 2, + wolf_root + "/test/yaml/sensor_odom_2d/sensor_odom_2d.yaml"); + + // check + checkSensorOdom2d(S, + p_state, o_state, + false, true, + p_std, vector0, + true, false, + p_std, vector0); + } - SensorOdom2dPtr S_odom = std::dynamic_pointer_cast<SensorOdom2d>(S); + // MIXED - INCORRECT YAML + { + WOLF_INFO("Creating sensor from name sensor_mixed_wrong"); - // checks - ASSERT_TRUE(S_odom != nullptr); - checkSensorOdom2d(S_odom, - p_state, o_state, - false, true, - p_std, vector0, - true, false, - p_std, vector0); - - // INCORRECT YAML - WOLF_INFO("Creating sensor from name sensor_mixed_wrong"); - - ASSERT_THROW(FactorySensorYaml::create("SensorOdom2d", "sensor_mixed_wrong", 2, wolf_root + "/test/yaml/sensor_odom_2d.yaml"), - std::runtime_error); + ASSERT_THROW(FactorySensorYaml::create("SensorOdom2d", "sensor_mixed_wrong", 2, + wolf_root + "/test/yaml/sensor_odom_2d/sensor_odom_2d_wrong.yaml"), + std::runtime_error); + } } int main(int argc, char **argv) diff --git a/test/yaml/sensor_base/sensor_POIA_3D.yaml b/test/yaml/sensor_base/sensor_POIA_3D.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4c04f54c51c1c9edaec2feb5983f6e3285644169 --- /dev/null +++ b/test/yaml/sensor_base/sensor_POIA_3D.yaml @@ -0,0 +1,23 @@ +# sensor_POIA_3D: +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + O: + mode: fix + state: [1, 0, 0, 0] + dynamic: false + I: + mode: initial_guess + state: [1, 2, 3, 4] + dynamic: true + drift_std: [0.1, 0.2, 0.3, 0.4] + A: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_POIA_3D_wrong.yaml b/test/yaml/sensor_base/sensor_POIA_3D_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cd811547a5f5e9199a53eebf789f682771d0eec1 --- /dev/null +++ b/test/yaml/sensor_base/sensor_POIA_3D_wrong.yaml @@ -0,0 +1,23 @@ +# sensor_POIA_3D_wrong: +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + O: + mode: fix + state: [1, 0, 0, 0] + dynamic: false + I: + mode: initial_guess + state: [1, 2, 3, 4] + dynamic: true + drift_std: [0.1, 0.2, 0.3, 0.4] + # A: + # mode: factor + # state: [1, 0, 0, 0] + # noise_std: [0.1, 0.2, 0.3] + # dynamic: true + # drift_std: [0.1, 0.2, 0.3] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_factor.yaml b/test/yaml/sensor_base/sensor_PO_2D_factor.yaml new file mode 100644 index 0000000000000000000000000000000000000000..497085eb8492e27cb57574d23e4820f21e2dc270 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_factor.yaml @@ -0,0 +1,13 @@ +# sensor_PO_2D_factor: +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: false + O: + mode: factor + state: [1] + noise_std: [0.1] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic.yaml b/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..889d53245c286e14e25b532d507f265e925a699f --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic.yaml @@ -0,0 +1,13 @@ +# sensor_PO_2D_factor_dynamic: +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: true + O: + mode: factor + state: [1] + noise_std: [0.1] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_drift.yaml b/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..733ec88fbc29f6e02eb9877c07c1fd5fd315c9ac --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_drift.yaml @@ -0,0 +1,15 @@ +# sensor_PO_2D_factor_dynamic_drift: +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: factor + state: [1] + noise_std: [0.1] + dynamic: true + drift_std: [0.1] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_drift_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a1d4e79eb53fee4e8f7d1fac009c41b14c5ced5f --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_drift_wrong.yaml @@ -0,0 +1,15 @@ +# sensor_PO_2D_factor_dynamic_drift_wrong: +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: true + drift_std: [0.1] #wrong size + O: + mode: factor + state: [1] + noise_std: [0.1] + dynamic: true + drift_std: [0.1] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d28cb5f1eb471e36d4ac355652c39b5822fe3b68 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_factor_dynamic_wrong.yaml @@ -0,0 +1,13 @@ +# sensor_PO_2D_factor_dynamic_wrong: +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2, 0.3] #wrong size + dynamic: true + O: + mode: factor + state: [1] + noise_std: [0.1] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_factor_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_factor_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c02f9dfbc17c4048cf7e25b8d5647b5868e701fa --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_factor_wrong.yaml @@ -0,0 +1,13 @@ +# sensor_PO_2D_factor_wrong: +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: false + O: + mode: factor + #state: [1] #missing + noise_std: [0.1] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_fix.yaml b/test/yaml/sensor_base/sensor_PO_2D_fix.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8d9e966274c905a10a591d802d74c3ad1c9938d4 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_fix.yaml @@ -0,0 +1,11 @@ +# sensor_PO_2D_fix: +states: + P: + mode: fix + state: [1, 2] + dynamic: false + O: + mode: fix + state: [1] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic.yaml b/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a20af82a31cb5fdd67d926d3f29181c6277ca857 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic.yaml @@ -0,0 +1,11 @@ +# sensor_PO_2D_fix_dynamic: +states: + P: + mode: fix + state: [1, 2] + dynamic: true + O: + mode: fix + state: [1] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_drift.yaml b/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..410281dbe08d60cc61099a8c006f0b86d1e080b1 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_drift.yaml @@ -0,0 +1,13 @@ +# sensor_PO_2D_fix_dynamic_drift: +states: + P: + mode: fix + state: [1, 2] + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: fix + state: [1] + dynamic: true + drift_std: [0.1] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_drift_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2da413660cf9106e33c6ded18e71fdd2331075b5 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_drift_wrong.yaml @@ -0,0 +1,13 @@ +# sensor_PO_2D_fix_dynamic_drift_wrong: +states: + P: + mode: fix + state: [1, 2] + dynamic: true + drift_std: [0.1, 0.2, 0.3] #wrong size + O: + mode: fix + state: [1] + dynamic: true + drift_std: [0.1] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..27affb496a0e4f213e7911b8dcf32ec5d5bf5c7a --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_fix_dynamic_wrong.yaml @@ -0,0 +1,11 @@ +# sensor_PO_2D_fix_dynamic_wrong: +states: + P: + mode: fix + state: [1, 2, 3] # wrong size + dynamic: true + O: + mode: fix + state: [1] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_fix_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_fix_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..10179eae0fe1b151eff97e26a6e60656ac35c0c8 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_fix_wrong.yaml @@ -0,0 +1,11 @@ +# sensor_PO_2D_fix_wrong: +states: + P: + mode: fix + state: [1, 2] + #dynamic: false #missing + O: + mode: fix + state: [1] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_initial_guess.yaml b/test/yaml/sensor_base/sensor_PO_2D_initial_guess.yaml new file mode 100644 index 0000000000000000000000000000000000000000..901364dfbbe896443bb1e5d074de17c6085006ec --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_initial_guess.yaml @@ -0,0 +1,11 @@ +# sensor_PO_2D_initial_guess: +states: + P: + mode: initial_guess + state: [1, 2] + dynamic: false + O: + mode: initial_guess + state: [1] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic.yaml b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0bfebd5b4bdadb875db5c819cec4baf5cc84245c --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic.yaml @@ -0,0 +1,11 @@ +# sensor_PO_2D_initial_guess_dynamic: +states: + P: + mode: initial_guess + state: [1, 2] + dynamic: true + O: + mode: initial_guess + state: [1] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_drift.yaml b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ec021b9d46f3c13df799735aa21864fec28bfc75 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_drift.yaml @@ -0,0 +1,13 @@ +# sensor_PO_2D_initial_guess_dynamic_drift: +states: + P: + mode: initial_guess + state: [1, 2] + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: initial_guess + state: [1] + dynamic: true + drift_std: [0.1] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_drift_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9e8a172f98e5fcfd3e5fc87a29231c6c692c4c4a --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_drift_wrong.yaml @@ -0,0 +1,13 @@ +# sensor_PO_2D_initial_guess_dynamic_drift_wrong: +states: + P: + mode: initial_guess + state: [1] #wrong size + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: initial_guess + state: [1] + dynamic: true + drift_std: [0.1] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b4e4c44be2745e69a11aa50bf3b278c79e893b81 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_dynamic_wrong.yaml @@ -0,0 +1,11 @@ +# sensor_PO_2D_initial_guess_dynamic_wrong: +states: + # P: #missing + # mode: initial_guess + # state: [1, 2] + # dynamic: true + O: + mode: initial_guess + state: [1] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_2D_initial_guess_wrong.yaml b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cb55b4446ea8e0ef37b9d7a92d5bfd94006f5fbe --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_2D_initial_guess_wrong.yaml @@ -0,0 +1,11 @@ +# sensor_PO_2D_initial_guess_wrong: +states: + P: + mode: initial_guess + state: [1, 2] + dynamic: false + O: + #mode: initial_guess #missing + state: [1] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_factor.yaml b/test/yaml/sensor_base/sensor_PO_3D_factor.yaml new file mode 100644 index 0000000000000000000000000000000000000000..665ac5cd2e2b14f860fbabac39dced993fac19c4 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_factor.yaml @@ -0,0 +1,13 @@ +# sensor_PO_3D_factor: +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: false + O: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic.yaml b/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b1fc18e127bcfabaa088f4126e6ccb3d9dfa7776 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic.yaml @@ -0,0 +1,13 @@ +# sensor_PO_3D_factor_dynamic: +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + O: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_drift.yaml b/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f016ed4fda8150e54da25c0c8fea9d7650095b5a --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_drift.yaml @@ -0,0 +1,15 @@ +# sensor_PO_3D_factor_dynamic_drift: +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] + O: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_drift_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..89a3409d9f5ebf9a1e7168b61b36173e56f4cdd4 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_drift_wrong.yaml @@ -0,0 +1,15 @@ +# sensor_PO_3D_factor_dynamic_drift_wrong: +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] + O: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3, 0.4] #wrong size + dynamic: true + drift_std: [0.1, 0.2, 0.3] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d2da5482ddf25cf5ae99ecc4cf4fbbd9b2308689 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_factor_dynamic_wrong.yaml @@ -0,0 +1,13 @@ +# sensor_PO_3D_factor_dynamic_wrong: +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + O: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3, 0.4] # wrong size + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_factor_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_factor_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..05bdc260a54a6909a6deea2df0a6d7895d0e755d --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_factor_wrong.yaml @@ -0,0 +1,13 @@ +# sensor_PO_3D_factor_wrong: +states: + P: + mode: factor + state: [1, 2, 3] + #noise_std: [0.1, 0.2, 0.3] #missing + dynamic: false + O: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_fix.yaml b/test/yaml/sensor_base/sensor_PO_3D_fix.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a9e83338120ffdbbe7d8b6ae9a3160242b102504 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_fix.yaml @@ -0,0 +1,11 @@ +# sensor_PO_3D_fix: +states: + P: + mode: fix + state: [1, 2, 3] + dynamic: false + O: + mode: fix + state: [1, 0, 0, 0] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic.yaml b/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a490378968b7e6540ca71460bb907f4d9b727dce --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic.yaml @@ -0,0 +1,11 @@ +# sensor_PO_3D_fix_dynamic: +states: + P: + mode: fix + state: [1, 2, 3] + dynamic: true + O: + mode: fix + state: [1, 0, 0, 0] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_drift.yaml b/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..23f5848b90ab20eaad617cfd934b00de31d2fcca --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_drift.yaml @@ -0,0 +1,13 @@ +# sensor_PO_3D_fix_dynamic_drift: +states: + P: + mode: fix + state: [1, 2, 3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] + O: + mode: fix + state: [1, 0, 0, 0] + dynamic: true + drift_std: [0.1, 0.2, 0.3] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_drift_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..58df603f77ebb76be2e9c8661f7822e8d5ac4c78 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_drift_wrong.yaml @@ -0,0 +1,13 @@ +# sensor_PO_3D_fix_dynamic_drift_wrong: +states: + P: + mode: fix + state: [1, 2, 3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] + O: + mode: fix + state: [1, 0, 0, 0] + #dynamic: true #missing + drift_std: [0.1, 0.2, 0.3] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dd89b3f6cdce6c844b645fef4a8b2ff977e2ad30 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_fix_dynamic_wrong.yaml @@ -0,0 +1,11 @@ +# sensor_PO_3D_fix_dynamic_wrong: +states: + P: + mode: fix + state: [1, 2, 3] + dynamic: true + O: + mode: fix + state: [1, 0, 0, 1] # not normalized + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_fix_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_fix_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..498ecdd9e0721ec413e0adc780c1094d2064a3eb --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_fix_wrong.yaml @@ -0,0 +1,11 @@ +# sensor_PO_3D_fix_wrong: +states: + P: + mode: fix + state: [1, 2, 3] + dynamic: false + O: + mode: fix + state: [1, 0, 0, 0] + dynamic: false +#noise_std: [0.1, 0.2] #missing \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_initial_guess.yaml b/test/yaml/sensor_base/sensor_PO_3D_initial_guess.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9ad6891fb7fcf77e5ea0e29fa1f8646eff9e3f7b --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_initial_guess.yaml @@ -0,0 +1,11 @@ +# sensor_PO_3D_initial_guess: +states: + P: + mode: initial_guess + state: [1, 2, 3] + dynamic: false + O: + mode: initial_guess + state: [1, 0, 0, 0] + dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic.yaml b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1cf0568a8635bad5454db769918940c3372667bc --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic.yaml @@ -0,0 +1,11 @@ +# sensor_PO_3D_initial_guess_dynamic: +states: + P: + mode: initial_guess + state: [1, 2, 3] + dynamic: true + O: + mode: initial_guess + state: [1, 0, 0, 0] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_drift.yaml b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bbc3b2558933466d8c028ab3ff1291133638ec85 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_drift.yaml @@ -0,0 +1,13 @@ +# sensor_PO_3D_initial_guess_dynamic_drift: +states: + P: + mode: initial_guess + state: [1, 2, 3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] + O: + mode: initial_guess + state: [1, 0, 0, 0] + dynamic: true + drift_std: [0.1, 0.2, 0.3] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_drift_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7c96eb4b42504919b4f01b12901c90968471dba0 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_drift_wrong.yaml @@ -0,0 +1,13 @@ +# sensor_PO_3D_initial_guess_dynamic_drift_wrong: +states: + P: + mode: initial_guess + state: [1, 2, 3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] + O: + #mode: initial_guess #missing + state: [1, 0, 0, 0] + dynamic: true + drift_std: [0.1, 0.2, 0.3] +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..41d218bea2adb73f73a66f0637c3ac982482bf73 --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_dynamic_wrong.yaml @@ -0,0 +1,11 @@ +# sensor_PO_3D_initial_guess_dynamic_wrong: +states: + P: + mode: initial_guess + state: [1, 2] # wrong size + dynamic: true + O: + mode: initial_guess + state: [1, 0, 0, 0] + dynamic: true +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_PO_3D_initial_guess_wrong.yaml b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..243de825be306bfbcba7b4495ffff74401896b1e --- /dev/null +++ b/test/yaml/sensor_base/sensor_PO_3D_initial_guess_wrong.yaml @@ -0,0 +1,11 @@ +# sensor_PO_3D_initial_guess_wrong: +states: + P: + mode: initial_guess + state: [1, 2, 3] + dynamic: false + # O: #missing + # mode: initial_guess + # state: [1, 0, 0, 0] + # dynamic: false +noise_std: [0.1, 0.2] \ No newline at end of file diff --git a/test/yaml/sensor_base.yaml b/test/yaml/sensor_base/sensor_all.yaml similarity index 100% rename from test/yaml/sensor_base.yaml rename to test/yaml/sensor_base/sensor_all.yaml diff --git a/test/yaml/sensor_base/sensor_dummy.yaml b/test/yaml/sensor_base/sensor_dummy.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6e1111173262fa4a5fc6a61d25e18b8cb335103f --- /dev/null +++ b/test/yaml/sensor_base/sensor_dummy.yaml @@ -0,0 +1,24 @@ +param1: 1.2 +param2: 3 +noise_std: [0.1, 0.2] +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + O: + mode: fix + state: [1, 0, 0, 0] + dynamic: false + I: + mode: initial_guess + state: [1, 2, 3, 4] + dynamic: true + drift_std: [0.1, 0.2, 0.3, 0.4] + A: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] \ No newline at end of file diff --git a/test/yaml/sensor_base/sensor_dummy_wrong.yaml b/test/yaml/sensor_base/sensor_dummy_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..89467b4cfd264014428152d4704d0f5ef570d13a --- /dev/null +++ b/test/yaml/sensor_base/sensor_dummy_wrong.yaml @@ -0,0 +1,24 @@ +param1: 1.2 +param2: 3 +noise_std: [0.1, 0.2] +states: + P: + mode: factor + state: [1, 2, 3] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + O: + mode: fix + state: [1, 0, 0, 0] + dynamic: false + # I: + # mode: initial_guess + # state: [1, 2, 3, 4] + # dynamic: true + # drift_std: [0.1, 0.2, 0.3, 0.4] + A: + mode: factor + state: [1, 0, 0, 0] + noise_std: [0.1, 0.2, 0.3] + dynamic: true + drift_std: [0.1, 0.2, 0.3] \ No newline at end of file diff --git a/test/yaml/sensor_dummy.yaml b/test/yaml/sensor_dummy.yaml deleted file mode 100644 index 6fb39c70fe6506e0c822fe29b9ddcc57f0a02c5d..0000000000000000000000000000000000000000 --- a/test/yaml/sensor_dummy.yaml +++ /dev/null @@ -1,52 +0,0 @@ -sensor: - sensor_dummy_1: - param1: 1.2 - param2: 3 - noise_std: [0.1, 0.2] - states: - P: - mode: factor - state: [1, 2, 3] - noise_std: [0.1, 0.2, 0.3] - dynamic: true - O: - mode: fix - state: [1, 0, 0, 0] - dynamic: false - I: - mode: initial_guess - state: [1, 2, 3, 4] - dynamic: true - drift_std: [0.1, 0.2, 0.3, 0.4] - A: - mode: factor - state: [1, 0, 0, 0] - noise_std: [0.1, 0.2, 0.3] - dynamic: true - drift_std: [0.1, 0.2, 0.3] - - sensor_dummy_1_wrong: - param1: 1.2 - param2: 3 - noise_std: [0.1, 0.2] - states: - P: - mode: factor - state: [1, 2, 3] - noise_std: [0.1, 0.2, 0.3] - dynamic: true - O: - mode: fix - state: [1, 0, 0, 0] - dynamic: false - # I: - # mode: initial_guess - # state: [1, 2, 3, 4] - # dynamic: true - # drift_std: [0.1, 0.2, 0.3, 0.4] - A: - mode: factor - state: [1, 0, 0, 0] - noise_std: [0.1, 0.2, 0.3] - dynamic: true - drift_std: [0.1, 0.2, 0.3] \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d.yaml b/test/yaml/sensor_odom_2d.yaml deleted file mode 100644 index 079c3022ccae53c510fea589e9c6827f27174155..0000000000000000000000000000000000000000 --- a/test/yaml/sensor_odom_2d.yaml +++ /dev/null @@ -1,316 +0,0 @@ -sensor: - - ############################################################################################# - ########################################## CORRECT ########################################## - ############################################################################################# - - sensor_fix: - states: - P: - mode: fix - state: [1, 2] - dynamic: false - O: - mode: fix - state: [3] - dynamic: false - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_initial_guess: - states: - P: - mode: initial_guess - state: [1, 2] - dynamic: false - O: - mode: initial_guess - state: [3] - dynamic: false - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_factor: - states: - P: - mode: factor - state: [1, 2] - noise_std: [0.1, 0.2] - dynamic: false - O: - mode: factor - state: [3] - noise_std: [0.3] - dynamic: false - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_fix_dynamic: - states: - P: - mode: fix - state: [1, 2] - dynamic: true - O: - mode: fix - state: [3] - dynamic: true - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_initial_guess_dynamic: - states: - P: - mode: initial_guess - state: [1, 2] - dynamic: true - O: - mode: initial_guess - state: [3] - dynamic: true - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_factor_dynamic: - states: - P: - mode: factor - state: [1, 2] - noise_std: [0.1, 0.2] - dynamic: true - O: - mode: factor - state: [3] - noise_std: [0.3] - dynamic: true - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_fix_dynamic_drift: - states: - P: - mode: fix - state: [1, 2] - dynamic: true - drift_std: [0.1, 0.2] - O: - mode: fix - state: [3] - dynamic: true - drift_std: [0.3] - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_initial_guess_dynamic_drift: - states: - P: - mode: initial_guess - state: [1, 2] - dynamic: true - drift_std: [0.1, 0.2] - O: - mode: initial_guess - state: [3] - dynamic: true - drift_std: [0.3] - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_factor_dynamic_drift: - states: - P: - mode: factor - state: [1, 2] - noise_std: [0.1, 0.2] - dynamic: true - drift_std: [0.1, 0.2] - O: - mode: factor - state: [3] - noise_std: [0.3] - dynamic: true - drift_std: [0.3] - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_mixed: - states: - P: - mode: factor - state: [1, 2] - noise_std: [0.1, 0.2] - dynamic: true - drift_std: [0.1, 0.2] - O: - mode: fix - state: [3] - dynamic: false - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - ############################################################################################# - ######################################### INCORRECT ######################################### - ############################################################################################# - - sensor_fix_wrong: - states: - P: - mode: fix - state: [1, 2] - #dynamic: false #missing - O: - mode: fix - state: [3] - dynamic: false - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_initial_guess_wrong: - states: - P: - mode: initial_guess - state: [1, 2] - dynamic: false - O: - mode: initial_guess - state: [3] - dynamic: false - noise_std: [0.1, 0.2] - #k_disp_to_disp: 0.5 #missing - k_rot_to_rot: 0.8 - - sensor_factor_wrong: - states: - P: - mode: factor - state: [1, 2] - noise_std: [0.1, 0.2] - dynamic: false - O: - mode: factor - #state: [3] #missing - noise_std: [0.3] - dynamic: false - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_fix_dynamic_wrong: - states: - P: - mode: fix - state: [1, 2, 3] # wrong size - dynamic: true - O: - mode: fix - state: [3] - dynamic: true - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_initial_guess_dynamic_wrong: - states: - # P: #missing - # mode: initial_guess - # state: [1, 2] - # dynamic: true - O: - mode: initial_guess - state: [3] - dynamic: true - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_factor_dynamic_wrong: - states: - P: - mode: factor - state: [1, 2] - noise_std: [0.1, 0.2, 0.3] #wrong size - dynamic: true - O: - mode: factor - state: [3] - noise_std: [0.3] - dynamic: true - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_fix_dynamic_drift_wrong: - states: - P: - mode: fix - state: [1, 2] - dynamic: true - drift_std: [0.1, 0.2, 0.3] #wrong size - O: - mode: fix - state: [3] - dynamic: true - drift_std: [0.3] - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_initial_guess_dynamic_drift_wrong: - states: - P: - mode: initial_guess - state: [3] # wrong size - dynamic: true - drift_std: [0.1, 0.2] - O: - mode: initial_guess - state: [3] - dynamic: true - drift_std: [0.3] - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_factor_dynamic_drift_wrong: - states: - P: - mode: factor - state: [1, 2] - noise_std: [0.1, 0.2] - dynamic: true - drift_std: [0.3] # wrong size - O: - mode: factor - state: [3] - noise_std: [0.3] - dynamic: true - drift_std: [0.3] - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 - - sensor_mixed_wrong: - states: - P: - mode: factor - state: [1, 2] - noise_std: [0.1, 0.2, 0.3] # wrong size - dynamic: true - O: - mode: fix - state: [3] - dynamic: false - noise_std: [0.1, 0.2] - k_disp_to_disp: 0.5 - k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d.yaml new file mode 100644 index 0000000000000000000000000000000000000000..42777646ea7c3a31a2ef78cbfab707bcc77a5a4d --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: fix + state: [3] + dynamic: false +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_factor.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor.yaml new file mode 100644 index 0000000000000000000000000000000000000000..25318d527db4bae12bdfe01e1248a252e72671fc --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: false + O: + mode: factor + state: [3] + noise_std: [0.3] + dynamic: false +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..05b7c5cb1904fd45867467585b25b3570959551b --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: true + O: + mode: factor + state: [3] + noise_std: [0.3] + dynamic: true +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_drift.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..76d8a922249aa941d36f4cf31e220501bdd71459 --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_drift.yaml @@ -0,0 +1,16 @@ +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: factor + state: [3] + noise_std: [0.3] + dynamic: true + drift_std: [0.3] +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_drift_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b2c4971c1dba5771184623eba88780240229c0ea --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_drift_wrong.yaml @@ -0,0 +1,16 @@ +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: true + drift_std: [0.3] # wrong size + O: + mode: factor + state: [3] + noise_std: [0.3] + dynamic: true + drift_std: [0.3] +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7095775fa1327b141db927575769124b3dd8880f --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_dynamic_wrong.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2, 0.3] #wrong size + dynamic: true + O: + mode: factor + state: [3] + noise_std: [0.3] + dynamic: true +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b8a86c874abd41bb90352c1e5b9a9a6d7c69da0d --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_factor_wrong.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2] + dynamic: false + O: + mode: factor + #state: [3] #missing + noise_std: [0.3] + dynamic: false +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_fix.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix.yaml new file mode 100644 index 0000000000000000000000000000000000000000..16adc66acf10995f74007686e2722bb5a7518f7c --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix.yaml @@ -0,0 +1,12 @@ +states: + P: + mode: fix + state: [1, 2] + dynamic: false + O: + mode: fix + state: [3] + dynamic: false +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fd24b509f20858576a94089a123e9272973530bb --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic.yaml @@ -0,0 +1,12 @@ +states: + P: + mode: fix + state: [1, 2] + dynamic: true + O: + mode: fix + state: [3] + dynamic: true +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_drift.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a4b81b49058b477ed153bd9f6610a6e9cf02d38e --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_drift.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: fix + state: [1, 2] + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: fix + state: [3] + dynamic: true + drift_std: [0.3] +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_drift_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0c5beb28c659ec0e5dbd929597fbacfeff40d748 --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_drift_wrong.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: fix + state: [1, 2] + dynamic: true + drift_std: [0.1, 0.2, 0.3] #wrong size + O: + mode: fix + state: [3] + dynamic: true + drift_std: [0.3] +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ca9746a491bb1a82e32f7d2f0d677a7f600d5d8c --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_dynamic_wrong.yaml @@ -0,0 +1,12 @@ +states: + P: + mode: fix + state: [1, 2, 3] # wrong size + dynamic: true + O: + mode: fix + state: [3] + dynamic: true +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d927120f2690d8f1e42ce2cb5dd66e57bbd770bd --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_fix_wrong.yaml @@ -0,0 +1,12 @@ +states: + P: + mode: fix + state: [1, 2] + #dynamic: false #missing + O: + mode: fix + state: [3] + dynamic: false +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7d8038b84aeb2abf4acd1f7cc5e53bc6c2cb8be4 --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess.yaml @@ -0,0 +1,12 @@ +states: + P: + mode: initial_guess + state: [1, 2] + dynamic: false + O: + mode: initial_guess + state: [3] + dynamic: false +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..547c9ea892375464645b6723c5b6e257f2cad0fa --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic.yaml @@ -0,0 +1,12 @@ +states: + P: + mode: initial_guess + state: [1, 2] + dynamic: true + O: + mode: initial_guess + state: [3] + dynamic: true +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_drift.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_drift.yaml new file mode 100644 index 0000000000000000000000000000000000000000..693e91bc24ccdb0e1d8ff0a82764cfa64e28d50f --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_drift.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: initial_guess + state: [1, 2] + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: initial_guess + state: [3] + dynamic: true + drift_std: [0.3] +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_drift_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_drift_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..49d6a56c2df7915a0704ca9f24fc669dd261bcff --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_drift_wrong.yaml @@ -0,0 +1,14 @@ +states: + P: + mode: initial_guess + state: [3] # wrong size + dynamic: true + drift_std: [0.1, 0.2] + O: + mode: initial_guess + state: [3] + dynamic: true + drift_std: [0.3] +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4dcf14f132cea51f61daa6f15621857fb1a4b760 --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_dynamic_wrong.yaml @@ -0,0 +1,12 @@ +states: + # P: #missing + # mode: initial_guess + # state: [1, 2] + # dynamic: true + O: + mode: initial_guess + state: [3] + dynamic: true +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d6e901058b599ca4db1d8275df37919759c4d428 --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_initial_guess_wrong.yaml @@ -0,0 +1,12 @@ +states: + P: + mode: initial_guess + state: [1, 2] + dynamic: false + O: + mode: initial_guess + state: [3] + dynamic: false +noise_std: [0.1, 0.2] +#k_disp_to_disp: 0.5 #missing +k_rot_to_rot: 0.8 \ No newline at end of file diff --git a/test/yaml/sensor_odom_2d/sensor_odom_2d_wrong.yaml b/test/yaml/sensor_odom_2d/sensor_odom_2d_wrong.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7b1023e84d563a3d71f54a76c0ccf63a3b4e5e6d --- /dev/null +++ b/test/yaml/sensor_odom_2d/sensor_odom_2d_wrong.yaml @@ -0,0 +1,13 @@ +states: + P: + mode: factor + state: [1, 2] + noise_std: [0.1, 0.2, 0.3] # wrong size + dynamic: true + O: + mode: fix + state: [3] + dynamic: false +noise_std: [0.1, 0.2] +k_disp_to_disp: 0.5 +k_rot_to_rot: 0.8 \ No newline at end of file