Получение ошибки: YAML:: TypedBadConversion<double>'
Я пытался преобразовать информацию о камере из файла yaml в sensor_msgs/CameraInfo. Файл yaml был успешно загружен. И ошибка возникает при попытке получить значение коэффициента искажения:
YAML::Node conf = YAML::LoadFile(yaml_file);
std::vector<double> dd;
dd = conf["distortion_coefficients"]["data"].as<std::vector<double> >();
И ошибка выглядит так: "терминат вызывается после броска экземпляра
'YAML::TypedBadConversion' what(): yaml-cpp: ошибка в строке 0, столбец 0: плохое преобразование "
Мой файл YAML для distortion_coefficients похож на
distortion_coefficients:
rows: 1
cols: 5
data: [0.013750 -0.162804 0.008105 0.002423 0.000000]
Есть идеи как это решить?
1 ответ
Решение
Ваш data
не имеет запятых, разделяющих значения, поэтому его нельзя прочитать как последовательность чисел.
Если вы измените его на
distortion_coefficients:
rows: 1
cols: 5
data: [0.013750, -0.162804, 0.008105, 0.002423, 0.000000]
тогда это должно работать как ожидалось.