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

feat(ekf_localizer, system_error_monitor): system_error_monitor handles ekf diags #5467

Conversation

kminoda
Copy link
Contributor

@kminoda kminoda commented Nov 2, 2023

Description

Although current emergency handling system for localization solely relies on localization_accuracy, the criteria may not be accurate enough given that the covariances of NDT, IMU, and wheel odometry are still under development (e.g. the covariance estimation of NDT is still ongoing, and currently we use a static value that is empirically derived). One alternative criteria that we can use (at least temporarily) is to monitor if the valid NDT results have been published recently. In current Autoware implementation, we can monitor this by checking no_update_count in ekf_localizer. That being said, I want to make Autoware Universe ready for using the EKF output for emergency handling.

Here are the changes that I would like to propose:

  • Add EKF diag monitoring in diagnostic_aggregator
  • Change default parameter of no_update_count, since current value (250, which corresponds to 5[sec] with 50Hz EKF) is too large.
  • Use the EKF diag for system_error_monitor (only for safe fault by default, see autoware_launch PR)

Note that this PR itself ONLY affects the safe fault and not for single fault or latent fault which are directly connected to the minimum risk maneuver (MRM). The decision whether to really use this for MRM should depend on each reference designs.

Note that we also need to merge autowarefoundation/autoware_launch#674

Tests performed

Not applicable

Effects on system behavior

No effect expected on current Autoware, since the diagnostic result of EKF is not used in MRM.

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.

  • There are no open discussions or they are tracked via tickets.

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

@kminoda kminoda added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Nov 2, 2023
@github-actions github-actions bot added the component:localization Vehicle's position determination in its environment. (auto-assigned) label Nov 2, 2023
@kminoda kminoda marked this pull request as ready for review November 2, 2023 06:19
Copy link

codecov bot commented Nov 2, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (bfabbca) 15.06% compared to head (8ab9320) 15.04%.
Report is 25 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5467      +/-   ##
==========================================
- Coverage   15.06%   15.04%   -0.02%     
==========================================
  Files        1662     1662              
  Lines      115713   115862     +149     
  Branches    35755    35873     +118     
==========================================
  Hits        17437    17437              
- Misses      78739    78875     +136     
- Partials    19537    19550      +13     
Flag Coverage Δ *Carryforward flag
differential 21.00% <ø> (?)
total 15.06% <ø> (ø) Carriedforward from b8a5844

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

see 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kminoda kminoda requested a review from ito-san as a code owner November 2, 2023 06:29
@github-actions github-actions bot added the component:system System design and integration. (auto-assigned) label Nov 2, 2023
@kminoda kminoda changed the title fix(ekf_localizer): change default parameter for no update count feat(ekf_localizer, system_error_monitor): system_error_monitor handles ekf diags Nov 2, 2023
@kminoda
Copy link
Contributor Author

kminoda commented Nov 6, 2023

@ito-san Would you review this PR?

Copy link
Contributor

@ito-san ito-san left a comment

Choose a reason for hiding this comment

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

LGTM

@kminoda kminoda merged commit 72e96fc into autowarefoundation:main Nov 7, 2023
35 of 36 checks passed
kyoichi-sugahara pushed a commit to kyoichi-sugahara/autoware.universe that referenced this pull request Nov 7, 2023
…es ekf diags (autowarefoundation#5467)

* fix(ekf_localizer): change default parameter for no update count

Signed-off-by: kminoda <[email protected]>

* add ekf in system_error_monitor

Signed-off-by: kminoda <[email protected]>

* style(pre-commit): autofix

---------

Signed-off-by: kminoda <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
kminoda added a commit to tier4/autoware.universe that referenced this pull request Nov 7, 2023
…es ekf diags (autowarefoundation#5467)

* fix(ekf_localizer): change default parameter for no update count

Signed-off-by: kminoda <[email protected]>

* add ekf in system_error_monitor

Signed-off-by: kminoda <[email protected]>

* style(pre-commit): autofix

---------

Signed-off-by: kminoda <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@kminoda kminoda deleted the fix/ekf_localizer/no_update_count_default_param branch June 20, 2024 05:33
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) component:system System design and integration. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants