дальность полета
1)Во-первых это просто экпериментальный факт. По крайне мере с тем алгоритмом, по которому работает Dragon.
Во-вторых, (а вот здесь уже начинается вольная интерпретация, и надо думать, то ли это) видимо близость дома сказыватье на том, что самолет успевает пролететь заметное расстояние в сторону и тем самым увеличить ошибку. Представте, что вы в 10 км от какой-то точки, сделайте 5 шагов с любую сторону. Понятно, что направление на эту точку почти не изменится. Теперь представте, что вы в 10 метрах от этой точки, тогда после 5 шагов направление на нее будет заметно отличаться от первоначального. Похожим образом малые ошибки в курсе самолета быстро нарастают и раскачивают нос самолета. Про 100 метров я примерно написал, может чуть меньше или больше, зависит от модели самолета, ее скорости.
2)Максимальная скорость поворота действительно есть в алгоритме работы Dragon OSD. И работает она так, как я написал.
3)Каждый перерасчет курса и выдачи команды на руль происходит с частотой работы GPS антенны, прям глазами (если самолет на земле и его слегка двигать в разые стороны) видно, как руль дергается 5 раз в секунду, если включен режим автопилота.
Скажу сразу, это всё я моделировал на земле, полетных испытаний еще не было.
Вот, я же говорил, что это разговор теоретика с практиком 😃
Я думаю, дифф. состовляющую редко кто использует потому, что самолет дергается и будет много случайного шума. Нужен какой-то фильтр. На самом деле, она не нужна в полете. Это опять практическое наблюдение. Но объянить это, наверное, можно наличием в системе самолет-автопилот какого физического коэффициента затухания, делающего полет домой устойчивым.
>Вот, я же говорил, что это разговор теоретика с практиком
Подождите чуток, будет другой разговор 😉
>Я думаю, дифф. состовляющую редко кто использует потому, что самолет дергается и будет много случайного шума. Нужен какой-то фильтр. На самом деле, она не нужна в полете. Это опять практическое наблюдение. Но объянить это, наверное, можно наличием в системе самолет-автопилот какого физического коэффициента затухания.
По крену-тангажу диф составляющая, согласен, не так чтобы очень нужна. Затухание обеспечивают неуправляемые плоскости самолета. А вот по курсу - по-моему, надо.
Ничто не мешает его сделать, всегда ведь можно занулить коэф.
А кстати, здесь предлагается какой-то сложный способ настойки, опять сугубо теоритический, считать период, момент инерции самолета и т.п. А разве нельзя прям в полете менять коэффициенты (уменшать gain) до тех пор, пока поведение автопилота не будет адекватным?
Все можно подвигать руками, если знать куда 😃
указанный способ подбора я описал выше.
Измерение периода собственных колебаний СИСТЕМЫ- это наиболее простой практический метод, когда хочется сделать минимальное число подходов. Никакиее моменты инерции считать не надо, да и не сильно помогут они…
По поводу физического понимания - я бы объяснил так: дифференциальная составляющая вводится, чтобы ограничить скорость задаваемого воздействия.
Ибо она рассчитывается по производной, а это и есть скорость.
То есть если пропорциональный коэффициент слишком велик, то самолет будет проскакивать нужный курс, а дифф. составляющая не дает ему слишком сильно разогнаться. И наоборот, при отклонении от курса позволяет быстрее набрать скорость разворота.
При полете против ветра это имеет значение, т.к при любом отклонении от курса ветер будет “помогать” развернуть самолет.
По поводу того, что в 100-200м от точки алгоритм курсового наведения как правило плохо работает, обусловлено, скорее всего, некачественной реализацией или резкими порывами ветра, превышающими маневренные возможности вашей системы.
Алгоритм подразумевает, что если позволяет динамика самолета, и нет резко меняющихся внешних воздействий, проходить точку с нулевой угловой скоростью.
Все это правильно, особенно в теории. На практики дифф. часть не нужна особо. То есть она может и даст какие-то преимущества, но мелкие покачивания самолета от ветра все могут испортить. Производная будет сильно шумная. Но, конечно, надо пробовать и может что-то получится.
Все это напоминает работу осциллятора с затуханием. Сила (отклонение руля) = -k*x-nu*dx/dt, где x-это ошибка в направлении. k*x - это пропорцональная часть работы автопилота. Так вот часто бывает (когда самолет далеко), что dx/dt=d(x+y)/dt, где y - это направление на “дом” (почти константа, пока самолет далеко), а соотв. (x+y) это просто направление полета самолета. Так вот по неким аэрдинамическим соображением затухание есть, то есть член -nu*dx/dt уже присутствует сам собой и схема работы автопилота с одним пропорциональным членом будет работать. Если k меньше некого порогового значения, то самолет будет подходить к нужному направлению “домой” асимптотически, то есть как раз подходить с почти нулевой угловой скоростью.
Все, о чем Вы пишете мной уже прочитано и осмыслено.
По рулю поворота - пропорциональный коэффициент, дифференциальный полезен по причине недостаточного демфирования, не плох был бы интегральный - но нужно достоверное знание направления и скорости ветра, без него только помешает.
По высоте ( пока у меня используется дроссель а будет руль высоты) -
пропорциональный,дифференциальный полезен по причине недостаточного демфирования
Крен и тангаж пока не интересует - Ко-пилот функции выполняет.
Я бы на Вашем месте установил пропорциональный коэффициент так, чтобы максимальный крен самика, устанавливаемый автопилотом _в любой ситуации_ был не больше, чем комфортное и безопасное для Вас/Вашей модели значение, из которого можно выйти в нулевой крен за 2 сек, и при этом заметил бы скорость изменения курса (град/сек) при этом крене. Хотя бы приблизительно.
В Ардупилоте, насколько я понял, за безопасные положения рулей отвечает не пропорциональный коэффициент, а тупое программное ограничение - это видно в части кода приведенном мной для примера.
Все, о чем Вы пишете мной уже прочитано и осмыслено.
Ну и хорошо! Я всего лишь хотел помочь, может кто другой узнает.
Помощь я все же получил - за что спасибо.
То что для начальной настройки оставить только пропорциональную часть.
А затем можно и экспериментировать с дифференциальной.