jedeschaud / ct_icp

CT-ICP: Continuous-Time LiDAR Odometry
MIT License
737 stars 126 forks source link

How to run with pyLiDAR-SLAM on KITTI-corrected? #54

Open samsdolphin opened 1 year ago

samsdolphin commented 1 year ago

Hello authors. Thank you all for your excellent work. It's amazing!

I can reproduce the results of KITTI-corrected in your paper (Table I), and I wish to run your ct_icp with pyLiDAR-SLAM (as it produces a loop closure function if I understand your code correctly). However, in your repo and pyLiDAR-SLAM, I cannot find any script to execute pyLiDAR-SLAM with your ct_icp module.

Could you please let me know how to run it or if you could directly upload the pose results of KITTI-corrected (with loop closure)?

I sincerely appreciate your work and consideration! Thanks again!

pdell-kitware commented 1 year ago

Hi, I'll get back to you on this I soon as I can (Hopefully by the end of the week) !

samsdolphin commented 1 year ago

Hi, I'll get back to you on this I soon as I can (Hopefully by the end of the week) !

Thank you sooooooooooooo much! This is really important to me!

estevcan commented 1 year ago

@samsdolphin Did you get the help about this?

pdell-kitware commented 1 year ago

Hi, sorry it takes a little more time than expected.. Still on this

samsdolphin commented 1 year ago

@samsdolphin Did you get the help about this?

Hi @EstevanCandido, I managed to run it using the script below, but the results are worse than expected.

python3 run.py dataset=rosbag dataset.main_topic=velodyne_points dataset.file_path=/media/sam/T7/KITTI/06/06.bag slam/odometry=ct_icp slam/loop_closure=elevation_image slam/backend=graph_slam device=cuda:0 num_workers=8

So I write a scan-context-based loop closure ROS node and publish the point clouds and the corresponding poses generated from ct_icp in another node. If you wish, I could open-source it. You can tune the parameters by yourself. The odometry results are improved from the ct_icp (without loop closure) and are much better than those using the pyLiDAR-SLAM script above.

Forrest-110 commented 1 year ago

Hi,@samsdolphin, it's wonderful that you have written scan-context-based loop closure code. I'm wondering if you could open-source it. I would be very grateful.

samsdolphin commented 1 year ago

Hi,@samsdolphin, it's wonderful that you have written scan-context-based loop closure code. I'm wondering if you could open-source it. I would be very grateful.

@Forrest-110, sure, give me some time, maybe this weekend.

Forrest-110 commented 1 year ago

@samsdolphin Thank you so much!

samsdolphin commented 1 year ago

Hi @Forrest-110, I have created a repository called sc_ct_icp which functions as described above.

Forrest-110 commented 1 year ago

Hi @Forrest-110, I have created a repository called sc_ct_icp which functions as described above.

Hi, @samsdolphin . Thanks a lot. Your work is EXCELLENT!

Forrest-110 commented 1 year ago

@samsdolphin Did you get the help about this?

Hi @estevancandido, I managed to run it using the script below, but the results are worse than expected.

python3 run.py dataset=rosbag dataset.main_topic=velodyne_points dataset.file_path=/media/sam/T7/KITTI/06/06.bag slam/odometry=ct_icp slam/loop_closure=elevation_image slam/backend=graph_slam device=cuda:0 num_workers=8

So I write a scan-context-based loop closure ROS node and publish the point clouds and the corresponding poses generated from ct_icp in another node. If you wish, I could open-source it. You can tune the parameters by yourself. The odometry results are improved from the ct_icp (without loop closure) and are much better than those using the pyLiDAR-SLAM script above.

Hi, @samsdolphin . Sorry to bother you again.

I'm also attempting to reproduce the loop closure results using pyLidar-SLAM, but it seems that currently ct-icp python binding is broken. I tried the old-master version of CT-ICP, but when I run pyLIDAR-SLAM using "python run.py slam/odometry=ct-icp ...", it says "In slam, Could not find 'slam/odometry/ct-icp'". It seems that the config file of CT-ICP in pyLIDAR-SLAM is missing.

Do you have any ideas? Thanks again for your kindness!

samsdolphin commented 1 year ago

@samsdolphin Did you get the help about this?

Hi @estevancandido, I managed to run it using the script below, but the results are worse than expected. python3 run.py dataset=rosbag dataset.main_topic=velodyne_points dataset.file_path=/media/sam/T7/KITTI/06/06.bag slam/odometry=ct_icp slam/loop_closure=elevation_image slam/backend=graph_slam device=cuda:0 num_workers=8 So I write a scan-context-based loop closure ROS node and publish the point clouds and the corresponding poses generated from ct_icp in another node. If you wish, I could open-source it. You can tune the parameters by yourself. The odometry results are improved from the ct_icp (without loop closure) and are much better than those using the pyLiDAR-SLAM script above.

Hi, @samsdolphin . Sorry to bother you again.

I'm also attempting to reproduce the loop closure results using pyLidar-SLAM, but it seems that currently ct-icp python binding is broken. I tried the old-master version of CT-ICP, but when I run pyLIDAR-SLAM using "python run.py slam/odometry=ct-icp ...", it says "In slam, Could not find 'slam/odometry/ct-icp'". It seems that the config file of CT-ICP in pyLIDAR-SLAM is missing.

Do you have any ideas? Thanks again for your kindness!

Hi @Forrest-110, I am sorry, I don't have any spare time on this issue. I think as long as you can run the original ct_icp code, you don't need to care too much about using pyLiDAR-SLAM to perform the loop closure.