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(multi_object_tracker): tracker update for bugfix on unstable motorbike-cyclist-pedetrian tracking result #1194

Merged
merged 5 commits into from
Mar 19, 2024

Conversation

technolojin
Copy link

@technolojin technolojin commented Mar 19, 2024

Description

This cherry-picks are for latest tracker updates to fix unstable motorbike-cyclist-pedetrian tracking result, described in the issue ticket.

Related links

Issue ticket https://tier4.atlassian.net/browse/RT1-5645

Merged Original PRs
autowarefoundation#6597
autowarefoundation#6587
autowarefoundation#6606
autowarefoundation#6611
autowarefoundation#6607

Tests performed

Tested on a local recompute.

Notes for reviewers

Interface changes

Effects on system behavior

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.

technolojin and others added 5 commits March 19, 2024 10:08
…error and overflow on IoU calculation (autowarefoundation#6597)

* fix: set object minimum size limits

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: object shape conversion, from cylinder to bbox

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: adjust minimum sizes to 0.3 m

The minimum size is unified to a small number (0.3 m) to avoid side-effect of tracking.

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…undation#6587)

* fix: define function to adjust object yaw angle for ekf update

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: refactoring

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: update tracking offset to object position

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: enlarge yaw noise when the orientation is unknown

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: rearrange obj extension,  noise model, observation vector length

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: grouping part of codes

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: separate object pre-process getUpdatingObject

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: bicycle tracker object preprocessing

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: separated motion model class, not tested

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: add motion model

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: replace tracker to motion model class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: normal vehicle tracker replace to motion model

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: big vehicle tracker is replaced by motion model

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: bicycle tracker replace by motion model

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: remove non-used members

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: add CTRV motion model and implement it to pedestrian tracker

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: refactoring parameters

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: object initialization

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: grouping param setting

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: create cv motion model, not tested

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: implementing unknown tracker, process is dying

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: align number precisions to double

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: resolve overflow issue by including proper header files

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: missing twist cov

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: limit too large dt on unknown tracker, set size gain to 0.1

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set parameter before init

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: fix init to initialize

chore: fix init to initialize
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: motion model base class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: common methods to the base class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: access to state vector

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: remove not-used tracker's last_update_time_ member

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* Revert "fix: remove not-used tracker's last_update_time_ member"

This reverts commit bd8aabb.

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: header cleanup

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: relocate motion models

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: timestamp const

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: exception when object couldn't be predicted

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: remove last_update_time_ member

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set minimum size, to avoid iou error/overflow

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: rollback tracking size and offset algorithm

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set minimum pedestrian size

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: adjust minimum sizes to 0.3m

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: cleanup unused members

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
* fix: add cspell ignore for CTRV

* Update perception/multi_object_tracker/CMakeLists.txt

* Update perception/multi_object_tracker/CMakeLists.txt

* Update perception/multi_object_tracker/include/multi_object_tracker/tracker/model/pedestrian_tracker.hpp

* Update perception/multi_object_tracker/include/multi_object_tracker/tracker/motion_model/ctrv_motion_model.hpp

* Update perception/multi_object_tracker/src/tracker/motion_model/bicycle_motion_model.cpp
…ntended (autowarefoundation#6611)

* bugfix: mot multi-step prediction is not work as intended. back to one-step prediction.

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: remove comment-out codes

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: prediction to use variable kalman filter

a bug was found on `predictStateStep` methods

* intention: predict the future state of the variable kalman filter `ekf`
* bug: using the member kalman filter `ekf_`
* fix: get the state vector from the variable kalman filter `ekf`

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…ocess (autowarefoundation#6607)

* feat: object class filter

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set a member private

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: last filtered label is not useful, remove

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: multiply gain for new class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: algorithm explanation

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: revise the filtering process flow

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@technolojin technolojin force-pushed the cherry-pick/taekjin branch from f4f6971 to 52713bb Compare March 19, 2024 01:08
@shmpwk
Copy link
Collaborator

shmpwk commented Mar 19, 2024

Thank you I will check ant merge to beta/v0.20.1.5 after creating the branch.

@shmpwk shmpwk changed the base branch from beta/v0.20.1.4 to beta/v0.20.1.5 March 19, 2024 13:00
Copy link
Collaborator

@shmpwk shmpwk left a comment

Choose a reason for hiding this comment

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

LGTM

@shmpwk shmpwk merged commit 74df650 into beta/v0.20.1.5 Mar 19, 2024
15 checks passed
@shmpwk shmpwk deleted the cherry-pick/taekjin branch March 19, 2024 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants