Skip to content

Fails to map during motion, works in LiDAR_IMU_Init but not here #57

Description

@yakultbottle

Hi, I am attempting to map in simulation using a humanoid robot in Isaac Sim and FAST_LIO. I recorded a rosbag of the movement, and when playing it back the scans become incoherent after movement, when the robot turns and tilts forward/backwards.

Image

Before moving

Image

After moving

When attempting to calibrate the extrinsic, I found that LiDAR_IMU_Init can produce a coherent map.

Image

However, even after setting the extrinsic and fiddling with the config I still cannot produce a coherent map using FAST_LIO. Here is the configuration I am using:

/**:
    ros__parameters:
        feature_extract_enable: false
        point_filter_num: 1
        max_iteration: 3
        filter_size_surf: 0.05
        filter_size_map: 0.15
        cube_side_length: 1000.0
        runtime_pos_log_enable: false
        map_file_path: "./test.pcd"

        common:
            lid_topic:  "/point_cloud"
            imu_topic:  "/imu"
            time_sync_en: false         # ONLY turn on when external time synchronization is really not possible
            # time_offset_lidar_to_imu: 0.0 # Time offset between lidar and IMU calibrated by other algorithms, e.g. LI-Init (can be found in README).
                                        # This param will take effect no matter what time_sync_en is. So if the time offset is not known exactly, please set as 0.0
            time_offset_lidar_to_imu: -0.039862

        preprocess:
            lidar_type: 4 # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR, 4 for any other pointcloud input
            scan_line:  6
            blind: 1.0
            timestamp_unit: 4
            scan_rate: 10

        mapping:
            acc_cov: 2.0
            gyr_cov: 2.0
            b_acc_cov: 0.0001
            b_gyr_cov: 0.0001
            fov_degree:    360.0
            det_range:     100.0
            extrinsic_est_en:  false      # true: enable the online estimation of IMU-LiDAR extrinsic
            extrinsic_T: [ -0.013481,  0.014976,  0.247690 ]   # lidar_imu_init
            extrinsic_R: [
                 0.999270,  0.033314,  0.018680,
                -0.032879,  0.999191, -0.023149,
                -0.019436,  0.022518,  0.999557,
            ]

        publish:
            path_en: true                # true: publish Path
            effect_map_en: false         # true: publish Effects
            map_en: true                 # true: publish Map cloud
            scan_publish_en:  true       # false: close all the point cloud output
            dense_publish_en: true       # false: low down the points number in a global-frame point clouds scan.
            scan_bodyframe_pub_en: true  # true: output the point cloud scans in IMU-body-frame

        pcd_save:
            pcd_save_en: false
            interval: -1                 # how many LiDAR frames saved in each pcd file; 
                                        # -1 : all frames will be saved in ONE pcd file, may lead to memory crash when having too much frames.

Do you have any tips on how to debug this/what I can try?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions