flybrain. передатчик + приемник + автопилот. powered by stm32

hav22
AlexSneg:

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

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

========================================
Вопрос вот какой. Я планирую управление режимами АП задавать настройками следующим образом:
Номер канала, начало диапазона в мкс, конец диапазона в мкс.

То есть, например вы знаете, что ваш трехпозиционник отдает длины импульса
Положение 1, импульс = 1100 мкс
Положение 2, импульс = 1500 мкс
Положение 3, импульс = 1800 мкс
И все это идет с канала #12.
соответственно в настройках модуля прописываем через консоль:

=>set mod manual_mode 12 1000 1200
=>set mod asist_mode 12 1400 1600
=>set mod rth_mode 12 1700 1900

и т.д.
соответственно в любой канал(или несколько каналов) можно засунуть управление режимами в любых комбинациях.

Такой подход будет нормальным?

Только нужен путь определения длительности импульса для заданного канала. А так вроде нормально.

AlexSneg
hav22:

путь определения длительности импульса

точно также будет задаваться мин,макс,середина для каждого канала

msv
Dikoy:

А вот это вряд ли.

Почему?😦 Даже скриншот не увидем?..

SkyWorker

Поздравляю Алекса с Днем Рождения! Желаю творческих успехов и вдохновения!

AlexSneg
SkyWorker:

Поздравляю Алекса с Днем Рождения! Желаю творческих успехов и вдохновения!

Спасибо. В выходные летали, летали и летали…
Назовите мне название простого и понятного редактора видео, чтобы порезать ролики и что-то показать. Полеты стали уже длинными по 30 минут, выкладывать без обработки уже нельзя. Скачал какой-то Sony Vegas Pro 10. Уже пол дня смотрю на него круглыми глазами и ничего не могу понять. Посоветуйте уже что-нибудь простое.

SkyWorker

Сони вегас пригодится, не удаляй! 😃
Попробуй виртуал даб. Да их на самом деле полно, редакторов.
А сони внгас- это уже для творчества и HD.
Хотя там порезать ролик проще простого.

UnderGod
AlexSneg:

Спасибо. В выходные летали, летали и летали…
Назовите мне название простого и понятного редактора видео, чтобы порезать ролики и что-то показать. Полеты стали уже длинными по 30 минут, выкладывать без обработки уже нельзя. Скачал какой-то Sony Vegas Pro 10. Уже пол дня смотрю на него круглыми глазами и ничего не могу понять. Посоветуйте уже что-нибудь простое.

Присоединяюсь к поздравлениям!
Sony Vegas на самом деле не такой сложный если нужны всего пару действий от него. Перетаскиваешь видео на таймлайн, нажимаешь на клаве кнопку “S” там где хочешь разрезать видео на пополам. Удаляешь ненужные кусочки клавишей DEL, сдвигаешь вместе мышкой всё что осталось и создаешь киношку меню-файл- рендер ас. Но если надо просто и быстро без конвертации то советую Boilsoft Splitter что бы порезать и Boilsoft Joiner что бы склеить то что выбрал из нарезанного.

Oliver
AlexSneg:

соответственно в настройках модуля прописываем через консоль: =>set mod manual_mode 12 1000 1200 =>set mod asist_mode 12 1400 1600 =>set mod rth_mode 12 1700 1900 и т.д.

Защиту от дурака не забудьте, когда например
set mod manual_mode 12 1000 1200
set mod manual_mode 10 1000 1200

Или
set mod manual_mode 12 1000 1200
set mod asist_mode 12 1000 1200

AlexSneg

Спасибо, вроде сдвинулось дело с Вегасом с помощью Андрея Медведева. Пока с вегасом поживу.

UnderGod

Когда потихоньку с вегасом разберешься уже ничего другого и не хочется, из личного опыта 😃 единственный минус он flv формат не признаёт, но его никто не признаёт на самом деле, кроме специально заточенных на него программ, да и не нужен он 😃

AlexSneg

В тему адаптивных ПИДов, затронутую в ветке Тимофея

00:03 включаем возврат с 1300м. Смотрим на воздействие по рулям (4 цифры в правом верхнем углу: крен(-45 … +45), тангаж(-45 … +45), рудер (-45 … +45), газ (0 - 1024)) и выбранную навигационную задачу.
Задача L -левый вираж, R - правый, D - снизить высоту, U - набрать высоту, S - удержание курса, T -триммеровка.

