AFON // радиотехник affonya@mail.ru
← Большие статьи по дронам

Feedforward и отзывчивость к стикам

Почему одного PID мало для точного отклика на резкие движения стиков и что добавляет feedforward.

№148 · Управление и автопилот

Ограничение чистого PID

Классический PID реагирует на ошибку — то есть на уже возникшее расхождение между желаемым и реальным. Это значит, что регулятор всегда немного «догоняет»: сначала должна появиться ошибка, и только потом на неё реагируют P, I и D. При плавных движениях это незаметно, но при резких, быстрых движениях стиков возникает запаздывание: аппарат отрабатывает команду с небольшой задержкой, потому что ждёт, пока накопится ошибка. Для точного пилотажа и «связанного» ощущения этого мало.

Решение — добавить упреждающую составляющую, которая реагирует не на ошибку, а прямо на команду пилота, ещё до того как ошибка появится. Это и есть feedforward.

Что такое feedforward

Feedforward (упреждение, прямая связь) подаёт управляющее воздействие пропорционально скорости изменения стика — то есть тому, как быстро пилот двигает ручку. Когда стик резко идёт в сторону, feedforward сразу добавляет соответствующую коррекцию моторам, не дожидаясь, пока гироскоп зафиксирует отставание. По сути регулятор «предугадывает» нужное воздействие по самой команде, а PID лишь дочищает остаток. В результате аппарат следует за стиками точнее и с меньшей задержкой, особенно на резких, рваных движениях фристайла.

Важно: feedforward работает по входу (команде), а PID — по ошибке (результату). Они дополняют друг друга: feedforward даёт быстрый упреждающий отклик, PID обеспечивает точность и устранение остаточной ошибки. Вместе они дают и скорость, и точность.

Зачем это нужно на практике

Feedforward частично заменяет роль D-члена в отклике на команды, но без его главного недостатка — усиления шума. D реагирует на скорость изменения ошибки (включая шум гироскопа), а feedforward — на скорость изменения стика (чистый сигнал от пилота, без шума). Поэтому увеличение feedforward позволяет получить острый отклик на команды, не разогревая моторы шумом, как это делает избыточный D. Для фристайла это ценно: связанное, точное следование за стиками при умеренном D и холодных моторах.

Настройка

Feedforward настраивают вместе с рейтами и PID. Слишком мало — отклик на резкие движения вялый, «ватный», аппарат отстаёт от быстрых команд. Слишком много — появляются артефакты: «перелёты» (overshoot) в конце резкого движения стика, рывки, ощущение нервозности. Современные прошивки добавляют сглаживание и защиту от скачков feedforward (например, при ступенчатых изменениях сигнала от приёмника), чтобы упреждение не превращалось в дёрганье. Разумный путь — начать со стоковых значений и менять постепенно, оценивая связанность отклика и отсутствие «перелётов».

Связь с качеством сигнала приёмника

Поскольку feedforward реагирует на скорость изменения стика, он чувствителен к качеству и частоте сигнала от приёмника. Низкая частота обновления RC или «ступенчатый» сигнал заставляют feedforward видеть резкие скачки там, где пилот двигал стик плавно, — отсюда рывки. Высокая частота обновления канала управления (например, у ELRS на высоких режимах) и сглаживание дают чистый, плавный feedforward. Поэтому связка «быстрый приёмник плюс feedforward» ощущается особенно точной и приятной.

Практические выводы

  • Feedforward упреждает по команде стика, снижая задержку отклика, которую не устранить одним PID.
  • Он даёт остроту без нагрева, в отличие от избыточного D (не усиливает шум гироскопа).
  • Избыток feedforward — «перелёты» и рывки в конце резких движений; настраивают постепенно.
  • Качество и частота сигнала приёмника напрямую влияют на плавность feedforward.

Feedforward и D-член: разделение ролей

Понимание разницы между feedforward и D снимает частую путаницу. Оба связаны со «скоростью изменения», но реагируют на разные вещи: D — на скорость изменения ошибки (результата, где живёт шум гироскопа), feedforward — на скорость изменения команды (чистого сигнала от пилота). Поэтому за отклик на резкие движения стиков лучше отвечает feedforward: он даёт остроту без нагрева. D же оставляют для гашения реальных возмущений (ветер, задевания). Такое разделение ролей позволяет держать D умеренным (холодные моторы), а связанность управления обеспечивать через feedforward — это одна из основ современной настройки.

Практическая настройка баланса

На практике feedforward, рейты и PID настраивают совместно. Рейты задают, какой максимальной угловой скорости соответствует полное отклонение стика; feedforward — насколько резко аппарат подхватывает быстрые движения; PID — точность и гашение. Разумный путь: начать со стоковых значений прошивки (они сбалансированы), затем менять feedforward небольшими шагами, оценивая связанность на резких флипах и роллах и отсутствие «перелётов» в конце движения. Если появляются рывки — проверить частоту и сглаживание сигнала приёмника, потому что feedforward обнажает любую «ступенчатость» RC-канала.

Итоговая роль в ощущении полёта

В сумме feedforward — это то, что превращает технически стабильный аппарат в приятный и точный в управлении. PID обеспечивает, чтобы дрон держался и не раскачивался; feedforward обеспечивает, чтобы он мгновенно и точно шёл за рукой пилота. Именно ощущение «связанности», когда аппарат кажется продолжением стиков без задержки и без нахлёста, во многом заслуга правильного feedforward в паре с быстрым приёмником. Поэтому современная настройка не сводится к трём коэффициентам PID: feedforward, рейты и качество RC-сигнала — равноправные участники, формирующие итоговый характер и точность управления.

Место feedforward в общей картине настройки

Полезно видеть, где feedforward стоит среди прочих настроек. Механика и фильтры задают потолок чистоты сигнала; PID обеспечивает стабильность и точность по ошибке; рейты определяют «передаточное число» стиков; а feedforward отвечает за упреждающую отзывчивость по команде. Все они работают вместе, и перекос в любую сторону ухудшает результат: без feedforward аппарат вялый на резких движениях, с избытком — дёрганый. Осознанная настройка балансирует эти элементы, а не крутит один из них до предела. Именно поэтому современные прошивки поставляются со сбалансированными стоковыми значениями — от них и стоит отталкиваться, меняя понемногу и осмысленно.

Итог

Feedforward дополняет PID, добавляя упреждающую реакцию на команды пилота: он подаёт коррекцию по скорости движения стика, не дожидаясь появления ошибки. Это снижает задержку и делает следование за стиками точным и «связанным», причём без нагрева, свойственного избыточному D, поскольку работает по чистому сигналу команды, а не по шумной ошибке. В паре с быстрым приёмником и грамотным PID feedforward — одна из причин, почему современные аппараты так точно и приятно отзываются на резкий пилотаж.

Смотрите также

Справочник по дронам · Все большие статьи