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(multi_object_tracker): suppress yaw rotation oscillation problem in bicycle tracking model #4146

Merged
merged 3 commits into from
Jul 4, 2023

Conversation

YoshiRi
Copy link
Contributor

@YoshiRi YoshiRi commented Jul 3, 2023

Description

This PR is aiming to change bicycle model parameter at the
tracker model defined in #2679.

Changing this parameter toward understeer makes the vehicle less likely to rotate, thus reducing the problem of exaggerated Yaw rotation during tracking.

Why unintended rotation is happened

The kinematic bicycle model predicts yaw angle with following equation:

$$ \varphi_{k+1} =\varphi_{k}+\frac{v_{k}}{l_{r}} \sin \beta_{k} d t $$

$\beta$ : slip angle in CoG
$l_r$: length between rear wheel and CoG
$v$: vehicle velocity

Since the slip angle $\beta$ is not directly measured, phase delayed estimation can easily cause oscillation or overshooting.
One quick and safe fix for this problem could be that just lower this yaw update rate $\frac{v_{k}}{l_{r}} \sin \beta_{k} d t$ by increasing $l_r$.

Qualitatively, this change would show similar results to lowering the gain in estimation.

How the parameter is determined?

The parameters have so far been determined empirically, and have been adjusted to strongly reduce the gain of the Large Vehicle, which has been particularly problematic in the test cases, to the extent that it does not show significant physical inconsistencies.

In the future, the model selection and parameters will be modifiable in rosparam.

Tests performed

Tested in both rosbag and dummy perception generator.

See TIER IV internal link.

For those who are concerned about the ability to follow the curve properly with lower gain, the tracking results in such a case are illustrated in the figure below.

The curves are still being tracked without any problems after this change.

2d plot yaw timeseries
image image

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.

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.

@github-actions github-actions bot added component:perception Advanced sensor data processing and environment understanding. (auto-assigned) component:launch Launch files, scripts and initialization tools. (auto-assigned) labels Jul 3, 2023
@codecov
Copy link

codecov bot commented Jul 3, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (efec782) 14.11% compared to head (8aa670f) 14.11%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4146   +/-   ##
=======================================
  Coverage   14.11%   14.11%           
=======================================
  Files        1444     1444           
  Lines      101920   101920           
  Branches    27197    27197           
=======================================
  Hits        14387    14387           
  Misses      71766    71766           
  Partials    15767    15767           
Flag Coverage Δ *Carryforward flag
differential 0.00% <ø> (?)
total 14.11% <ø> (ø) Carriedforward from e5974f1

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

Impacted Files Coverage Δ
...ject_tracker/src/tracker/model/bicycle_tracker.cpp 0.00% <ø> (ø)
..._tracker/src/tracker/model/big_vehicle_tracker.cpp 0.00% <ø> (ø)
...acker/src/tracker/model/normal_vehicle_tracker.cpp 0.00% <ø> (ø)

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

@YoshiRi YoshiRi marked this pull request as draft July 3, 2023 09:11
@github-actions github-actions bot removed the component:launch Launch files, scripts and initialization tools. (auto-assigned) label Jul 3, 2023
@YoshiRi YoshiRi changed the title feat(multi_object_tracker): understeer bicycle tracking model feat(multi_object_tracker): suppress yaw rotation oscillation problem in bicycle tracking model Jul 4, 2023
@YoshiRi YoshiRi marked this pull request as ready for review July 4, 2023 07:46
Copy link
Contributor

@yukkysaito yukkysaito left a comment

Choose a reason for hiding this comment

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

LGTM

@YoshiRi YoshiRi enabled auto-merge (squash) July 4, 2023 14:04
@YoshiRi YoshiRi merged commit 14b2720 into main Jul 4, 2023
@YoshiRi YoshiRi deleted the feat/understeer_bicycle_tracking_model branch July 4, 2023 14:06
tkimura4 pushed a commit to tier4/autoware.universe that referenced this pull request Jul 5, 2023
… in bicycle tracking model (autowarefoundation#4146)

* enable only tracking and prediction

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

* set bicycle model parameter to be understeered

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

* Revert "enable only tracking and prediction"

This reverts commit d97db40.

---------

Signed-off-by: yoshiri <[email protected]>
takayuki5168 pushed a commit to tier4/autoware.universe that referenced this pull request Aug 23, 2023
… in bicycle tracking model (autowarefoundation#4146)

* enable only tracking and prediction

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

* set bicycle model parameter to be understeered

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

* Revert "enable only tracking and prediction"

This reverts commit d97db40.

---------

Signed-off-by: yoshiri <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants