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