fix(honda): arbitrate Alpha Long braking from compensated force - #124
Open
RiskyBiscuit-arc wants to merge 1 commit into
Open
fix(honda): arbitrate Alpha Long braking from compensated force#124RiskyBiscuit-arc wants to merge 1 commit into
RiskyBiscuit-arc wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Port the Honda Bosch Alpha Long gas/brake arbitration fix to StarPilot while
preserving StarPilot's separate Accord 11G MVL crossover behavior.
Ordinary Bosch propulsion magnitude is calculated from
gas_pedal_force, whichcontains requested acceleration plus hill and aerodynamic road-load compensation.
Before this change, StarPilot passes no force value for ordinary Bosch vehicles, so
the CAN packer falls back to raw requested acceleration to decide whether gas or
braking is active. The magnitude and mode are therefore selected in different
physical domains.
This change:
-0.12 m/s²adjusted force;-0.02 m/s², creating a stateful coast band;inactive;
The Accord 11G MVL path keeps its existing force crossover and is not retuned by
this PR.
Fault evidence and rationale
The original failure route,
00000002--aa8501ddcb, captures PCM P061B beginningat 951.918310 seconds. The preceding 3.681 seconds contain a continuous outgoing
Honda
0x1DFcontradiction: positiveGAS_COMMANDtogether with negativeACCEL_COMMAND,BRAKE_REQUEST=1, andBRAKE_LIGHTS=1. Across the route thereare 1,584 frames with positive gas and asserted braking.
The installed controller that produced that route enabled gas from adjusted force
but enabled braking independently from raw acceleration. P061B appearing during the
sustained contradiction makes Honda's powertrain command/torque plausibility monitor
a plausible cause of the check-engine fault. This is strong timing and A/B evidence,
not proof of the PCM's proprietary internal decision. A memory leak is not supported
by the route: relevant process memory remains stable, available RAM stays above
554 MiB, and there is no OOM, process restart, invalid CAN, or openpilot ACC fault.
The first raw-acceleration-only correction prevented simultaneous commands but caused
an acceleration/coast cycle. On route
00000003--1423cb6de2, it suppressed positiveroad-load-compensated gas for about 23.96 of 87.3 engaged seconds and repeatedly
reapplied hundreds of gas units as raw acceleration crossed the gate.
The follow-up route,
00000004--dcc6a5b59e, showed why keeping raw acceleration asthe brake selector still felt unnatural on inclines and with leads: 2,336 brake
frames occurred while reconstructed adjusted tractive force was positive, including
1,987 frames that suppressed positive calculated gas. This discontinuity is especially
visible in full E2E mode, where small model-requested acceleration changes can cross a
raw threshold even though hill/drag compensation still calls for propulsion.
Exact-source open-loop replay of the final same-domain candidate produced zero
positive-gas-plus-brake frames. It reduced brake runs from 39 to 11 on the follow-up
route and from 22 to 11 on the complete fault route, while preserving propulsion on
all 1,584 original conflict frames. The owner reports that road testing so far has
not reproduced the fault and longitudinal behavior is smoother, particularly in full
E2E mode. That report is encouraging but does not yet prove long-duration P061B
prevention or establish these thresholds as final for every Honda Bosch platform.
Validation
git diff --check: passesThe dedicated StarPilot acceleration test cannot import locally because the checked-in
msgq/ipc_pyx.sois not a valid Mach-O binary on this Mac. This PR does not change theplanner; its full-E2E benefit comes from removing the downstream actuator-mode
discontinuity after the planner output.