Skip to content

LOS-166: extract stabilization pipeline - #311

Merged
LostPointer merged 1 commit into
developfrom
lostpointmeister/los-166-stabilization-pipeline
Jul 28, 2026
Merged

LOS-166: extract stabilization pipeline#311
LostPointer merged 1 commit into
developfrom
lostpointmeister/los-166-stabilization-pipeline

Conversation

@LostPointer

Copy link
Copy Markdown
Contributor

Что изменилось

  • добавлены явные StabilizationInput и StabilizationOutput для данных одного control tick
  • orchestration yaw, pitch, slip, oversteer и Kids Mode собрана в StabilizationPipeline
  • выбор режима остался снаружи pipeline и передаётся декларативно через ModeTraits
  • ControlLoopProcessor теперь только формирует snapshot и применяет результат pipeline
  • сохранены legacy-overload'ы контроллеров как адаптеры совместимости
  • добавлены unit-тесты порядка и policy для Direct, Normal, Drift, Pitch и Kids Mode

Зачем

Это третий этап LOS-166. Он уменьшает связанность ядра стабилизации с EKF/IMU и убирает знание о порядке отдельных стабилизаторов из ControlLoopProcessor. Благодаря value snapshot вычисления проще тестировать и дальше упрощать без изменения control loop.

Влияние

Поведение и порядок вычислений сохранены: Kids preprocessing → yaw → pitch → slip → oversteer → counterfactual slew → motor-model target → speed limiter.

Проверки

  • host build
  • 1003/1003 unit tests
  • profile build с RC_PROFILE_LOOP=ON
  • 108/108 profile-focused tests
  • clang-format-20 --dry-run --Werror
  • git diff --check

idf.py в локальном окружении недоступен.

@LostPointer
LostPointer marked this pull request as ready for review July 28, 2026 14:29
@LostPointer
LostPointer merged commit 3841b71 into develop Jul 28, 2026
8 checks passed
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