Skip to content

Preserve reverse sign in transient tire slip - #17

Merged
rhorvath02 merged 3 commits into
mainfrom
fix/transient-slip-reverse
Aug 7, 2026
Merged

Preserve reverse sign in transient tire slip#17
rhorvath02 merged 3 commits into
mainfrom
fix/transient-slip-reverse

Conversation

@rhorvath02

@rhorvath02 rhorvath02 commented Aug 6, 2026

Copy link
Copy Markdown
Member

Finding

TransientSlip already stores signed longitudinal deformation: its -Vsx forcing term reverses with mirrored wheel kinematics, while the positive regularized speed magnitude provides stable relaxation in both travel directions. Multiplying u/sigma_kappa by an additional Vx_sign erased that reverse sign and made mirrored forward/reverse overspeed report the same longitudinal-slip sign.

Fix

Remove the redundant output sign multiplier and publish kappa = u/sigma_kappa (subject to the existing clamp). This matches the sign convention used by KinematicSlip while retaining positive, stable relaxation damping through sqrt(Vx^2 + V_min^2).

Validation

  • The committed regression produced kappaForward = +0.0998922941, kappaReverse = -0.0998922941, and symmetry error 0 under CI's solver settings; all three values now have physical baselines.
  • A wheel-speed step from pure rolling produced +0.0797510 forward and -0.0797510 reverse with zero symmetry error throughout the transient.
  • At +/-0.1 m/s, regularized transient slip remained exactly mirrored at +/-0.0199623 and agreed in sign with KinematicSlip.
  • The focused model matched all 31/31 initialization-baseline values.
  • Current-main VehicleSim matched all 1018/1018 initialization-baseline values.
  • A full VehicleSim run initialized without homotopy, terminated normally on the QSS plateau at 6.098631 s, retained only finite outputs, and kept minimum tire load positive at 182.83 N.
  • The full forward maneuver retained the same QSS time and solver statistics as current main, as expected because the formulas agree for positive longitudinal speed.
  • Ruff, Modelica lint, Python tests, and the complete OpenModelica translation sweep passed locally.

@rhorvath02
rhorvath02 force-pushed the fix/transient-slip-reverse branch from 15b65ef to 423cacc Compare August 6, 2026 01:08
@rhorvath02
rhorvath02 merged commit ac7bdad into main Aug 7, 2026
2 checks passed
@rhorvath02
rhorvath02 deleted the fix/transient-slip-reverse branch August 7, 2026 04:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant