ROS基础使用——创建工作空间与功能包

目录

一、工作空间

1、创建工作空间

2、编译工作空间

3、设置环境变量

4、检查环境变量

二、功能包

1、创建功能包

2、编译功能包


一、工作空间

工作空间(workspace)是一个存放工程开发相关文件的文件夹。工作空间里一般有四个子文件夹:

1、src:代码空间(Source Space),主要存放一些源文件,功能包文件,launch文件等。

2、build:编译空间(Build Space),主要存放项目编译过程中产生的一些中间文件。

3、devel:开发空间(Development Space),主要存放编译生成的一些可执行文件,如可执行文件、库文件、头文件、脚本文件等。

4、install:安装空间(Install Space),用install指令安装之后的一些结果存放在这个空间。ros2进行了优化,取消了install空间,ros1中才有这个空间。

1、创建工作空间

mkdir -p ~/catkin_ws/src # 创建工作空间文件夹,其中工作空间名称可以任取,一般以catkin_开头,src文件名固定
cd ~/catkin_ws/src # 进入src空间
catkin_init_workspace # 初始化工作空间,把当前文件夹变成工作空间的属性

2、编译工作空间

cd ~/catkin_ws/ # 进入工作空间
catkin_make # 使用catkin_make命令编译工作空间

3、设置环境变量

source devel/setup.bash # 设置环境变量

4、检查环境变量

echo $ROS_PACKAGE_PATH # 查看显示的路径是否正确

二、功能包

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

1、创建功能包

cd ~/catkin_ws/src # 进入工作空间的src空间
# 语法是:catkin_create_pkg  [depend1] [depend2] [depend3]
catkin_create_pkg test_pkg std_msgs rospy roscpp # test_pkg是功能包的名字,std_msgs,rospy,roscpp是这个功能包所需的依赖

2、编译功能包

cd ~/catkin_ws # 进入到工作空间
catkin_make # 编译这个工作空间
source ~/catkin_ws/devel/setup.bash # 设置系统环境变量,让系统找到当前的工作空间

在使用catkin_create_pkg命令创建功能包后,这个功能包里面的结构如下图所示:

ROS基础使用——创建工作空间与功能包_第1张图片

 其中include文件夹放置头文件,src文件夹放置源文件,CMakeLists.txt文件制定了一些编译时的规则,用于告诉cmake要对这个目录下的文件做什么事情。cmake时会按照CMakeLists.txt制定的规则生成一些中间文件,其中最重要的时MakeFile文件,里面是自动编译的脚本,编译器按照MakeFile里面的脚本完成编译。

而package.xml文件里面则是一些版本信息、功能包名称、作者通讯方式、版权许可证书以及这个功能包的一些其他依赖。

你可能感兴趣的:(linux,运维,服务器)