global_frame: odom robot_base_frame: base_footprint update_frequency: 2.0 publish_frequency: 2.0 rolling_window: true width: 4.0 height: 4.0 resolution: 0.025 origin_x: -2.0 origin_y: -2.0 plugins: - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"} - {name: inflation_layer, type: "costmap_2d::InflationLayer"} obstacle_layer: obstacle_range: 2.5 raytrace_range: 3.0 max_obstacle_height: 0.4 track_unknown_space: true observation_sources: laser_scan_sensor point_cloud_sensorA point_cloud_sensorB laser_scan_sensor: { data_type: LaserScan, topic: base_scan, expected_update_rate: 0.2, marking: true, clearing: true } point_cloud_sensorA: { sensor_frame: base_footprint, data_type: PointCloud2, topic: obstacles_cloud, expected_update_rate: 0.5, marking: true, clearing: true, min_obstacle_height: 0.04 } point_cloud_sensorB: { sensor_frame: base_footprint, data_type: PointCloud2, topic: ground_cloud, expected_update_rate: 0.5, marking: false, clearing: true, min_obstacle_height: -1.0 # make usre the ground is not filtered }