ROS学习笔记(五)——工作空间和功能包

这篇博客介绍了ROS工作空间的概念,包括src、build、devel和install四个主要文件夹的用途。详细步骤演示了如何创建和初始化工作空间,以及如何在VScode和命令行中创建功能包。最后提到了Cmake文件和package文件在功能包中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ROS学习笔记(5)——工作空间及Vocode创建功能包

​    前面几节的学习,我们对ROS已经有了初步的了解,这里我们在认识ROS中的新概念,工作空间。

​    工作空间就相当于我们跑python项目时建立的项目,用于存放一系列的工程开发相关文件的文件夹。其中包括四个主文件夹:src(代码空间)、build(编译空间)、 devel(开发空间)、install(安装空间)。

​    src(代码空间):存放功能包,所有功能包的代码及配置文件。

​    build(编译空间):存放编译过程中产生的中间文件。

​    devel(开发空间):存放编译生成的可执行文件,包括一些脚本。

​    install(安装空间):安装指定的目标位置。

大致框架如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UWhetU4d-1637722553402)(C:\Users\Smile\AppData\Roaming\Typora\typora-user-images\image-20211123211040594.png)]

接下来讲解实际操作:

首先在主目录下打开终端(因为我已经配置过所以有这么多文件):
在这里插入图片描述

​    输入:mkdir -p catkin_ws/src (先创建一个文件名叫catkin_ws的文件夹再在其中创建src文件夹,也可手动鼠标创建)

(注意:这里文件名一定要叫src) 在这里插入图片描述
随后输入:cd catkin_ws/(进入文件夹)
在这里插入图片描述
   此时,本来应该输入: catkin init 初始化工作空间的,但是我们之前没有安装过catkin build工具,直接输入时会报错。所以要输入如下代码:

​              sudo apt install python3-catkin-tools python3-osrf-pycommon

安装对应的catkin build工具。

安装完以后,输入: catkin init 初始化工作空间
在这里插入图片描述

随后输入: cd …(两个点) 回到上级目录(根目录)进行随后操作。

(此时输入: pwd 可看当前路径)

分别输入: catkin_make

​            catkin_make install (安装剩下的文件夹,即工作空间)

一下操作有两种选择(创建功能包):

(1)VScode创建

​    然后,终端输入 code . 打开vscode(提前下载好)

在这里插入图片描述

随后进行如下操作:
在这里插入图片描述

输入文件夹名字:(我这里取名叫test)
在这里插入图片描述

输入依赖: roscpp rospy
在这里插入图片描述
此时文件目录下即会产生对应的功能包(test):
在这里插入图片描述

(2).命令行创建

以上操作也可通过输入:
​            catkin_create_pkg test_pkg roscpp rospy std_msgs

​    来实现,此时文件名叫test_pkg, 依赖为roscpp rospy 其中std_msgs是ros的标准结构。
在这里插入图片描述
随后就可以输入cd … 回到catkin路径下,输入:

​           catkin_make 就可编译我们的工作空间了。
在这里插入图片描述
(因为还没有代码文件,所以就没什么效果)

随后我们来设置一下环境变量,输入:

​                      source devel/setup.bash

设置环境变量系统才能找到我们的工作空间。

输入:               echo $ROS_PACKAGE_PATH

就可根据环境变量搜索所有功能包的路径。

在这里插入图片描述

最后介绍一下,

Cmake文件和package文件

在这里插入图片描述

​    其中,package.xml文件是用xml语言来描述功能包的相关信息,比如依赖信息,功能包名字等。

​     Cmakelist文件,设置代码编译的相关规则。
Ros学习笔记(八)——各部分代码实现(三)_风声向寂的博客-优快云博客
ROS学习笔记(七)——各部分代码实现(二)_风声向寂的博客-优快云博客
Ros学习笔记(六)——Publisher代码实现_风声向寂的博客-优快云博客

