local_costmap_params.yaml参数注释

该博客详细注释了ROS中local_costmap_params.yaml的配置参数,包括全局帧、机器人基架、更新频率、静态地图设置、滚动窗口、地图尺寸及分辨率等关键设定,旨在帮助理解如何调整本地代价地图以适应机器人导航需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

local_costmap:
global_frame: odom_combined
# robot_base_frame这个通常不是/ base link就是/ base_ footprint对于TurtleBot应设为/ base_footprint
robot_base_frame: /base_footprint
update_frequency: 3.0
publish_frequency: 1.0
# 这个参数和下一个参数通常会设为相反的值。全局地图通常是静态的,因此我们通常会把这个参数设为true
static_map: false
# rolling_window:设置为true 意味着当机器人移动时,保持机器人在本地代价地图中心。
# 当我们把这个参数设为 false时,全局地图不会在机器人移动的时候更新。
rolling_window: true
# width: 滑动地图的宽度(单位米)。
width: 3.0
# height: 滑动地图的高度(单位米)。
height: 3.0
# resolution: 滑动地图的分辨率
#单位为米。这个参数应该与YAML文件设置的地图分辨率匹配
resolution: 0.05
#发布tf变换的超时时间
# 对于典型的工作站和机器人之间的无线网络来说,与1.0秒同一级别的都可以工作得很好
transform_tolerance: 0.5
plugins:
- {name: obstacle_layer,      type: "costmap_2d::ObstacleLayer"}
- {name: inflation_layer,     type: "costmap_2d::InflationLayer"}

### 关于 `costmap_common_params.yaml` 文件中的参数说明与配置方法 #### 1. 参数概述 在ROS导航栈中,`costmap_common_params.yaml` 是一个用于定义局部和全局代价地图共同使用的参数文件。这些参数主要用于指定如何处理来自不同传感器的数据以及设定一些通用的行为准则[^2]。 #### 2. 主要参数详解 ##### (1) obstacle_range 和 raytrace_range 这两个参数分别指定了障碍物检测的有效范围(`obstacle_range`)和射线追踪的最大距离(`raytrace_range`)。通常情况下,`raytrace_range` 应当大于等于 `obstacle_range`,以便能够有效地清除机器人移动路径上的旧观测值[^3]。 ```yaml obstacle_range: 2.5 raytrace_range: 3.0 ``` ##### (2) footprint 此参数描述了机器人的轮廓形状,默认采用多边形表示法来定义。对于圆形或矩形的机器人来说,可以简化为圆或者简单的几何图形;而对于复杂外形,则需提供一系列坐标点构成封闭区域。 ```yaml footprint: [[-0.3, -0.3], [-0.3, 0.3], [0.3, 0.3], [0.3, -0.3]] ``` ##### (3) inflation_radius 及 cost_scaling_factor 前者决定了膨胀层半径大小,后者控制着随着接近障碍物成本增加的速度。通过调整这两项设置可影响规划器对待潜在碰撞的态度——较小的成本缩放因子意味着即使靠近物体也不会显著提高其所在位置的风险评估等级[^4]。 ```yaml inflation_radius: 0.55 cost_scaling_factor: 10.0 ``` ##### (4) map_type 该选项用来选择代价图的具体实现方式。“voxel”模式适用于三维环境下的感知建模,“costmap”则是二维平面内的标准解决方案。 ```yaml map_type: 'costmap' ``` ##### (5) observation_sources 这是一个非常重要的字段,它列出了所有参与构建当前代价地图的信息源名称,并且每一个都对应一组特定的子参数集合,比如最大/最小观察角度、期望更新频率等。这使得系统可以根据实际情况灵活地组合多种类型的传感输入。 ```yaml observation_sources: laser_scan_sensor point_cloud_sensor laser_scan_sensor: {sensor_frame: base_laser_link, data_type: LaserScan, topic: scan, marking: true, clearing: true} point_cloud_sensor: {sensor_frame: base_stereo_link, data_type: PointCloud, topic: stereo_points, marking: true, clearing: true} ``` #### 3. 实际应用建议 为了确保最佳性能,在实际部署过程中应当依据具体应用场景仔细调优上述各项参数。特别是针对不同的硬件平台特性(如传感器精度)、工作环境特点(开放空间 vs 室内狭窄通道),适当修改默认值往往可以获得更好的避障效果和更高的运行效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kobesdu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值