Основы настройки ПИД-регулятора на прошивке Betaflight.

Сегодня поговорим об основах настройки PID регулятора в Betaflight.

Введение.

В общем, основа настройки PID регулятора заключается в том, чтобы максимально увеличить P составляющую, и не вывести систему из равновесия (отсутствие вибраций и колебаний). P- пропорциональная составляющая управления поворотом вокруг определенной оси. Чем меньше P, тем меньше контроля, чем больше P, тем отзывчивее дрон. При превышении P определенного значения, можно вывести систему в режим генерации вибраций, когда дрон не фиксирует конечное заданное положение, а колеблется вокруг него. Более быстрые протоколы обмена ПК с регуляторами(Высокое качество регуляторов) и увеличение(в полётном контроллере) частоты обработки PID улучшает ситуацию и упрощает настройку коэффициентов, т.к. позволяет контроллеру быстрее и эффективнее вводить поправки управления.

I и D составляющие нужны, чтобы стабилизировать систему в тех случаях, где P не справляется:

I “смотрит” назад на накопленную ошибку (незначительный дрейф), которую P составляющая не смогла исправить, а затем корректирует ее. Так, например, увеличение I должно исправлять “клевание носом” (медленные колебания по pitch), когда вы резко даете газу. (Однако в этом случае лучше вначале попробовать добавить P. Если значение P занижено, I составляющей нужно будет сделать много работы, т.к. работы P всегда будет недостаточно.)

D “смотрит” вперед, чтобы замедлить вращение, если ось достигает заданного значения слишком быстро, т.к. высокое значение P (чего мы и пытаемся достичь) может привести к небольшому проскоку заданного значения, а затем отскочить назад, что может привести к вибрациям. Если такая ситуация настает, необходимо попробовать увеличить немного D. Таким образом D помогает убрать вибрацию после резкого флипа/маневра, или резкого сброса газа (так называемый prop-wash). Однако D стоит повышать очень аккуратно, чересчур большое значение D будет стараться убрать малейшие колебания, что может наоборот приводить к появлению высокочастотных вибраций, отчего моторы и регуляторы могут перегреться и сгореть.

Основные шаги по настройке PID:

  1. В первую очередь нужно максимально убрать вибрации коптера, которые влияют на показания гироскопа. Делать это необходимо с помощью балансировки моторов, установки виброразвязок и настройки программных фильтров. Настраивать PID на очень «шумном» сетапе — это как пытаться построить дом, не имея фундамента. В этом (https://goo.gl/b9Kcnl) видео рассказывается, как можно простым способом проверить вибрации моторов.
  2. Очень существенно то, что настройку нужно проводить в Acro режиме, даже если вы летаете в Level/Horizon режимах. TPA необходимо выставить в 0 на этой стадии настройки. Этот параметр может быть настроен позже, если он необходим.
  3. Необходимо уменьшить дефолтные значения PID. По pitch и roll можно начать со значений P=40, I=20, D=5. По yaw P можно уменьшить в 2 раза, и немного снизить I, чтобы исключить эту ось в качестве источника колебаний. Yaw будет настроен в конце.
  4. Начинайте с оси roll. P необходимо увеличивать до тех пор, пока на значениях газа близких к 100% или при резких перегазовках, не появятся слышимая или видимая тряска. После чего необходимо снизить P на 20-30%.
  5. Повторить шаг 4 для pitch.
  6. Необходимо протестить коптер на наличие дрейфа в висении по оси roll, и затем несколько раз резко увеличивая и уменьшая газ посмотреть, не изменяется ли первоначальный угол горизонта. Если появляется дрейф, следует увеличить I.
  7. Повторить шаг 6 для pitch.
  8. Необходимо увеличивать D по каждой оси (на 1-2 пункта) и наблюдать, уменьшаются ли колебания после резких флипов/роллов или колебания prop-wash при резком снижении уровня газа. Если увеличение D больше не помогает, необходимо вернуть D до меньшего значения. На этом этапе коптер настроен на 80-90%.
  9. Настройка PID для оси yaw обычно требует наименьшей настройки, но обделять ее вниманием не стоит. Начать следует с P, который мы уменьшили в начале в 2 раза. Увеличивать P стоит с шагом в 5 единиц до тех пор, пока не возникнут колебания при газе близком к 100% на прямом участке, или при резких перегазовках. Затем уменьшить это значение процентов на 20. Более тонкую настройку можно сделать, взглянув на логи blackbox. При этом необходимо соотнести графики yaw P и yaw gyro, чтобы убедится, что наличие колебаний в yaw P приводят к колебаниям в yaw gyro. Если график yaw gyro гладкий, то все хорошо.

 

Примечание: ось yaw меньше влияет на управление коптером, чем roll или pitch, поэтому более широкий диапазон yaw P и yaw I является приемлемым. Более высокие P и I по yaw являются нормой. Однако отладку лучше делать по логам. Обычно колебания возникают от избытка P по pitch или roll, поэтому, чтобы убедиться, что завышен именно P по yaw, нужно посмотреть на график yaw P при полном газе. Если возникают колебания, необходимо уменьшить yaw P.

В конце отрегулируйте соотношение P и I с учетом того, сопротивляется ли коптер снижению. Очень низкое значение I приведет к тому, что дрон при снижении будет медленно колебаться. Увеличение I будет снижать колебания при снижении и при резком увеличении газа. Очень большие значения I могут создать ощущения «роботизированного» управления и даже вызвать осцилляции, а также препятствовать снижению коптера.

После того, как настроили PID в Acro, можете перейти к настройке параметров Level/Horizon режимов в соответствии с вашим стилем полета.

Заключение.

Завышенные значения P не всегда удается увидеть визуально или на слух. По этой причине при настройке на слух, мы снижаем значения P по осям сразу на 20-30%, когда появляются колебания. Поэтому необходимо обращаться к логам blackbox.

Завышенные значения P в логах blackbox выглядят как синусоиды на графиках gyro. Проявляются они вначале на более высоких значениях газа (throttle).

Помните, не слишком увлекайтесь чистотой логов. Если коптер летит хорошо, и полностью вас устраивает, не стоит идеализировать настройки дальше.

Помимо всего прочего, P следует снизить относительно идеальных настроек процентов на 10, чтобы после краша погнутые пропеллеры, или шумящие моторы не вводили осцилляций в управление.

Ссылка на оригинальную статью: https://github.com/betaflight/betaflight/wiki/PID-Tuning-Guide

один комментарий к записи

Добавить комментарий