openpilot icon indicating copy to clipboard operation
openpilot copied to clipboard

params learner unstable during dynamic driving

Open jyoung8607 opened this issue 1 year ago • 1 comments

Describe the bug

The params learner displays unexpected behavior when coming out of a corner, or accelerating or braking. The biggest problem seems to be going around corners in city driving, but acceleration or braking in a straight line can be a problem too.

When allowing the wheel to return to center under self-aligning torque, there is often a very large spike in learned tire stiffness along with some downward pressure on learned steering ratio. There are multiple issues:

  • The params learner really only understands steady-state handling, not dynamic handling
  • Therefore, steering return to center via self-aligning torque, unopposed by the driver, looks like really stiff tires
    • Acceleration and braking also affect apparent tire stiffness for purposes of lateral control
  • car_kf allows a big jump because ALL of its inputs jump simultaneously as we cross below 45 degrees steering angle

The effect seems to be cumulative, and can manifest as quality degrading over the course of a drive. Much of the effect doesn't persist for the next drive, because the learned tire stiffness factor resets at the beginning of every drive, but effects on the learned steering ratio can persist.

I'm not sure of the best way to fix this. As a workaround, I've done some testing with a patch that tries to exclude more dynamic driving. It's very crude and doesn't completely work, but does seem to reduce the problem somewhat. Anecdotally, the learned params with this patch do seem to have a positive effect on driving behavior.

Provide a route where the issue occurs

04836f13759962ab/00000077--a510468422, 73adbb0a04418743/00000027--d30dd7b9db

openpilot version

edd8759f3934b44c640d7d044bd0c383caf68a42 (today's master)

Additional info

From my own car, 04836f13759962ab/00000077--a510468422.

image

From Eyezenheim's car, 73adbb0a04418743/00000027--d30dd7b9db.

Note the tire stiffness factor transients, and the factor made it all the way to 1.5.

image

Return-to-center (falling below 45 degrees) transient example 1:

image

Return-to-center (falling below 45 degrees) transient example 2:

image

Return-to-center (falling below 45 degrees) transient example 3:

image

jyoung8607 avatar Jul 25 '24 21:07 jyoung8607

The params learner really only understands steady-state handling, not dynamic handling

Can you also share the Kalman variances from a sample trajectory? I'm wondering if they also spike during dynamic uncertainty.

simontheflutist avatar Aug 06 '24 17:08 simontheflutist