ROS-创建工作空间与功能包

一、工作空间的组成与结构

工作空间的组成:
src用于存放功能包源码;
build用于存放编译过程中的文件,一些二进制文件。我们一般用不到build;
devel是存放开发过程中的一些文件;
install是存放开发完成后的一些文件。
在这里插入图片描述
工作空间的结构:

在这里插入图片描述

二、创建工作空间

1、创建工作空间
其中,catkin_ws是我们所命名的工作空间的名字
catkin_init_workspace是初始化,经过初始化catkin_ws才真正意义上成为了工作空间。

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

2、编译工作空间
$ catkin_make语句产生devel和build文件夹;
$ catkin_make install产生install文件夹。

$ cd ~/catkin_ws/
$ catkin_make
$ catkin_make install

3、经过1、2步的操作之后,结果如下:
在这里插入图片描述

三、创建功能包

创建工作空间下的src下的功能包。
创建功能包:
其中,catkin_create_pkg是创建功能包的命令;
test_pkg是我们命名的功能包的名称;
std_msgs、rospy、roscpp分别是test_pkg所依赖的其他功能包,包括:标准功能包、python程序、cpp程序。

$ cd ~/catkin_ws/src
$ catkin_create_pkg test_pkg std_msgs rospy roscpp

编译功能包:

$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash

注:
同一个工作空间下,不允许存在同名功能包
不同工作空间下,允许存在同名功能包

四、设置环境变量

如果想运行功能包下的某一程序,得需要先设置好环境变量。
设置环境变量:

$ source devel/setup.bash

检查环境变量:
环境变量ROS_PACKAGE_PATH的作用是,查找ROS所有功能包的路径。
echo是打开环境变量。

$ echo $ROS_PACKAGE_PATH

五、功能包的package.xml文件和CMakeLists.txt文件

在功能包中有如下文件和文件夹:
在这里插入图片描述
package.xml文件是记录功能包的基本信息,包括:名字、描述、依赖等等:
在这里插入图片描述

CMakeLists.txt文件作用是描述功能包的编译规则:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45519751/article/details/112604279