《ROS1学习笔记2——创建工作空间和功能包》
文章目录
- 1、创建工作空间
- 1.1、创建工作空间
- 1.2、编译工作空间
- 1.3、设置环境变量
- 1.4、检查环境变量
- 2、创建功能包
- 2.1、创建功能包
- 2.2、编译功能包
- 2.3、设置环境变量并检查
- 3、功能包特殊文件
- 3.1、CMakeLists.txt
- 3.2、package.xml
1、创建工作空间
工作空间(workpace)是一个存放工程开发相关文件的文件夹
- scr:代码空间
- build:编译空间
- devel:开发空间
- install:安装空间在这里插入图片描述
1.1、创建工作空间
mkdir-p demo_ws/src cd demo_ws/src catkin_init_workspace用vscode打开该工作空间,会发现多出一个makelist文件
1.2、编译工作空间
返回工作空间跟目录下,对工作空间进行编译
cd..catkin_make
此时的文件目录如下
可以看到自动生成了build和devel文件,还缺少install
用catkin_make install自动生成install文件
此时文件目录如下:
1.3、设置环境变量
source devel/setup.bash1.4、检查环境变量
echo$ROS_PACKAGE_PATH
改变环境变量的目的是:让系统能够正确找到和使用你的 ROS 工作空间中的包。
此时终端打印出了两条路径:
:后面是我原本ros的路径
:前面的路径是我改变环境变量后新增的。
2、创建功能包
catkin_creat_pkg <pakage_name>[depend1] [depend2] [depend…]
pakage_name:你功能包的名字
[depend1] [depend2] [depend…]:加上工程所需的依赖,可加可不加,此处加了之后,代码会自动在CMakeLists.txt(创建功能包自动生成的)中的查找依赖里添加进去。
2.1、创建功能包
首先进入src目录下,在此创建功能包
cd src catkin_create_pkg demo_topic_pub roscpp rospy std_msgs geometry_msgs turtlesim
创建功能包后,生成如下文件:
2.2、编译功能包
返回工作空间目录下,进行编译
cd..catkin_make编译成功后,会显示出功能包
2.3、设置环境变量并检查
此步骤与1.3、1.4相同,此处略去。
此时前期准备工作已完成,接下来就可以在该工作空间中编写代码。
3、功能包特殊文件
功能包下包含CMakeLists.txt文件与package.xml文件
3.1、CMakeLists.txt
在该文件中:
指定了需要 CMake 3.0.2 或更高版本
定义项目名称为demo_topic_pub,
并且查找相应的依赖包,此处提前加入的包是我们在创建功能包时手动添加的依赖。
3.2、package.xml
功能包的清单文件,该文件申明了功能包的名称,版本编号,管理者,构建类型,许可证,依赖信息等。
