ROS2的核心概念C-服务

ROS2的核心概念E-参数 ROS参数系统是机器人系统中的全局字典,支持多种数据类型(bool/int/float/string等),以键值对形式实现节点间数据共享。参数具有动态特性,任一节点修改后其他节点可立即获取最新值。文章通过小海龟例程展示了参数的基本操作(list/get/set/dump/load),并提供了Python/C++的API实现示例,包括参数声明、读取和动态修改功能。还介绍了参数在机器视觉等场景中的应用,以及进程管理和参数命令的常用操作。参数系统为ROS节点提供了灵活的配置和通信机制。 阅读详情

一、服务

服务可以实现类似你问我答的同步通信效果,此时可以在需要某个数据的时候,发一个查询的请求,然后尽快得到目标的最新位置,这样的通信模型和话题单向传输有所不同,变成了发送一个请求,反馈一个应答的形式,这种通信机制在ROS中成为服务(Service)。

二、服务模型

1、客户端/服务器模型

发送请求和反馈应答:

从服务的实现机制上来看,这种你问我答的形式叫做客户端/服务器模型,简称为CS模型,客户端在需要某些数据的时候,针对某个具体的服务,发送请求信息,服务器端收到请求之后,就会进行处理并反馈应答信息。

浏览器的应用场景:

这种通信机制在生活中也很常见,比如我们经常浏览的各种网页,此时你的电脑浏览器就是客户端,通过域名或者各种操作,向网站服务器发送请求,服务器收到之后返回需要展现的页面数据。

图1 服务的发送和应答

三、同步通信

这个过程一般要求越快越好,假设服务器半天没有反应,你的浏览器一直转圈圈,那有可能是服务器宕机了,或者是网络不好,所以相比话题通信,在服务通信中,客户端可以通过接收到的应答信息,判断服务器端的状态,我们也称之为同步通信。

四、一对多通信

在服务通信中服务器端是唯一,而客户端可以不唯一,比如古月居这个网站,服务器是唯一存在的,并没有多个完全一样的古月居网站,但是可以访问古月居网站的客户端是不唯一的,大家每一个人都可以看到同样的界面。所以服务通信模型中,服务器端唯一,但客户端可以不唯一。

图2 一个服务器和多个客户端

五、服务接口

和话题通信类似,服务通信的核心还是要传递数据,数据变成了两个部分,一个请求的数据,比如请求苹果位置的命令,还有一个反馈的数据,比如反馈苹果坐标位置的数据,这些数据和话题消息一样,在ROS中也是要标准定义的,话题使用.msg文件定义,服务使用的是.srv文件定义。

六、案例

图3 加法器

通过服务实现一个加法求解器的功能,当我们需要计算两个加数的求和结果时,就通过客户端节点,将两个加数封装成请求数据,针对服务“add_two_ints”发送出去,提供这个服务的服务器端节点,收到请求数据后,开始进行加法计算,并将求和结果封装成应答数据,反馈给客户端,之后客户端就会得到想要的结果。

图4 功能包内部结构

1、创建服务接口的功能包

进入工作空间study_ws中src路径下:

cd ~/study_ws/src

创建功能包demo_interface:

ros2 pkg create --build-type

ROS的几个基本概念,你真的懂了吗? 入门ROS,第一步应该先看一遍ROS官网的 Getting Started页面,但后来发现,入门已久的我还得常来看这个页面。 这也不能怪草莓熊笨,因为越是基础的东西对上层知识点影响就越大,历久弥新,每每看到这些知识点,总能找到一些之前的盲点。 那么,无论你是否看过ROS的Getting Started页面,下面的这些基本知识点都值得你阅读一遍。我们一起来梳理一下ROS的基本概念。 ROS的主要概念... 阅读详情

相关推荐

ROS2 概念以及通信方式

ROS 2(Robot Operating System 2)是一个用于机器人开发的开源平台,它提供了一系列工具和库,用于构建机器人应用程序。相较于前身ROS(ROS 1),ROS 2在设计上考虑了更多的实时性、安全性和可靠性因素,因此适用于更广泛的应用场景和硬件平台。以下是ROS 2的一些关键特点和概念:分布式架构:ROS 2支持分布式架构,允许节点在多个物理机器上运行,通过网络进行通信。这种架构支持更复杂和大规模的机器人系统。实时性:ROS 2引入了实时通信机制,如数据流控制(DDS),以支持严格的实时

qq_50284870的博客 3085

ROS2架构介绍

ROS 2 并非简单地对 ROS 1 进行升级,而是一次彻底的重新设计。它通过引入 DDS 作为通信核心,并结合现代软件工程实践,成功解决了 ROS 1 在多机器人系统、实时性、安全性和跨平台支持等方面的诸多痛点。其分层架构、标准化的生命周期管理、丰富的 QoS 策略以及内建的安全机制,使得 ROS 2 能够更好地满足现代复杂机器人应用在可靠性、性能和安全性方面的严苛需求。

