diff --git a/config/config/obstacle_layer_params.yaml b/config/config/obstacle_layer_params.yaml
index 85c0c72..c00cc0f 100644
--- a/config/config/obstacle_layer_params.yaml
+++ b/config/config/obstacle_layer_params.yaml
@@ -33,6 +33,24 @@ obstacle_layer:
frustum_clearing_pixel_step: 4
frustum_min_range: 0.20
frustum_max_range: 3.5
+ # 3D clearing rays stop this far [m] before the measured surface.
+ # Negative: legacy 2 * resolution (0.10 m at res 0.05).
+ frustum_skip_distance: 0.05
+ # Full-column clearing: nearest in-band return per pixel column certifies
+ # the beam free and wipes whole voxel columns along it. Measurement-driven,
+ # never touches cells outside the FOV.
+ frustum_column_clearing: true
+ # Height band [m]; floor returns below min do not shorten the beam.
+ # max < 0: use the layer max_obstacle_height.
+ column_clear_min_height: 0.10
+ column_clear_max_height: -1.0
+ # Column beams stop this far [m] before the nearest in-band return
+ # (tighter than frustum_skip_distance so ghosts hugging static obstacles
+ # still get cleared).
+ column_skip_distance: 0.02
+ # Full columns only cleared beyond this distance [m] (vertical FOV must
+ # cover the whole band). Negative: auto from camera intrinsics + mount.
+ column_cover_distance: -1.0
observation_persistence: 0.0
expected_update_rate: 0.5
obstacle_range: 2.5
diff --git a/config/config/voxel_layer_params.yaml b/config/config/voxel_layer_params.yaml
index 4ec7884..206182a 100644
--- a/config/config/voxel_layer_params.yaml
+++ b/config/config/voxel_layer_params.yaml
@@ -13,25 +13,7 @@ voxel_layer:
# the current FOV, occlusion shadows). 0 disables (default). Only enable on
# camera-only costmaps: decay clears obstacles the sensor cannot see.
obstacle_decay_time: 4.0
- # Clearing rays stop this far [m] before the measured surface. Negative
- # keeps the legacy 2 * resolution behaviour (0.10 m at res 0.05).
- frustum_skip_distance: 0.05
- # Full-column clearing: per depth-image pixel column, the nearest return in
- # the height band certifies the beam free and wipes whole voxel columns
- # along it. Removes marked voxels the per-pixel 3D rays cannot reach
- # (above the vertical FOV at close range). Measurement-driven: keeps
- # obstacles outside the FOV untouched (no decay).
- frustum_column_clearing: true
- # Height band [m]; floor returns below min do not shorten the beam.
- # max < 0: use max_obstacle_height.
- column_clear_min_height: 0.10
- column_clear_max_height: -1.0
- # Full columns only cleared beyond this distance [m] (vertical FOV must
- # cover the whole band). Negative: auto from camera intrinsics + mount pose.
- column_cover_distance: -1.0
- publish_voxel_map: true
- frustum_clearing_enabled: false
- frustum_clearing_pixel_step: 4
- frustum_min_range: 0.20
- frustum_max_range: 3.5
- frustum_depth_camera_topic: /camera/depth/data
+ # Depth frustum / column clearing is configured PER OBSERVATION SOURCE in
+ # obstacle_layer_params.yaml (pc_clearing: frustum_skip_distance,
+ # frustum_column_clearing, column_clear_min/max_height,
+ # column_skip_distance, column_cover_distance).
\ No newline at end of file
diff --git a/config/costmap_common_params.yaml b/config/costmap_common_params.yaml
index d9abf8a..1814f37 100644
--- a/config/costmap_common_params.yaml
+++ b/config/costmap_common_params.yaml
@@ -33,6 +33,12 @@ obstacles:
frustum_clearing_pixel_step: 4
frustum_min_range: 0.20
frustum_max_range: 3.5
+ frustum_skip_distance: 0.05
+ frustum_column_clearing: true
+ column_clear_min_height: 0.10
+ column_clear_max_height: -1.0
+ column_skip_distance: 0.02
+ column_cover_distance: -1.0
observation_persistence: 0.0
expected_update_rate: 0.5
obstacle_range: 2.5
diff --git a/launch/depth_local_costmap_test.launch b/launch/depth_local_costmap_test.launch
index 857b119..5e9c605 100644
--- a/launch/depth_local_costmap_test.launch
+++ b/launch/depth_local_costmap_test.launch
@@ -28,6 +28,10 @@
+
+
-
-
-
-
-
+
+
+
+
+
+
+