minwoo0611 / MA-LIO

Asynchronous Multiple LiDAR-Inertial Odometry using Point-wise Inter-LiDAR Uncertainty Propagation
GNU General Public License v2.0
287 stars 36 forks source link

LIO-SAM Park dataset not working #13

Closed saran1504 closed 8 months ago

saran1504 commented 9 months ago

Hi. Good work with the mapping. Everything works fine and I tried with LIO-SAM walking dataset and it works really good. I am testing your system as a part of my thesis and would like to work with the dataset with GPS data. LIO-SAM parking dataset has the GPS data and I am trying to make your system work with that dataset. But unfortunately it is throwing error after few seconds. Could you please help me with this regard? I am not sure how to put the transformations and rotations matrix for the park dataset.

minwoo0611 commented 9 months ago

Hello @saran1504,

Thanks for diving into our system with the LIO-SAM datasets. It's great to hear that the walking dataset is running smoothly for you.

Regarding the parking dataset that incorporates GPS data, I'm here to help. In order to provide the most accurate assistance, I'd appreciate some more information. Could you share more details about the error messages you've encountered and any adjustments or configurations you've made? With that information in hand, I'll be better equipped to guide you through potential solutions.

Awaiting your response, and thanks for your patience!

saran1504 commented 9 months ago

Thanks for your reply. Since park dataset is same as walking with single lidar system I didn't change anything in the code. I just tried to change in the parameters file. I tried to enter the extrinsic T and R values from liosam one. But all I get is a dense point cloud and a curved one. A suggestion was given previously that liosam is lidar to imu and Malio was from imu to lidar and to change 0,1,0 to 0,0,1. I tried that and then the process dies after 70 seconds . I need help with the yaml file to calculate the extrinsic_T and R values. Or is there anything else to change more for the park dataset?

minwoo0611 commented 9 months ago

Given that MA-LIO was primarily designed for a multi-lidar setup, there's a possibility that simply modifying parameters in the yaml file may not yield the desired results. Your mention of the orientation difference between LIO-SAM (lidar to IMU) and MA-LIO (IMU to lidar) is valid, and swapping the axes might be a part of the solution, but it's not the entire picture.

For a more comprehensive adjustment, I'd recommend you to revisit our codebase and ensure you've made the necessary modifications. Here's a link that discusses a similar issue and might offer some insights: https://github.com/minwoo0611/MA-LIO/issues/5.

Regarding the WALKING dataset, I'd be keen to help further, but I'm currently away at the IROS conference. I'll be in a better position to assist more directly after 10/8. I understand the urgency, and I appreciate your patience.

saran1504 commented 9 months ago

Walking dataset is working perfectly and I might not need any help in that. I just need help with the park dataset to work. I will try to look into the issue you mentioned and thank you for your prompt response. Good luck with your conference and I will update here if I have some improvement.

minwoo0611 commented 9 months ago

I'll also upload the results it when I come back to the office.

Thank you for your interest in our project!

The issue will be closed for a while, and will be re-opened if there are additional updates.

minwoo0611 commented 8 months ago

Hello @saran1504,

As promised, I returned to my office and attempted to launch MA-LIO for the park dataset. Based on my findings, everything seems to be working as expected. Attached are the images from LIO-SAM (top) and MA-LIO (bottom).

Selection_1372

Selection_1373

I adhered to the instructions I previously provided, so I'm not sure why it's not functioning in your setup.

If you require the trajectory output from MA-LIO, I can provide it in TUM format.

Thank you.

saran1504 commented 8 months ago

Hi,

Thanks for helping me out. Could you provide me the .yaml file for which the park dataset worked? That might help me.

Thanks, Saran

On Tue, 10 Oct 2023, 02:56 Kevin Jung, @.***> wrote:

Hello @saran1504 https://github.com/saran1504,

As promised, I returned to my office and attempted to launch MA-LIO for the park dataset. Based on my findings, everything seems to be working as expected. Attached are the images from LIO-SAM (top) and MA-LIO (bottom).

[image: Selection_1372] https://user-images.githubusercontent.com/57853087/273744618-0f82f8c3-f757-4f20-8ba1-0ca61b3b0a0b.png

[image: Selection_1373] https://user-images.githubusercontent.com/57853087/273744645-d1907167-b4bb-471d-bdf5-1c7877c9ca47.png

I adhered to the instructions I previously provided, so I'm not sure why it's not functioning in your setup.

If you require the trajectory output from MA-LIO, I can provide it in TUM format.

Thank you.

