ROS学习笔记1--工作空间和功能包创建

软件包/功能包(Packages)
在ROS中,所有的软件都被组织成包的形式,成为RO软件包/功能包。ROS 软件包是用一组用于实现特定功能的相关文件的集合,包括可执行文件和其它支持文件。(个人理解类似于windows下编程所建立的项目project)。
所有的ROS软件都是一个软件包或者其它软件包的一部分。
在ROS的每一个软件包中都有一个清单文件(package.xml),这个清单文件包含了该软件包的一些细节,主要有名称、版本、维护者和依赖关系。包含有package.xml的文件目录被称作软件包目录(ROS软件包的定义:任何能找到package.xml文件的目录就是软件包目录)。

工作区(workspace)

mkdir -p ~/wy_ros/catkin_ws/src/
上述命令中,mkdir 是Linux下用于创建文件目录的命令。
参数 -p 意味着可以创建一个连续的不存在目录,即比如上面的wy_ros 不存在的话将会自动创建一个,同理会创建catkin_ws这个目录,以及src这个目录。
在这个例子中,catkin_ws 就是我们创建的工作区。其中的子目录src就是我们用来放置源文件的目录。

上述工作完成后接着执行:

cd  ~/wy_ros/catkin_ws/src
执行这条命令的作用是进入src这个目录中。 在Linux中,cd 命令标识切换到某个目录。
切换到上述src目录之后,就可以在这个目录中创建一个功能包了。命令如下:

kin_create_pkg 是ROS中创建功能包的命令,后面的‘’是命令包的名称。这个名称就随便起了,看个人爱好,就像给变量取名一样。

catkin_create_pkg beginner_turotial 

上述命令执行结束之后,我们可以查看文件。看看这条命令做了哪些工作。

这里写图片描述

我们发现在执行上述命令之后,在src目录下生成了一个子目录beginner_tutorial,并且在该子目录下还生成了两个文件:
第一个叫配置文件,package.xml,就是前面提到了清单文件,主要包含了这个功能包的一些细节,比如名称、版本、维护者和依赖关系。
第二个文件,CMakeLists.txt。这个文件大家都比较熟悉了, 就是和Cmake有关的文件。这个文件中有Cmake指令,包括了应该生成哪种可执行文件,需要哪些源文件,以及在哪里可以找到所需要的头文件和链接库。这样说明了catkin编译使用了Cmake。
接着我们就可以编译这个功能包了, 虽然这个功能包里面什么正经事儿都没有做,但是它是一个完整的功能包了。在编译功能包的时候需要返回到功能包的目录下,完成上一步之后我们是在src目录下。我们应该回到src的父目录下,也就是catkin_ws目录下。为此执行:

cd ~/wy_ros/catkin-ws/

接下来我们执行编译命令:

catkin_make

然后执行了一大堆。
就出现了下面的画面:

这里写图片描述

我们高兴地看到,经过我们的编译,在功能包里面又多出了两个文件夹。它们是build和devel文件夹,目前,这两个文件夹和src是兄弟姐妹关系。
这样,一个功能包就算完成了。
最后一步是: 将工作空间加入ROS环境,干了这么多,必须让ROS知道啊。于是执行下面的一句命令:

~/wy_ros/catkin_ws/devel/setup.bash

完工!

其实还有将自己的信息添加到package.xml的步骤,如果你的软件包要发布的话,必须把你的姓名啊,邮箱啊放入。万一出了问题,人家可以找到作者嘛。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值