Closed minxuanjun closed 1 year ago
Hi minxuanjun,
Thanks for reporting this issue! We also noticed that some of the example configs are outdated and are preparing a new release that resolves this on the feature/config_schema
branch, together with tooling to automatically check configs and make them easier to work with. We plan to finish and merge these changes next week.
Note that setting the sensor_frame_id
is optional. If you don't set it, wavemap will use the frame_id indicated in the pointlcoud message's header.frame_id field. The option to set it manually is there to make it easier to work with drivers that don't set the frame_id properly or customized setups.
Great!
Closing this issue as it is resolved by release v1.4.0. If the issue is not fully resolved, please feel free to reopen this issue. Thanks again for reporting this @minxuanjun!
Have you ever used this great mapping library using solid-state Lidar (e.g. Livox horizon or Livox Mid-40, etc)? Thanks for your time! @minxuanjun
@YoungCapta1n, we haven't tried wavemap with Livox Horizon or Mid-40 LiDARs yet, but it should work well. I'd recommend trying the spherical projection model with the elevation
and azimuth
's min_angle
and max_angle
set to match the vertical and horizontal FoV's specified in the sensor's datasheet. For num_cells
you could experiment a bit, for example starting at 512 and increasing or decreasing it until the projected image looks good. You can enable publishing of the projected image by uncommenting/adding projected_range_image_topic_name: "/wavemap/projected_range_image"
to your config and visualizing /wavemap/projected_range_image
in Rviz or rqt_image_view. If you share your config and some screenshots of the image you get on /wavemap/projected_range_image
here, I'd be happy to help you tune it.
Thanks a lot! I will try wavemap with Livox Horizon as soon as possible, and share the mapping results and config files. @victorreijgwart
Hi Dr. Victor Reijgwart @victorreijgwart , I've tried to run a real-time mapping demo using Livox Horizon, where the livox-driver (instead of livox-driver2) are used.
source devel/setup.bash
roslaunch fast_lio mapping_horizon.launch
roslaunch livox_ros_driver livox_lidar_msg.launch bd_list:="3WEDH760010477"
roslaunch wavemap_ros livox_horizon.launch
The fast-lio launch file
The livox driver launch file
The wavemap launch file
The tf results frames.pdf
The livox-driver and fast-lio run normally. However, the mapping results are not shown in RVIZ, as shown
Thanks for your time!
Hi @YoungCapta1n,
It seems there is an issue with the time stamps. In the frames.pdf file you shared, the "Most recent transform" timestamps for the imu_forward_prop
to livox_frame
transform, and the camera_init
to imu_forward_prop
transform should be close. At the moment, they're very far apart - seemingly starting from different initialization timestamps.
Are you running the demo on live data, or using recorded data (e.g. from a rosbag or .lvx file)? From the files you shared, it seems that you are running it on live data but it's hard to tell from screenshots.
As a side question, are you using wavemap in Docker, or are you running it directly on the host?
Hi @victorreijgwart
The wavemap is running directly on the host with live data. I have tried the demo using Livox Mid360, it works well.
Hi @YoungCapta1n,
Would it be possible for you to share a rosbag with me for debugging? If so, could you include the following topics:
# All the inputs for wavemap, e.g.
"/livox/lidar"
"/livox/imu"
# The topics needed to lookup TFs
/tf
/tf_static
And could you also share your $(wavemap_ros)/config/wavemap_livox_horizon.yaml
file? Ideally as a code block instead of a screenshot - then I can run it without having to retype its contents.
Thank your great work! I test your project in lixel mid360. I find you may don't update the config lixel_mind360.yaml in time
`map: general: world_frame: "odom" thresholding_period: { seconds: 2.0 } pruning_period: { seconds: 10.0 } visualization_period: { seconds: 2.0 } data_structure: type: "hashed_chunked_wavelet_octree" min_cell_width: { meters: 0.2 }
inputs:
projected_range_image_topic_name: "/wavemap/projected_range_image"
integrators:
NOTE: For best results, we recommend setting range_sigma to
max(min_cell_width / 2, ouster_noise) where ouster_noise = 0.05
range_sigma: { meters: 0.05 } scaling_free: 0.2 scaling_occupied: 0.4 ` . And I find you forgot to set sensor_frame_id in yaml.