yaml配置文件

C++工程中使用yaml配置文件实例

主程序src/main.cpp内容如下:


#include <yaml-cpp/yaml.h> //yaml-cpp 头文件
#include <iostream>

int main(int argc, char** argv) {
    
    YAML::Node config_node = YAML::LoadFile("../test.yaml");
    std::cout << config_node["data_path"]["infer_data_path"].as<std::string>() << std::endl; 
    std::cout << config_node["data_path"]["single_path"].as<std::string>() << std::endl;
    std::cout << config_node["data_path"]["rgb_pcd_path"].as<std::string>() << std::endl;
    std::cout << config_node["imu_pre_integration"]["covariance"]["measurement"]["accel"].as<float>() << std::endl;
    return 0;
}

文件CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 3.0.2)
project(yaml_test)

find_package(yaml-cpp REQUIRED)
add_executable(main src/main.cpp)
include_directories(/usr/include/yaml-cpp)
target_link_libraries(main /usr/lib/x86_64-linux-gnu/libyaml-cpp.a)

测试配置文件test.yaml内容如下:

#
# data output path:
#
data_path: 
    infer_data_path: "/home/ws/Data/11/22/"
    single_path: "/home/ws/Data/11/23/"
    rgb_pcd_path: "/home/ws/Data/11/24/"
#
# key frame detection
#
key_frame:
    # max. distance between two key frames:
    max_distance: 0.25
    # max. time interval between two key frames:
    max_interval: 0.10

#
# sliding window size:
#
sliding_window_size: 20

#
# select measurements:
# 
measurements:
    map_matching: true
    imu_pre_integration: true

#
# measurement configs:
#
lidar_odometry:
    noise: [1.0, 1.0, 1.0, 0.01, 0.01, 0.01] # x y z yaw roll pitch

map_matching:
    noise: [1.0, 1.0, 4.0, 0.01, 0.01, 0.01] # x y z yaw roll pitch

gnss_position:
    noise: [1.0, 1.0, 4.0] # x y z

imu_pre_integration:
    earth:
        # gravity can be calculated from https://www.sensorsone.com/local-gravity-calculator/ using latitude and height:
        gravity_magnitude: 9.80943
    covariance:
        measurement:
            accel: 2.5e-3
            gyro: 1.0e-4
        random_walk:
            accel: 1.0e-4
            gyro: 1.0e-4

该文件包含各种类型数据,可根据实际应用修改。
工程内容文件如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值