weixin_39475026的博客 2523

ROS2的核心概念A-节点

节点概念和案例

SeanTim0404的博客 365

ROS2从入门到精通0-2:ROS2简介、对比ROS1与详细安装流程

ROS是一个适用于机器人的开源的元操作系统。本文作为ROS2入门的第一节,主要介绍为什么引入机器人操作系统,ROS的发展历程,为什么在ROS1的基础上要进一步引入ROS2,并给出详细的ROS2安装测试流程

FRIGIDWINTER的博客 2万+

ROS2中DDS的核心概念介绍(易理解)

DDS(数据分发服务)是ROS2通信架构的核心基础,采用发布订阅模型实现节点间高效数据交互。其核心概念包括:Domain(逻辑隔离单元)、Entity(通信组件)、Topic(数据分类)和QoS(服务质量策略)。DDS通过中间件抽象层对接ROS2,提供实时性、可靠性和可扩展性优势,支持自动发现机制和多语言交互。相比ROS1的直接连接方式,DDS的数据空间解耦设计提升了系统性能,成为ROS2分布式通信的关键支撑。

start_up_go的博客 1131

国密(3)- 预主密钥/主密钥计算和Finished消息的加解密

国密的ECC-SM3-SM4-CBC模式下的预主密钥和主密钥的生成过程介绍,以及Finished消息的加解密介绍

weixin_43408952的博客 6509

海康威视工业相机网络配置实战:从MVS软件操作到IP地址规划

本文详细介绍了海康威视工业相机的网络配置实战,从MVS软件操作到IP地址规划。重点讲解了IP设置的重要性、Windows系统下的网络配置步骤、避免IP冲突的技巧,以及MVS软件中的相机IP配置方法。帮助用户快速掌握工业相机的网络连接技术,确保稳定高效的图像采集。

weixin_30296405的博客 485

中科蓝讯Downloader配置实战:从软硬开关机到ANC降噪的完整指南

本文提供了中科蓝讯Downloader工具的详细配置实战指南。内容涵盖从基础的软硬开关机选择与配置,到核心的EQ音效调试、触摸按键与入耳检测优化,以及高阶的ANC降噪与电源管理设置。旨在帮助开发者快速掌握关键配置项,高效完成蓝牙耳机产品的功能调试与优化。

s4t5u6v7的博客 508

C#串口通讯实战:如何用SerialPort类搞定工业传感器数据采集(附完整代码)

本文详细介绍了如何使用C#的SerialPort类实现工业级传感器数据采集,涵盖串口通讯基础配置、数据帧处理、异常恢复机制及性能优化策略。通过实战代码示例,帮助开发者构建稳定可靠的工业数据采集系统,特别适合需要处理高频数据采集和复杂工业环境的场景。

weixin_42525551的博客 1086

Unity开发微信小游戏,使用Addressables管理游戏资源(本地进行远程测试)

快速构建Unity微信小游戏 使用Addressables管理游戏资源 使用小皮助手在本地进行远程资源加载测试

the_vnas的博客 6391

ICG setup timing violation介绍?

门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。 下图展示了glitch的产生原因 在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。上图可以看出,在分析DFF到ICG的setup timing

m0_61003348的博客 9807

基于Dify与DeepSeek构建中医智能问答工作流:从知识库到精准处方

本文详细介绍了如何利用Dify与DeepSeek构建中医智能问答工作流,实现从知识库构建到精准处方的全流程。通过模型编排和知识检索技术,系统能够结合中医辨证思维与AI推理能力,为基层医师、学生和爱好者提供结构化诊疗建议。文章重点分享了知识库选材、症状标准化处理、智能检索与辨证推理等核心环节的实战经验。

weixin_29062255的博客 251

《PLECS仿真与实战:从建模到高端应用》-专栏文件目录

《PLECS仿真与实战:从建模到高端应用》是一本系统介绍PLECS电力电子仿真软件的实用指南。全书共10章,首先介绍软件安装与基础操作,包括RC电路仿真等入门内容;随后深入讲解各类电力电子电路的建模与仿真,涵盖整流、交交变换、直流变换、逆变等电路;最后探讨PWM控制建模和直流调速系统等高端应用。书中配有丰富的示例程序和波形分析方法,附录还包含电力电子器件、代码生成等实用资料。该书适合电力电子领域工程师和学生系统学习电路仿真技术。

542

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: ROS2的核心概念B-话题
下一篇: ROS2的核心概念D-通信接口
橙橙笔记
博客等级 码龄4年 13粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值