网站最好推广的方式,白云品牌型网站建设,成都旅游团,建筑设计院Demo 背景
ROS2项目开发中存在以下需求#xff1a;有多个包需要读取一些共同的配置项(以txt或者yaml形式存在#xff09;#xff0c;且依赖于一些公用的utils工具代码(C)。Solution: 创建一个 base_config 包来“存放” 配置文件和公用的头文件。gitee address: Gitee/CDal…Demo 背景
ROS2项目开发中存在以下需求有多个包需要读取一些共同的配置项(以txt或者yaml形式存在且依赖于一些公用的utils工具代码(C)。Solution: 创建一个 base_config 包来“存放” 配置文件和公用的头文件。gitee address: Gitee/CDale/ShareConfig
项目文件结构介绍以及配置方法
1. 项目所有文件 base_config 中存有配置文件和公用的头文件示例为config1.txt和base_utils.hpptop 中使用 base_config 中的配置文件和头文件使用git clone https://gitee.com/CDale/share-config.git
2. base_config配置
CMakeLists
install(DIRECTORY ConfigFiles DESTINATION share/${PROJECT_NAME}) # 头文件的install 方式和 ConfigFiles 以及launch 不同
# 并不安装到 share下, 而是安装到base_config的根目录下
# 这样才可以通过 find_package 和 include_directories 找到
install(DIRECTORY include DESTINATION )
# 这个也是
ament_export_include_directories(include)3.top 使用方法
CMakeLists
# 获取 base_config 包的安装路径
find_package(base_config REQUIRED)
include_directories(${base_config_INCLUDE_DIRS})
message(Include dirs: ${base_config_INCLUDE_DIRS})pack.xml 添加 base_config 依赖launch 文件
# get_package_share_directory 获取 base_config 在 install 文件夹下的路径
# os.path.join 寻找到 config1.txt 的绝对路径并通过 parameter 传递给 ROS2 node
os.path.join(get_package_share_directory(base_config),ConfigFiles,config1.txt)