Smalltim OSD and autopilot (часть 1)
Если еще начать подстраиваться под 4х канальные пульты то это вообще цирк получится =) Я конечно утрирую, но думаю что скажем для 6ти каналки у которой есть только 2 тумблера на 2 положения мах что можно выцедить это 3 состояния.
За каждым четким положением управляющего сигнала должно четко следовать состояние АП/ТМ
С этими тезисами трудно не согласиться. 😃
И все-же - если командный канал может обеспечить все режимы канала состояния, за исключением “Безусловный ручной” (а ведь вру - может: оставьте его на автоповторе в позиции “Отключить стабилизацию”+“Отключить АП” и ни одно условие больше не сработает), может стоит раз и навсегда решить задачу в общем виде и дать возможность пользователю гибкой настройки: сколько управляющих каналов РУ использовать и как распределить между ними команды?
Кстати, отдельный командный канал может не только для переключения экранов пригодиться, но и для команд режиму АП, например в режиме полета по точкам, команда “перейти к следующей точке”…
Если это коммерческий прожект то он должен ориентироваться на основную массу юзеров с не очень наворочеными пультами, а то вам скоро 14 каналки не хватит. Резюмирую свою предыдущую писанину - форс-мажорные режимы должны включаться одним действием, всё остальное как получится. А для тех кто жаждет всё сразу-лепить на тренерский разьём доп. девайсину передающую по одному (или нескольким) из каналов кодированные посылки, которые на приёмной стороне раскодируются в конкретные команды.
С уважением.
Резюмирую свою предыдущую писанину - форс-мажорные режимы должны включаться одним действием, всё остальное как получится.
Тогда опишите, пожалуйста, Ваш вариант использования хотя-бы 1-го управляющего канала, для случая, если необходимо реализовать переключение между 3-мя режимами атопилота: нет, только стабилизация, возврат на базу (это желательно делать одним движением - и быстро) и при этом иметь возможность переключать экраны телеметрии (хотя-бы медленно и по циклу).
И я уже 3 часа ломаю голову, как совместить независимые команды (типа включить АП, переключить экраны ТМ) и зависимые состояния между АП и стабилизацией. Давайте поломаем голову вместе?
Честно говоря, я бы здесь подошел несколько проще.
Допускаем три условия:
- имеется в наличии пульт не самый продвинутый (а так оно и есть). Соответственно, каким-то функционалом придется жертвовать.
- Режим автопилота подразумевает автоматическое включение стабилизации.
- Имеем существующий алгоритм управления АП (с пятью позициями 1-2-0-3-4) и прикидываем чего нам в ней не хватает.
Позиции распределяем так
0- нейтраль
1- Выключение АП и Стабилизации. Выключение любой их комбинации. По аналогии с кнопкой возврата на Ай-мобилке.
2- Включение стабилизации (циклический перебор режимов)/ режим АП-1
3- Переключение экранов/ режим АП-2
4- Включение АП/ режим АП-3
Моделируем ситуации.
Включаем стабилизацию. Тем же способом, что и на данный момент. Поскольку этот режим не требует срочного включения, то выжидаем 3 сек и стабилизация включилась (ст-1). Если требуется и есть еще один режим стабилизации, то переводим стик в это же положение и через 3 сек получаем следующий режим стабилизации (ст-2). И так по кругу сколько угодно раз. Если видео нет, то ограничиваемся Ст-1 или выбираем режим Ст-1 - Ст-хх до взлета с компа.
Выключаем стабилизацию моментально (в позиции 1 )
Ручное включение АП. Этот режим может требовать экстренного включения, а посему вешаем его на крайнее положение стика (дабы не промахнуться) и включаем моментально. Альтернативные методы включения АП остаются, но в качестве резервного варианта для малоканальной аппы.
С момента включения АП мы не можем ни чего делать, кроме как его выключить. Соответственно все три оставшихся положения (2-3-4) стика можем использовать для указания автопилоту в каком режиме ему работать (Ап-1, Ап-2, Ап-3). Ну, либо больше, перебирая каждое из положений циклически (Ап-1, Ап-1/1, Ап-1/2 …) Ну, либо отдаем под это любой другой канал управления, подключенный в АП (Элеватор, элероны, рудер… 😃
Выключаем АП моментально позицией 1.
Автоматическое включение АП. Фактически, все то же самое, но по умолчанию включается «режим спасения» как наиболее безопасный, а при восстановлении сигнала можно будет уточнить в каком режиме далее работать (Ап-1, Ап-2, Ап-3) .
PS На режим АП-3 я бы повесил команду «встать в круг в данной точке» , как наиболее лояльную к пилоту.
Включаем стабилизацию. Поскольку этот режим не требует срочного включения
Часто требует и очень срочного! Это же КО-пилот. Что еще поможет начинающему выровнять модель?
Ручное включение АП. Этот режим может требовать экстренного включения,
А этот режим как раз легко дублируется через иммитацию пропадания РУ, поэтому может быть реализован независимо на любом канале (и в простейшем случае не требует отдельной позиции). В предыдущей версии АП, я ставил распознование потери РУ по выходу за пределы канала газа (приемник с FailSafe только по газу), а управляющий канала просто микшировал с газом на максимальный минус.
Ну и главное, Ваша схема легко реализуется предлагаемой мной выше системой команд на одном канале РУ. 😃
Часто требует и очень срочного! Это же КО-пилот. Что еще поможет начинающему выровнять модель?
Ну… честно говоря для исправления “заруливания” АП я не рассматривал. Не очень верится, что АП поставит человек, впервые поднимающий модель в воздух. Хотя, могу и ошибаться.
А этот режим как раз легко дублируется через иммитацию пропадания РУ, поэтому может быть реализован независимо на любом канале (и в простейшем случае не требует отдельной позиции). В предыдущей версии АП, я ставил распознование потери РУ по выходу за пределы канала газа (приемник с FailSafe только по газу), а управляющий канала просто микшировал с газом на максимальный минус.
Ну и главное, Ваша схема легко реализуется предлагаемой мной выше системой команд на одном канале РУ. 😃
Мой вариант тоже на одном канале. Основная идея, которую я хотел донести, это использование “верхнего и нижнего регистра”. Т.е. при включенном АП все остальные каналы управления освобождаются (мы же не рулим) и могут использоваться для нужд АП. А их, как минимум, три с нейтральной точкой, т.е фактически шесть! Вот и готовый канал на любую мыслимую функцию.
Мой вариант тоже на одном канале. Основная идея, которую я хотел донести, это использование “верхнего и нижнего регистра”.
Это увеличивает количество команд, но уменьшает их однозначность, так как априори предполагает знание текущего режима.
Все-же видимо придется допускть некоторый компромис, - хотите много команд используйте аппартуру с запасом по каналам (на 2-х управляющих каналах, все предложенные функции распеределить гораздо легче и понятнее). А у кого дефицит с аппой, - выбирайте главное для себя. А гибкость настроек должна это позволять.
Не очень верится, что АП поставит человек, впервые поднимающий модель в воздух.
Так для целей обучения такая модель самое то! Вспомните зачем вообще КО-пилоты изобрели? 😃
Хорошая кстати идея, включил автопилот и крути чего хочешь, медленно и вдумчиво. Как накрутился, автопилот выключаем и валим куда надо.
С уважением.
А у кого дефицит с аппой, - выбирайте главное для себя. А гибкость настроек должна это позволять.
С этим полностью согласен.
Одно могу сказать, нынешняя переключалка режимов мне кажется довольно удачной, а по этому и пришло в голову развитие именно этой схемы.
Единственное, что приносит неудобство - отсутствие крутилок или ползунков на моем передатчике. Есть 4 свободных канала, но они дискретные.
Но это не проблема автопилота и вполне решается обходными путями.
А у кого дефицит с аппой, - выбирайте главное для себя. А гибкость настроек должна это позволять.
С этим полностью согласен.
Одно могу сказать, нынешняя переключалка режимов мне кажется довольно удачной, а по этому и пришло в голову развитие именно этой схемы.
Единственное, что приносит неудобство - отсутствие крутилок или ползунков на моем передатчике. Есть 4 свободных канала, но они дискретные.
Но это не проблема автопилота и вполне решается обходными путями.
Прошу не пинать за вопрос, просто пытаюсь разместить все элементы управления и питания в корпусе планера… (центр тяжести и… т.д.).
Хочу узнать, может кто подскажет размеры, вес платы автопилота и телеметрии.
Заранее спасибо
Примерно так.
… Ой, чегой-то с размерами картинок не того…
Так для целей обучения такая модель самое то! Вспомните зачем вообще КО-пилоты изобрели? 😃
Перечитывал пейджер. Много думал… (с)
Для начинающих можно ввести режим “Тренер/страховка”, выбираемый с компа и назаначаемый вместо чего-либо. При учебных полетушках большинство замороченых функций не потребуются. И здесь важнее наличие “кнопки спасения”, чем множество режимов.
Что-то вы совсем запутали народ.
Давайте не будем плодить сущности и все же остановимся на махимум 5ти командах на одном канале. И без каких либо циклов и регистров.
Повторю еще раз. Команда должна быть четкой и соответствовать положению тумблера\крутилки\слайдера.
Вы дома когда свет включаете, тумблер перещелкиваете? Нет, пришли, перевели выключатель в положение вкл., свет горит. Так же и тут должно быть.
А вот идею при включенном АП сделать управление режимами АП с ручек управления очень даже поддерживаю.
Что-то вы совсем запутали народ.
Давайте не будем плодить сущности и все же остановимся на махимум 5ти командах на одном канале. И без каких либо циклов и регистров.
всего шесть получается = 5 тумблером + файлсейв
Вожусь с ардупилотом и посетила следующая мысль:
Существует проблема в коррекции курса только по данным от GPS по причине значительной инерционности ( или недостаточной точности при 10Гц)поступления данных - ошибки курса .
Получить при этом достаточно быструю и точную регулирующую характеристику - нереально. Практически неминуемо будет колебательный процесс.Приемлемый результат можно получить только в случае сложной математики учитывающей и скорость(воздушную) и инерционные характеристики самика и прочее.
Т. е задача архисложная как по алгоритму так и очень неудобная в практике - под каждую модель нужно подбирать кучу коэффициентов.
Теперь мысль - для обратной связи использовать дельту от показаний магнитного компаса. Именно дельту - не требуются коррекции на магнитное склонение и прочее. Показания будут непрерывные - что чрезвычайно упрощает задачу и приводит к тому , что под конкретный самик практически не нужно ничего подстраивать.
Т.е алгоритм таков:
Имеем ошибку в курсе - полученную по GPS.
Задаем на поворот на эту ошибку в курсе , но по магнитному компасу.
Проверяем ошибку в курсе по GPS и т.д.
Имхо - должно отлично работать…
Вожусь с ардупилотом…
Вы веткой случайно не ошиблись?❓
Да намана всё, какая разница куда писать.
Вы веткой случайно не ошиблись?❓
Нет, не ошибся. А Вы - “смотрящий” в этой теме?😃
Мне интересно мнение Тимофея на предложенный алгоритм для задания и удержания курса комбинацией электронного-магнитного компаса и GPS,который может применен в любом автопилоте…
Я просто ввел предсказание курса по GPS на Х секунд вперед, и это работает.
Алгоритм выведения самика на базу сходящийся во всем диапазоне начальных условий, так что колебания могут возникнуть только на очень резких самиках или многосекундном запаздывании ГПС.
Единственная проблема, которая была замечена - недостаточно резкие повороты на базу при малых углах отклонения, что может бть вылечено увеличением пропорции между отклонением и требуемым креном. При этом для избежания переруливания надо не только смотреть, куда самик полетит через Х секунд, но и еще контролировать и ограничивать скорость разворота самика и ограничивать допустимые углы крена при авторазвороте на базу. И то, и другое в пилоте есть.
>Получить при этом достаточно быструю и точную регулирующую характеристику - нереально. Практически неминуемо будет колебательный процесс.
Я ни разу такого не наблюдал, честно. Более того, работа с курсом по ГПСу оказалась настолько беспроблемной, что компас, как вы видите, из минипилота выкинут, сделан опцией.
Алгоритм вполне нормальный, действительно, будет работать. Только при неправильной установке/калибровке компаса и/или пирометров его коррекция по крену-тангажу (надеюсь, Вы не забыли о необходимости установки 3D компаса и его коррекции по крену и тангажу? Другие варианты правильно работать не будут!) будет неправильной или вообще будет фигня на выходе. Для обычного летателя это всё слишком сложно.
Коллеги, огромное спасибо за все замечания по управляющему каналу, логику поменяем.
Я просто ввел предсказание курса по GPS на Х секунд вперед, и это работает.
Алгоритм выведения самика на базу сходящийся во всем диапазоне начальных условий, так что колебания могут возникнуть только на очень резких самиках или многосекундном запаздывании ГПС.
Единственная проблема, которая была замечена - недостаточно резкие повороты на базу при малых углах отклонения, что может бть вылечено увеличением пропорции между отклонением и требуемым креном. При этом для избежания переруливания надо не только смотреть, куда самик полетит через Х секунд, но и еще контролировать и ограничивать скорость разворота самика и ограничивать допустимые углы крена при авторазвороте на базу. И то, и другое в пилоте есть.
.
Понятно. Проще сказав - у Вас полное ПИД- регулирование.Подразумевает подбор коэффициентов под конкретный самик . Иначе- либо вялое отрабатывание ( все относительно - но сравниваем с реально достижимым) , либо перерегулирование с змейкой.
Предлагаемый способ ,на мой взгляд, по причине отсутствия задержек в обратной связи позволяет для получения схожего результата обойтись без сложной математики ( проще сказать - без интегральной и диф… составляющей и соответствующим им подборам коэффициентов).
Только при неправильной установке/калибровке компаса и/или пирометров его коррекция по крену-тангажу (надеюсь, Вы не забыли о необходимости установки 3D компаса и его коррекции по крену и тангажу? Другие варианты правильно работать не будут!) будет неправильной или вообще будет фигня на выходе. Для обычного летателя это всё слишком сложно.
Вроде не должно быть сложно. Рассматривается вариант именно для обычного летателя , когда курс меняется рулем поворота, а крен и тангаж мал или отсутствует ( поддерживается горизонт по крену и тангажу. ). Небольшой угол по тангажу - допустим при наборе высоты - приведет на первый взгляд к мизерной ошибке.
Можно рассматривать вместо магнитного компаса и гироскоп для этой же цели.
Хотя от хорошего что искать лучшее. Если у Вас задача успешно решена.
>когда курс меняется рулем поворота, а крен и тангаж мал или отсутствует
Попробуйте поставить такой автопилот на Изик без элеронов или на ЛК.
По делу:
Сделал новую автопилотную прошивку для телеметрии, теперь наличие видеосигнала на входе телеметрии не обязательно для обмена данными с автопилотом.
Сделано это за счет симуляции горизонтальной и вертикальной синхронизации таймером при пропусках или отсутствии импульсов синхронизации от LM1881. Пришлось повозиться, чтобы таймерные прерывания не мешали настоящим прерываниям по синхроимпульсам и наоборот. Заработало.
В общем, телеметрия окончательно превратилась в плату сбора и выдачи информации от автопилота/к автопилоту, теперь ей и видео не обязательно.
Если вернуть телеметрии родную телеметрическую прошивку - становится совершенно самостоятельным девайсом, как и раньше.
Генерить картинку на видеопередатчика без входного видеосигнала телеметрия по-прежнему не умеет, но, вообще-то всё для этого у нее есть. Во всяком случае, подбирая такты таймера и проца, (и дергая ногами видеовыхода в моменты строчных прерываний) я сегодня случайно получил ползущий по диагонали текст телеметрии, при отсутствии входного видеосигнала. Оно всё было не совсем прямое и медленно ползло по экрану, но это понятно - кадровых синхроимпульсов не было, а строчные были далеки от стандарта и по форме и по времени. Но картинка была 😃
Я пока пас, но если кто-то хочет повозиться с этой идеей - исходники выложены, попробуйте.
кадровых синхроимпульсов не было
Для синхронизации нужно выдавать “нули”, а для текста уровень - 0.3В. Тогда и телек синхру скушает. Т.е. нужно 2 ноги порта в “цап” объединять.
Каждую строку вначале 4 мкс “нулей” и каждые 312 строк по три строки: 4 мкс 0.3В и 60 мкс “нули”. Все. На чересстрочность и дробное кол-во строк (312.5) можно забить.
теперь наличие видеосигнала на входе телеметрии не обязательно для обмена данными с автопилотом.
Уточни пожалуйста
- О каких данных идет речь? Об аналоговых измерениях с телеметрии (ток, температура, напряжение)? То есть, чего АП не будет знать (в неисправленной версии) при отсутствии видеосигнала?
- Кто теперь рассчитывает направление на базу и другие цифры идущие с GPS: только АП (а ТМ лишь отображает их)? Или обе платки, используя одни и те-же данные GPS проделывают одинаковые вычисления?
- При отсутствии видеосигнала с текущей прошивкой телеметрии АП ничего не будет знать о данных с телеметрии. Более того, он просто не обнаружит подключение к телеметрии на старте и просто не будет ее опрашивать.
С новой прошивкой телеметрии - без видеосигнала доступна вся информация о датчиках. - Направление на базу и прочее считает только АП. Телеметрия только опрашивает датчики и отправляет данные на АП, получая взамен готовую картинку для показа.
АП ничего не будет знать о данных с телеметрии.
Но GPS данные и пиродатчики у него будут. То есть рулить сможет? С точки зрения АП не смогут работать только предупреждения по Umin и Imax?
Или еще какие засады есть?
И что будет, если видеосигнал пропадает в середине полета?
>Но GPS данные и пиродатчики у него будут. То есть рулить сможет? С точки зрения АП не смогут работать только предупреждения по Umin и Imax?
Или еще какие засады есть?
Баровысота и бароскорость без обмена данными с телеметрией со старой прошивкой будут нулевыми. Ток и расход батареи - тоже.
>И что будет, если видеосигнал пропадает в середине полета?
С новой прошивкой телеметрии для АП ничего не изменится - телеметрия исправно продолжает меняться с пилотом данными. Как только видео появляется обратно, таймерная стимуляция телеметрии прекращается и работаем в штатном режиме.
Здравствуйте!
Может кто подскажет распиновку разъема пироголов от старого автопилота. Не знаю какой проводок куда втыкать, а штекер к новому не подходит.
Дмитрий