mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-10-15 14:43:41 +08:00
df5e2bbae2
The equal-arrival endpoint held 2-4 m of C0 in large turns. In the reference ML3V/ML34 calibration the path supervisor's C0 term clip(0.5*C0, +-0.5) saturates at 1.0 m, so that extra C0 added primary curvature but no turn-direction allowance, while on release the supervisor kept excluding zero demand until held C0 slewed (1.5 m/s) back below about 0.41 m. Cap the static endpoint's C0 at 1.0 m and give the rest to C1, returning to C0 only at C1's bound. The paired selector still builds with both fields, then trades C0 for C1 at constant curvature before a release is needed. Endpoints whose equal-arrival C0 is at most 1.0 m are unchanged. Offline evidence on reference-firmware instructions (no wheel, assist or vehicle model): zero demand excluded after release 1.48/1.88/2.17 s -> 0.39/0.39/0.48 s for large 15/20/25 km/h steps with an unchanged 50%/90% rise; replayed routes 194-196 cut forced old-direction output after large releases by 50-75%; packets away from large turns are identical. Three frozen selector costs are refreshed; their selected packets are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Docs development
The docs/ tree is the source for docs.comma.ai.
The site is updated on pushes to master by this workflow.
1. Build the site
python docs/serve.py --build
2. Run the site locally (rebuilds on change)
python docs/serve.py