дальность полета

soki

Ничто не мешает его сделать, всегда ведь можно занулить коэф.

А кстати, здесь предлагается какой-то сложный способ настойки, опять сугубо теоритический, считать период, момент инерции самолета и т.п. А разве нельзя прям в полете менять коэффициенты (уменшать gain) до тех пор, пока поведение автопилота не будет адекватным?

serj

Все можно подвигать руками, если знать куда 😃
указанный способ подбора я описал выше.

Измерение периода собственных колебаний СИСТЕМЫ- это наиболее простой практический метод, когда хочется сделать минимальное число подходов. Никакиее моменты инерции считать не надо, да и не сильно помогут они…

По поводу физического понимания - я бы объяснил так: дифференциальная составляющая вводится, чтобы ограничить скорость задаваемого воздействия.

Ибо она рассчитывается по производной, а это и есть скорость.

То есть если пропорциональный коэффициент слишком велик, то самолет будет проскакивать нужный курс, а дифф. составляющая не дает ему слишком сильно разогнаться. И наоборот, при отклонении от курса позволяет быстрее набрать скорость разворота.

При полете против ветра это имеет значение, т.к при любом отклонении от курса ветер будет “помогать” развернуть самолет.

По поводу того, что в 100-200м от точки алгоритм курсового наведения как правило плохо работает, обусловлено, скорее всего, некачественной реализацией или резкими порывами ветра, превышающими маневренные возможности вашей системы.

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

soki

Все это правильно, особенно в теории. На практики дифф. часть не нужна особо. То есть она может и даст какие-то преимущества, но мелкие покачивания самолета от ветра все могут испортить. Производная будет сильно шумная. Но, конечно, надо пробовать и может что-то получится.

Все это напоминает работу осциллятора с затуханием. Сила (отклонение руля) = -k*x-nu*dx/dt, где x-это ошибка в направлении. k*x - это пропорцональная часть работы автопилота. Так вот часто бывает (когда самолет далеко), что dx/dt=d(x+y)/dt, где y - это направление на “дом” (почти константа, пока самолет далеко), а соотв. (x+y) это просто направление полета самолета. Так вот по неким аэрдинамическим соображением затухание есть, то есть член -nu*dx/dt уже присутствует сам собой и схема работы автопилота с одним пропорциональным членом будет работать. Если k меньше некого порогового значения, то самолет будет подходить к нужному направлению “домой” асимптотически, то есть как раз подходить с почти нулевой угловой скоростью.

Панкратов_Сергей

Все, о чем Вы пишете мной уже прочитано и осмыслено.

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

Я бы на Вашем месте установил пропорциональный коэффициент так, чтобы максимальный крен самика, устанавливаемый автопилотом _в любой ситуации_ был не больше, чем комфортное и безопасное для Вас/Вашей модели значение, из которого можно выйти в нулевой крен за 2 сек, и при этом заметил бы скорость изменения курса (град/сек) при этом крене. Хотя бы приблизительно.

В Ардупилоте, насколько я понял, за безопасные положения рулей отвечает не пропорциональный коэффициент, а тупое программное ограничение - это видно в части кода приведенном мной для примера.

soki
Панкратов_Сергей:

Все, о чем Вы пишете мной уже прочитано и осмыслено.

Ну и хорошо! Я всего лишь хотел помочь, может кто другой узнает.

Панкратов_Сергей

Помощь я все же получил - за что спасибо.
То что для начальной настройки оставить только пропорциональную часть.
А затем можно и экспериментировать с дифференциальной.