欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-04 16:13:44
...

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

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

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)。
ROS学习笔记2:ROS 的文件工程结构(1)

  • package是编译的基本单元(编译时会在’/src’递归地查找package,可以把几个功能包放在一个子文件夹中)
    ROS学习笔记2:ROS 的文件工程结构(1)

其他

  • ‘/build’

    放cmake 和catkin缓存和中间文件

  • ‘/devel’

    放目标文件:

    • 头文件
    • 动态链接库
    • 静态链接库
    • 可执行文件