Smalltim OSD and autopilot (часть 1)

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

Вожусь с ардупилотом и посетила следующая мысль:
Существует проблема в коррекции курса только по данным от GPS по причине значительной инерционности ( или недостаточной точности при 10Гц)поступления данных - ошибки курса .
Получить при этом достаточно быструю и точную регулирующую характеристику - нереально. Практически неминуемо будет колебательный процесс.Приемлемый результат можно получить только в случае сложной математики учитывающей и скорость(воздушную) и инерционные характеристики самика и прочее.
Т. е задача архисложная как по алгоритму так и очень неудобная в практике - под каждую модель нужно подбирать кучу коэффициентов.
Теперь мысль - для обратной связи использовать дельту от показаний магнитного компаса. Именно дельту - не требуются коррекции на магнитное склонение и прочее. Показания будут непрерывные - что чрезвычайно упрощает задачу и приводит к тому , что под конкретный самик практически не нужно ничего подстраивать.
Т.е алгоритм таков:
Имеем ошибку в курсе - полученную по GPS.
Задаем на поворот на эту ошибку в курсе , но по магнитному компасу.
Проверяем ошибку в курсе по GPS и т.д.
Имхо - должно отлично работать…

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

Вожусь с ардупилотом…

Вы веткой случайно не ошиблись?

slides

Да намана всё, какая разница куда писать.

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

Вы веткой случайно не ошиблись?

Нет, не ошибся. А Вы - “смотрящий” в этой теме?😃
Мне интересно мнение Тимофея на предложенный алгоритм для задания и удержания курса комбинацией электронного-магнитного компаса и GPS,который может применен в любом автопилоте…

smalltim

Я просто ввел предсказание курса по GPS на Х секунд вперед, и это работает.
Алгоритм выведения самика на базу сходящийся во всем диапазоне начальных условий, так что колебания могут возникнуть только на очень резких самиках или многосекундном запаздывании ГПС.
Единственная проблема, которая была замечена - недостаточно резкие повороты на базу при малых углах отклонения, что может бть вылечено увеличением пропорции между отклонением и требуемым креном. При этом для избежания переруливания надо не только смотреть, куда самик полетит через Х секунд, но и еще контролировать и ограничивать скорость разворота самика и ограничивать допустимые углы крена при авторазвороте на базу. И то, и другое в пилоте есть.

>Получить при этом достаточно быструю и точную регулирующую характеристику - нереально. Практически неминуемо будет колебательный процесс.

Я ни разу такого не наблюдал, честно. Более того, работа с курсом по ГПСу оказалась настолько беспроблемной, что компас, как вы видите, из минипилота выкинут, сделан опцией.
Алгоритм вполне нормальный, действительно, будет работать. Только при неправильной установке/калибровке компаса и/или пирометров его коррекция по крену-тангажу (надеюсь, Вы не забыли о необходимости установки 3D компаса и его коррекции по крену и тангажу? Другие варианты правильно работать не будут!) будет неправильной или вообще будет фигня на выходе. Для обычного летателя это всё слишком сложно.

Коллеги, огромное спасибо за все замечания по управляющему каналу, логику поменяем.

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

Я просто ввел предсказание курса по GPS на Х секунд вперед, и это работает.
Алгоритм выведения самика на базу сходящийся во всем диапазоне начальных условий, так что колебания могут возникнуть только на очень резких самиках или многосекундном запаздывании ГПС.
Единственная проблема, которая была замечена - недостаточно резкие повороты на базу при малых углах отклонения, что может бть вылечено увеличением пропорции между отклонением и требуемым креном. При этом для избежания переруливания надо не только смотреть, куда самик полетит через Х секунд, но и еще контролировать и ограничивать скорость разворота самика и ограничивать допустимые углы крена при авторазвороте на базу. И то, и другое в пилоте есть.
.

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

Только при неправильной установке/калибровке компаса и/или пирометров его коррекция по крену-тангажу (надеюсь, Вы не забыли о необходимости установки 3D компаса и его коррекции по крену и тангажу? Другие варианты правильно работать не будут!) будет неправильной или вообще будет фигня на выходе. Для обычного летателя это всё слишком сложно.

Вроде не должно быть сложно. Рассматривается вариант именно для обычного летателя , когда курс меняется рулем поворота, а крен и тангаж мал или отсутствует ( поддерживается горизонт по крену и тангажу. ). Небольшой угол по тангажу - допустим при наборе высоты - приведет на первый взгляд к мизерной ошибке.
Можно рассматривать вместо магнитного компаса и гироскоп для этой же цели.
Хотя от хорошего что искать лучшее. Если у Вас задача успешно решена.

smalltim

>когда курс меняется рулем поворота, а крен и тангаж мал или отсутствует

Попробуйте поставить такой автопилот на Изик без элеронов или на ЛК.

