ROS学习第二课(ROS文件系统)

本课主要介绍ROS的工程结构,也就是文件系统结构。

Catkin的编译系统

对于小的源代码,可以使用编译工具gcc/g++进行编译,执行,但是这种方式效率低下,所以开始用Makefile来进行编译,但随着工程量增大,Makefile也不能满足要求,出现了Cmake工具,Cmake是对make工具的生成器,来编译CMakeLists.txt文件,但对于ROS这种操作系统,对Cmake工具又进行了扩展,也就是Catkin编译系统。

#Catkin工作空间

catkin工作空间装载ROS的各种项目工程,便于系统组织管理调用。

初始化catkin工作空间

首先创建一个catkin_ws/路径,这是catkin工作空间结构的最高层级,使用以下指令来创建:

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make   #初始化工作空间

**注意:**catkin_make命令必须在工作空间这个路径上执行。

结构介绍

catkin工作空间包括src、build、devel三个路径,具体作用如下:

  • src/:ROS的catkin软件包(源代码)
  • build/:catkin(CMake)的缓存信息和中间文件
  • devel/:生成的目标文件(包括头文件,动态链接库,静态链接库,可执行文件等)、环境变量

后两个路径由catkin系统自动生成、管理,我们主要使用src文件夹,将ROS程序、网上源代码放在此文件夹下,之后使用catkin_make编译,就会生成build和devel文件。

src下存放多个源代码包(package),package是catkin工作空间的基本单元。

#Package软件包

Package是ROS源代码存放的地方,是catkin编译的基本单元。

Package的文件、路径有:

├── CMakeLists.txt     #package的编译规则(必须)
├── package.xml        #package的描述信息(必须)
├── src/               #源代码文件
├── include/           #C++头文件
├── scripts/           #可执行脚本
├── msg/               #自定义消息
├── srv/               #自定义服务
├── models/            #3D模型文件
├── urdf/              #urdf文件(机器人的模型描述)
├── launch/            #launch文件

#Metapacakge软件元包

Metapacakge可以把一些相近的功能模块、软件包放到一起。

文章参考柴长坤老师的《机器人操作系统入门》课程(https://www.icourse163.org/course/ISCAS-1002580008)。

猜你喜欢

转载自blog.csdn.net/qq_25548063/article/details/81414711