【ROS2】概念:中级-服务质量设置

目录

  • 概述

  • QoS 策略

    • 与 ROS 1 的比较

  • QoS 配置文件

  • QoS 兼容性

    • 与 ROS 1 的比较

  • QoS 事件

  • 匹配事件

概述

ROS 2 提供了多种丰富的服务质量 (QoS) 策略,允许您调整节点之间的通信。通过合适的服务质量策略集,ROS 2 可以像 TCP 一样可靠,也可以像 UDP 一样尽力而为,并且在两者之间有许多可能的状态。与主要仅支持 TCP 的 ROS 1 不同,ROS 2 受益于底层 DDS 传输的灵活性,在丢包的无线网络环境中,“尽力而为”策略更为合适,或者在需要满足截止日期的实时计算系统中,需要合适的服务质量配置文件。

一组 QoS“策略”组合形成一个 QoS“配置文件”。鉴于为给定场景选择正确的 QoS 策略的复杂性,ROS 2 提供了一组预定义的 QoS 配置文件用于常见的用例(例如传感器数据)。同时,开发人员可以灵活控制 QoS 配置文件的特定策略。

可以为发布者、订阅者、服务服务器和客户端指定 QoS 配置文件QoS 配置文件可以独立应用于上述实体的每个实例,但如果使用不同的配置文件,则可能会不兼容,从而阻止消息的传递。

 QoS 策略 

基础 QoS 配置文件当前包括以下策略的设置

  •  历史 History

    • Keep last:  保留最后:仅存储最多 N 个样本,可通过队列深度选项进行配置。

    • Keep all:  保留所有:存储所有样本,受底层中间件的配置资源限制。

  •  深度 Depth

    • Queue size: 队列大小:仅在“历史”策略设置为“保留最后一个”时才有效。

  •  可靠性 Reliability

    • Best effort: 尽力而为:尝试传递样本,但如果网络不稳定,可能会丢失它们。

    • Reliable: 可靠:保证样品交付,可能会多次重试。

  •  耐用性 Durability

    • Transient local: 瞬态本地:发布者负责为“迟加入 late-joining ”订阅持久化样本。

    • Volatile: 易失性:没有尝试持久化样本。

  •  最后期限 Deadline

    • Duration:  持续时间:预期在主题上发布后续消息之间的最大时间间隔

  •  寿命 Lifespan

    • Duration: 持续时间:从消息发布到接收之间的最长时间,超过此时间消息将被视为过时或失效(过期消息会被静默丢弃,实际上永远不会被接收)。

  •  活力 Liveliness

    • Automatic: 自动:当任何一个发布者发布消息时,系统将认为该节点的所有发布者在另一个“租赁期限”内仍然存活。

    • Manual by topic:  按主题手动:如果系统手动声明发布者仍然存活(通过调用发布者 API),则系统将认为发布者在另一个“租赁期限”内仍然存活。

  •  租赁期限 Lease Duration

    • Duration:  持续时间:发布者必须表明其存活的最长时间段,超过此时间段系统将认为其已失去活跃性(失去活跃性可能表明发生了故障)。

对于每个不是持续时间的策略,还有“系统默认 system default ”选项,该选项使用底层中间件的默认值。对于每个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值