zoukankan      html  css  js  c++  java
  • 12.3 ROS Costmap2D代价地图源码解读_1

    博客转自:https://blog.csdn.net/Neo11111/article/details/104798065

    Costmap通过各层地图订阅话题、接收传感器数据,维护各层地图数据,并最终整合出一张用于路径规划的主地图。

    【结构示意图】

    【相关文件】

    costmap_2d/src/costmap_2d_ros.cpp
    costmap_2d/src/costmap_2d.cpp
    costmap_2d/src/layered_costmap.cpp
    costmap_2d/src/costmap_layer.cpp
    costmap_2d/plugins/static_layer.cpp
    costmap_2d/plugins/obstale_layer.cpp
    costmap_2d/plugins/inflation_layer.cpp

    Costmap2DROS类是对整个代价地图内容的封装。

    LayeredCostmap类是Costmap2DROS的类成员,它是“主地图”,也能够管理各层地图,因为它含有指向各层子地图的指针,能够调用子地图的类方法,开启子地图的更新。并且,各层子地图最后都会合并到主地图上,提供给规划器的使用。它含有Costmap2D类成员,这个类就是底层地图,用于记录地图数据。

    CostmapLayer类派生自Layer类和Costmap2D类。Layer类中含有子地图层用到的一些函数,如更新size、更新bound、和主地图合并等;Costmap2D类存储该层维护的地图数据。由CostmapLayer类派生出StaticLayer类和ObstacleLayer类,即静态层和障碍层,前者获取静态地图,后者通过传感器数据不断更新,获得能反映障碍物信息的子地图。



  • 相关阅读:
    Java学习的第五十一天
    Java学习的第五十四天
    Java学习的第五十天
    Java学习的第五十三天
    Java学习的第五十二天
    Java学习的第四十九天
    构造函数
    封 装
    JAVA学习日报 10/8
    JAVA学习日报 10.11
  • 原文地址:https://www.cnblogs.com/flyinggod/p/12763240.html
Copyright © 2011-2022 走看看