ROS学习之包的概念

Posted IQIT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS学习之包的概念相关的知识,希望对你有一定的参考价值。

目录

 对于rosbuild,请参阅:rosbuild / Packages

ROS中的软件以包的形式组织软件包可能包含ROS 节点,与ROS无关的库,数据集,配置文件,第三方软件或逻辑上构成有用模块的任何其他内容。这些包的目标是以易于消费的方式提供这种有用的功能,以便软件可以轻松重用。一般来说,ROS包遵循“Goldilocks”原则:足够的功能是有用的,但不是太多,因为该包是重量级的,难以从其他软件使用。

软件包很容易用手工制作,或者像catkin_create_pkg这样的工具一个ROS包就是一个从ROS_PACKAGE_PATH(见ROS环境变量)中下载的一个目录,其中包含一个package.xml文件。包是最小单元这意味着一个包是您可以在ROS中构建的最小的单独的东西,它是软件捆绑发行的方式(例如,每个ROS包都有一个debian包)。

有关如何读取和写入package.xml文件的文档,请参阅catkin / package.xml部分。

 

常见文件和目录

ROS包往往遵循一个共同的结构。以下是您可能注意到的一些目录和文件。

 

命令行工具

软件包是ROS文件如何组织的一个非常核心的概念,所以在ROS中有很多工具可以帮助您管理它们。这包括:

  • rospack:查找和检索有关包的信息

  • catkin_create_pkg:创建一个新的包

  • catkin_make:构建包的工作区

  • rosdep:安装包的系统依赖项

  • rqt:在rqt中有一个名为“Introspection / Package Graph”的插件,它将包的依赖性视为图形

还有一些常见的Unix shell的扩展,可以提供额外的功能来帮助您导航和使用软件包。最常用的是rosbash,它提供常见的Unix shell命令的ROS变体。最常用的是roscd,它执行cd到包的目录,例如

roscd roscpp_tutorials

客户端库支持

 

以上是关于ROS学习之包的概念的主要内容,如果未能解决你的问题,请参考以下文章

ROS学习之消息包

ROS学习之移动平台的参考坐标系

ROS学习之日志消息

ROS学习之ROS单位

ROS学习之编译一个包

ROS学习之深度图像转激光的包