autowarefoundation / autoware.universe

https://autowarefoundation.github.io/autoware.universe/
Apache License 2.0
880 stars 566 forks source link

Improve MPC modeling accuracy #3628

Open TakaHoribe opened 1 year ago

TakaHoribe commented 1 year ago

Checklist

Description

The current mpc model uses the "error kinematics model in Frenet coordinate". This model obtains the reference path information from only curvature and indirectly regenerates the reference path information by integrating curvature in the MPC process. However, curvature calculation could have non-small errors, and the reference path information given by integration could also have errors.

In this video, the green path is the trajectory given by the planning module, and the white path is the trajectory re-generated in the MPC model from curvature. There is a large difference when driving in a curve. (branch for visualization)

https://user-images.githubusercontent.com/21360593/236382083-79c2a5ce-58d0-4958-8d9e-5499385f420d.mp4

Purpose

To improve the MPC tracking accuracy

Possible approaches

improve model

Definition of done

mpc performance is measured and improved

TakaHoribe commented 1 year ago

In the video above, the white line is generated by the linearized model, while in the video below, the nonlinear path model is calculated.

The accuracy is much better in the nonlinear model.

https://user-images.githubusercontent.com/21360593/236626809-1f7cff17-f66b-46a0-9f73-c452045d05ec.mp4

VRichardJP commented 1 year ago

Silly question: why does MPC needs to regenerate the reference path?

13304490790 commented 1 year ago

Hello,I have a question why there some difference when calculate discrete dynamic model .

stale[bot] commented 11 months ago

This pull request has been automatically marked as stale because it has not had recent activity.

stale[bot] commented 6 months ago

This pull request has been automatically marked as stale because it has not had recent activity.

stale[bot] commented 1 month ago

This pull request has been automatically marked as stale because it has not had recent activity.