从零开始Ros编程-创建自己的包(packagge)

背景

官网的教程链接:链接

一个package最主要有三点:

  1. 一个catkin可以使用的package.xml文件。这个文件主要提供包所需要的文件的信息。
  2. 一个CmakeList.txt文件,并且这个文件使用catkin。
  3. 每一个package都有各自独立的文件夹。

在src目录下,创建一个my_package目录,这个目录的文件模式类似下方的模板,列出的文件是必须可少的文件,my_package目录下也可以根据后期项目需求自己添加其他目录甚至文件。比如,可以创建scripts目录,用于存放脚本文件;可以创建launch目录,用于存放launch文件;可以创建config目录,用于存放配置文件等等。

my_package/
  CMakeLists.txt
  package.xml

创建自己的package

首先移动到src目录下,

cd ~/catkin_ws/src

接下来使用官方提供的工具生成一个package目录:

catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
#模板
#catkin_create_pkg  [depend1] [depend2] [depend3]

使用的工具是:catkin_create_pkg

项目名称: beginner_tutorials

依赖项目:std_msgs rospy roscpp 

Note:在后面的三个依赖是默认的ros程序基本都会需要的,应该算是一个底配了,如果有其他的依赖,可以根据需要往上添加。

在创建完成之后,进入beginner_tutorials目录下,可以看到文件结构如下:

从零开始Ros编程-创建自己的包(packagge)_第1张图片

其中CMakeLists.txt和package.xml就是上问题到过的介绍包依赖的文件。include目录和src目录是包含目录和源码目录,这个不再赘述。

Note:在此目录下的include目录默认是搜索不到的,如果在自己的源码中写#inclue "my_headfile.h" ,是不会搜索到的,需要在CmakeLists.txt中做相应修改,这个在后文中会描述。

package文件内容:

cat package.xml
  • 
    ...
      catkin
      roscpp
      rospy
      std_msgs
    ...
    

可以看到,其中的依赖项目和创建项目时所指定的依赖项是对应的。如果后期需要添加依赖项,需要更改CmakeLists.txt和此文件。(有时候不一定必须需要改package.xml)

完整package.xml介绍


        
  beginner_tutorials                        
  //项目名称
  0.0.0
  The beginner_tutorials package        
  //介绍

  
  
  
  allen
  //维护者标签
  
  
  
  TODO
  //许可标签

  
  
  
  

  
  
  
  
  
  
  //往下的就是依赖项标签了
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  catkin
  roscpp
  rospy
  std_msgs
  roscpp
  rospy
  std_msgs
  roscpp
  rospy
  std_msgs


  
  
    

  

 

以上就是package.xml的完整内容,下一篇文章介绍Cmake文件。

你可能感兴趣的:(ROS,Ubuntu,Package)