3.创建ROS程序包

3.1catkin程序包由什么组成

该程序包必须包含 catkin compliant package.xml文件

还包含catkin版本的CMakeLists.txt,而Catkin metapackages中必须包含一个对CmakeList.txt文件的引用.

每个目录下智能有一个程序包

3.2 在catkin工作空间中的程序包

进入catkin工作空间下的src

cd ~/catkin_ws/src

用catkin_create_pkg创建一个名为"beginner_tutorials"的新程序包

catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

上条指令会创建一个名为beginner_tutorials的文件夹,文件夹下包含package.xml文件和CMakeLists.txt文件,这两文件都包含了部分执行catkin_create_pkg命令时提供的信息.    用法就是(catkin_create_pkg+空格+程序包名+空格+依赖1+空格+依赖2+等等)

3.3 程序包依赖关系

3.3.1一级依赖

可以通过下面指令查看

rospack depends1 beginner_tutorials

返回如下所示

如果出现错误:no such package beginner_tutorials,说明你当时在创建catkin工作空间时没有source setup.bash路径,又或者你又重新打开了新的终端。解决这个的办法就再次输入如下指令

source ~/catkin_ws/devel/setup.bash

(建议将该source写入.bashrc中,这样不用每次开终端都输入一次)

正常输出的话,就是利用rospack列出了在运行catkin_create_pkg命令时作为参数的依赖包,这些依赖包随后保存在package.xml中。可以通过下面指令查看

roscd beginner_tutorials
cat package.xml

(cat是linux下列出全文的指令。)

从cat package.xml可以看出

3.3.2间接依赖

一个依赖还会有它自己的依赖,rospack可以递归出所有的依赖包,比如罗列所有的依赖包

rospack depends beginner_tutorials

输入如图

3.4自定义你的程序包

(就是填一下作者等资料,可以忽略下面部分直接跳到3.4.1.5节 删除剩下最后的package.xml

3.4.1自定义package.xml

catkin_create_pkg之后,会在生产一个package.xml,这里稍微了解一下需要注意的标签

通过指令打开package.xml

roscd beginner_tutorials
vim package.xml

得到

3.4.1.1 描述标签

上图第5行,删除白色部分然后写上简要概括程序包的内容与范围

3.4.1.2维护者标签

第7行,翻译是:一个维护标签需求,多个允许,一个标签对应一个人。

第8行,翻译:举例子

第9行,翻译:<维护者邮箱=“ xxx@qq.com ”>人名<>

第10行,第9行一样。

自己看着填,最好有名称和email。

3.4.1.3许可标签

第13行,一个许可标签,多个允许,一个许可一个标签。

第14行,常用许可字符串。

第15行,列举许可名称

第16行,TODO改成BSD,表示使用BSD协议。

把许可填到这里。一般的许可请看14行,通常是BSD,这个许可约束少。

3.4.1.4依赖项标签

依赖项分为build_depend, buildtool_depend, test_depend。因为我们将std_msgs , roscpp , rospy作为catkin_create_pkg命令的参数,所以生成如42~48行。

由于catkin默认提供build_depend,所以我们列出的依赖包都被添加到bulid_depned标签中,因为我们需要编译和运行,所以依赖包还会被添加到run_depend中。

3.4.1.5 删除剩下最后的package.xml

简洁多了

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3384982/blog/892451

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值