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): ignore dead band of velocity sensor #5042

Conversation

kminoda
Copy link
Contributor

@kminoda kminoda commented Sep 20, 2023

Description

Current Autoware is not capable of dealing the dead zone in velocity sensors, which is a common phenomena we may encounter with some HW. This potentially could cause several issues especially around planning & control modules.

As the most simple solution, I would like to modify EKF so that it will ignore velocity when the observed velocity is below a certain threshold. It is set 0.0 by default, in which case it will not affect the system at all.

Let's say we have a velocity sensor which will be 0.0 [m/s] when the velocity is below 0.5 [m/s]. In such case, I recommend to set the threshold_observable_velocity_mps to 0.5.

Related links

Must be merged after autowarefoundation/autoware_launch#574

Tests performed

Feed Autoware a velocity sensor with the value less that 0.5[m/s] rounded into 0.0[m/s]. (Note that the caption is wrong for the following figures)

With the default value (the same performance as the original EKF), we can see that the estimated velocity shows very similar behavior as the input sensor data.
image

By setting the appropriate value as threshold_observable_velocity_mps: 0.5, we observe that the performance improves, albeit not perfectly.

Screenshot from 2023-09-20 11-09-53

Notes for reviewers

None

Interface changes

None

Effects on system behavior

None

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.

Signed-off-by: kminoda <koji.minoda@tier4.jp>
Signed-off-by: kminoda <koji.minoda@tier4.jp>
Signed-off-by: kminoda <koji.minoda@tier4.jp>
@github-actions github-actions bot added type:documentation Creating or refining documentation. (auto-assigned) component:localization Vehicle's position determination in its environment. (auto-assigned) labels Sep 20, 2023
pre-commit-ci bot and others added 2 commits September 20, 2023 01:22
Signed-off-by: kminoda <koji.minoda@tier4.jp>
@kminoda kminoda marked this pull request as ready for review September 20, 2023 02:19
@YamatoAndo YamatoAndo added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Sep 20, 2023
@codecov
Copy link

codecov bot commented Sep 20, 2023

Codecov Report

Patch coverage: 29.41% and project coverage change: +0.04% 🎉

Comparison is base (aae343b) 15.71% compared to head (d13c107) 15.76%.
Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5042      +/-   ##
==========================================
+ Coverage   15.71%   15.76%   +0.04%     
==========================================
  Files        1579     1581       +2     
  Lines      109343   109508     +165     
  Branches    34110    34216     +106     
==========================================
+ Hits        17183    17263      +80     
+ Misses      73247    73228      -19     
- Partials    18913    19017     +104     
Flag Coverage Δ *Carryforward flag
differential 27.54% <29.41%> (?)
total 15.72% <ø> (+0.01%) ⬆️ Carriedforward from aae343b

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

Files Changed Coverage Δ
..._localizer/include/ekf_localizer/ekf_localizer.hpp 0.00% <ø> (ø)
...calizer/include/ekf_localizer/hyper_parameters.hpp 0.00% <0.00%> (ø)
localization/ekf_localizer/src/ekf_localizer.cpp 0.00% <0.00%> (ø)
localization/stop_filter/src/stop_filter.cpp 0.00% <0.00%> (ø)
...racker/src/tracker/model/linear_motion_tracker.cpp 0.00% <ø> (ø)
...lanner/scene_module/avoidance/avoidance_module.hpp 7.81% <ø> (ø)
..._planner/utils/avoidance/avoidance_module_data.hpp 0.00% <ø> (ø)
...nner/utils/lane_change/lane_change_module_data.hpp 0.00% <ø> (ø)
...er/src/scene_module/avoidance/avoidance_module.cpp 12.99% <ø> (+0.22%) ⬆️
...h_planner/src/scene_module/lane_change/manager.cpp 5.58% <ø> (+0.23%) ⬆️
... and 6 more

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

@kminoda kminoda merged commit 9f4ccf6 into autowarefoundation:main Sep 20, 2023
@kminoda kminoda deleted the feat/ekf_localizer/ignore_dead_band_of_velocity_sensor branch September 20, 2023 07:24
kminoda added a commit to kminoda/autoware.universe that referenced this pull request Sep 21, 2023
…ndation#5042)

* feat(ekf_localizer): ignore dead band of velocity sensor

Signed-off-by: kminoda <koji.minoda@tier4.jp>

* update

Signed-off-by: kminoda <koji.minoda@tier4.jp>

* update readme

Signed-off-by: kminoda <koji.minoda@tier4.jp>

* style(pre-commit): autofix

* update stop_filter as well

Signed-off-by: kminoda <koji.minoda@tier4.jp>

* style(pre-commit): autofix

---------

Signed-off-by: kminoda <koji.minoda@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
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) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants