Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ndt_scan_matcher): using de-ground points calculate ndt match score #2312

Conversation

cyn-liu
Copy link
Contributor

@cyn-liu cyn-liu commented Nov 17, 2022

Signed-off-by: Cynthia Liu cynthia.liu@autocore.ai

Description

related issue: 2044.
As discussed in issue 2044, using de-grounded point cloud in NDT matching for localization may achieve better results, so I have made some changes to the code:

  • NDT matched positioning using the original point cloud(/localization/util/downsample/pointcloud).
  • Calculates NDT match scores using de-grounded point cloud(/localization/util_no_ground/downsample/pointcloud).

In the ndt_scan_matcher node I subscribe to both topics in a callback function, one topic is used to locate and the other is used to calculate the scores(transform_probability & nearest_voxel_transformation_likelihood).

Related links

issue2044.
issue1375

Tests performed

Test done.
Test results refer to the previous issue link.

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.

@github-actions github-actions bot added component:launch Launch files, scripts and initialization tools. (auto-assigned) component:localization Vehicle's position determination in its environment. (auto-assigned) labels Nov 17, 2022
@cyn-liu cyn-liu changed the title fix(ndt_scan_matcher): Use de-ground points calculate ndt match score fix(ndt_scan_matcher): using de-ground points calculate ndt match score Nov 17, 2022
@cyn-liu cyn-liu force-pushed the use-deground-points-calculate-ndt-match-score branch from 24b362a to 3f99083 Compare November 17, 2022 11:31
Copy link
Contributor

@KYabuuchi KYabuuchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your cooperation!
I found a mistake that causes localization_launch to fail. Please check it.

Copy link
Contributor

@kminoda kminoda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for your contribution!! I really appreciate this proposal.
Basically, I agree that the score with ground removal is worth considering as an alternative scan matching performance indicator.
I left some general comments.

@kminoda kminoda assigned kminoda and cyn-liu and unassigned kminoda Nov 18, 2022
@codecov
Copy link

codecov bot commented Nov 18, 2022

Codecov Report

Base: 11.27% // Head: 11.25% // Decreases project coverage by -0.02% ⚠️

Coverage data is based on head (508ba97) compared to base (c958fdd).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2312      +/-   ##
==========================================
- Coverage   11.27%   11.25%   -0.03%     
==========================================
  Files        1168     1168              
  Lines       81943    82096     +153     
  Branches    21012    21012              
==========================================
  Hits         9242     9242              
- Misses      62838    62991     +153     
  Partials     9863     9863              
Flag Coverage Δ *Carryforward flag
differential 0.00% <0.00%> (?)
total 11.27% <0.00%> (ø) Carriedforward from c958fdd

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files Coverage Δ
...ion/ndt_scan_matcher/src/ndt_scan_matcher_core.cpp 0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

Signed-off-by: Cynthia Liu <cynthia.liu@autocore.ai>
@cyn-liu cyn-liu requested a review from a team as a code owner November 21, 2022 04:25
Signed-off-by: Cynthia Liu <cynthia.liu@autocore.ai>
Signed-off-by: Cynthia Liu <cynthia.liu@autocore.ai>
@cyn-liu cyn-liu force-pushed the use-deground-points-calculate-ndt-match-score branch from ef6d148 to 99c7621 Compare November 28, 2022 08:16
Signed-off-by: Cynthia Liu <cynthia.liu@autocore.ai>
@cyn-liu cyn-liu force-pushed the use-deground-points-calculate-ndt-match-score branch from d4ac1bb to f1bf194 Compare November 28, 2022 08:24
Copy link
Contributor

@KYabuuchi KYabuuchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the modification was complete, so I added some comments.
Please check them. 😄

@YamatoAndo
Copy link
Contributor

@cyn-liu Thank you for the update!
I have one question I would like to discuss.
If the ground is not included in the LiDAR point cloud, there is a risk that RANSAC will detect building walls, etc.
So, I think it would be better to simply filter by z-coordinate values.
What do you think?

Signed-off-by: Cynthia Liu <cynthia.liu@autocore.ai>
@cyn-liu cyn-liu force-pushed the use-deground-points-calculate-ndt-match-score branch from 0e9ccbd to 378e417 Compare November 29, 2022 10:21
@kminoda
Copy link
Contributor

kminoda commented Dec 7, 2022

@cyn-liu I think it's due to this commit: ce5e633
I manually set DCO CI to pass for now.

@xmfcx xmfcx added this to the Bus ODD Nov-Dec Milestone milestone Dec 13, 2022
@xmfcx
Copy link
Contributor

xmfcx commented Dec 13, 2022

@kminoda Is this ready to be merged? If so can you approve it?

Copy link
Contributor

@kminoda kminoda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for being late. LGTM

Copy link
Member

@mitsudome-r mitsudome-r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Signed-off-by: Cynthia Liu <cynthia.liu@autocore.ai>
@cyn-liu cyn-liu force-pushed the use-deground-points-calculate-ndt-match-score branch from 5d5f091 to f5301cb Compare December 21, 2022 02:29
@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Dec 21, 2022
@cyn-liu
Copy link
Contributor Author

cyn-liu commented Dec 21, 2022

I modify the README.md in ndt_scan_matcher package.

@kminoda
Copy link
Contributor

kminoda commented Dec 21, 2022

@cyn-liu Since the parameter management configuration has been changed, please modify launch/tier4_localization_launch/config/ndt_scan_matcher.param.yaml
instead of launch/tier4_localization_launch/config/ndt_scan_matcher.param.yaml.

@github-actions github-actions bot removed the component:launch Launch files, scripts and initialization tools. (auto-assigned) label Dec 23, 2022
@cyn-liu
Copy link
Contributor Author

cyn-liu commented Dec 23, 2022

@kminoda Modified.

@liuXinGangChina
Copy link
Contributor

liuXinGangChina commented Jan 9, 2023

Hi,Mitsudome-san @mitsudome-r . Since Yamato-san and kminoda-san have approved this pr, will you help us to merge it?

Best regards,
Lucas

@cyn-liu
Copy link
Contributor Author

cyn-liu commented Jan 9, 2023

@cyn-liu Since the parameter management configuration has been changed, please modify launch/tier4_localization_launch/config/ndt_scan_matcher.param.yaml instead of launch/tier4_localization_launch/config/ndt_scan_matcher.param.yaml.

Hello @kminoda , I have a question:
The file launch/tier4_localization_launch/config/ndt_scan_matcher.param.yaml has been transferred to autoware_launch/config/localization/ndt_scan_matcher.param.yaml , and I have updated this change in autoware.universe repo, If I want to add my parameters in autoware_launch repo, should I need create a new PR in this repo?

@kminoda
Copy link
Contributor

kminoda commented Jan 10, 2023

@cyn-liu Yes, your understanding is correct!
(We are also considering adding a workflow based on GitHub Actions that syncs parameters in autoware.universe and autoware_launch, but for now, please update both parameters manually 🙏 )

@kminoda
Copy link
Contributor

kminoda commented Jan 10, 2023

@liuXinGangChina It seems that one CI (DCO) failed, and it kept this PR from being able to merge.
Would you check it out again? I think now this PR can be merged (I set the DCO to pass)

@xmfcx xmfcx merged commit bdeeb97 into autowarefoundation:main Jan 10, 2023
@kminoda
Copy link
Contributor

kminoda commented Jan 11, 2023

I've also merged this PR autowarefoundation/autoware_launch#155

badai-nguyen pushed a commit to badai-nguyen/autoware.universe that referenced this pull request Mar 22, 2023
badai-nguyen pushed a commit to badai-nguyen/autoware.universe that referenced this pull request Apr 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:localization Vehicle's position determination in its environment. (auto-assigned) priority:high High urgency and importance. type:documentation Creating or refining documentation. (auto-assigned)
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Using a de-grounded point cloud for NDT matching gives a more reasonable match score
8 participants