文章目录
前言
本文将从move_base主程序开始,对costmap的原理进行详解,包括静态地图/障碍物地图/膨胀地图,本文主要侧重如何去理解costmap,由于作者水平有限,如有错误,谢谢指出。
costmap使用了一种分层地图的技术方案,即分别考虑障碍物层/膨胀层/静态障碍物层更新对应层的地图代价信息,然后再合并到主地图中,具体见我翻译的另一篇文章《costmap文献阅读—Layered Costmaps for Context-Sensitive Navigation》。
一、move_base:Costmap程序的执行入口
本部分,我们关心如何从move_base导航入口进入到costmap的运行程序,以及如何进行静态地图/障碍物层地图/膨胀层的处理。
代码路径:move_base/src/move_base.cpp
首先获取地图信息,内切圆半径inscribed_radius/外切圆形半径circumscribed_radius等信息。