-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Lateral torque controller: use current desired curvature for PI error #36125
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
base: master
Are you sure you want to change the base?
Conversation
6756948
to
d1129a9
Compare
Does this only affect ramp up? So constant large desired lateral acceleration requests are mostly unchanged? |
Like @sshane mentioned that should be called something else. RawAction is confusing. But actually this also exposes the problem with this, this will mostly just get "observed current curvature" which is different from lag_compensated_curvature lag seconds ago. You really need to do the second one. You'll need to keep a buffer around somewhere, if it can be done cleanly I think it should be done in the controller, and leave modeld unchanged. |
|
4b0161b
to
fe76768
Compare
…live delay frames
3344ce6
to
c1cf773
Compare
The torque PI controller currently computes its error using the desired lateral acceleration indexed liveDelay frames into the future. When the absolute desired lateral acceleration increases sharply, that step shows up in both the feed-forward term and the error, effectively double-counting the command.
This likely explains the lateral acceleration overshoot observed on some torque-controlled Toyota platforms under large lateral acceleration commands.
I propose computing the PI-controller error and integrated error from the current (raw) desired lateral acceleration instead.