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

leliksan

Чего то как то всё очень заморочено. А нельзя сделать не по положению стика, а по аналогии с медленными кодами самодиагностики в древних авто, к примеру щёлкаем управляющим каналом определённое количество раз, система распознаёт это как команду разрешения управления и на несколько секунд встает в ожидание команды с соответствующей индикацией на экране. Если ничего не происходит система возвращается в предыдущее состояние. Если щёлкаем нужное количество раз соответствующее определённой команде, система выдает индикацию того что она восприняла и ожидает подтверждения, если ничего не происходит система возвращается в начальное состояние. Подтверждение к исполнению тоже определённое количество щелчков и ответная индикация. Под такую систему не надо никаких крутилок, просто дискретный канал и количество команд не ограничено, с быстродействием правда туго, быстро не переключишь, но для оперативного управления можно оставить команды по положению стика, но на это уже крутилка нужна или исполняемых команд мало получится (если управлять по дискретному каналу закрылков к примеру).
С уважением.

baychi
leliksan:

А нельзя сделать не по положению стика, а по аналогии с медленными кодами самодиагностики в древних авто,

Можно, но неудобно. Во первых, потому что обратная связь возможна не во всех режимах (не всегда можно видеть видеоканал через очки или монитор), ну и во вторых, как Вы сами заметили, “быстро не переключишь”, а для некоторых команд быстрота и безусловность выполнения - чрезвычайно важны.

leliksan:

Чего то как то всё очень заморочено

Еще раз продумав, все больше склоняюсь к последнему варианту - с единственным (а можно и двумя) коммандными каналами и набором позиций -команд . Просто нужно допустить, что некоторые позиции означают не одну а сразу две команды (например “Включить стабилизацию” и “Отключить АП”). Благо таких “парных” команд немного.

Brandvik

Мне больше нравится вариант с двумя каналами
В первом Управление платой АП Причем режим выбирается фиксированным положением управляющего сигнала.
1 Безусловный ручной
2 Ручной
3 Стабилизация
4 АП возврат
5 АП полет по маршруту
Второй канал просто переключает экраны телеметрии. (причем не циклически, а дискретно.)

Просто если начать разбивать на кучу положений и условий, складывать управление АП и Телеметрией в один канал и тд получися такая мешанина что в полете фиг разберешься.
Если еще начать подстраиваться под 4х канальные пульты то это вообще цирк получится =)
Я конечно утрирую, но думаю что скажем для 6ти каналки у которой есть только 2 тумблера на 2 положения мах что можно выцедить это 3 состояния.

1 Безусловный ручной
2 Стабилизация
3 АП
Телеметрию один раз выбрал на компе и так до след. подключения к компу.

Если хочешь большего то имей совесть купи пульт с большими возможностями и не парь людям мозги. Рыбку съесть и на йух сеть не получится.

За каждым четким положением управляющего сигнала должно четко следовать состояние АП/ТМ

baychi
Brandvik:

Если еще начать подстраиваться под 4х канальные пульты то это вообще цирк получится =) Я конечно утрирую, но думаю что скажем для 6ти каналки у которой есть только 2 тумблера на 2 положения мах что можно выцедить это 3 состояния.
За каждым четким положением управляющего сигнала должно четко следовать состояние АП/ТМ

С этими тезисами трудно не согласиться. 😃
И все-же - если командный канал может обеспечить все режимы канала состояния, за исключением “Безусловный ручной” (а ведь вру - может: оставьте его на автоповторе в позиции “Отключить стабилизацию”+“Отключить АП” и ни одно условие больше не сработает), может стоит раз и навсегда решить задачу в общем виде и дать возможность пользователю гибкой настройки: сколько управляющих каналов РУ использовать и как распределить между ними команды?

Кстати, отдельный командный канал может не только для переключения экранов пригодиться, но и для команд режиму АП, например в режиме полета по точкам, команда “перейти к следующей точке”…

leliksan

Если это коммерческий прожект то он должен ориентироваться на основную массу юзеров с не очень наворочеными пультами, а то вам скоро 14 каналки не хватит. Резюмирую свою предыдущую писанину - форс-мажорные режимы должны включаться одним действием, всё остальное как получится. А для тех кто жаждет всё сразу-лепить на тренерский разьём доп. девайсину передающую по одному (или нескольким) из каналов кодированные посылки, которые на приёмной стороне раскодируются в конкретные команды.
С уважением.

baychi
leliksan:

Резюмирую свою предыдущую писанину - форс-мажорные режимы должны включаться одним действием, всё остальное как получится.

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

Dronavt
baychi:

И я уже 3 часа ломаю голову, как совместить независимые команды (типа включить АП, переключить экраны ТМ) и зависимые состояния между АП и стабилизацией. Давайте поломаем голову вместе?

