Savitzky-Golay平滑器
Savitzky-Golay平滑器是一个平滑器服务器插件,它接收输入路径并使用基于`Savitzky Golay Filters <https://en.wikipedia.org/wiki/Savitzky%E2%80%93Golay_filter>`_的简单且快速的平滑技术进行平滑处理。它使用数字信号处理技术来减少噪音对参考信号(在本例中为路径)的扭曲。
它适用于所有类型的规划器,但在NavFn中特别有用,可消除路径结束处或Theta*中可能出现的微小伪影,**而无需**修改主路径,稍微平滑可见线段之间的过渡。它非常快速(<< 1ms),因此是可能导致轻微不连续性的规划器的推荐默认选项。但是,它不能平滑较大尺度的不连续性、振荡或改善平滑性。对于这些情况,请使用其他提供的平滑器插件之一。它还提供平滑后路径点的估计方向向量。
该算法是确定性的和低参数的。在下图中,NavFn的梯度下降中的一些奇点被平滑器平滑处理,而路径的整体特性保持不变。
Savitzky-Golay平滑器参数
- do_refinement
类型
默认
布尔值
True
- 描述
是否对平滑结果进行
refinement_num
次平滑,以获得改进的结果。
- refinement_num
类型
默认
int
2
- 描述
递归平滑路径的次数
示例
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: ["savitzky_golay_smoother"]
savitzky_golay_smoother:
plugin: "nav2_smoother::SavitzkyGolaySmoother"
do_refinement: True
refinement_num: 2