速度过滤器参数

速度过滤器 - 是一种成本地图过滤器,用于限制机器人的最大速度。机器人需要减速的区域和允许的最大速度值被编码在过滤器掩码中。地图服务器发布的过滤器掩码与成本地图过滤器信息服务器发布的过滤器信息主题配对使用。速度过滤器本身发布限制速度的消息,这些消息针对控制器,以确保机器人不会超过所需速度。

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

<过滤器名称>.enabled

类型

默认

布尔值

True

描述

是否启用。

<过滤器名称>.filter_info_topic

类型

默认

string

N/A

描述

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

<filter name>.speed_limit_topic

类型

默认

string

"speed_limit"

描述

发布速度限制的主题。消息 具有以下字段的含义:

  • percentage: 如果 true,则速度限制以百分比表示;如果 false,则以绝对值表示。此参数根据 CostmapFilterInfo 消息的 type 字段设置。

  • speed_limit:非零值表示以最大机器人速度的百分比或绝对值表示的最大允许速度。零值表示没有速度限制(与``percentage``无关)。speed_limit``根据``OccupancyGrid``过滤器掩码值进行线性转换,公式为:``speed_limit = base + multiplier * mask_value,其中``base``和``multiplier``系数来自``CostmapFilterInfo``消息。

    注意

    以百分比表示的 speed_limit 应属于 (0.0 .. 100.0] 范围内。

此主题将由控制器服务器使用。请参考:ref:`configuring_controller_server`配置页面以适当设置它。

<过滤器名称>.transform_tolerance

类型

默认

双精度

0.1

描述

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

示例

global_costmap:
  global_costmap:
    ros__parameters:
    ...
    plugins: ["static_layer", "obstacle_layer", "inflation_layer"]
    filters: ["speed_filter"]
    ...
    speed_filter:
      plugin: "nav2_costmap_2d::SpeedFilter"
      enabled: True
      filter_info_topic: "/costmap_filter_info"
      speed_limit_topic: "/speed_limit"
      transform_tolerance: 0.1