-
Notifications
You must be signed in to change notification settings - Fork 52
Description
Hi,
I am currently using wavemap with a depth image as input. The issue I am facing is that occupied voxels are missing (not appearing) on the wavemap output, depending on the resolution chosen.
Configuration file:
File: wavemap_depth_camera.yaml
depth_scale: 1
general:
world_frame: "odom"
logging_level: debug
allow_reset_map_service: true
map:
type: hashed_chunked_wavelet_octree
min_cell_width: { meters: 0.06 } #{ meters: 0.02 original}
map_operations:
- type: threshold_map
once_every: { seconds: 0.2 }
- type: prune_map
once_every: { seconds: 5 }
- type: publish_map
once_every: { seconds: 0.1 }
measurement_integrators:
ACCC8EBBB1E5:
projection_model:
width: 1920
height: 1080
fx: 1085.4730379734315
fy: 1085.4730379734315
cx: 959.5
cy: 539.5
type: pinhole_camera_projector
measurement_model:
type: continuous_ray
range_sigma:
meters: 0.01
scaling_free: 0.5
scaling_occupied: 0.999
integration_method:
type: hashed_chunked_wavelet_integrator
min_range:
meters: 0.1
max_range:
meters: 70.0
inputs:
- type: depth_image_topic
topic_name: /camera_depth_image/ACCC8EBBB1E5
measurement_integrator_names: ACCC8EBBB1E5
topic_queue_length: 10
max_wait_for_pose:
seconds: 1.0
Lunch file:
src/wavemap/interfaces/ros1/wavemap_ros/launch/wavemap_server.launch
Command
roslaunch wavemap_server.launch param_file:=/path_to_config/wavemap_depth_camera.yaml
Depth image input:
For instance, using the following configuration with the min_cell_width: { meters: 0.06 }
, I get the following output:
In the output above, the wall on the left (marked with the left arrow) should have occupied voxels, but it is empty. The same issue occurs with the floor that has occupied voxels closer to the sensor, but further away from the sensor, the floor disappears (arrow on the right).
However, if I increase the resolution min_cell_width: { meters: 0.02 }
, the above problems do not occur anymore, as seen in the picture below:
Given the runtime requirements of my application, I would prefer using the 0.06 cell width, which has the issue.
I looked at the code, but I still didn't fully understand why this is happening. My guess is that with the lower voxel resolution (0.06) the voxels are being cleared during the projective integration. For some reason, this clearing effect doesn't happen in the higher voxel resolution (0.02).
I appreciate any help to address and/or explain this issue.
I can send a bag file with the data I am using if it helps to understand the problem and debug.