ROS学习笔记2:ROS 的文件工程结构(1)

ROS的工程结构是指什么

ros的工程结构是指ros工程在硬盘中什么目录,长什么样。

典型的ROS工程

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

在这里插入图片描述

catkin workspace

管理和组织ros文件和ros代码的地方

  • catkin

    ROS 定制的编译构建系统,是对CMake的拓展,编辑规则和CMake很像。

  • catkin空间

    可以理解为一个文件夹,可以用来组织和管理工程包。

建立工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make

'catkin_ws’是空间名字,可以取其他名字,在创建时要保证工作空间下有’/src’文件夹**(src是写代码的地方)**。

文件夹创建完成后用catkin_make命令完成构建。

  • catkin_make

    catkin_make起编译的作用,一般修改代码后需要回到工作空间重新编译:

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

    在编译完成后要source刷新环境,加入环境变量中,让系统知道编译生成的ros可执行文件放在何处。

‘/src’

'/src’中放着功能包(packege)。
在这里插入图片描述

  • package是编译的基本单元(编译时会在’/src’递归地查找package,可以把几个功能包放在一个子文件夹中)
    在这里插入图片描述

其他

  • ‘/build’

    放cmake 和catkin缓存和中间文件

  • ‘/devel’

    放目标文件:

    • 头文件
    • 动态链接库
    • 静态链接库
    • 可执行文件
发布了45 篇原创文章 · 获赞 1 · 访问量 2479

猜你喜欢

转载自blog.csdn.net/amnesiagreen/article/details/104278316