博客
关于我
四. 创建工作空间与功能包
阅读量: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/

    你可能感兴趣的文章
    Python 中的装饰器是如何工作的,有哪些实际应用场景?
    查看>>
    python读excel
    查看>>
    Python 中读取 CSV 文件-ChatGPT4o作答
    查看>>
    Python 之 filecmp
    查看>>
    python请求html_使用Python请求获取HTML?
    查看>>
    Python 之匿名函数和偏函数
    查看>>
    python 之栈的实现
    查看>>
    python语音播放
    查看>>
    python语言:装饰器原理
    查看>>
    Python 交互式数据可视化详解
    查看>>
    python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
    查看>>
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>