版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ROS工作原理及通信机制课程内容智能机器人工作流程ROS的工作原理及基本概念ROS消息通信机制ROS服务通信机制ROS动作通信机制ROS参数服务器通信机制©NXROBO20182智能机器人工作流程©NXROBO20183智能机器人的传统实现方式©NXROBO20184mainfun_afun_bfun_cfun_cfun_dfun_efun_ffun_dfun_dROS的工作机制——ComputationalGraph(计算图)©NXROBO20185计算图:node为顶点,topic/service为边ROS的工作机制——ComputationalGraph(计算图)©NXROBO20186小乌龟机器人例子智能机器人基于ROS的实现方式©NXROBO20187智能机器人基于ROS的实现方式©NXROBO20188ROS通信层术语–Resource、NamespaceResource:构成计算图的一切东西都可以称为资源,比如:node、topic、service、parameter等为了方便使用这些资源,需要对这些资源进行命名,而且要求在系统中具有唯一性Namespace:为了避免名字冲突,ROS提出了一种策略:给同一个功能模块的资源名字加上一个“前缀”,这个前缀就叫做名字空间(Namespace)。可以对比C++中的Namespace概念,或文件夹(文件目录)的概念,Namespace对于避免名字冲突和提升代码重用性具有很好的作用。9©NXROBO2022ROS通信层术语-NodeNode:是一个数据处理或执行动作的进程,是计算图中的独立个体,系统中的独立功能单元。怎样设计node?密集的通信会导致系统性能的下降而过于紧密的聚合度会增加代码的耦合度10©NXROBO2022ROS通信层术语–MasterNodeMasternode:计算图中的管理通信节点所有信息的中心节点(超级节点)它跟踪节点中的publisher与subscriber,service的server与client,记录其他节点的位置(uri标明,host与port),并将这些信息通知给需要建立链接的节点ROS中无时间同步!!ROStime为当前系统时间!多机需要同步系统时间的工具来实现RPS内时钟同步。11©NXROBO2022ROS通信层术语-TopicTopic:ROS中广为使用的publish-subscribe异步的通信模式。这种方式将信息的产生和使用双方解耦,首发双方的信息都是由masternode进行管理。常用于不断更新的,含有较少逻辑处理的数据通信12©NXROBO2022ROS通信层术语-ServiceService:用于处理ROS通信中的同步通信,采用server/client语义。每个servicetype拥有request与response两部分,对于service中的Server,ROS不会检查重名(nameconflict),只有最后注册的server会生效,与client建立连接。常用于资料量较小,但有强逻辑处理的数据交换。13©NXROBO2022ROS通信层术语-ParameterParameter可以看作为ROS系统运行时中定义的全局变量,而Masternode中有Parameterserver来维护这些变量。这些变量的命名同样遵循namespace的命名规则namespace的存在使得parameter拥有非常清晰的层次,有效避免重名而且对parameter访问可以单独访问也可以树状访问(层层解析namespace)14©NXROBO2022ROS通信层术语-URI作用:定位node在分布式系统中的位置格式为:protocol://host:portProtocol一般为http或者rosrpc,host为hostname或者IP地址,port则为端口号。比如,在多台计算机上运行ROS的时候,通常需要指定ROSMaster的位置(整个系统只能有一个)15©NXROBO2022ROS_MASTER_URI=:11311ROS通信层术语-XML-RPCROS通过远程过程调用来建立节点之间的连接以及数据传输,ROS中的远程过程调用通过XML-RPC协议实现XML-RPC:ROS通信网路中的基础,一种通用远程调用协议用于masternode与其他节点之间的信息交换传输文本使用XML支持(支持语言类型多)调用时无状态(逻辑较为简单)ROS中topic/servicep2p传输时的nodename信息交换与parameterserver都是由XML-RPC进行支持16©NXROBO2022ROS通信层术语-XML-RPCParameterserver直接使用XML-RPC的数据类型:int
或者i4是32位的有符号整型,十进制表示中,前缀-号则为负数。boolean
只有两种取值,0和1,用于表示布尔类型。double
实数类型,前缀-号表示负数。dataTime.iso8601日期时间,用iso-8601格式表示。base64
用base64算法编码的二进制字符串。arrayvalues组成的表,在data实体下一层Struct
又称为map表示关系的集合,每一个struct实体是由一个name与value的键值对组成。17©NXROBO2022ROS消息通信机制©NXROBO202218cameraviewer/imagessensor_msgs::Imagepublishsensor_msgs::ImagesubscribeROS消息通信机制©NXROBO202219ROS消息通信过程——实例20©NXROBO2022ROS消息通信过程——实例21©NXROBO2022ROS消息的数据类型22std_msgs/Headerheaderfloat32angle_minfloat32angle_maxfloat32angle_incrementfloat32time_incrementfloat32scan_timefloat32range_minfloat32range_maxfloat32[]rangesfloat32[]intensities系统已有的标准消息类型©NXROBO2022生成自己的自定义类型:在package.xml中在CMakeLists.txt中catkin_make!23<build_depend>message_generation</build_depend><run_depend>message_runtime</run_depend>add_message_files(FILES
point.msg)ROS消息的数据类型point.msg文件©NXROBO2022ROS消息通信机制——特点24异步“stream-like”通信异步的publish-subscribe通信模式可以有多个发布者,可以多个订阅者TCP/IP或UDP传输协议强类型消息传输非阻塞方式,调用完马上返回常用于不断更新的,含有较少逻辑处理的数据通信©NXROBO2022ROS服务通信机制25©NXROBO2022ROS服务通信机制26©NXROBO2022ROS服务通信机制27two_num_addition.srv文件系统已有的标准服务类型自定义自己的服务类型©NXROBO2022ROS服务通信机制——特点28同步“function-call-like”通信CS-模式只能有一个服务器,可以有多个客户端TCP/IP或UDP传输协议强类型消息传输阻塞方式,一旦调用,客户端得等待服务器端执行完才返回,继续执行下面语句常用于工作量较小的情形,但有强逻辑处理的数据交换。©NXROBO2022ROS动作通信机制29©NXROBO2022ROS动作通信机制——特点30形式上与service相同,属于直接点对点通信调用形式与message方式类似,非阻塞方式,调用后立即返回,可以继续执行下面的语句提供了一种状态查询及反馈机制,让客户端了解服务器端的执行情况常用于计算量较大的情形,且有强逻辑处理的数据交换。©NXROBO2022ROSParameterServer通信机制
Parameterserver就设置在masternode中。31©NXROBO2022DynamicReconfigure给出一种实时监测masternode中参数变化,并对node中相应运行参数进行修改的机制:dynamicreconfigure。原理略过。我们来通过例子来看看这个机制的强大。打开ROS中的自主导航+2D仿真器Stage(需已先装上n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主管全年目标安排任务计划
- 2024全新高空作业升降机租赁合同附带设备升级改造服务3篇
- 2024年模特拍摄与时尚品牌合作推广合同3篇
- 自我鉴定500字大专
- 幼儿园科学教案《奇妙的盐水》及教学反思
- 工程训练实习总结报告
- 资源环境行业采购工作总结
- 建筑设计美工工作总结
- 2024年版权许可使用合同标的详解
- 家居行业美工家具设计家居装饰方案
- 花岗岩检测报告-实用文档
- 保育员(高级)考试题库附答案(600题)
- 中国铝业股份有限公司河南分公司巩义市山川铝土矿矿山地质环境保护与土地复垦方案
- 全广东江门市蓬江区2022年九年级数学上学期期末试题含答案
- 国家文化安全战略研究论文
- 中国传统文化英语(课堂PPT)
- 二十五项反措检查表优质资料
- GS020汽车发动机底盖冲压模具的设计与制造
- 《组织行为学》个案例及参考答案
- 山东省建筑消耗量定额
- 华西麻醉科麻醉记录单填写规范
评论
0/150
提交评论