diff --git a/include/laser/sensor/sensor_laser_2D.h b/include/laser/sensor/sensor_laser_2D.h index f352cfc46a4d693398a228242873a0c2a67eea26..0d52eb63a81c0ca963fbe6f8eb0a109e3a92d8c1 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 7edaac553c2bc2190deb71f978cfb48bff58d55c..66aff15a55aa0ad44bed928be4cb95fefb9d1721 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 709c3fe33b82769fc5ba0941351106589ec4546a..0010bf5cf751440b52e5dae4b796d0c38ced8737 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