tier4 / CalibrationTools

GNU General Public License v3.0
98 stars 35 forks source link

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

Open vividf opened 3 months ago

vividf commented 3 months ago

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.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

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

vividf commented 3 months ago

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

vividf commented 3 months ago

@knzo25 This PR is ready for review :)

knzo25 commented 1 week ago

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")
vividf commented 1 week ago

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

codecov-commenter commented 21 hours ago

: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 ```diff @@ 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](https://app.codecov.io/gh/tier4/CalibrationTools/pull/161/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4) | Coverage Δ | | |---|---|---| | [differential](https://app.codecov.io/gh/tier4/CalibrationTools/pull/161/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4) | `4.89% <0.00%> (?)` | | | [total](https://app.codecov.io/gh/tier4/CalibrationTools/pull/161/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4) | `?` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4#carryforward-flags-in-the-pull-request-comment) to find out more.

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