• 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类,即静态层和障碍层,前者获取静态地图,后者通过传感器数据不断更新,获得能反映障碍物信息的子地图。



  • 相关阅读:
    PHP程序员的40点陋习
    配置php.ini实现PHP文件上传功能
    PHP的线程安全与非线程安全版本的区别
    IIS下PHP的三种配置方式比较
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
  • 原文地址:https://www.cnblogs.com/flyinggod/p/12763240.html
Copyright © 2020-2023  润新知