第2章 ROS结构和概念.pptx

  1. 1、本文档共126页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 ROS结构和概念

第2章 ROS结构和概念;本章各小节目录;一旦你安装了ROS,你肯定会想:“OK,我已经安装了它,现在呢?”在本章,你将学习ROS的结构和它的组成部分。更多的是,你将开始创建节点和包然后使用ROS运行Turtlesim的例子。 ROS结构已经设计好了,然后分成三个小节或概念级别: 文件系统级 计算图形级 社区级 第一级是文件系统级。在本级,使用了一系列的概念来解释ROS是如何基本构造的,文件夹结构以及它正常工作所需的最少文件数量。 第二级是计算图形级,其中进行进程和系统之间的;通信。在此部分,我们将看到所有的关于ROS设置系统、处理所有的进程、跟不止一个电脑通信等等的概念和系统。 第三个级别是社区级,其中有某些与其他开发者用来共享知识、算法和代码的工具和概念。这个级别是重要的,因为ROS由于社区的支持而增长迅速。;理解ROS文件系统级;类似于操作系统,一个ROS程序分成多个文件夹,而且这些文件夹有描述它们的功能的文件: 包:包组成了ROS的原子级。一个包有最小的结构和内容来在ROS中创建一个程序。它可能有ROS运行时过程(节点),配置文件等等。 包元文件:包元文件提供了关于一个包、许可、依赖、编译标志等等的信息。一个包的元信息是由一个叫package.xml的文件来管理的。 综合包:当你想要在一个组中聚合多个包时,你将使用综合元包。在ROS Fuerte中,这种订阅包的形式叫做栈。为保持ROS的简洁性,栈被移除了,而现在,元综合包组成了这个功能。在ROS中,有很多的元综合包;其中的一个就是导航栈。 综合包元信息:综合元包元信息(package.xml)是与;一般的包相似的,但是在XML中带有一个输出标签。它在它的结构上也有某些限制。 消息(msg)类型:一个消息就是一个进程发送给其它进程的信息。ROS有很多标准类型的消息。消息描述是存储在:my_package/msg/MyMessageType.msg。 服务(srv)类型:服务描述,存储在my_package/srv/MyServiceType.srv,定义在ROS中由每个进程提供的服务的请求和回复数据结构。 在下面的截图中,你可以看到turtlesim包的内容。你看到的是一系列的代码、图像、启动文件、服务和消息的文件和文件夹。记住截图为??显示短一点的文件列表被编辑过了,真正的包有更多的文件和文件夹。 ; ;工作空间;源空间:在源空间(src文件夹)中,你放置包、工程、克隆包,等等。其中最重要的一个文件是CMakeLists.txt。src文件夹有这个文件因为这是当你在工作空间中配置包时由CMake生成的。这个文件是由catkin_init_workspace命令生成的。 Build(编译)空间:在build文件夹中,CMake和catkin为我们的包和工程保存缓冲信息、配置和其他中间文件。 Development(开发)空间:devel文件夹是用来保存编译的程序。这是用来测试没有安装那一步的程序的。一旦程序测试过了,你可以安装或者导出包,从而与其他的开发者分享。 对于使用catkin建立包你有两个选项。第一个是使用标准的CMake工作流。使用它,你可以一次编译一个包,如下面的命令所示: $cmake packageToBuild/ $make;如果你想编译所有的包,你可以使用catkin_make命令行,如下面的命令所示: $cd workspace $catkin_make 两个命令在ROS中配置的build空间目录中生成执行文件。 另一个关于ROS的有趣的特征是覆盖。当你使用一个ROS的包时,例如Turtlesim,你可以使用已安装版本做,或者你可以下载源文件然后编译从而使用你的修改版本。 ROS允许你使用你的版本而不使用已安装版本。如果你是升级已安装版本的话那么这是非常有用的。此时此刻,也许你不理解这个的实用性,但是在下一章,我们将使用这个特点来创建我们自己的插件。;包;要创建、修改或者与包工作,ROS给我们帮助的工具,其中某些如下: rospack:这个命令是用来获取包的信息或者在系统中查找包。 catkin_create_pkg:当你想创建一个新的包时使用该命令。 catkin_make:该命令用来编译一个工作空间。 rosdep:该命令用来安装一个包的系统依赖。 rqt_dep:该命令用来以图的形式查看包的依赖。如果你想以图的方式查看包的依赖,你将会在rqt中找到一个叫package graph的插件。选择一个包然后查看依赖。 要想在包和它们的文件夹和文件之间移动,ROS给我们一个非常有用的包叫rosbash,它提供非常近似于Linux的命令。下面是几个例子:;roscd:该命令帮助我们更改目录。这跟我们Linux中的cd命令相似。 rosed:该命令用来编

您可能关注的文档

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档