Speed Filter Parameters
Speed Filter - is a Costmap Filter that restricting maximum velocity of robot. The areas where robot should slow down and values of maximum allowed velocities are encoded at filter mask. Filter mask published by Map Server, goes in a pair with filter info topic published by Costmap Filter Info Server. Speed Filter itself publishes a speed restricting messages which are targeted for a Controller in order to make the robot to not exceed the required velocity.
<filter name>: is the corresponding plugin name selected for this type.
<filter name>.enabledType
Default
bool
True
- Description
Whether it is enabled.
<filter name>.filter_info_topicType
Default
string
N/A
- Description
Name of the incoming CostmapFilterInfo topic having filter-related information. Published by Costmap Filter Info Server along with filter mask topic. For more details about Map and Costmap Filter Info servers configuration please refer to the Map Server configuration page.
<filter name>.speed_limit_topicType
Default
string
“speed_limit”
- Description
Topic to publish speed limit to. The messages have the following fields’ meaning:
percentage: speed limit is expressed in percentage iftrueor in absolute values infalsecase. This parameter is set depending ontypefield ofCostmapFilterInfomessage.speed_limit: non-zero values show maximum allowed speed expressed in a percent of maximum robot speed or in absolute value depending onpercentagevalue. Zero value means no speed restriction (independently onpercentage).speed_limitis being linearly converted fromOccupancyGridfilter mask value as:speed_limit = base + multiplier * mask_value, wherebaseandmultipliercoefficients are taken fromCostmapFilterInfomessage.- Note
speed_limitexpressed in a percent should belong to(0.0 .. 100.0]range.
This topic will be used by a Controller Server. Please refer to Controller Server configuration page to set it appropriately.
<filter name>.transform_toleranceType
Default
double
0.1
- Description
Time with which to post-date the transform that is published, to indicate that this transform is valid into the future. Used when filter mask and current costmap layer are in different frames.
Example
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