局部路径规划器teb_local_planner详解4:关于costmap_converter
前言
一、代价地图的转换
二、 示例
前言
局部路径规划器teb_local_planner详解3:跟随全局planner中,我们详细介绍了与global_planner相关的参数。

本章我们来teb算法中与代价地图相关的内容。

一、代价地图的转换
使用costmap_converter插件,将costmap2d中的障碍物转换为几何基元(点、线、多边形)来表示。

如果不主动激活,每个障碍物都被看作是point

当地图分辨率高的时候,只用point,会导致计算 distinctive topologies过程中,计算量太大。

当然,costmap_converter也会消耗计算资源,但是他可以并行计算。

二、 示例
launch文件的配置

<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">

    <!-- Load all costmap_2d and planner parameters here -->

    <param name="base_local_planner" value="teb_local_planner/TebLocalPlannerROS" />


    <!-- LOAD COSTMAP_CONVERTER PARAMETERS HERE -->
    <rosparam file="$(find my_robot_name_2dnav)/costmap_converter_params.yaml" command="load" />

</node>

具体的参数文件:

TebLocalPlannerROS:

  ## Costmap converter plugin   
  #costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH"
  costmap_converter_plugin: "costmap_converter::CostmapToLinesDBSRANSAC"
  #costmap_converter_plugin: "costmap_converter::CostmapToLinesDBSMCCH"
  #costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSConcaveHull"
  #costmap_converter_plugin: "" # deactivate plugin
  costmap_converter_spin_thread: True
  costmap_converter_rate: 5
 
 
  ## Configure plugins (namespace move_base/TebLocalPlannerROS/PLUGINNAME)
  ## The parameters must be added for each plugin separately
  costmap_converter/CostmapToLinesDBSRANSAC:
    cluster_max_distance: 0.4
    cluster_min_pts: 2
    ransac_inlier_distance: 0.15
    ransac_min_inliers: 10
    ransac_no_iterations: 2000
    ransac_remainig_outliers: 3
    ransac_convert_outlier_pts: True
    ransac_filter_remaining_outlier_pts: False
    convex_hull_min_pt_separation: 0.1

详细参数含义参考link