По делу:
Сделал новую автопилотную прошивку для телеметрии, теперь наличие видеосигнала на входе телеметрии не обязательно для обмена данными с автопилотом.
Сделано это за счет симуляции горизонтальной и вертикальной синхронизации таймером при пропусках или отсутствии импульсов синхронизации от LM1881. Пришлось повозиться, чтобы таймерные прерывания не мешали настоящим прерываниям по синхроимпульсам и наоборот. Заработало.
В общем, телеметрия окончательно превратилась в плату сбора и выдачи информации от автопилота/к автопилоту, теперь ей и видео не обязательно.
Если вернуть телеметрии родную телеметрическую прошивку - становится совершенно самостоятельным девайсом, как и раньше.

Генерить картинку на видеопередатчика без входного видеосигнала телеметрия по-прежнему не умеет, но, вообще-то всё для этого у нее есть. Во всяком случае, подбирая такты таймера и проца, (и дергая ногами видеовыхода в моменты строчных прерываний) я сегодня случайно получил ползущий по диагонали текст телеметрии, при отсутствии входного видеосигнала. Оно всё было не совсем прямое и медленно ползло по экрану, но это понятно - кадровых синхроимпульсов не было, а строчные были далеки от стандарта и по форме и по времени. Но картинка была 😃
Я пока пас, но если кто-то хочет повозиться с этой идеей - исходники выложены, попробуйте.

Syberian
smalltim:

кадровых синхроимпульсов не было

Для синхронизации нужно выдавать “нули”, а для текста уровень - 0.3В. Тогда и телек синхру скушает. Т.е. нужно 2 ноги порта в “цап” объединять.
Каждую строку вначале 4 мкс “нулей” и каждые 312 строк по три строки: 4 мкс 0.3В и 60 мкс “нули”. Все. На чересстрочность и дробное кол-во строк (312.5) можно забить.

baychi
smalltim:

теперь наличие видеосигнала на входе телеметрии не обязательно для обмена данными с автопилотом.

Уточни пожалуйста

  1. О каких данных идет речь? Об аналоговых измерениях с телеметрии (ток, температура, напряжение)? То есть, чего АП не будет знать (в неисправленной версии) при отсутствии видеосигнала?
  2. Кто теперь рассчитывает направление на базу и другие цифры идущие с GPS: только АП (а ТМ лишь отображает их)? Или обе платки, используя одни и те-же данные GPS проделывают одинаковые вычисления?
smalltim
  1. При отсутствии видеосигнала с текущей прошивкой телеметрии АП ничего не будет знать о данных с телеметрии. Более того, он просто не обнаружит подключение к телеметрии на старте и просто не будет ее опрашивать.
    С новой прошивкой телеметрии - без видеосигнала доступна вся информация о датчиках.
  2. Направление на базу и прочее считает только АП. Телеметрия только опрашивает датчики и отправляет данные на АП, получая взамен готовую картинку для показа.
baychi
smalltim:

АП ничего не будет знать о данных с телеметрии.

Но GPS данные и пиродатчики у него будут. То есть рулить сможет? С точки зрения АП не смогут работать только предупреждения по Umin и Imax?
Или еще какие засады есть?
И что будет, если видеосигнал пропадает в середине полета?

smalltim

>Но GPS данные и пиродатчики у него будут. То есть рулить сможет? С точки зрения АП не смогут работать только предупреждения по Umin и Imax?
Или еще какие засады есть?

Баровысота и бароскорость без обмена данными с телеметрией со старой прошивкой будут нулевыми. Ток и расход батареи - тоже.

>И что будет, если видеосигнал пропадает в середине полета?

С новой прошивкой телеметрии для АП ничего не изменится - телеметрия исправно продолжает меняться с пилотом данными. Как только видео появляется обратно, таймерная стимуляция телеметрии прекращается и работаем в штатном режиме.

Большой

Здравствуйте!
Может кто подскажет распиновку разъема пироголов от старого автопилота. Не знаю какой проводок куда втыкать, а штекер к новому не подходит.
Дмитрий

BigDaddy

В каком смысле не подходит? Распиновка пиро и там, и там одинаковая.
Провода (если шлейф цветной) идут по порядку так:
На двух головом пиро:
-серый (земля)-фиолетовый-синий-зеленый
На 4-х головом пиро:
-черный (земля)-коричневый-красный-оранжевый-желтый.

Большой

У меня как на рисунке. Если Вам не сложно соотнесите цвета проводов с моего рисунка с названиями выводов нового АП. Или. Если я правильно понял черный и серый должны быть с краю платы АП. Убираем замковую часть и втыкаем разъем как есть (не меняя провода местами внутри разъема)?
Дмитрий

BigDaddy

Судя по рисунку, с цветами проводов что-то не так.
Как распаяны у Вас провода на самих пироголовах можно посмотреть?

Большой

Можно.

Вряд ли мои траблы с железом кого-то еще интересуют. Предлагаю далее в личку или почту. Очень жду ответа.
Дмитрий

smalltim

Слева - цвета проводков на 4-датчиковой платке (ХY датчик горизонта)
Справа - названия сигналов по картинке нового пилота ( www.smalltim.ru/i/autopilot_pinout.gif )

Ч - земля
Син - Y
Красн - +5В
Желт - ср. точка
Сер - Х

Рисунок с проводками 2-датчиковой платки дадите?