ROS:costmap_obstacles_layer

ROS:ros-melodic costmap障碍物层参数详解

costmap_2d :: ObservationBuffer用于从传感器接收点云,使用tf将其转换为所需的坐标系,并存储它们直到被请求为止。 大多数用户将创建由costmap_2d :: Costmap2DROS对象自动处理的costmap_2d :: ObservationBuffers,但是有特殊需要的用户可以选择创建自己的对象。

全局过滤参数

这些参数适用于所有传感器。

  1. ~/max_obstacle_height (double, default: 2.0)

    要插入到成本图中的任何障碍物的最大高度(以米为单位)。 该参数应设置为略高于机器人的高度。

  2. ~/obstacle_range (double, default: 2.5)

    插入成本图的障碍物距离机器人的默认最大距离(以米为单位)。 可以在每个传感器的基础上对此进行覆盖。

  3. ~/raytrace_range (double, default: 3.0)

    使用传感器数据从地图上光线追踪障碍物的默认范围(以米为单位)。 可以在每个传感器的基础上对此进行覆盖。

障碍物成本图插件

这些参数由ObstacleCostmapPlugin使用。

  1. ~/track_unknown_space (bool, default: false)

    如果为假,则每个像素都具有以下两种状态之一:致命障碍物或自由状态。 如果为true,则每个像素都具有以下三种状态之一:致命障碍,自由或未知。

  2. ~/footprint_clearing_enabled (bool, default: true)

    如果为true,则机器人足迹将清除(标记为自由)其行进的空间。

  3. ~/combination_method (enum, default: 1)

    更改behavior_layer处理来自其以外的图层的传入数据的方式。 可能的值为“覆盖”(0),“最大值”(1)和“无”(99)。 “覆盖”只是覆盖下面的数据,即不使用它们。 “最大”是您大多数时候想要的。 它占用了barrier_layer或传入数据中提供的最大值。 “无”完全不会更改传入的数据。 请注意,这很大程度上影响了成本图的行为,具体取决于您对track_unkown_space的设置。

    有关combining_method和track_unknown_space参数的影响的讨论,请参阅以下有关ROS答案的相关讨论:https://answers.ros.org/question/316191

体素成本图插件

VoxelCostmapPlugin使用以下参数。

  1. ~/origin_z (double, default: 0.0)

    地图的z原点(以米为单位)。

  2. ~/z_resolution (double, default: 0.2)

    地图的z分辨率,以米/单元为单位。

  3. ~/z_voxels (int, default: 10)

    在每个垂直列中,到网格高度的体素数为z_resolution * z_voxels。

  4. ~/unknown_threshold (int, default: ~/z_voxels)

    被视为“已知”的列中允许的未知单元格数。

  5. ~/mark_threshold (int, default: 0)

    列中被视为“空闲”的已标记单元格的最大数量。

  6. ~/publish_voxel_map (bool, default: false)

    是否出于可视化目的发布基础体素网格。

  7. ~/footprint_clearing_enabled (bool, default: true)

    如果为true,则机器人足迹将清除(标记为自由)其行进的空间。

传感器管理参数

  1. ~/observation_sources (string, default: “”)

    用空格分隔的观察源名称列表。 这定义了下面定义的每个<source_name>命名空间。

    observation_sources中的每个source_name都定义了一个可以在其中设置参数的名称空间.

  2. ~/<source_name>/topic (string, default: source_name)

    此源输入传感器数据的主题。 默认为源名称。

  3. ~/<source_name>/sensor_frame (string, default: “”)

    传感器原点的坐标系名字。 若为空则尝试从传感器数据中读取坐标系名字。 可以从sensor_msgs / LaserScan,sensor_msgs / PointCloud和sensor_msgs / PointCloud2消息类型中读取该参数。

  4. ~/<source_name>/observation_persistence (double, default: 0.0)

    每个传感器数据保持多长时间,以秒为单位。 0.0只会保留最新的数据。

  5. ~/<source_name>/expected_update_rate (double, default: 0.0)

    期望从传感器读取读数的频率(以秒为单位)。 值0.0将允许两次读取之间有无限的时间。 此参数用作故障保护,以防止传感器故障时导航堆栈不向机器人发出命令。 应将其设置为比传感器的实际速率稍宽的值。 例如,如果我们希望每隔0.05秒从激光器进行一次扫描,则可以将此参数设置为0.1秒,以提供足够的缓冲区并考虑一定量的系统延迟。

  6. ~/<source_name>/data_type (string, default: “PointCloud”)

    与该主题关联的数据类型,目前仅支持“ PointCloud”,“ PointCloud2”和“ LaserScan”。

  7. ~/<source_name>/clearing (bool, default: false)

    是否应将此观察结果用于清除自由空间。

  8. ~/<source_name>/marking (bool, default: true)

    是否应使用此观察来标记障碍物。

  9. ~/<source_name>/max_obstacle_height (double, default: 2.0)

    视为有效的传感器读数的最大高度(以米为单位)。 通常将其设置为略高于机器人的高度。 将此参数设置为大于全局max_obstacle_height参数的值无效。 将此参数设置为小于全局max_obstacle_height的值将过滤掉该传感器中高于该高度的点。

  10. ~/<source_name>/min_obstacle_height (double, default: 0.0)

    传感器读数的最小高度(以米为单位)被视为有效。 通常将其设置为地面高度,但可以根据传感器的噪声模型将其设置为较高或较低。

  11. ~/<source_name>/obstacle_range (double, default: 2.5)

    使用传感器数据将障碍物插入成本图的最大范围(以米为单位)。

  12. ~/<source_name>/raytrace_range (double, default: 3.0)

    使用传感器数据从地图上射线追踪障碍物的最大范围(以米为单位)。

  13. ~/<source_name>/inf_is_valid (bool, default: false)

    允许在“ LaserScan”观察消息中使用Inf值。 Inf值转换为激光最大范围。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值