ROS系统 创建工作空间与功能包

Posted ʚVVcatɞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS系统 创建工作空间与功能包相关的知识,希望对你有一定的参考价值。

工作空间是一个存放工程开发相关文件的文件夹。

  • src:代码空间
  • build:编译空间
  • devel:开发空间
  • install:安装空间

创建工作空间

mkdir -p ~/工作空间名称/src

例如:创建一个名称为 catkin_ws 的工作空间

mkdir -p ~/catkin_ws/src

在这里插入图片描述
进入到创建的catkin_ws工程目录中

cd ~/catkin_ws/src

将当前文件夹进行属性初始化。

catkin_init_workspace

会在src目录中生成一个 CMakeLists.txt 文件,生成这个文件说明当前路径已经是ROS的工作空间了。
在这里插入图片描述

编译工作空间
注:在编译工作空间时,需要在工作空间的根目录执行编译命令。

cd ~/catkin_ws/

在这里插入图片描述

编译工作空间下所有功能包的源码。

catkin_make

在这里插入图片描述
编译完成后会生成 build 和 devel文件夹。
在这里插入图片描述
build文件夹中的内容,存放编译的二进制文件。
在这里插入图片描述
devel文件夹中的内容,存放开发中的可执行文件和库
在这里插入图片描述
此时还缺少一个 install 文件夹,需要执行以下指令,便可自动生一个 install 文件夹。

catkin_make install

在这里插入图片描述

install 文件夹中的内容,用来存放着编译后的可执行文件。
在这里插入图片描述

catkin_create_pkg<package_name>[depend1][depend2][depend3]

创建功能包

cd ~/catkin_ws/src

在这里插入图片描述

catkin_create_pkg test_pkg std_msgs rospy roscpp

在这里插入图片描述
test_pkg中的内容
在这里插入图片描述

  • src:存放自己写的源码。
  • include:C++代码头文件,可以存放在这里
cd ~/catkin_ws

再次编译工作空间。

catkin_make

在这里插入图片描述

设置环境变量,让系统能够找到该工作空间

source devel/setup.bash

source ~/catkin_ws/devel/setup.bash

以上两种方式都可以设置环境变量
在这里插入图片描述

检查环境变量

echo $ROS_PACKAGE_PATH

在这里插入图片描述

注意:

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

以上是关于ROS系统 创建工作空间与功能包的主要内容,如果未能解决你的问题,请参考以下文章

创建一个ros功能包

编写ROS程序--HelloROS

ROS话题通信服务通信编程

4.3 ROS工作空间覆盖

Linux学习OpenCV+ROS 实现人脸识别(Ubantu16.04)

ROS发布者Publisher的编程实现