【本科毕业设计】ROS学习(一)

本科毕设——ROS学习(一)

ROS概念

ROS是一个分布式的进程(也就是节点)框架,进程被封装在易于被分享和发布的程序包和功能包集中。
ROS具有语言独立性,对C++、Python都有适配。
ROS 有三个层次的概念: 文件系统层次、计算图层次和社区层次。

文件系统层次

文件系统级别的概念主要包括在磁盘上遇到的 ROS 资源,例如:

功能包(packages)
消息格式(msg)
服务格式(srv)

ROS计算图层次

计算图是一个由 ROS 进程组成的点对点网络,它们共同处理数据。ROS 的基本计算图概念是:

节点(Nodes):节点是执行计算的进程。
主节点(Master):提供名称注册和查找计算图的其余部分。
参数服务器(Parameter Server):允许在中心位置按键(key)存储数据。它目前是Master的一部分。
消息(Messages):节点通过传递消息相互通信。
话题(Topics):消息通过具有发布/订阅语义的传输系统进行路由。节点通过将消息发布到给定的话题来发送消息。话题是用于标识消息内容的名称。对某种类型的数据感兴趣的节点将订阅相应的话题。
服务(Services):请求/应答通过服务完成,服务由一对消息结构定义: 一个用于请求,一个用于应答。
Bags:一种保存和回放 ROS 信息数据的格式。

Master在计算图中充当名称(Names)服务器,存储 ROS 节点的主话题和服务注册信息。节点与主节点通信以报告它们的注册信息。当这些节点与主节点通信时,它们可以接收关于其他已注册节点的信息,并根据需要建立连接。
节点直接连接到其他节点;。Master 只提供查找信息,很像 DNS 服务器。订阅话题的节点将请求来自发布该主题的节点的连接,并将通过商定的连接协议建立该连接。ROS 中最常用的协议为 TCPROS,它使用标准的 TCP/IP 套接字。

ROS社区层次

发行版(Distribution)
The ROS Wiki

名称(Names)

图资源名称(Graph Resource Names)

图资源名称提供了一个层次化的命名结构,用于 ROS 计算图中的所有资源,如节点、参数、主题和服务。
在 ROS 中有四种类型的图资源名称: base、 relative、 global 和 private,它们具有以下语法:

NodeRelative (default)GlobalPrivate
/node1bar -> /bar/bar -> /bar~bar -> /node1/bar
/wg/node2bar -> /wg/bar/bar -> /bar~bar -> /wg/node2/bar
/wg/node3foo/bar -> /wg/foo/bar/foo/bar -> /foo/bar~foo/bar -> /wg/node3/foo/bar

包资源名称(Package Resource Names)

包资源名称与文件路径非常相似,只是它们要短得多。这是由于 ROS 能够在磁盘上定位软件包并对其内容做出额外的假设。
包资源名称非常简单: 它们只是资源所在的包的名称加上资源的名称。
例如,名称“ std_msgs/String”指的是“ std_msgs”包中的“ String”消息类型。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip毕业设计基于ROS的路标识别系统matlab源码+超详细注释.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值