ROS2代码之qos

之前把ROS2的一些概念,像node,topic,service,action,parameter,都写过了,这一篇写点qos相关的。

qos

QoS (Quality of Service) 是一个广泛用于网络通信中的概念,指的是一组技术和服务,旨在确保在网络中传输数据时能够满足预定的性能标准。QoS 的目标是保证数据传输的可靠性、带宽、延迟、丢包率等方面的要求,尤其在需要高实时性或带宽保证的应用中(如视频通话、语音通话、实时游戏等)尤其重要。

在 ROS 2 中,QoS 主要用于控制和管理发布/订阅模型中的通信质量。具体来说,ROS 2 的通信模型依赖于 DDS(Data Distribution Service),而 DDS 提供了灵活的 QoS 设置选项,使得开发人员可以根据需求调整消息传递的行为。

ROS 2 中常见的 QoS 设置有以下几种:

  • Reliability(可靠性):
    • Reliable:确保消息被成功传递,如果接收方没有接收到消息,系统会进行重试。
    • Best effort:尽力而为,消息不进行重试,适用于丢包可以接受的场景。
  • Durability(持久性):
    • Transient Local:确保消息在发布后,即使订阅者稍后才连接,也能接收到这些消息。
    • Volatile:消息不持久,只会在订阅者连接时传递。
  • History(历史记录):
    • Keep last:只保留最近的一定数量的消息。
    • Keep all:保留所有的消息。
  • Depth(深度):
    • 这决定了在发布者和订阅者之间缓存多少消息,通常与历史设置一起使用。
  • Lifespan(生存期):
    • 指定消息的有效时间,超过这个时间消息会被丢弃。
  • Time-based Filtering(基于时间的过滤):
    • 控制消息发送的频率和时间窗口,防止过多的消息在短时间内到达接收方。

当然,这些是硬概念相关的;不过,这些,在音视频通信里边有过,有兴趣,可以去这里看看。下一篇,写点跟代码相关的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值