— Reply to this email directly, view it on GitHub https://github.com/minwoo0611/MA-LIO/issues/13#issuecomment-1754138367, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUFI6MOYQUPXFSP5QNH3BW3X6SMM5AVCNFSM6AAAAAA5HQJQG2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJUGEZTQMZWG4 . You are receiving this because you were mentioned.Message ID: @.***>

minwoo0611 commented 8 months ago

common: lid_topic: ["/points_raw"] lid_type: [2] #1-Livox 2-Velodyne 3-Ouster N_SCANS: [16] point_filter_num: [1] lid_num: 1 imu_topic: "/imu_correct" 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

preprocess: timestamp_unit: 0 # the unit of time/t field in the PointCloud2 rostopic: 0-second, 1-milisecond, 2-microsecond, 3-nanosecond. blind: 0

mapping: acc_cov: 0.011197412605492375 gyr_cov: 0.010270904839480961 b_acc_cov: 0.00011751767903346351 b_gyr_cov: 0.000091355383994881894 fov_degree: 180 det_range: 100.0 extrinsic_est_en: false # true: enable the online estimation of IMU-LiDAR extrinsic, extrinsic_T: [0, 0, 0] extrinsic_R: [1, 0, 0, 0]

publish: path_en: true 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: 300 # 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.

uncertainty: point_cov_max: 0.00125 point_cov_min: 0.00075 plane_cov_max: 1 # 1/2 = 1 plane_cov_min: 0.8 # 1/0.8 = 1.25 localize_cov_max: 2
localize_cov_min: 0.3
localize_thresh_max: 0.7 #upper, max localize_thresh_min: 0.2 #lower, min cov_threshold: 1.0 Hi Saran,

Certainly, here's the .yaml file that I used for the park dataset. If you're still encountering issues after reviewing this file, I'll create a separate branch to upload the version that worked for me. This should aid you in resolving any discrepancies.

Best, Minwoo

saran1504 commented 8 months ago

Hi Minwoo,

The above mentioned parameters worked for me too. There was a small variation in the extrinsic_t which was making my program crash. Thank you so much for helping me out. All the best for your future regards.

Thanks, Saran ᐧ

On Tue, Oct 10, 2023 at 12:26 PM Kevin Jung @.***> wrote:

common: lid_topic: ["/points_raw"] lid_type: [2] #1 https://github.com/minwoo0611/MA-LIO/issues/1-Livox 2-Velodyne 3-Ouster N_SCANS: [16] point_filter_num: [1] lid_num: 1 imu_topic: "/imu_correct" 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

preprocess: timestamp_unit: 0 # the unit of time/t field in the PointCloud2 rostopic: 0-second, 1-milisecond, 2-microsecond, 3-nanosecond. blind: 0

mapping: acc_cov: 0.011197412605492375 gyr_cov: 0.010270904839480961 b_acc_cov: 0.00011751767903346351 b_gyr_cov: 0.000091355383994881894 fov_degree: 180 det_range: 100.0 extrinsic_est_en: false # true: enable the online estimation of IMU-LiDAR extrinsic, extrinsic_T: [0, 0, 0] extrinsic_R: [1, 0, 0, 0]

extrinsic_T: [-0.0, 0.3105, 0.2068, -0.5502, -0.0471, 0.2925 (Ouster), -1.5060, 0.017, 0.024(Velo), 0.0719, -0.4006, 0.0685(Livox)]

extrinsic_R: [0.9997, 0.0007, -0.0108, -0.0232, 0.9999, -0.0028, -0.0028, -0.0108, 1, 0, 0, 0, 0.9998, -0.0115, 0.0023, -0.0188]

publish: path_en: true 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: 300 # 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. uncertainty: point_cov_max: 0.00125 point_cov_min: 0.00075 plane_cov_max: 1 # 1/2 = 1 plane_cov_min: 0.8 # 1/0.8 = 1.25 localize_cov_max: 2 localize_cov_min: 0.3 localize_thresh_max: 0.7 #upper, max localize_thresh_min: 0.2 #lower, min cov_threshold: 1.0 Hi Saran,

Certainly, here's the .yaml file that I used for the park dataset. If you're still encountering issues after reviewing this file, I'll create a separate branch to upload the version that worked for me. This should aid you in resolving any discrepancies.

Best, Minwoo

— Reply to this email directly, view it on GitHub https://github.com/minwoo0611/MA-LIO/issues/13#issuecomment-1754925921, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUFI6MJ5EI3BG7XX5HD55ATX6UPFRAVCNFSM6AAAAAA5HQJQG2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJUHEZDKOJSGE . You are receiving this because you were mentioned.Message ID: @.***>