Честно говоря, я бы здесь подошел несколько проще.
Допускаем три условия:

  1. имеется в наличии пульт не самый продвинутый (а так оно и есть). Соответственно, каким-то функционалом придется жертвовать.
  2. Режим автопилота подразумевает автоматическое включение стабилизации.
  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 я бы повесил команду «встать в круг в данной точке» , как наиболее лояльную к пилоту.

baychi
Dronavt:

Включаем стабилизацию. Поскольку этот режим не требует срочного включения

Часто требует и очень срочного! Это же КО-пилот. Что еще поможет начинающему выровнять модель?

Dronavt:

Ручное включение АП. Этот режим может требовать экстренного включения,

А этот режим как раз легко дублируется через иммитацию пропадания РУ, поэтому может быть реализован независимо на любом канале (и в простейшем случае не требует отдельной позиции). В предыдущей версии АП, я ставил распознование потери РУ по выходу за пределы канала газа (приемник с FailSafe только по газу), а управляющий канала просто микшировал с газом на максимальный минус.

Ну и главное, Ваша схема легко реализуется предлагаемой мной выше системой команд на одном канале РУ. 😃

Dronavt
baychi:

Часто требует и очень срочного! Это же КО-пилот. Что еще поможет начинающему выровнять модель?

Ну… честно говоря для исправления “заруливания” АП я не рассматривал. Не очень верится, что АП поставит человек, впервые поднимающий модель в воздух. Хотя, могу и ошибаться.

А этот режим как раз легко дублируется через иммитацию пропадания РУ, поэтому может быть реализован независимо на любом канале (и в простейшем случае не требует отдельной позиции). В предыдущей версии АП, я ставил распознование потери РУ по выходу за пределы канала газа (приемник с FailSafe только по газу), а управляющий канала просто микшировал с газом на максимальный минус.
Ну и главное, Ваша схема легко реализуется предлагаемой мной выше системой команд на одном канале РУ. 😃

Мой вариант тоже на одном канале. Основная идея, которую я хотел донести, это использование “верхнего и нижнего регистра”. Т.е. при включенном АП все остальные каналы управления освобождаются (мы же не рулим) и могут использоваться для нужд АП. А их, как минимум, три с нейтральной точкой, т.е фактически шесть! Вот и готовый канал на любую мыслимую функцию.

baychi
Dronavt:

Мой вариант тоже на одном канале. Основная идея, которую я хотел донести, это использование “верхнего и нижнего регистра”.

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

Dronavt:

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

Так для целей обучения такая модель самое то! Вспомните зачем вообще КО-пилоты изобрели? 😃

leliksan

Хорошая кстати идея, включил автопилот и крути чего хочешь, медленно и вдумчиво. Как накрутился, автопилот выключаем и валим куда надо.
С уважением.

Dronavt
baychi:

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

С этим полностью согласен.

Одно могу сказать, нынешняя переключалка режимов мне кажется довольно удачной, а по этому и пришло в голову развитие именно этой схемы.
Единственное, что приносит неудобство - отсутствие крутилок или ползунков на моем передатчике. Есть 4 свободных канала, но они дискретные.
Но это не проблема автопилота и вполне решается обходными путями.

baychi:

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

С этим полностью согласен.

Одно могу сказать, нынешняя переключалка режимов мне кажется довольно удачной, а по этому и пришло в голову развитие именно этой схемы.
Единственное, что приносит неудобство - отсутствие крутилок или ползунков на моем передатчике. Есть 4 свободных канала, но они дискретные.
Но это не проблема автопилота и вполне решается обходными путями.

al88:

Прошу не пинать за вопрос, просто пытаюсь разместить все элементы управления и питания в корпусе планера… (центр тяжести и… т.д.).
Хочу узнать, может кто подскажет размеры, вес платы автопилота и телеметрии.
Заранее спасибо

Любой каприз!

Примерно так.

… Ой, чегой-то с размерами картинок не того…

Dronavt
baychi:

Так для целей обучения такая модель самое то! Вспомните зачем вообще КО-пилоты изобрели? 😃

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

Brandvik

Что-то вы совсем запутали народ.
Давайте не будем плодить сущности и все же остановимся на махимум 5ти командах на одном канале. И без каких либо циклов и регистров.
Повторю еще раз. Команда должна быть четкой и соответствовать положению тумблера\крутилки\слайдера.

Вы дома когда свет включаете, тумблер перещелкиваете? Нет, пришли, перевели выключатель в положение вкл., свет горит. Так же и тут должно быть.
А вот идею при включенном АП сделать управление режимами АП с ручек управления очень даже поддерживаю.

kulikof
Brandvik:

Что-то вы совсем запутали народ.
Давайте не будем плодить сущности и все же остановимся на махимум 5ти командах на одном канале. И без каких либо циклов и регистров.

всего шесть получается = 5 тумблером + файлсейв

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

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

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

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

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

slides

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

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

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

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

smalltim

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

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

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

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

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

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

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

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

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