-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Summary:
- Using ATOM framework to perform full calibration of a mobile manipulator with two cameras, one on the AGV and other on the end-effector of the manipulator and one 3D lidar on the AGV.
- Aims to determine the transformations:
- Manipulator arm base w.r.t. the AGV.
- RGB1 w.r.t. the AGV.
- RGB2 w.r.t. the end-effector.
- 3D Lidar w.r.t. the AGV
- The cameras used was a depth astra.
- The 3D lidar is a velodyne VLP 16.
- The calibration used a total of 30 collections.
- The output is a URDF file with the optimized poses of the sensors.
Calibration tree and Transformations:
Videos:
- Run calibration: https://youtu.be/VhpOOK9JeKo
- Correct Lidar data: https://youtu.be/OVAJ7TNBcyc
- Annotate pattern borders: https://youtu.be/qSARjm1FXBg
- Evaluation procedure:
- Lidar to AGV camera: https://youtu.be/BIjOIW_AI8I
Calibration Results per collection:
| Collection | camera (px) | camera_mb (px) | velodyne (m) |
|---|---|---|---|
| 000 | 0.5561 | 0.5320 | 0.0064 |
| 001 | 0.5263 | 0.5386 | 0.0064 |
| 002 | 0.5308 | 0.5346 | 0.0065 |
| 003 | 0.4642 | 0.5373 | 0.0060 |
| 004 | 0.6165 | 0.5390 | 0.0066 |
| 005 | 0.4792 | 0.5398 | 0.0062 |
| 007 | 0.5577 | 0.7607 | 0.0064 |
| 008 | 0.5560 | 0.6584 | 0.0062 |
| 009 | 1.0303 | 0.6434 | 0.0062 |
| 010 | 0.7677 | 0.6300 | 0.0067 |
| 011 | 0.5588 | 0.6184 | 0.0064 |
| 012 | 0.4670 | 0.6080 | 0.0064 |
| 013 | 0.2949 | 0.4613 | 0.0064 |
| 014 | 0.3067 | 0.4478 | 0.0067 |
| 015 | 0.2968 | 0.2064 | 0.0063 |
| 016 | 4.0170 | 3.8441 | 0.0088 |
| 017 | 3.0238 | 3.0225 | 0.0086 |
| 018 | 0.4867 | 0.5048 | 0.0064 |
| 019 | 0.4108 | 0.6225 | 0.0069 |
| 020 | 0.3086 | 0.4979 | 0.0064 |
| 021 | 0.3161 | 0.4620 | 0.0062 |
| 022 | 0.3217 | 0.4307 | 0.0069 |
| 023 | 0.8256 | 0.4673 | 0.0062 |
| 024 | 0.4339 | 0.4116 | 0.0061 |
| 025 | 0.7071 | 0.6554 | 0.0065 |
| 026 | 0.5492 | 0.9245 | 0.0063 |
| 027 | 0.6525 | 1.0532 | 0.0062 |
| 028 | 0.9089 | 1.1664 | 0.0061 |
| 029 | 0.7902 | 1.1462 | 0.0063 |
| 030 | 0.7275 | 1.0891 | 0.0065 |
| Averages | 0.7496 | 0.8185 | 0.0065 |
Results from the simulation using noise initial guess nig 0.1 0.1
Ground truth frame evaluations using different datasets
rosrun atom_evaluation ground_truth_frame_evaluation -train_json /home/jorge/datasets/e6_mm/atom_calibration_nig_0.1_0.1.json -test_json /home/jorge/datasets/e6_mm/dataset_corrected.json
| frame # | Xcal-Xgt (mm) | Ycal-Ygt (mm) | Zcal-Zgt (mm) | Roll_cal-Roll_gt (deg) | Pitch_cal-Pitch_gt (deg) | Yaw_cal-Yaw_gt (deg) | Average - Trans | Average - Rot |
|---|---|---|---|---|---|---|---|---|
| base_link_mb_to_base_link | 9.2194 | 9.1957 | 17.4085 | 0.0491 | 0.0806 | 0.0806 | 21.7397 | 0.1924 |
| camera | 7.0570 | 20.7202 | 0.9205 | 0.0659 | 0.0101 | 0.0101 | 16.6333 | 0.3626 |
| camera_mb | 0.6239 | 22.4860 | 23.8324 | 0.0559 | 0.2354 | 0.2354 | 32.7719 | 0.4130 |
| velodyne | 1.7709 | 4.6873 | 26.4831 | 0.2674 | 0.0021 | 0.0021 | 26.9529 | 0.2849 |
Lidar to AGV camera evaluation (same dataset - Atom_calibration)
rosrun atom_evaluation lidar_to_rgb_evaluation -train_json /home/jorge/datasets/e6_mm/atom_calibration_nig_0.1_0.1.json -test_json /home/jorge/datasets/e6_mm/atom_calibration_nig_0.1_0.1.json -cs camera_mb -rs velodyne -si
| Collection # | RMS (pix) | X err (pix) | Y err (pix) |
|---|---|---|---|
| 000 | 5.0165 | 3.1572 | 1.4601 |
| 001 | 5.5321 | 3.7744 | 1.4089 |
| 002 | 5.4894 | 3.9398 | 1.4221 |
| 003 | 3.6184 | 2.5606 | 1.0372 |
| 004 | 4.6210 | 3.5103 | 1.3770 |
| 005 | 2.6547 | 1.7478 | 0.7602 |
| 007 | 5.8273 | 3.5149 | 1.3806 |
| 008 | 4.9740 | 3.2375 | 1.3606 |
| 009 | 4.3480 | 2.8449 | 1.4139 |
| 010 | 6.3855 | 4.2268 | 1.5991 |
| 011 | 4.4527 | 3.0954 | 1.4694 |
| 012 | 4.8573 | 3.4109 | 1.4984 |
| 013 | 4.1894 | 2.8002 | 1.5317 |
| 014 | 4.3140 | 3.0491 | 1.4918 |
| 015 | 4.9254 | 3.1945 | 1.5025 |
| 016 | 2.1563 | 1.4797 | 0.5857 |
| 017 | 14.7812 | 3.3613 | 2.8118 |
| 018 | 22.8064 | 4.7569 | 5.0110 |
| 019 | 13.5416 | 4.4927 | 3.0352 |
| 020 | 4.2044 | 2.8963 | 1.3374 |
| 021 | 5.0278 | 3.3680 | 1.6414 |
| 022 | 14.8617 | 4.3641 | 4.0795 |
| 023 | 4.6806 | 3.5092 | 1.3324 |
| 024 | 5.2491 | 3.9192 | 1.3333 |
| 025 | 4.3652 | 2.9279 | 1.5166 |
| 026 | 5.1675 | 3.4426 | 2.0363 |
| 027 | 5.3017 | 3.4275 | 1.5963 |
| 028 | 4.1694 | 2.5320 | 1.9037 |
| 029 | 4.6223 | 3.0918 | 1.6882 |
| 030 | 4.3390 | 2.7611 | 1.8345 |
| Averages | 6.2160 | 3.2798 | 1.7486 |
Lidar to AGV camera evaluation (different dataset - Dataset_corrected vs Atom_calibration)
rosrun atom_evaluation lidar_to_rgb_evaluation -train_json /home/jorge/datasets/e6_mm/atom_calibration_nig_0.1_0.1.json -test_json /home/jorge/datasets/e6_mm/dataset_corrected.json -cs camera_mb -rs velodyne -si
| Collection # | RMS (pix) | X err (pix) | Y err (pix) |
|---|---|---|---|
| 000 | 5.0165 | 3.1572 | 1.4601 |
| 001 | 5.5321 | 3.7744 | 1.4089 |
| 002 | 5.4894 | 3.9398 | 1.4221 |
| 003 | 3.6184 | 2.5606 | 1.0372 |
| 004 | 4.6210 | 3.5103 | 1.3770 |
| 005 | 2.6547 | 1.7478 | 0.7602 |
| 006 | 4.8705 | 3.3760 | 1.6965 |
| 007 | 5.8273 | 3.5149 | 1.3806 |
| 008 | 4.9740 | 3.2375 | 1.3606 |
| 009 | 4.3480 | 2.8449 | 1.4139 |
| 010 | 6.3855 | 4.2268 | 1.5991 |
| 011 | 4.4527 | 3.0954 | 1.4694 |
| 012 | 4.8573 | 3.4109 | 1.4984 |
| 013 | 4.1894 | 2.8002 | 1.5317 |
| 014 | 4.3140 | 3.0491 | 1.4918 |
| 015 | 4.9254 | 3.1945 | 1.5025 |
| 016 | 2.1563 | 1.4797 | 0.5857 |
| 017 | 14.7812 | 3.3613 | 2.8118 |
| 018 | 22.8064 | 4.7569 | 5.0110 |
| 019 | 13.5416 | 4.4927 | 3.0352 |
| 020 | 4.2044 | 2.8963 | 1.3374 |
| 021 | 5.0278 | 3.3680 | 1.6414 |
| 022 | 14.8617 | 4.3641 | 4.0795 |
| 023 | 4.6806 | 3.5092 | 1.3324 |
| 024 | 5.2491 | 3.9192 | 1.3333 |
| 025 | 4.3652 | 2.9279 | 1.5166 |
| 026 | 5.1675 | 3.4426 | 2.0363 |
| 027 | 5.3017 | 3.4275 | 1.5963 |
| 028 | 4.1694 | 2.5320 | 1.9037 |
| 029 | 4.6223 | 3.0918 | 1.6882 |
| 030 | 4.3390 | 2.7611 | 1.8345 |
| Averages | 6.1726 | 3.2829 | 1.7469 |
Eye-on-hand camera to AGV camera evaluation using different datasets (Dataset_corrected vs Atom_calibration)
rosrun atom_evaluation rgb_to_rgb_evaluation -train_json ~/datasets/e6_mm/atom_calibration_nig_0.1_0.1.json -test_json ~/datasets/e6_mm/dataset_corrected.json -ss camera -st camera_mb -si
| Collection # | RMS (pix) | X err (pix) | Y err (pix) | Trans (mm) | Rot (deg) |
|---|---|---|---|---|---|
| 000 | 11.6271 | 3.1841 | 11.1411 | 21.7989 | 0.4879 |
| 001 | 11.2983 | 3.0497 | 10.8327 | 21.3140 | 0.6549 |
| 002 | 11.1305 | 3.2751 | 10.5919 | 21.2879 | 0.5673 |
| 003 | 10.9073 | 3.0797 | 10.4086 | 20.2596 | 0.5703 |
| 004 | 10.5472 | 2.7682 | 10.1234 | 19.7930 | 0.5297 |
| 005 | 10.8627 | 2.9775 | 10.3927 | 20.4319 | 0.2385 |
| 006 | 17.1305 | 6.7124 | 14.2736 | 44.0573 | 0.2735 |
| 007 | 11.4810 | 3.2152 | 10.9508 | 20.6005 | 0.2654 |
| 008 | 11.5334 | 3.2563 | 11.0081 | 20.6385 | 0.2318 |
| 009 | 12.5853 | 3.7899 | 11.9621 | 24.2876 | 0.3319 |
| 010 | 12.2648 | 3.6596 | 11.6532 | 22.9485 | 0.3181 |
| 011 | 11.3285 | 3.1671 | 10.8179 | 20.4061 | 0.3992 |
| 012 | 11.7637 | 3.4383 | 11.1925 | 21.9481 | 0.2730 |
| 013 | 8.8461 | 2.8193 | 8.3511 | 21.5170 | 0.2380 |
| 014 | 8.7551 | 2.8603 | 8.2447 | 21.2991 | 0.2855 |
| 015 | 10.9730 | 3.0474 | 10.4928 | 21.9112 | 0.2779 |
| 016 | 8.8780 | 1.9557 | 8.6431 | 22.0899 | 0.2633 |
| 017 | 10.2374 | 2.3822 | 9.9146 | 21.5578 | 0.1848 |
| 018 | 9.5924 | 2.4406 | 9.2279 | 21.7952 | 0.2006 |
| 019 | 8.4827 | 2.5767 | 8.0577 | 20.9860 | 0.3444 |
| 020 | 8.7680 | 2.7013 | 8.3145 | 21.3158 | 0.2217 |
| 021 | 8.8530 | 2.7921 | 8.3737 | 21.2475 | 0.2372 |
| 022 | 8.8320 | 2.7925 | 8.3514 | 21.3483 | 0.1548 |
| 023 | 10.8246 | 2.1211 | 10.5724 | 21.4396 | 0.1816 |
| 024 | 10.8400 | 2.7784 | 10.4344 | 21.5516 | 0.1654 |
| 025 | 7.6109 | 2.8939 | 7.0050 | 20.0794 | 0.3764 |
| 026 | 7.6934 | 2.6334 | 7.2030 | 19.6203 | 0.1774 |
| 027 | 7.5142 | 2.5460 | 7.0364 | 19.7528 | 0.3131 |
| 028 | 7.5469 | 3.2641 | 6.7746 | 20.8182 | 0.9315 |
| 029 | 7.4710 | 2.7430 | 6.9286 | 20.2663 | 0.7569 |
| 030 | 7.6381 | 2.5936 | 7.1571 | 20.3221 | 0.5538 |
| Averages | 10.1231 | 3.0166 | 9.5623 | 21.8932 | 0.3550 |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation


