美文网首页
Ros教程:创建Ros Package

Ros教程:创建Ros Package

作者: 大二哈 | 来源:发表于2018-05-08 11:56 被阅读0次

1 Ros项目Package的结构

1.1 Package必须包含.xml文件

1.2 Package必须包含一个CMakeLists.txt文件

1.3 Package必须自己拥有一个文件夹,这意味着其不能使用层级文件夹结构或者多Package公用一个目录

所以最简单的Package结构应该如下:

my_package/
  CMakeLists.txt
  package.xml

2 Ros 工作空间中的Package

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

3 创建CatkinPackage

首先,应该先在先换工作目录至当前工作空间:

cd ~/catkin_ws/src

然后,使用catkin_create_pkg脚本来创建一个新的以“beginner tutorials“命名的,基于std_msgs, roscpp, and rospy的Package:

$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

如图所示


2018-05-08 11-43-06屏幕截图.png

catkin_create_pkg命令的形式如下:

catkin_create_pkg <package_name> [depend1] [depend2] [depend3]

4编译一个Catkin Workspace

cd ~/catkin_ws
$ catkin_make

为了将workspace加入到Ros的环境中,需要执行产生的Setup文件

. ~/catkin_ws/devel/setup.bash

5Package依赖

5.1 直接依赖

$ rospack depends1 beginner_tutorials 

结果如下:


2018-05-08 11-49-21屏幕截图.png

显示出了当前Workspace的依赖文件。
其依赖关系保存在package.xml文件中:


2018-05-08 11-51-52屏幕截图.png
通过命令
roscd beginner_tutorials
$ cat package.xml

可以看到其中的包含关系。

5.2 间接依赖

很多时候,一个依赖也会有自己的依赖,如之前提到的rospy:

rospack depends1 rospy

其依赖有:

genpy
roscpp
rosgraph
rosgraph_msgs
roslib
std_msgs

rospack可以决定所有回溯的依赖:


2018-05-08 11-55-42屏幕截图.png

相关文章

网友评论

      本文标题:Ros教程:创建Ros Package

      本文链接:https://www.haomeiwen.com/subject/hkmirftx.html