diff --git a/config/config/costmap_common_params.yaml b/config/config/costmap_common_params.yaml
deleted file mode 100644
index d461596..0000000
--- a/config/config/costmap_common_params.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-robot_base_frame: base_link
-transform_tolerance: 1.0
-performance_metrics_enabled: true
-performance_metrics_period: 5.0
-obstacle_range: 3.0
-publish_voxel_map: true
-footprint_padding: 0.0
-
-obstacles:
- observation_sources: pc_marking pc_clearing
-
- pc_marking:
- topic: /camera/depth/points_proc
- data_type: PointCloud2
- clearing: false
- marking: true
- inf_is_valid: false
- frustum_clearing_enabled: false
- observation_persistence: 0.0
- expected_update_rate: 0.5
- obstacle_range: 2.5
- raytrace_range: 3.0
- min_obstacle_height: 0.1
- max_obstacle_height: 1.0
-
- pc_clearing:
- topic: /camera/depth/data
- data_type: DepthCameraData
- clearing: false
- marking: true
- inf_is_valid: false
- frustum_clearing_enabled: true
- frustum_clearing_pixel_step: 2
- 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: 0.2
- observation_persistence: 0.0
- expected_update_rate: 0.5
- obstacle_range: 2.5
- raytrace_range: 3.5
- min_obstacle_height: 0.1
- max_obstacle_height: 1.0
diff --git a/config/config/costmap_local_params.yaml b/config/config/costmap_local_params.yaml
deleted file mode 100644
index 63c20ce..0000000
--- a/config/config/costmap_local_params.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-local_costmap:
- # Absolute NUC path is intentional for this local test package. It avoids
- # boost::dll resolving a relative value such as "libplugins" to ./libplugins.
- library_path: /home/robotics/DuongTD/dev_ws/devel/lib/libplugins.so
- global_frame: odom
- robot_base_frame: base_link
- update_frequency: 10.0
- publish_frequency: 5.0
- rolling_window: true
- track_unknown_space: false
- raytrace_range: 3.0
- resolution: 0.05
- z_resolution: 0.15
- z_voxels: 8
- width: 8.0
- height: 8.0
- origin_x: 0.0
- origin_y: 0.0
- transform_tolerance: 1.0
- performance_metrics_enabled: true
- performance_metrics_period: 5.0
- footprint_padding: 0.0
- robot_radius: 0.0
- footprint:
- - [0.30, 0.30]
- - [0.30, -0.30]
- - [-0.30, -0.30]
- - [-0.30, 0.30]
-
- inflation:
- cost_scaling_factor: 10.0
- inflation_radius: 0.3
diff --git a/config/config/costmap_local_params_plugins_no_virtual_walls.yaml b/config/config/costmap_local_params_plugins_no_virtual_walls.yaml
deleted file mode 100644
index 2e3b4ab..0000000
--- a/config/config/costmap_local_params_plugins_no_virtual_walls.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-local_costmap:
- frame_id: odom
- plugins:
- - {name: obstacles, type: "VoxelLayer"}
- - {name: inflation, type: "InflationLayer"}
-
- obstacles:
- enabled: true
- footprint_clearing_enabled: true
-
- inflation:
- enabled: true
diff --git a/config/config/costmap_params.yaml b/config/config/costmap_params.yaml
index 716fa00..c9c3cb4 100644
--- a/config/config/costmap_params.yaml
+++ b/config/config/costmap_params.yaml
@@ -1,35 +1,38 @@
robot_costmap_2d:
- # Derived from pnkx_nav_core/config/costmap_local_params.yaml.
- # Machine-specific absolute path: must point at the libplugins.so built in
- # THIS machine's workspace (contains obstacle decay + ray dithering).
- # NUC: /home/robotics/DuongTD/dev_ws/devel/lib/libplugins.so
- library_path: /home/duongtd/T800_ws/devel/lib/libplugins.so
- global_frame: odom
+ global_frame: map
robot_base_frame: base_link
- rolling_window: true
+ rolling_window: false
track_unknown_space: false
plugins:
- # Derived from costmap_local_params_plugins_no_virtual_walls.yaml.
- - name: obstacles
- type: VoxelLayer
- - name: inflation
+ - name: static_layer
+ type: StaticLayer
+
+ - name: inflation_layer
type: InflationLayer
- footprint:
- - [0.30, 0.30]
- - [0.30, -0.30]
- - [-0.30, -0.30]
- - [-0.30, 0.30]
+ - name: obstacle_layer
+ type: ObstacleLayer
- transform_tolerance: 1.0
- performance_metrics_enabled: true
+ - name: voxel_layer
+ type: VoxelLayer
+
+ library_path: ./libplugins.so
+ footprint:
+ - [0.3, 0.3]
+ - [0.3, -0.3]
+ - [-0.3, -0.3]
+ - [-0.3, 0.3]
+
+ transform_tolerance: 0.0
+ performance_metrics_enabled: false
performance_metrics_period: 5.0
- update_frequency: 10.0
- width: 8.0
- height: 8.0
- resolution: 0.05
+ update_frequency: 1.0
+ width: 0.0
+ height: 0.0
+ resolution: 0.0
origin_x: 0.0
origin_y: 0.0
+
footprint_padding: 0.0
robot_radius: 0.0
diff --git a/config/config/inflation_layer_params.yaml b/config/config/inflation_layer_params.yaml
index 1221237..d17193e 100644
--- a/config/config/inflation_layer_params.yaml
+++ b/config/config/inflation_layer_params.yaml
@@ -1,5 +1,5 @@
inflation_layer:
enabled: true
inflate_unknown: false
- cost_scaling_factor: 10.0
- inflation_radius: 0.30
+ cost_scaling_factor: 15.0
+ inflation_radius: 0.55
\ No newline at end of file
diff --git a/config/config/obstacle_layer_params.yaml b/config/config/obstacle_layer_params.yaml
index fc44e34..8fa749a 100644
--- a/config/config/obstacle_layer_params.yaml
+++ b/config/config/obstacle_layer_params.yaml
@@ -1,59 +1,18 @@
obstacle_layer:
- enabled: true
- track_unknown_space: false
- transform_tolerance: 1.0
+ track_unknown_space: true
+ transform_tolerance: 0.2
+ topic: "map"
+ sensor_frame: laser_frame
+ observation_persistence: 0.0
+ expected_update_rate: 0.0
+ data_type: PointCloud
+ min_obstacle_height: 0.0
+ max_obstacle_height: 2.0
+ inf_is_valid: false
+ clearing: false
+ marking: true
+ obstacle_range: 2.5
+ raytrace_range: 3.0
footprint_clearing_enabled: true
combination_method: 1
- # Subset of costmap_common_params.yaml for the topics available in this
- # local depth-camera test.
- observation_sources: pc_marking pc_clearing
-
- pc_marking:
- topic: /camera/depth/points_proc
- data_type: PointCloud2
- clearing: false
- marking: true
- inf_is_valid: false
- frustum_clearing_enabled: false
- observation_persistence: 0.0
- expected_update_rate: 0.5
- obstacle_range: 2.5
- raytrace_range: 3.0
- min_obstacle_height: 0.1
- max_obstacle_height: 1.0
-
- pc_clearing:
- topic: /camera/depth/data
- data_type: DepthCameraData
- clearing: false
- marking: true
- inf_is_valid: false
- frustum_clearing_enabled: true
- frustum_clearing_pixel_step: 2
- 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: 0.2
- observation_persistence: 0.0
- expected_update_rate: 0.5
- obstacle_range: 2.5
- raytrace_range: 3.5
- min_obstacle_height: 0.1
- max_obstacle_height: 1.0
diff --git a/config/config/voxel_layer_params.yaml b/config/config/voxel_layer_params.yaml
index 206182a..d2445cc 100644
--- a/config/config/voxel_layer_params.yaml
+++ b/config/config/voxel_layer_params.yaml
@@ -1,19 +1,10 @@
voxel_layer:
enabled: true
footprint_clearing_enabled: true
- max_obstacle_height: 1.0
+ max_obstacle_height: 3.0
origin_z: 0.0
- z_resolution: 0.15
- z_voxels: 8
+ z_resolution: 0.2
+ z_voxels: 16
unknown_threshold: 15.0
mark_threshold: 0
- combination_method: 1
- # Camera-only ghost handling: LETHAL cells not re-observed for this many
- # seconds are freed. Covers cells frustum clearing can never reach (outside
- # 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
- # 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
+ combination_method: 1
\ No newline at end of file
diff --git a/launch/depth_local_costmap_test.launch b/launch/depth_local_costmap_test.launch
index 9b361ec..5a263ba 100644
--- a/launch/depth_local_costmap_test.launch
+++ b/launch/depth_local_costmap_test.launch
@@ -17,10 +17,9 @@
-
-
+
+
@@ -37,6 +36,13 @@
still get cleared). -->
+
+
+