Skip to content

Hyundai: cap EV9 OP-long steering targets at 140 degrees - #179

Open
Intelli wants to merge 1 commit into
firestar5683:Domfrom
Intelli:codex/ev9-op-long-angle-cap
Open

Intelli wants to merge 1 commit into
firestar5683:Domfrom
Intelli:codex/ev9-op-long-angle-cap

Conversation

@Intelli

@Intelli Intelli commented Sep 18, 2026

Copy link
Copy Markdown

Description

Sharp turns with openpilot longitudinal configured on the Kia EV9 can end in “Steering Assist Temporarily Unavailable” and a steering dropout. Assistance can briefly return and drop out again, including when longitudinal is disengaged and only lateral assistance is active. This was reproduced on stock stable StarPilot; I have not observed it with stock ACC. Dom still permits autonomous angle targets well beyond the roughly 140° assisted-wheel plateau seen in the logs.

This change caps the EV9 autonomous target at ±140° before filtering on the OP-long steering path. Saturating the target does not itself deactivate steering. Stock ACC, other vehicles, inactive measured-angle commands, existing rate limits and Panda safety limits retain their current behavior. This is a target limit, not a hard clamp on the physical wheel or every transmitted angle during reentry.

Verification

The reproduction used stock StarPilot stable at c3e4ec630f41c4baa43254a90f718abd1bf764a1, installed through an exact-tree mirror at 272b7edcb30238297efe934f71b826dd2d810d1d (the commit recorded in the logs), with stock bundled Panda firmware and no custom changes.

Reproduction route — full logs uploaded. Useful windows from route start: 4:25–4:29 for repeated left-turn faults, and 4:51–4:58 for another cluster and the displayed warning.

  • The EPS asserts LKA_ANGLE_FAULT while ordinary LKA_FAULT remains clear. Near 4:25.48, speed is 19.7 km/h and the measured wheel angle is 137.6° left. The preceding logged CAN batch requests 206.7° left; the batch containing the first fault includes a 208.1° left request. No driver steering override is detected at that first onset.
  • StarPilot withdraws steering after the EPS fault and retries as it clears. Steering-message counters remain continuous, with no rejected steering frames or checksum failures around these fault clusters.
  • The 140° target limit was tested on an EV9 with OP-long: there were no errors or steering cutouts, and no noticeable reduction in available steering compared with the uncapped configuration.
  • Five controller/CAN regression cases passed, covering saturation/reversal, lateral-only operation, stock ACC/other-vehicle scope and inactive-angle/reentry behavior. The three EV9 regression cases fail on unchanged Dom.
  • Python compilation and diff checks passed, with no new Ruff findings. The full Hyundai suite has the same 13 existing failures as unchanged Dom (253 passed, 2 skipped); none were introduced by this change.

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