ros2 DDS中Qos的配置

History:
  Keep last:只缓存最新的N个数据

  Keep all:缓存所有数据,受限于DDS底层资源限制

Depth:

  Queue size:当History设置为keep last时有效

Reliability:
  Best effort:尽力传送数据,网络不稳定时会丢弃一些数据

  Reliable:确保数据被传到,可能会重传多次

Durability:

  Transient local:为后订阅话题的订阅者保留数据,比如map_server发布map的Qos策略

   Volatile:不为后订阅话题的订阅者保留数据,比如订阅传感器数据的节点

Deadline:

  Duration:设置数据被发布的间隔时间。比如像cmd_vel等控制命令就希望是固定时间下发的

Lifespan:

  Duration:设置数据从发布到被接受的最大间隔时间,超过时间直接丢弃

liveliness:

  Automatic:一个节点可能有多个发布器,如果有一个发布器发布了数据,系统就认为该节点下所有的发布器在接下来的lease duration时间段内是活跃的

  Manual by topic:如果手动确认是活跃的,系统认为该发布器在接下来的lease duration时间内是活跃的

lease Duration:在这个时间段内,发布器需要发布数据,不然会被认为是停止工作了,常与liveliness配合使用。

X表示人为设置了某个值

 只有当配置兼容时,才能建立连接并输出消息。配置的兼容性取决于Reliability(可靠性)和Durability(持续性),对于一个topic,service或action,必须满足Reliability(可靠性)和Durability(持续性)都兼容才能正常工作。

 

posted @   肆空界  阅读(354)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示