Simple Smoother

源代码在 Github.

Simple Smoother 是一个 Smoother Server 插件,它将接收输入路径并使用简单快速的平滑技术对其进行平滑处理。它对初始路径点和平滑路径点进行加权,以创建一个平衡的结果,其中路径保留其高级特性,但减少振荡或锯齿状特征。

建议仅将其与不可行(例如 2D)规划器配对,因为该算法将破坏任何运动学上可行的条件。建议用户使用 Constrained Smoother 插件代替可行计划。

简单平滑器参数

tolerance:

Type

Default

double

1.0e-10

Description

路径上参数值的变化终止平滑

do_refinement:

Type

Default

bool

True

Description

是否以递归方式平滑平滑路径以进一步提高质量

refinement_num:

Type

Default

int

2

Description

递归尝试平滑的次数必须“> = 1”。

max_its:

Type

Default

int

1000

Description

终止前尝试平滑的最大迭代次数

w_data:

Type

Default

double

0.2

Description

应用于给定路径数据的权重(限制它)

w_smooth:

Type

Default

double

0.3

Description

应用于平滑路径的权重(使其平滑)

Example

smoother_server:
  ros__parameters:
    costmap_topic: global_costmap/costmap_raw
    footprint_topic: global_costmap/published_footprint
    robot_base_frame: base_link
    transform_timeout: 0.1
    smoother_plugins: ["simple_smoother"]
    simple_smoother:
      plugin: "nav2_smoother::SimpleSmoother"
      tolerance: 1.0e-10
      do_refinement: True
      refinement_num: 2
      max_its: 1000
      w_data: 0.2
      w_smooth: 0.3