00:05 соответственно видим навигатор врубил режим LDH - левый вираж со сбросом высоты. H- home, цель - база. Высота целевая 50м (так у меня забито в настройках). Смотрим чего делает алгоритм. Видим воткнул 8 единиц левого крена и дальше пауза примерно 1 сек. В это время происходит постоянная оценка насколько инерционно самолет реагирует на данный крен.
00:06 - Грубая оценка получена. Видим, что выбран достаточно ударный режим воздействия. Примерно добавляет по 2 единицы крена в секунду. Одновременно начинается работа тангажом вниз.
Сорри за видео помехи, но все равно видно, что навигатор додавил крен примерно до 30 градусов, чтобы не приближаться близко к максимуму 45 градусам и иметь небольшой запас да тревоги по крену, которая установлена на 55 градусов. При этом навигатор нашел некоторый тангаж по вариометру, который обепечивает снижение. Степень снижения зависит от расстояния до цели, скорости ГПС, скорости снижения, высоты и всякой разной другой шняги + к этому введена некоторая нечеткая логика с кучей ветвлений. Короче подобранная некоторая средняя зависимость, которая непрерывно рассчитывается 25 раз в секунду (с такой скоростью работает навигатор).
00:17 начинает проявлять себя виражный демпфер по мере приближения к нужному курсу. Тут у меня пока стоит программная затычка в виде некоторой константы. Дифференциальный тормоз еще предстоит изучить и доделать. Однако интересно другое. Видно как демпфер тормозит поворот и делает это слишком интенсивно. Затем действовать перестает и тут навигатор возвращается к нужному крену, причем уже без замеров, поэтому происходит это достаточно быстро.
0:26 с двух раз навигатор ставит самолет в нужный курс
00:30 теперь самолет вошел в режим SDH. то есть корректировка курса и высоты. Начинает адаптироваться по скорости снижения при этом газ убирает по мере набора скорости.
00:37 найден нужный тангаж примерно -17 единиц. В данном случае во внимание принимается реальный наклон тела самолета вниз носом, текущая скорость по ГПС, чтобы не превысить максимум 90 и первую тревогу 65

Дале видим удержание тангажа по скорости. Периодически, чтобы не сбивать крен, навигатор ставит самолет на траекторию рудером, добавля +2 единицы на хвост. Самолет слегка покачивается. Ветер бьет слева в нос под углом и тащит самолет вправо.

Газ уменьшился до 60 единиц.
00:50 алгоритм решил, что можно уменьшить газ еще, так как скорость растет не сильно, но при этом добавил еще тангажа.
00:53 сбросил газ до нуля
01:00 достигли высота 50м, выпрямились

Далее уже навигация с попытками удержать коридор высоты около 50м. Высота начинает удерживаться если происходит вылет самолета за пределы заданного коридора 10 метров. По мере приближения к базе ошибка навигации нарастает, ну и уже начинаются доруливания и высотные маневры.

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

Сейчас будет еще ролик с алгоритмом поведения, если включить RTH на высоте возле самой земли.

RTH включен на высоте мене 10м. Первая задача A_H.
A - altitude alarm. Этот контур охранником висит выше навигатора. Видим, что сначала самолет выходит на безопасные 20 метров, а только потом навигатору позволено порулить

SkyWorker

Алексей, ну закрепи уже наконец камеру! От болтанки по тангажу мой можечек сходит с ума! 😃

Dikoy
Syberian:

передавать только примитивы типа “поставить линию от сих до сих”.

Так и сделано. Посмотрите на ПК, ведь неспроста функции разнесли по платам. Глупо пытаться делать наоборот. Да и проект проще поддерживать. Например, у меня есть навигационный модуль и аж 3 вида пилотов. Выбрал под настроение, вставил в разъём, полетели.

Syberian:

Реализовывать гиморно.

Да ладно… Мне так ПЛИС всегда проще казались. Т.к. начинал собирать первую автоматику на рассыпухе. И одно время пользовался только МАХ+, отказываясь от VHDL. Только когда число гейтов перевалило за 1000, пришлось учить VHDL.

UnderGod:

Тот немецкий OSD на ПЛИС, что я видел, был дорогой, в готовом виде под 1000 долларов,

Ну аналогов то нет, чего б не задрать.

UnderGod:

сама микросхема ПЛИС внушительных размеров,

Значит что-то старое…

UnderGod:

И что бы запрограммировать такую хрень нужно было отковырять флэш из панельки

Ну точно. Раз флеш внешняя, значит либо там циклонище на 100500 ячеек и гигагерц, что нафиг не надо, либо какое-то старьё.

UnderGod:

и иметь программатор который тоже за 100 баксов вроде стоит.

Фирменные программаторы для АВР до 300 баксов стОят, если что 😉 А байтбластер можно на коленке собрать, как и 5 проводков для АВР.

Павeл
SkyWorker:

Алексей, ну закрепи уже наконец камеру! От болтанки по тангажу мой можечек сходит с ума! 😃

Там походу с камерой всё ОК, дёргается только OSD - картинку выводит то в чётный, то в нечётный полукадр.

UnderGod
Павeл:

Там походу с камерой всё ОК, дёргается только OSD - картинку выводит то в чётный, то в нечётный полукадр.

Похоже действительно не в камере дело, буковки относительно изображения скачут, а изображение относительно края нет (я на верхний смотрел), почему так (чёт нечёт) не берусь судить.

Dikoy:

Фирменные программаторы для АВР до 300 баксов стОят, если что 😉 А байтбластер можно на коленке собрать, как и 5 проводков для АВР.

