hku-mars / FAST-LIVO

A Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry (LIVO).
GNU General Public License v2.0
1.08k stars 175 forks source link

About 360 spinning LiDAR .. @xuankuzcr #48

Closed nuyhead-hwang closed 1 year ago

nuyhead-hwang commented 1 year ago

Hello? Could you please check this issue again ?
@xuankuzcr

I also tried to test the HILTI 2021 dataset.

But trajectory which is estimated by FAST-LIVO very unstable and eventually diverged.

I set the parameters provided here as shown in the code below. but FAST-LIVO diverge during the dataset playback.

feature_extract_enable : 0 point_filter_num : 4 max_iteration : 3 dense_map_enable : 1 filter_size_surf : 0.3 # 0.3 filter_size_map : 0.3 # 0.4 cube_side_length : 1000 debug : 1 grid_size : 40 patch_size : 8 img_enable : 1 lidar_enable : 1 outlier_threshold : 50 ncc_en: true ncc_thre: 0.5 img_point_cov : 1000 laser_point_cov : 0.001 cam_fx: 696.7174426776 cam_fy: 696.4862496732 cam_cx: 708.4206218964 cam_cy: 535.6712007522 common: lid_topic: "/os_cloud_node/points" imu_topic: "/os_cloud_node/imu" preprocess: lidar_type: 3 # Ouster scan_line: 64 blind: 1 # blind x m disable mapping: acc_cov_scale: 100 #10 gyr_cov_scale: 10000 #10 fov_degree: 180 extrinsic_T: [ 0.0, 0.0, 0.0] extrinsic_R: [ 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0] camera: img_topic: /alphasense/cam1/image_raw Rcl: [0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 0.0, -1.0, 0.0] Pcl: [0.054, 0.137, -0.040]

And there is no part where the lens distortion is processed in the code. why is that ?

And when the 3D point cloud of the rotating LiDAR is re-projected onto the image, how to deal with rear area pointclouds that are not visible in the image ?

Originally posted by @vislero in https://github.com/hku-mars/FAST-LIVO/issues/37#issuecomment-1436348480

xuankuzcr commented 1 year ago

First of all, the camera projection module should be changed to Hilti's distortion model Equistant. Besides, the processing of lens distortion is overloaded in vikit library, i.e., world2cam and cam2world. As for the points that are not visible in the image, we will not use them in the VIO submodule.