lardemua / atom

Calibration tools for multi-sensor, multi-modal robotic systems
GNU General Public License v3.0
252 stars 26 forks source link

Implement ICP calibration from open3d #463

Closed miguelriemoliveira closed 2 years ago

manuelgitgomes commented 2 years ago
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            #                       RMS                   Avg Error                 X Error                  Y Error           X Standard Deviation     Y Standard Deviation   
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            0                    18.927004                 17.5544                  11.7908                  12.9378                  5.0388                   5.1415          
            1                    19.410969                 18.2264                  12.1848                  13.4483                  4.7195                   5.0185          
            2                    20.383467                 18.2107                  8.8713                   15.6586                  4.5883                   8.3990          
            3                    22.291517                 20.5651                  10.9033                  17.2272                  2.9521                   8.5169          
            4                    20.934618                 19.2695                  10.4781                  15.9276                  3.9554                   7.6900          
            6                    13.107710                 10.9419                  7.1900                   7.5416                   4.4747                   6.5740          
            7                    17.787085                 16.2673                  7.3686                   13.1153                  2.5290                   9.1475          
            8                    19.296862                 17.4998                  6.7574                   14.6447                  3.4188                   10.0275         
            9                    14.091947                 12.9153                  4.6321                   10.7040                  2.1159                   7.6207          
           10                    14.540849                 13.0912                  6.7350                   9.8977                   3.3842                   7.5272          
           13                    19.025303                 16.5046                  12.2485                  10.6210                  7.4892                   6.5606          
           14                    19.890936                 17.6745                  10.3300                  14.0337                  4.3642                   8.5411          
           15                    15.077318                 14.4956                  8.0353                   11.6555                  3.1895                   4.0908          
           16                    14.223476                 12.9610                  9.0021                   8.5019                   4.4561                   5.3973          
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
           All                   12.591181                 21.2132                  8.8212                   12.3920                  4.8302                   7.8974          
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

For the same initial estimate, this was the result. It's bad, but not as bad as yours. Let me try it with manual alignment.

danifpdra commented 2 years ago

How did I not obtain that?

danifpdra commented 2 years ago

Maybe you improved your datasets and they are different?

manuelgitgomes commented 2 years ago

Maybe you improved your datasets and they are different?

That might be it! I spent some time on dataset reviewer for both train and test dataset

danifpdra commented 2 years ago

rosrun atom_evaluation icp_calibration.py -j $ATOM_DATASETS/larcc_sim/train_dataset/dataset_corrected.json -ss depth_camera_1 -st lidar_2 -nig 0.1 0.1 -seed 2

yeah, maybe that's difference :/

manuelgitgomes commented 2 years ago

rosrun atom_evaluation lidar_to_depth_evaluation -train_json $ATOM_DATASETS/larcc_sim/train_dataset/ICPCalibration_average_depth_camera_1_lidar_2.json -test_json $ATOM_DATASETS/larcc_real/test_dataset/dataset.json -ld lidar_2 -cs depth_camera_1

You were comparing a simulation calibration with a real test dataset! That might be it!

danifpdra commented 2 years ago

Again, that was a me coping the wrong command...

image

manuelgitgomes commented 2 years ago

If you want, I can do it!

danifpdra commented 2 years ago

If you want, I can do it!

I know you have a lot to do... I just don't understand why the values are so different between you and me. It doesn't make sense to put this on the paper if I'm doing it wrong

manuelgitgomes commented 2 years ago

I just don't understand why the values are so different between you and me

Neither do I.

It doesn't make sense to put this on the paper if I'm doing it wrong

Then I can do it. It's only three calibration procedures!

danifpdra commented 2 years ago

I just don't understand why the values are so different between you and me

Neither do I.

I'm sure I must be doing something wrong.

It doesn't make sense to put this on the paper if I'm doing it wrong

Then I can do it. It's only three calibration procedures!

It's actually 6... 3 for simulation and 3 for real.

miguelriemoliveira commented 2 years ago

Thanks to both. If you need help let me know.

miguelriemoliveira commented 2 years ago

Thanks Manuel. Looks good.

On Sun, May 22, 2022, 20:44 Manuel Gomes @.***> wrote:

Hello! I corrected the bug and added some suggestions:

  • Now manual alignment is a flag from argparse -ma, which only runs if called. This results in only 2 calibrations being saved now, the average and the best one. If no -ma flag is presented, it uses the initial estimate. If it is present, manual alignment takes place and that is used as a starting point
  • The subsampling is now a flag from argparse -ssd, where the user can define the subsampling it wants, due to the demanding computational capacity needed to run with all the points generated by the depth image
  • The function depthToPointArray has been renamed to depthToNPArray, and no longer has the full_image input. It now demands the indexes to be converted as an input
  • All functions are in camelCase (#475 https://github.com/lardemua/atom/issues/475)
  • Better comments

I believe this is it. Tommorow I will take some results!

— Reply to this email directly, view it on GitHub https://github.com/lardemua/atom/issues/463#issuecomment-1133960925, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACWTHVTQVRBMGPACTUHXIH3VLKFDHANCNFSM5WITGVUA . You are receiving this because you were mentioned.Message ID: @.***>