Costmap Parameters

代价地图参数的调整对于局部规划是必不可少的(不仅仅是对DWA)。在ROS中,代价地图由静态地图层、障碍图层和膨胀层组成。静态地图层直接显示提供给导航包的静态SLAM地图。障碍层包括二维障碍物和三维障碍。膨胀层是将障碍物膨胀以计算每个2d代价地图单元的代价。此外,还有一个全局代价地图,以及一个局部代价地图。全局代价地图是通过地图上的障碍膨胀生成的。局部成本图是通过对机器人传感器实时检测到的障碍物进行膨胀生成的。

footprint
通常为了安全起见,我们希望占用空间稍大于机器人的真实轮廓。

inflation
膨胀层由单元组成,代价从0到255不等。每个代价要么被占据,没有障碍,要么未知。图13显示了如何计算膨胀衰减曲线。Costmap Parameters
inflation radius 控制零代价点到障碍的距离
cost scaling factor (代价缩放因子)与单元代价成反比。将其调高将使衰变曲线更加陡峭。
Pronobis提出,最优代价图衰减曲线是一条斜率相对较低的曲线,因此最优路径是尽可能远离两侧障碍物的最优路径。优点是机器人更喜欢在障碍物中间移动。如图8和图9所示,在相同的起点和目标下,当代价图曲线陡峭时,机器人往往接近障碍物。在图14中, inflation radius=0.55,cost scaling factor =5.0;在图15中, inflation radius=1.75,cost scaling factor =2.58。
Costmap Parameters
在衰减曲线的基础上,我们希望设定这两个参数,使充气半径几乎覆盖走廊,且代价值的衰减是中等的,这意味着降低了cost scaling factor 的值。

costmap resolution
该参数可分别为局部代价图和代价成本图设置。它们影响计算量和路径规划。当分辨率较低(>=0:05)时,在狭窄的通道内,障碍物区域可能会重叠,因此局部规划将无法找到一条通过的路径。对于全局代价地图,只需将其与提供给导航包的地图的分辨率保持不变即可。如果你有足够的计算能力,你应该看看你的激光扫描仪的分辨率,因为当使用gmap创建地图时,如果激光扫描仪的分辨率低于你想要的地图分辨率,就会出现很多小的“未知点”,因为激光扫描仪无法覆盖该区域,如图16所示。
Costmap Parameters
例如,HokuyoURG-04LX-UG01激光扫描仪具有0.01的分辨率。因此,扫描分辨率<=0:01的地图将要求机器人多次旋转,以清除unknown点。我们发现0.02是足够的分辨率来使用。

obstacle layer and voxel layer
这两层负责在Costmap上标记障碍。它们可以被完全称为障碍层。根据ROSwiki,障碍层在两个维度上跟踪,而体素层跟踪三个维度。基于来自机器人传感器的数据来标记(检测)或清除(删除)障碍物,该传感器的信息会被订阅,用于计算代价地图。