博客
关于我
四. 创建工作空间与功能包
阅读量:511 次
发布时间:2019-03-07

本文共 1283 字,大约阅读时间需要 4 分钟。

ROS 工作空间与功能包配置指南

一、工作空间(workspace)概述

工作空间是ROS开发中的核心文件夹,用于存储项目相关文件,类似于IDE的工程文件夹。每个工作空间包含以下四个主要文件夹:

  • src(代码空间,Source Space)

    用于存放功能包(package),是功能包的主要开发目录。

  • build(编译空间,Build Space)

    存放编译过程中生成的中间文件,不需独立管理。

  • devel(开发空间,Development Space)

    包含编译生成的可执行文件、库文件及开发脚本(在ROS 1中使用,ROS 2则仅保留install)。

  • install(安装空间,Install Space)

    存放通过install命令安装的文件及可执行文件(ROS 1和ROS 2均使用)。

  • 注意事项:

    在ROS 2中,devel和install具有重复功能仅保留install,ROS 1仍维持devel和install.


    二、创建工作空间

    1. 创建工作空间

    新建工作空间:

    mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspace

    工作空间命名可自定义,src目录名不可更改。

    2. 编译工作空间

    进入根目录并编译:

    cd ~/catkin_ws/catkin_make

    catkin_make生成build和devel文件夹,catkin_make install可选用安装目标。

    3. 设置环境变量

    source devel/setup.bash

    添加ROS环境变量ROS_PACKAGE_PATH以让系统识别工作空间中的功能包。

    4. 检查环境变量

    执行以下命令验证:

    echo $ROS_PACKAGE_PATH

    三、创建功能包

    1. 创建步骤

    使用以下命令创建功能包(注意位置在src下):

    mkdir -p ~/catkin_ws/src/功能包名cd ~/catkin_ws/src/功能包名catkin_create_pkg 包名 [依赖1] [依赖2] ...

    2. 依赖管理

    依赖项可为ROS->{库名},如std_msgs, roscpp等标准库包裹功能包开发。

    3. 编译功能包

    进入工作空间根目录:

    cd ~/catkin_ws/catkin_make

    4. 设置环境变量

    运行以下命令后,可执行功能包程序:

    source ~/catkin_ws/devel/setup.bash

    5. 检查功能包

    运行以下命令查看功能包列表:

    rospack list

    四、功能包必备文件

    1. package.xml

    包含功能包信息,如名称、版本、维护人等,适用于ROS包管理器。

    2. CMakeLists.txt

    定义功能包的编译规则,指导CMake生成可执行目标文件。

    每个功能包需其它工具在ROS环境下可行,建议参考ROS公式项目结构。


    通过以上配置,您可以在终端轻松创建并管理ROSSYS工作空间和功能包。如需深入探讨某一部分,请参考ROS官方文档或社区资源。

    转载地址:http://ouunz.baihongyu.com/

    你可能感兴趣的文章
    Perl6 必应抓取(1):测试版代码
    查看>>
    perl学习之内置变量
    查看>>
    perl正则表达式中的常用模式
    查看>>
    Perl的基本語法
    查看>>
    perl输出中文有乱码
    查看>>
    Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 大数据ssh权限问题 hadoop起不来 hadoopssh错
    查看>>
    PermissionError:Python 中的 [Errno 13]
    查看>>
    PermissionError:[Errno 13] 权限被拒绝:‘/manage.py‘
    查看>>
    Permutation
    查看>>
    return torch._C._broadcast_coalesced(tensors, devices, buffer_size)RuntimeError: NCCL Error 2:unhand
    查看>>
    perspective意思_2020年12月英语四级词汇讲解丨考点归纳:perspective
    查看>>
    PE启动盘和U启动盘(第三十六课)
    查看>>
    PE文件,节头有感IMAGE_SECTION_HEADER
    查看>>
    PE查找文件偏移地址
    查看>>
    PE知识复习之PE的导入表
    查看>>
    pfsense关闭nat
    查看>>
    PFX(Parallel Framework) and Traditional Multithreading
    查看>>
    PGOS:今天动手给电脑装青苹果Win7 X64位系统
    查看>>
    pgpool-II3.1 的内存泄漏(一)
    查看>>
    PgSQL · 特性分析 · PG主备流复制机制
    查看>>