-
Notifications
You must be signed in to change notification settings - Fork 682
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(autoware_multi_object_tracker): new function to add odometry uncertainty #9139
feat(autoware_multi_object_tracker): new function to add odometry uncertainty #9139
Conversation
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
c024070
to
6abfbea
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9139 +/- ##
==========================================
- Coverage 29.81% 28.43% -1.38%
==========================================
Files 1338 1306 -32
Lines 103301 101123 -2178
Branches 40233 39213 -1020
==========================================
- Hits 30797 28757 -2040
- Misses 69518 69622 +104
+ Partials 2986 2744 -242
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
feat: Rotate object pose covariance matrix to account for yaw uncertainty Rotate the object pose covariance matrix in the uncertainty_processor.cpp file to account for the yaw uncertainty. This ensures that the covariance matrix accurately represents the position uncertainty of the object. Refactor the code to rotate the covariance matrix using Eigen's Rotation2D class. The yaw uncertainty is added to the y-y element of the rotated covariance matrix. Finally, update the object_pose_cov array with the updated covariance values. Closes autowarefoundation#123 Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> refactoring Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…ertainty Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> style(pre-commit): autofix Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
d64c9a2
to
4c79e10
Compare
// set odometry twist | ||
auto & odom_twist = odometry.twist.twist; | ||
odom_twist.linear.x = 10.0; // m/s | ||
odom_twist.linear.y = 0.1; // m/s | ||
odom_twist.angular.z = 0.1; // rad/s | ||
|
||
// model the uncertainty | ||
auto & odom_pose_cov = odometry.pose.covariance; | ||
odom_pose_cov[0] = 0.1; // x-x | ||
odom_pose_cov[7] = 0.1; // y-y | ||
odom_pose_cov[35] = 0.0001; // yaw-yaw | ||
|
||
auto & odom_twist_cov = odometry.twist.covariance; | ||
odom_twist_cov[0] = 2.0; // x-x [m^2/s^2] | ||
odom_twist_cov[7] = 0.2; // y-y [m^2/s^2] | ||
odom_twist_cov[35] = 0.001; // yaw-yaw [rad^2/s^2] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have any explanation about these dummy parameters?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At this PR, the imput will be a dummy fixed value.
After subscribing a new message is decided, it will be replaced by real one.
memorize mathematical equations by chat ai. Mathematical FormulationsEgo Motion CovarianceThe motion covariance due to the ego vehicle's velocities over time dt: Updated Ego Position CovarianceIncluding motion uncertainty: Updated Ego Yaw CovarianceIncluding angular motion uncertainty: Object Position Covariance Update
$$ Object Velocity Covariance Update
$$ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…ertainty (autowarefoundation#9139) * feat: add Odometry uncertainty to object tracking Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * feat: Add odometry heading uncertainty to object pose covariance feat: Rotate object pose covariance matrix to account for yaw uncertainty Rotate the object pose covariance matrix in the uncertainty_processor.cpp file to account for the yaw uncertainty. This ensures that the covariance matrix accurately represents the position uncertainty of the object. Refactor the code to rotate the covariance matrix using Eigen's Rotation2D class. The yaw uncertainty is added to the y-y element of the rotated covariance matrix. Finally, update the object_pose_cov array with the updated covariance values. Closes #123 Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * feat: Add odometry motion uncertainty to object pose covariance Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> refactoring Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * feat: Update ego twist uncertainty to the object velocity uncertainty Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * feat: update object twist covariance by odometry yaw rate uncertainty Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * feat: move uncertainty modeling to input side Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * feat: add option to select odometry uncertainty Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * refactor: rename consider_odometry_uncertainty to enable_odometry_uncertainty Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * fix: transform to world first, add odometry covariance later Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> style(pre-commit): autofix Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * feat: Add odometry heading uncertainty to object pose covariance Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> --------- Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Description
Add a new method that adds the odometry uncertainty to the object covariance.
The odometry message is a dummy, and will be replaced by system message.
Software architecture need to be determined to subscribe the odometry message.
Related links
This PR will be merged after PR autowarefoundation/autoware_launch#1196
How was this PR tested?
Exaggerate parameters of odometry covariance to check the effect. The following results will not shown in the current PR parameters.
Notes for reviewers
This function will not be implemented by default.
Interface changes
None.
Effects on system behavior
None.