From e73b64aa67c599d5fc45c625e92175f4af218469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu> Date: Wed, 7 Aug 2019 10:57:04 +0200 Subject: [PATCH] Add one level of structure to sensor laser params --- include/laser/sensor/sensor_laser_2D.h | 16 ++++++++-------- src/yaml/sensor_laser_2D_yaml.cpp | 24 ++++++++++++------------ test/yaml/sensor_laser_2D.yaml | 17 +++++++++-------- 3 files changed, 29 insertions(+), 28 deletions(-) diff --git a/include/laser/sensor/sensor_laser_2D.h b/include/laser/sensor/sensor_laser_2D.h index f352cfc46..0d52eb63a 100644 --- a/include/laser/sensor/sensor_laser_2D.h +++ b/include/laser/sensor/sensor_laser_2D.h @@ -25,14 +25,14 @@ struct IntrinsicsLaser2D : public IntrinsicsBase IntrinsicsLaser2D(std::string _unique_name, const wolf::ParamsServer & _server) : IntrinsicsBase(_unique_name, _server) { - scan_params.angle_min_ = _server.getParam<double>(_unique_name + "/angle_min"); - scan_params.angle_max_ = _server.getParam<double>(_unique_name + "/angle_max"); - scan_params.angle_step_ = _server.getParam<double>(_unique_name + "/angle_step"); - scan_params.scan_time_ = _server.getParam<double>(_unique_name + "/scan_time"); - scan_params.range_min_ = _server.getParam<double>(_unique_name + "/range_min"); - scan_params.range_max_ = _server.getParam<double>(_unique_name + "/range_max"); - scan_params.range_std_dev_ = _server.getParam<double>(_unique_name + "/range_std_dev"); - scan_params.angle_std_dev_ = _server.getParam<double>(_unique_name + "/angle_std_dev"); + scan_params.angle_min_ = _server.getParam<double>(_unique_name + "/LaserScanParams/angle_min"); + scan_params.angle_max_ = _server.getParam<double>(_unique_name + "/LaserScanParams/angle_max"); + scan_params.angle_step_ = _server.getParam<double>(_unique_name + "/LaserScanParams/angle_step"); + scan_params.scan_time_ = _server.getParam<double>(_unique_name + "/LaserScanParams/scan_time"); + scan_params.range_min_ = _server.getParam<double>(_unique_name + "/LaserScanParams/range_min"); + scan_params.range_max_ = _server.getParam<double>(_unique_name + "/LaserScanParams/range_max"); + scan_params.range_std_dev_ = _server.getParam<double>(_unique_name + "/LaserScanParams/range_std_dev"); + scan_params.angle_std_dev_ = _server.getParam<double>(_unique_name + "/LaserScanParams/angle_std_dev"); } std::string print() { diff --git a/src/yaml/sensor_laser_2D_yaml.cpp b/src/yaml/sensor_laser_2D_yaml.cpp index 7edaac553..66aff15a5 100644 --- a/src/yaml/sensor_laser_2D_yaml.cpp +++ b/src/yaml/sensor_laser_2D_yaml.cpp @@ -30,23 +30,23 @@ IntrinsicsBasePtr createIntrinsicsLaser2D(const std::string& _filename_dot_yaml) if (config["type"].as<std::string>() == "LASER 2D") { + YAML::Node ls_params = config["LaserScanParams"]; + IntrinsicsLaser2DPtr params = std::make_shared<IntrinsicsLaser2D>(); - IntrinsicsLaser2DPtr params = std::make_shared<IntrinsicsLaser2D>(); + params->scan_params.angle_min_ = ls_params["/angle_min"] .as<double>(); + params->scan_params.angle_max_ = ls_params["/angle_max"] .as<double>(); + params->scan_params.angle_step_ = ls_params["/angle_step"] .as<double>(); + params->scan_params.scan_time_ = ls_params["/scan_time"] .as<double>(); + params->scan_params.range_min_ = ls_params["/range_min"] .as<double>(); + params->scan_params.range_max_ = ls_params["/range_max"] .as<double>(); + params->scan_params.range_std_dev_ = ls_params["/range_std_dev"] .as<double>(); + params->scan_params.angle_std_dev_ = ls_params["/angle_std_dev"] .as<double>(); - params->scan_params.angle_min_ = config["/angle_min"] .as<double>(); - params->scan_params.angle_max_ = config["/angle_max"] .as<double>(); - params->scan_params.angle_step_ = config["/angle_step"] .as<double>(); - params->scan_params.scan_time_ = config["/scan_time"] .as<double>(); - params->scan_params.range_min_ = config["/range_min"] .as<double>(); - params->scan_params.range_max_ = config["/range_max"] .as<double>(); - params->scan_params.range_std_dev_ = config["/range_std_dev"] .as<double>(); - params->scan_params.angle_std_dev_ = config["/angle_std_dev"] .as<double>(); - - return params; + return params; } - std::cout << "Bad configuration file. No processor type found." << std::endl; + std::cout << "Bad configuration file " << _filename_dot_yaml << ". No processor type found." << std::endl; return nullptr; } diff --git a/test/yaml/sensor_laser_2D.yaml b/test/yaml/sensor_laser_2D.yaml index 709c3fe33..0010bf5cf 100644 --- a/test/yaml/sensor_laser_2D.yaml +++ b/test/yaml/sensor_laser_2D.yaml @@ -4,11 +4,12 @@ type : "LASER 2D" # no params so far # from sensor laser 2D -angle_min : 1 -angle_max : 2 -angle_step : 3 -scan_time : 4 -range_min : 5 -range_max : 6 -range_std_dev : 7 -angle_std_dev : 8 +LaserScanParams: + angle_min : 1 + angle_max : 2 + angle_step : 3 + scan_time : 4 + range_min : 5 + range_max : 6 + range_std_dev : 7 + angle_std_dev : 8 -- GitLab