CalibrationTools icon indicating copy to clipboard operation
CalibrationTools copied to clipboard

feat(marker_radar_lidar_calibrator): marker_radar_lidar_calibrator support for different radar msgs and transformation algorithms

Open vividf opened this issue 1 year ago • 2 comments

Description

Our previous tools assumed that radar has no elevation and we provided two algorithms:

  1. Yaw-only calibration
  2. x,y, yaw calibration

With elevation, we can get the full 6D pose. However, some sensors may impose restrictions on the orientation. In particular, the ARS548 imposes roll=0 for its object interface. We need an algorithm that easily accommodates this new restriction.

With this PR, we provide four algorithms

  1. Yaw-only calibration (yaw_only_rotation_2d)
  2. x,y, yaw calibration (svd_2d)
  3. 3d calibration (svd_3d)
  4. 3d transformation with roll is restricted to zero (roll_zero_3d)

and two different input msg-type for radar

  1. radar_tracks
  2. radar_scan

Additionally, this PR also includes the xx1 gen2 project in the sensor_calibration_manager.

Related links

Tests performed

Notes for reviewers

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

  • [ ] The PR follows the pull request guidelines.
  • [ ] The PR has been properly tested.
  • [ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • [ ] There are no open discussions or they are tracked via tickets.
  • [ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

vividf avatar Apr 12 '24 07:04 vividf

@knzo25 I need to double-check and test the functionality for different projects so I set this to draft first.

vividf avatar Apr 12 '24 07:04 vividf

@knzo25 This PR is ready for review :)

vividf avatar Apr 17 '24 02:04 vividf

I got this message

[metrics_plotter_node.py-4] /home/kenzolobos/workspace/calibration_ws/install/marker_radar_lidar_calibrator/lib/marker_radar_lidar_calibrator/metrics_plotter_node.py:33: MatplotlibDeprecationWarning: 
[metrics_plotter_node.py-4] The set_window_title function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use manager.set_window_title or GUI-specific methods instead.
[metrics_plotter_node.py-4]   plt.gcf().canvas.set_window_title("Metrics plotter")

knzo25 avatar Jul 08 '24 09:07 knzo25

@knzo25 Thanks, fixed the warning in https://github.com/tier4/CalibrationTools/pull/161/commits/63d9577352c0ece0d245c6eda1e0ec0c56b42f57

vividf avatar Jul 08 '24 09:07 vividf

:warning: Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 0% with 295 lines in your changes missing coverage. Please review.

Project coverage is 4.89%. Comparing base (bab5400) to head (d7670f0). Report is 12 commits behind head on tier4/universe.

Files Patch % Lines
...r_calibrator/src/marker_radar_lidar_calibrator.cpp 0.00% 206 Missing :warning:
..._lidar_calibrator/src/transformation_estimator.cpp 0.00% 65 Missing :warning:
.../marker_radar_lidar_calibrator/sensor_residual.hpp 0.00% 14 Missing :warning:
..._based_calibrator/src/mapping_based_calibrator.cpp 0.00% 6 Missing :warning:
...d_plane_calibrator/src/ground_plane_calibrator.cpp 0.00% 2 Missing :warning:
...2d_calibrator/src/lidar_to_lidar_2d_calibrator.cpp 0.00% 2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@                Coverage Diff                @@
##           tier4/universe    #161      +/-   ##
=================================================
+ Coverage            0.93%   4.89%   +3.95%     
=================================================
  Files                 270     156     -114     
  Lines               21339   12281    -9058     
  Branches              383    1301     +918     
=================================================
+ Hits                  200     601     +401     
+ Misses              20982   11679    -9303     
+ Partials              157       1     -156     
Flag Coverage Δ
differential 4.89% <0.00%> (?)
total ?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter avatar Jul 16 '24 04:07 codecov-commenter

@vividf Could confirm that the tool works as expected (functional aspect) with the data from the radar. I will start providing comments in the code and quasi in parallel reading the evaluation and probably asking for more numbers

EDIT: To review this I need you to rebase it to either the default branch or the documentation one. I recommend the documentation one, as that will probably be merged before and the merge/rebase needed then will be easier if done this way. Internally I mentioned that rebase was not needed, but I meant the test branch, not the one we want to merge

knzo25 avatar Jul 22 '24 11:07 knzo25

The objective of the rebase is to make this more reasonable: image

knzo25 avatar Jul 22 '24 11:07 knzo25

I rebased this branch on the documentation branch and created a new PR https://github.com/tier4/CalibrationTools/pull/180 otherwise, there are too many conflicts (have diverged, and have 399 and 19 different commits each) need to be solved.

vividf avatar Jul 23 '24 02:07 vividf