自主导航系列17-costmap

自主导航系列17-costmap

日期:2020-9-1

1,movebase总体框架

img

2,仿真环境下的结构关系

需要修改的部分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pUTnjJBv-1599208020713)(/home/jianzhuozhu/.config/Typora/typora-user-images/image-20200901091640714.png)]

rostopic info /move_base_node/global_costmap/costmap
Type: nav_msgs/OccupancyGrid

Publishers: 
 * /move_base_node (http://jianzhuozhu-OptiPlex-9020:36349/)

Subscribers: 
 * /rviz_1598922383833240639 (http://jianzhuozhu-OptiPlex-9020:34877/)

3,costmap的创建过程

这个是/map的

rostopic info /map
Type: nav_msgs/OccupancyGrid

Publishers: 
 * /slam_gmapping (http://jianzhuozhu-OptiPlex-9020:36009/)

Subscribers: 
 * /move_base_node (http://jianzhuozhu-OptiPlex-9020:42111/)
 * /rviz_1598945114230555719 (http://jianzhuozhu-OptiPlex-9020:37241/)

参考具体这个教程

costmap不是单独一个栅格图,而是将一个栅格图分成了很多层,如最底下是静态地图,即墙壁,桌子等建地图时已经存在的障碍物;第二层是障碍物层;第三层是膨胀层,可以理解为把障碍物膨胀了一圈,最上面就是把前面各层的cost叠加起来形成最后的栅格图mast_grid。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nl43mMDp-1599208020715)(/home/jianzhuozhu/.config/Typora/typora-user-images/image-20200901214947050.png)]

因为global_costmap与local_costmap共同继承了common的命名空间,所以的在comman的文件中,添加了一个obstales,说明障碍物层的数据来源scan,"obstacles:"的作用是强调命名空间。

obstacles:
   observation_sources: scan
   scan: {data_type: LaserScan, topic: /scan, marking: true, clearing: true, expected_update_rate: 0}

在全局规划文件中加上layer插件

   plugins:
      - {name: static_map,       type: "costmap_2d::StaticLayer"}
      - {name: obstacles,        type: "costmap_2d::VoxelLayer"}
      - {name: simplelayer,        type: "simple_layer_namespace::SimpleLayer"}     
      - {name: inflation_layer,        type: "costmap_2d::InflationLayer"}

这个教程是非常值得参考的,明天可以看一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值