本文主要参考来自于:

ROS官方wiki教程:

wiki索引页面

Creating a ROS package by hand.


之前的操作都是在工具下面完成的,为了进步不加深理解,这里继续跟进ROS的wiki进行下一步的学习。

正常的话直接使用工具 catkin_create_pkg 就可以创建 ROS Package,并且还不容易出错,推荐生产环境是这样子的方式。实际上Package 是有组织的目录和一个简单的 xml 文件组成。这里我们创建一个新的 package 命名为 foobar 。

1. 先创建目录

jet@jet-vm:~/catkin_ws$ mkdir -p src/foobar
jet@jet-vm:~/catkin_ws$ cd src/foobar

2. 添加清单文件(manifest)

清单文件在这里就是 package.xml 文件,位于 ~/catkin_ws/src/foobar/package.xml 。内容编辑如下:

<package format="2">
  <name>foobar</name>
  <version>1.2.4</version>
  <description>
    This package provides foo capability.
  </description>
  <maintainer email="foobar@foo.bar.willowgarage.com">PR-foobar</maintainer>
  <license>BSD</license>

  <buildtool_depend>catkin</buildtool_depend>

  <build_depend>roscpp</build_depend>
  <build_depend>std_msgs</build_depend>

  <exec_depend>roscpp</exec_depend>
  <exec_depend>std_msgs</exec_depend>
</package>

添加完成 package.xml 文件后就可以使用如下命令寻找到该包了 $ rospack find foobar

3. 添加 CMakeLists.txt 文件

cmake_minimum_required(VERSION 2.8.3)
project(foobar)
find_package(catkin REQUIRED roscpp std_msgs)
catkin_package() 

添加完成过后就可以回工作空间的顶层目录中使用 catkin_make 进行编译了。