ros DDS中Qos的配置

发布时间 2023-11-24 19:24:48作者: 肆空界

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表示人为设置了某个值