ROS创建工作空间

为catkin创建一个工作空间

这个教程假设你已经装好了catkin,并且初始化好了环境变量。如果你是通过apt-get来装ROS inidgo,下面的命令是source的命令

$ source /opt/ros/indigo/setup.bash

创建一个catkin工作空间:

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

即使这个工作空间是空的(没有任何包在src这个目录下,只有一个CMakeLists.txt)你仍然可以“编译”这个工作空间:

$ cd ~/catkin_ws/
$ catkin_make

catkin_make 这个命令是个很方便的工具用来操作catkin工作空间,如果你查看点钱目录下的文件夹,你会看到‘build’和‘devel’这两个文件夹。在devel文件夹里,你可以看到有几个setup.*sh文件,通过source命令激活这些文件中任何一个文件都会将这个工作空间覆盖到最上层的环境中:

$ source devel/setup.bash

为了确认工作空间被正确的通过sh脚本覆盖,先确认ROS_PACKAGE_PATH的环境变量包含在你自己的目录中,如下:

$ echo $ROS_PACKAGE_PATH
/home/youruser/catkin_ws/src:/opt/ros/kinetic/share

接下来你需要继续学习怎么使用这个工作空间,进行下一个教程的学习:创建一个ROS工作空间。

catkin包室友什么组成?
对于一个安装包catkin包需要考虑并满足到以下几点要求:

The package must contain a catkin compliant package.xml file.必须包含一个兼容的package.xml文件
That package.xml file provides meta information about the package.这个文件提供了包的一些元信息
The package must contain a CMakeLists.txt which uses catkin. If it is a catkin metapackage it must have the relevant boilerplate CMakeLists.txt file.必须包含一个使用catkin的CMakeLists.txt文件或者模板。
There can be no more than one package in each folder.每个文件夹不猛存在超过一个安装包
This means no nested packages nor multiple packages sharing the same directory.多个包不能共享一个文件夹
The simplest possible package might have a structure which looks like this:一个简单的包的目录树如下:  

my_package/
  CMakeLists.txt
  package.xml

Packages in a catkin Workspace

建议使用catkin工作空间来操作catkin 安装包相关事宜,当然你也可以单独编译catkin 安装包,几个比较小的工作空间如下所示:

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

在继续这个教程之前,先按照前面一个教程的方法创建一个空的工作空间。

Creating a catkin Package

加下来会演示如何使用catkin——create_pkg这个脚本去创建一个新的catkin安装包,还有你接下去要如何做。

首先先把环境切换到catkin工作空间的源码目录下:

$ cd ~/catkin_ws/src

现在使用catkin_create_pkg脚本去创建一个新的安装包”beginner_tutorials”,这个包依赖于 std_msgs, roscpp, and rospy:

$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

这个将会创建一个 beginner_tutorials文件夹,包含了package.xml and a CMakeLists.txt.

catkin_create_pkg会要求你提供一个安装包的名字还有一些可选的依赖包:

This is an example, do not try to run this

catkin_create_pkg [depend1] [depend2] [depend3]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值