分三大块来理解,costmap,globalplanner,baselocalplanner
1.costMap
在costmap这一模块上面,首先就提出了分层
如果是一整张图,那么我们对图的任何修改都会在它上面完成。实际上当信息量太多的时候,很有可能我们并不想总是一次性更新所有的图。具体论文Lu, Hershberger, Smart - 2014 - Layered costmaps for context-sensitive navigation
如果是普通来讲,大致是分为static layer,inflation layer obstacle layer
1.1 static layer
名字上叫做静态层。其实对这一层的理解上,可以叫做initial layer, 这一层所包含的信息,也就是costmap初始化的时候所包含的信息。
1.2inflation layer
可以想象一下,我们的机器人肯定是有一定体积的,也就是说,在空间中运动的时候我们并不能把它看做是一个点。那么它怎么避免去与障碍物相撞呢。这一层就是实现一个反向思考的办法,将障碍物全部膨胀,那么之后我们就可以把有一定体积的机器人看做是一个点的运动了
下图是对costmap代价值的一个解释,下面红色框的是一个五边形的移动小车。那么把所有的障碍物都膨胀它的外切