Программатор с кроваткой и с рычажком для зажима микросхем, я уж точно бы сам паять на коленках не стал, а мысль о том что вынужден буду купить более чем за 100 баксов расстраивает. Если так рассуждать, то можно и “тушку” из куска пенопласта перочинным ножом вырезать при желании. Да и вообще ничего делать не хочется самому, хочется простоты и надёжности. ATMEGA хороший контроллер и на нем много чего хорошего сделано, но люди которые этим занимаются стали поговаривать, что он уже не справляется с фантазиями разработчиков и STM32 на мой взгляд хорошая ему замена на сегодняшний день, что автор и делает. А ПЛИСы - это гемор, я с Олегом Донцовым тут полностью согласен. Нужны две программы, нужно как то их туда записывать, как то удобно настраивать. инженеры постоянно трахаются с бутлоадерами, лишь бы не поручать юзеру далть апгрейд самому от греха подольше, а тут будет аж две микропрограммы, а ещё… да короче видел я такой OSD , там кроме ПЛИС ещё куча микросхем на плате было и даже мне показалось контроллер какой то стоял рядом с разъёмом, то ли для программирования, а может ещё для чего, не знаю. Вообщем топовая вещь для перфекционистов 😃 На мой взгляд их не нужно сравнивать, это два разных подхода.
А у Alexа всё просто и дешево должно получится, по идее…

AlexSneg
Павeл:

Там походу с камерой всё ОК, дёргается только OSD - картинку выводит то в чётный, то в нечётный полукадр.

Так не может быть в принципе 😃. Разница в развертке между чет/нечет 1 пиксел. Линейку приложи к экрану 😃 Дрыгается либо камера либо реально так трясет самолет. Если я двигатель выключаю и планирую, дрыга нет (начало второго ролика, пока я со снижением иду, там газ минимален). Если бы трясло ОСД, то картинка под ним стояла бы колом, а тут все наоборот. Небольшие смещения ОСД на 1/4 пиксела допустимы из за кривой синхры, что с камеры идет, но не более того. И еще есть выпадения кадров. Это ноут бук не успевает цифровать, рывки изображения как раз из за этого. Вот кстати, надо будет без записи на винт в следующий раз сравнить. Может оно так себя ведет, когда я реально Capture включаю.

Павeл
AlexSneg:

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

Походу так и есть: OSD рисует в оба полукадра, а писАлка берёт то несколько чётных, то несколько нечётных (запись идёт с разрешением полукадра).
Если это так, то на телеке (или в очках) дрожания быть не должно.

AlexSneg
Павeл:

Если это так, то на телеке (или в очках) дрожания быть не должно.

Мне одолжили очки в прошедшие выходные и я полетал с ними. Там вроде бы действительно все колом стояло и даже видео помех не было, что меня очень удивило. Очередной раз убедился, что качество китайских noname приемников - это лотерея. Стояли рядом два приемника одинаковых - мой и соседский. Мой дает помехи, соседский чистую картинку и в очках все чисто было. Буду этой зимой на lawmate переходить.

Dikoy
UnderGod:

что он уже не справляется с фантазиями разработчиков и STM32 на мой взгляд хорошая ему замена

Не совсем.
АВР обнаглел. Поднял цену, не обновлял линейку (Xmega должна была появиться в 2006-м, а появилась в 2010-м, когда уже нафиг была не нужна, да ещё с кучей приколов типа АЦП). Успех СТМ32 в их цене - на уровне атмеги. Никто не будет пользовать мегу, когда за ту же цену можно взять 32 бита с ДМА.
32 битники были и раньше, SAM7 появился в том же 2006-м. Но он был дороже и гиморней в применении. В СТМ32 от многих инженерных проблем избавились. Вот и весь секрет.
Но. Пару лет назад я считал на кулькуляторе и пришёл к выводу, что СТМ только сейчас начала зарабатывать на чипах. До этого работа была на границе самоокупаемости. И цена на СТМ медленно, но неуклонно растёт. Уже видно, что старшие чипы в сериях совсем не в берегах по цене. Про “дешево должно получится” я бы не зарекался 😉
Это я к тому, что кричать stm only по меньшей мере преждевременно. Полно кругом прекрасных дам других чипов. Некоторые весьма интересны.

Я сторонник выбирать камень под задачу, а не задачу натягивать на камень. Конечно, можно и в атмегу телеметрию запихать 😃 Было б время и тяга к искусству.

UnderGod:

Нужны две программы,

ПЛИС достаточно прошить один раз. Она ничего не решает, это тупо автомат вывода графики из буфера.

UnderGod:

ещё куча микросхем на плате было

Ну значит точно старьё. Современные плиски уже как МК стали, кроме генератора и не нужно ничего… Разумеется, я про плис на флеше, без внешней загрузки.

Syberian
Dikoy:

Некоторые весьма интересны.

Неужели фрам допилили? *прослезился* наконец-то 😃 Вот только гЭрцов ему маловато прописали. Как замена отмеги, разве что.