ROS入门 文件结构篇

Posted 大G霸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS入门 文件结构篇相关的知识,希望对你有一定的参考价值。

ROS有很多架构及概念,例如工作空间,功能包,消息,服务等等。

我们先从最开始的工作空间说,工作空间在其它里面,有的叫作项目,有的叫作解决方案。其实就是一个项目的根目录地址。

例如,我们在/home里创建一个工作空间叫作workspace的。

注意,ros的所有运行的程序文件都要写在叫作src的文件。

 

之后我们可以先尝试在terminal中进入workspace中,

使用 cd ~/workspace/ 指令进入

可以使用mkdir src 指令创建文件夹src。

在workspace 的根目下catkin_make,就可以编译整个项目了

(注意,catkin_make 要在workspace根目录下面使用,不要在其它文件夹下编译 。)

 

之后就是功能包了,

在src文件中,我们需要进入src文件夹里。

 

通过cd ./src进入

使用catkin_create_pkg 名称 创建你想要的package。

同样的,在package文件夹下也要建立一个src文件夹,

并且将所有的执行文件,节点文件要放在这里面。

(注意,catkin_make会在workspace中生成三个文件夹,一个install,一个devel,一个build

 

其实catkin_make 实际和下面的指令是等效的

$ cd ~/workspace
$ cd src
$ catkin_init_workspace
$ cd ..
$ mkdir build
$ cd build
$ cmake ../src -DCMAKE_INSTALL_PREFIX=../install -DCATKIN_DEVEL_PREFIX=../devel
$ make


之后就是消息,在相应的package下,建立相关的消息,可参考ROS Wiki中的章节:
http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv

在package根目录下创建msg文件夹写入msg文件。

 

这些就是最基本的文件夹结构和文件框架。

示意图可以更清楚地表示这些结构。

 

workspace_folder/        -- WORKSPACE
  src/                   -- SOURCE SPACE
    CMakeLists.txt       -- Toplevel CMake file, provided by catkin
    package_1/
      src/
      node.cpp
      include/
      CMakeLists.txt     -- CMakeLists.txt file for package_1
      package.xml        -- Package manifest for package_1
    ...
    package_n/
      src/
      node.py
      include/
      CMakeLists.txt     -- CMakeLists.txt file for package_n
      package.xml        -- Package manifest for package_n

一个基本的ros项目的文件结构基本就是这样啦。

以上是关于ROS入门 文件结构篇的主要内容,如果未能解决你的问题,请参考以下文章

ROS文件系统

ROS入门必了解的ROS文件系统和软件包

小程序入门项目结构篇。

ROS开机自动启动节点

创建ROS消息和服务---ROS学习第8篇

ROS1/ROS2机器人编程光速入门指南(2021)