ROS学习笔记(四)——ROS命令行工具使用讲解_风声向寂的博客-优快云博客

ROS学习笔记(三)——ROS的简单了解_风声向寂的博客-优快云博客

ROS学习笔记(二)——python、C++编译器以及ROS的安装_风声向寂的博客-优快云博客

Ros学习笔记系列(一):_风声向寂的博客-优快云博客

<think>好的,我现在需要帮助用户解决在ROS中创建工作空间功能的问题。首先,我得回忆一下用户提供的引用内容。引用[1]、[2]、[3]都提到了ROSROS2的工作空间功能创建步骤,但用户现在问的是ROS中的,不是ROS2。不过ROS1ROS2在某些命令上有所不同,比如ROS1使用catkin而ROS2用colcon,所以需要区分清楚。 用户的问题明确是关于ROS的,也就是ROS1,所以我要确保步骤是基于catkin工具。根据引用[2],ROS1的常用命令括catkin_create_pkgcatkin_make,这些都是ROS1的标准流程。需要详细说明步骤,可能用户是新手,需要一步步指导。 首先创建工作空间,需要创建目录结构,src文件夹,然后初始化工作空间,接着编译。然后是创建功能,使用catkin_create_pkg命令,指定依赖项。之后再次编译,并设置环境变量。可能还需要提醒用户source setup.bash,这样环境变量才能生效。 同时,用户可能需要知道如何验证功能是否创建成功,比如通过roscd命令跳转目录。还要注意功能命名的规范,比如不能有特殊字符,必须小写等。此外,可能需要解释依赖项的作用,比如roscpprospy是常用的客户端库。 另外,用户可能遇到的问题比如编译失败,依赖未安装,这时候需要提到rosdep工具来安装依赖,但引用[2]中提到了rosdep,所以可以建议用户使用rosdep install来安装缺少的依赖。 需要确保步骤清晰,命令准确,避免混淆ROS1ROS2的命令,比如ROS2用的是ros2 pkg create,而ROS1是catkin_create_pkg。同时,示例部分给出具体的命令,让用户可以直接复制粘贴操作。最后,相关问题部分可以引导用户深入,比如如何添加节点,管理依赖,或者处理常见错误,这有助于用户进一步学习。</think>### ROS创建工作空间功能完整教程 #### 一、创建工作空间 1. 创建目录结构 ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ ``` 2. 初始化工作空间 ```bash catkin_init_workspace ``` 此时`src`目录下会自动生成`CMakeLists.txt`符号链接文件[^2] 3. 首次编译 ```bash catkin_make ``` 编译后将生成三个新目录: - `build`:编译缓存 - `devel`:开发环境配置 - `install`(可选):安装目录 4. 配置环境变量 ```bash echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc ``` #### 二、创建功能 1. 进入src目录 ```bash cd ~/catkin_ws/src ``` 2. 使用catkin_create_pkg命令 ```bash catkin_create_pkg <package_name> [depend1] [depend2]... ``` 示例创建含roscpp、rospy依赖的功能: ```bash catkin_create_pkg my_pkg roscpp rospy std_msgs ``` 3. 验证目录结构 创建成功后会出现: ``` my_pkg/ ├── CMakeLists.txt ├── package.xml ├── include/ └── src/ ``` #### 三、编译功能 1. 返回工作空间根目录 ```bash cd ~/catkin_ws ``` 2. 执行编译命令 ```bash catkin_make ``` 3. 验证安装 ```bash roscd my_pkg # 成功进入目录说明安装成功 ``` #### 四、关键注意事项 1. 命名规范 - 全部小写字母 - 不允许含特殊字符 - 建议使用下划线代替空格 2. 依赖管理 - 常用依赖项:`roscpp`(C++)、`rospy`(Python)、`std_msgs`(标准消息) - 新增依赖时需修改`package.xml`文件 3. 文件说明 - `package.xml`:功能元数据描述文件 - `CMakeLists.txt`:编译规则配置文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值