tier4 / CalibrationTools

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

feat(x1): add fitness score in calibration.launch and delete default value #129

Closed yn-mrse closed 9 months ago

yn-mrse commented 9 months ago

Description

Since fitness score is a parameter that can vary depending on the map, change requests occur at different timings than software function updates. Therefore, it seems desirable to manage fitness scores separately from this repository.

In this PR, the default value of the fitness score parameter value has been deleted, and allow arguments to be specified when starting calibration.launch.

With this change, fitness_score_threshold must be specified as an additional option when starting a command in mode:=map_based.

The startup command is as follows.

ros2 launch extrinsic_calibration_manager calibration.launch.xml map_path:=/opt/autoware/maps/ pointcloud_map_file:=0.05_map0_converted_calib_removed_ground.pcd lanelet2_map_file:=lanelet2_map.osm map_calibration_area_file:=0.05_map0_cutout_calib_area_map.pcd mode:=mapbased sensor model:=aip_x1 vehicle_model:=ymc_golfcart_m0 fitness_score_threshold:=0.001

Note that when starting in a mode other than map_based, there is no need to use the fitness_score_threshold option. Therefore, in this case, it is necessary to specify a specification that will work without setting the fitness_score_threshold option.

Related links

TIER IV INTERNAL LINK, management ticket

Tests performed

When executing the launch command with mode:=map_based in calibration.launch

  1. Preventing startup due to unintended parameter values
    • Avoid unintentionally starting with different parameter values when fitness_score_threshold option is not specified.
  2. Successful startup/normal operation based on expected parameter values
    • When fitness_score_threshold option is specified, the parameter value is applied and it starts normally.

1. Preventing startup due to unintended parameter values

The command below intentionally does not specify the fitness_score_threshold option, but it has been confirmed that if this is executed, calibration_launch can be prevented from starting.

ros2 launch extrinsic_calibration_manager calibration.launch.xml map_path:=/opt/autoware/maps/ pointcloud_map_file:=0.05_map0_converted_calib_removed_ground.pcd lanelet2_map_file:=lanelet2_map.osm map_calibration_area_file:=0.05_map0_cutout_calib_area_map.pcd mode:=map_based sensor_ model:=aip_x1 vehicle_model:=ymc_golfcart_m0

2. Successful startup/normal operation based on expected parameter values

The command below is a normal command with the fitness_score_threshold option specified, it was confirmed that when this was executed, calibration_launch could be started normally and calibration could be executed normally.

ros2 launch extrinsic_calibration_manager calibration.launch.xml map_path:=/opt/autoware/maps/ pointcloud_map_file:=0.05_map0_converted_calib_removed_ground.pcd lanelet2_map_file:=lanelet2_map.osm map_calibration_area_file:=0.05_map0_cutout_calib_area_map.pcd mode:=map_based sensor_ model:=aip_x1 vehicle_model:=ymc_golfcart_m0 fitness_score_threshold:=0.001

When executing the launch command in a mode other than mode:=map_based in calibration.launch

  1. Prevention of inhibition of startup due to fitness score threshold value
    • Startup should not fail even if fitness_score_threshold option is not specified.

3. Prevention of inhibition of startup due to fitness score threshold value

Confirmed operation under the condition of mode:=ground_plane. We confirmed that launch was successful and continued operation without adding the fitness_score_threshold option.

ros2 launch extrinsic_calibration_manager calibration.launch.xml map_path:=/opt/autoware/maps/ pointcloud_map_file:=0.05_map0_converted_calib_removed_ground.pcd lanelet2_map_file:=lanelet2_map.osm map_calibration_area_file:=0.05_map0_cutout_calib_area_map.pcd mode:=ground_place sensor_ model:=aip_x1 vehicle_model:=ymc_golfcart_m0

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.

codecov-commenter commented 9 months ago

Codecov Report

All modified lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (beta/v2022.07.2@18557aa). Click here to learn what that means.

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

Additional details and impacted files ```diff @@ Coverage Diff @@ ## beta/v2022.07.2 #129 +/- ## ================================================= Coverage ? 0.00% ================================================= Files ? 1 Lines ? 100 Branches ? 0 ================================================= Hits ? 0 Misses ? 100 Partials ? 0 ``` | [Flag](https://app.codecov.io/gh/tier4/CalibrationTools/pull/129/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/129/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4) | `0.00% <0.00%> (?)` | | 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.

yn-mrse commented 3 months ago

Related linksのリンク先が誤っていることに気がついたため、正式なリンクへ変更しました。