二值过滤器参数

二进制过滤器 - 是一个发布布尔类型主题的 Costmap 过滤器,当编码的过滤器空间值(对应机器人所在的过滤器掩码点)高于给定的阈值时,翻转二进制状态。当低于或等于阈值时,再次翻转回去。

过滤器空间值的计算方式为: Fv = 基础值 + 乘数 * 掩码值,其中``基础值``和``乘数``由成本地图过滤器信息服务器发布。使用示例包括:在敏感区域关闭摄像头的摄像操作开关、室内外切换时的车头灯开关、智能家居灯光触发等。

../../../_images/binary_filter.png

<filter name>:为此类型选择的相应插件名称。

<过滤器名称>.enabled

类型

默认

布尔值

True

描述

是否启用。

<过滤器名称>.filter_info_topic

类型

默认

string

N/A

描述

传入的 CostmapFilterInfo 主题的名称,其中包含与过滤器相关的信息。由 Costmap Filter Info Server 与过滤器掩码主题一起发布。有关地图和 Costmap Filter Info 服务器配置的详细信息,请参考 地图服务器/保存器 配置页面。

<过滤器名称>.transform_tolerance

类型

默认

双精度

0.1

描述

发布的变换的时间,用于表示该变换在未来是有效的。在过滤器掩码和当前 Costmap 层位于不同的帧时使用。

<过滤器名称>.default_state

类型

默认

布尔值

false

描述

二进制过滤器的默认状态。

<过滤器名称>.binary_state_topic

类型

默认

string

"binary_state"

描述

以``std_msgs::msg::Bool``类型发布二进制过滤器状态的主题。

<过滤器名称>.flip_threshold

类型

默认

双精度

50.0

描述

二进制状态翻转的阈值。过滤超过此阈值的值,将将二进制状态设置为非默认状态。

示例

global_costmap:
  global_costmap:
    ros__parameters:
    ...
    plugins: ["static_layer", "obstacle_layer", "inflation_layer"]
    filters: ["binary_filter"]
    ...
    binary_filter:
      plugin: "nav2_costmap_2d::BinaryFilter"
      enabled: True
      filter_info_topic: "/costmap_filter_info"
      transform_tolerance: 0.1
      default_state: False
      binary_state_topic: "/binary_state"
      flip_threshold: 50.0