网站大量收购闲置独家精品文档,联系QQ:2885784924

《鸿蒙机器人编程》课件——4-ROS通信与工作机制.pptxVIP

《鸿蒙机器人编程》课件——4-ROS通信与工作机制.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

ROS工作原理及通信机制

课程内容智能机器人工作流程ROS的工作原理及基本概念ROS消息通信机制ROS服务通信机制ROS动作通信机制ROS参数服务器通信机制?NXROBO20182

智能机器人工作流程?NXROBO20183

智能机器人的传统实现方式?NXROBO20184mainfun_afun_bfun_cfun_cfun_dfun_efun_ffun_dfun_d

ROS的工作机制——ComputationalGraph(计算图)?NXROBO20185计算图:node为顶点,topic/service为边

ROS的工作机制——ComputationalGraph(计算图)?NXROBO20186小乌龟机器人例子

智能机器人基于ROS的实现方式?NXROBO20187

智能机器人基于ROS的实现方式?NXROBO20188

ROS通信层术语–Resource、NamespaceResource:构成计算图的一切东西都可以称为资源,比如:node、topic、service、parameter等为了方便使用这些资源,需要对这些资源进行命名,而且要求在系统中具有唯一性Namespace:为了避免名字冲突,ROS提出了一种策略:给同一个功能模块的资源名字加上一个“前缀”,这个前缀就叫做名字空间(Namespace)。可以对比C++中的Namespace概念,或文件夹(文件目录)的概念,Namespace对于避免名字冲突和提升代码重用性具有很好的作用。9?NXROBO2022

ROS通信层术语-NodeNode:是一个数据处理或执行动作的进程,是计算图中的独立个体,系统中的独立功能单元。怎样设计node?密集的通信会导致系统性能的下降而过于紧密的聚合度会增加代码的耦合度10?NXROBO2022

ROS通信层术语–MasterNodeMasternode:计算图中的管理通信节点所有信息的中心节点(超级节点)它跟踪节点中的publisher与subscriber,service的server与client,记录其他节点的位置(uri标明,host与port),并将这些信息通知给需要建立链接的节点ROS中无时间同步!!ROStime为当前系统时间!多机需要同步系统时间的工具来实现RPS内时钟同步。11?NXROBO2022

ROS通信层术语-TopicTopic:ROS中广为使用的publish-subscribe异步的通信模式。这种方式将信息的产生和使用双方解耦,首发双方的信息都是由masternode进行管理。常用于不断更新的,含有较少逻辑处理的数据通信12?NXROBO2022

ROS通信层术语-ServiceService:用于处理ROS通信中的同步通信,采用server/client语义。每个servicetype拥有request与response两部分,对于service中的Server,ROS不会检查重名(nameconflict),只有最后注册的server会生效,与client建立连接。常用于资料量较小,但有强逻辑处理的数据交换。13?NXROBO2022

ROS通信层术语-ParameterParameter可以看作为ROS系统运行时中定义的全局变量,而Masternode中有Parameterserver来维护这些变量。这些变量的命名同样遵循namespace的命名规则namespace的存在使得parameter拥有非常清晰的层次,有效避免重名而且对parameter访问可以单独访问也可以树状访问(层层解析namespace)14?NXROBO2022

ROS通信层术语-URI作用:定位node在分布式系统中的位置格式为:protocol://host:portProtocol一般为http或者rosrpc,host为hostname或者IP地址,port则为端口号。比如,在多台计算机上运行ROS的时候,通常需要指定ROSMaster的位置(整个系统只能有一个)15?NXROBO2022ROS_MASTER_URI=:11311

ROS通信层术语-XML-RPCROS通过远程过程调用来建立节点之间的连接以及数据传输,ROS中的远程过程调用通过XML-RPC协议实现XML-RPC:ROS通信网路中的基础,一种通用远程调用协议用于masternode与其他节点之间的信息交换传输文本使用XML支持(支持语言类型多)调用时无状态(逻辑较为简单)ROS中topic/servicep2p传输时的nodename信息交换与parameterserver都是由XML-RPC进

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档