简单平滑器

在Github上的源代码

简单平滑器是一个平滑器服务器插件,它接收输入路径并使用简单且快速的平滑技术进行平滑处理。它对初始路径点和平滑路径点进行加权,以创建一个平衡的结果,使路径保留其高级特征,同时减少震荡或锯齿特性。

建议仅与不可行的(例如 2D)规划器配对使用,因为该算法会破坏任何运动可行的条件。建议用户改用可行路径的约束平滑器插件(Constrained Smoother plugin)。

简单平滑器参数

公差

类型

默认

双精度

1.0e-10

描述

在路径上参数值的变化量,用于终止平滑过程

do_refinement

类型

默认

布尔值

True

描述

是否递归平滑平滑路径以进一步改善质量

refinement_num

类型

默认

int

2

描述

递归尝试平滑的次数,必须 >= 1

max_its

类型

默认

int

1000

描述

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

w_data

类型

默认

双精度

0.2

描述

应用于路径数据的权重(限定范围)

w_smooth

类型

默认

双精度

0.3

描述

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

示例

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