ROS中costmap_converter插件的配置与使用

在学习TEB算法的过程中,作者提供了一个插件用于转换代价地图,原始的代价地图是由栅格地图中单元格组成,用于表示障碍物,但单元格占用的计算资源较大,故采用插件将单元格转换成点,线,多边形表示。

插件激活

rospack plugins --attrib=plugin costmap_converter

配置cfg文件
在导航配置文件下,新建costmap_converter_params.yaml

###########################################################################################
## NOTE: Costmap conversion is experimental. Its purpose is to combine many point        ##
## obstales into clusters, computed in a separate thread in order to improve the overall ## 
## efficiency of local planning. However, the implemented conversion algorithms are in a ##
## very early stage of development. Contributions are welcome!                           ##
###########################################################################################

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_spin_thread: True
  costmap_converter_rate: 5
 
 
  ## Configure plugins (namespace move_base/costmap_to_lines or move_base/costmap_to_polygons)
  ## costmap_converter/CostmapToLinesDBSRANSAC, costmap_converter/CostmapToLinesDBSMCCH, costmap_converter/CostmapToPolygonsDBSMCCH
  costmap_converter/CostmapToLinesDBSRANSAC:
    cluster_max_distance: 0.4
    cluster_min_pts: 2
    ransac_inlier_distance: 0.15
    ransac_min_inliers: 10
    ransac_no_iterations: 1500
    ransac_remainig_outliers: 3
    ransac_convert_outlier_pts: True
    ransac_filter_remaining_outlier_pts: False
    convex_hull_min_pt_separation: 0.1

在启动文件中,增加costmap_converter启动项

<!-- Here we load our costmap conversion settings -->
		<rosparam file="$(find teb_local_planner_tutorials)/cfg/diff_drive/costmap_converter_params.yaml" command="load" />

未调用costmap_converter插件

由方格表示障碍物位置
请添加图片描述
修改costmap_converter
通过修改插件调用不同的转换算法

1 调用CostmapToPolygonsDBSMCCH
将其余三个注释,只调用polygon算法
显而易见,用多边形表征障碍物
请添加图片描述

2 调用CostmapToLinesDBSRANSAC
用单线段表示
请添加图片描述
3. 调用CostmapToLinesDBSMCCH
用单线段与栅格组合表示?
这个没搞懂
请添加图片描述
4. 调用CostmapToPolygonsDBSConcaveHull
这个与第一个的区别?
请添加图片描述
后续了解原理再补充

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值