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

UnderGod
msv:

Подходить к грани хамства автору конечно не стоило…

Может я и не правильно понял эту строчку, но хамства ОТ автора я ни разу не увидел, более того, читая эти диалоги постоянно ловил себя на мысли, что лично я бы нахамил в ответ, там где автор довольно сдержанно себя ведёт 😃 В любом случае, из всех здесь присутствующих AlexSneg дело делает, а остальные разговоры разговаривают, а значит ему простительно, а болтунам нет… я давно живу и заметил, что люди в большинстве своем прощают мелкие шалости тем, кто действительно что то может и правило “победителей не судят” зачастую проявляется в полной мере, в то время как безжалостно караются разного рода “пустозвоны”. Может так оказаться, что то, что вы называете “пафосом”, окажется обыкновенной “верой в себя”, а те кто наблюдают за развитием данной истории запомнят вас, как отрицательного героя, постоянно препятствовавшего тому, кто хотел сделать нашу жизнь лучше 😃

AlexSneg
msv:

Подходить к грани хамства автору конечно не стоило…

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

На ваш и подобные вопросы я много раз отвечал в течение всей темы. Отвечаю самый распоследний раз.

Сам по себе факт появления еще одного работающего проекта АП не является чем-то из ряда вон. Однако персонально для себя в качестве недостатков других проектов я считаю следующее:

  1. невообразимое кол-во проводов на входе и выходе, от которых я не имею возможности избавиться. Мне не нравится подход “сначала мы все сервы запихаем в АП, а из него запихаем все на сервы”. Я считаю, что АП ничего про сервы знать не должен.
  2. управление мозгом АП через каналы приемника. Танец с бубнами вокруг попыток обучить АП воспринимать режимы через PWM импульсы мне никак не улыбается. Я сторонник цифровых протоколов, где это возможно.
  3. разбивка на аппаратные модули и размножение центров вычислительных сущностей, без всякой возможности от них избавиться. В начале темы сколько уважаемых людей мне рассказывали, что надо отделить ОСД, надо сделать IMU отдельно (потому что надо его куда-то там оттащить на крыло, сделать виброзащиту), надо отделить GPS (ибо работать на плате не будет) и.т.д. Говорили, что это все несовместимо, это все будет плохо работать и т.д. Я показал видео, как это все НЕ работает. Причина модульности только одна - можно брать деньги за каждый модуль, других причин просто не существует.
  4. Принципиальные косяки математического аппарата при расчете горизонта, вызванные наличием системного косяка п.6 (см ниже). Преимущество EKF фильтрации по отношению к прочим алгоритмам для меня очевидно.
  5. Общее качество исходного кода открытых проектов, включая явные программные ляпы. Зная, как это внутри устроено, я бы испугался пользоваться такими вещами как ArduPilot.
  6. Отсутствие нормальных вычислительных мощностей, позволяющих перспективно программно апгрейдить проект, не меняя аппаратную часть, на долгое время вперед. Я абсолютно уверен, что через некоторое время все более-менее популярные проекты закончат с модульностью и АТмегами. Тот, кто этого не сделает, отправится в историю максимум через год. Не верите мне? Задайте этот вопрос Тимофею или Олегу.
  7. Прочие наглые издевательства над своими пользователями в виде отсутствия USB порта, превращения в кирпич после очередного апгрейда, наличие фирменных загрузчиков, отсутствие возможности перепрограммирования без несения пользователем дополнительных затрат на приобретение разных, не нужных ему адаптеров и программаторов и т.д.

Надеюсь ответ на ваш вопрос я дал исчерпывающий.

BAU:

А по моему, это небольшой срыв кадровой синхры

Нет, точно нет. Дрыгается именно картинка под ОСД, а не ОСД на картинке. Сергей Потупчик выше точно подметил, горизонт ведь стоит на месте.

Павeл
AlexSneg:

Нет, точно нет. Дрыгается именно картинка под ОСД, а не ОСД на картинке.

Камера трясётся, ибо крепление как и на предыдущем самике, укосину хотябы в одну верхнюю дырку надо.

Drinker
AlexSneg:

Зная, как это внутри устроено, я бы испугался пользоваться такими вещами как ArduPilot.

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

Кстати, ты так и не объяснил внятно в чом конкурентное преимущество перед тем же ардупилотом?

Или может быть преимущество в сознании того, что более мощный процессор и некие как ты предполагаешь продвинутые алгоритмы? Я так и недопонял.

UnderGod

С самого начала ловлю себя на мысли, что этот топик напоминает мне Пушкинскую “Моцарт и Сальери”, где “молодой” (в этом деле) “выскочка - гений” (не в обиду) AlexSneg противостоит “бывалому” и безусловно талантливому Drinker Прошу прощение у ребят за такое сравнение Как ни странно, но наблюдать за этим почему то всегда было интересно. Может быть именно из-за этого постоянного соперничества людей и появляется смысл чем то заниматься? Видимо да, так уж устроены люди. И лично я с нетерпением жду продолжения 😃
Всем удачи!

AlexSneg
Павeл:

ибо крепление как и на предыдущем самике

Да, похоже ты прав, я тоже вчера к этому выводу пришел. Хотя попробовал ее пальчиком вчера потаскать, гнется плохо, но других причин явно нет. Буду ставить распорку сверху и крепить дополнительно. В выходные проверим в Бурцево, если погода не подведет.

Drinker
UnderGod:

С самого начала ловлю себя на мысли

Вы Александр прочувствовали и почти точно охарактеризовали события.
Я ведь ни разу не сказал, что поделка куано. И конкуренции нет (я в последнее время не создаю веток о своих поделках, ибо кому надо тот и так в теме). Кто знает, может пиная и критикуя я подталкиваю автора? Зачем - это второй вопрос.
Пройдите дальше в своих размышлениях, и обязательно сделаете верные умозаключения.

UnderGod
Drinker:

Кстати, ты так и не объяснил внятно в чом конкурентное преимущество перед тем же ардупилотом?

Или может быть преимущество в сознании того, что более мощный процессор и некие как ты предполагаешь продвинутые алгоритмы? Я так и недопонял.

Конечного потребителя как правило не интересуют такие тонкости. А вот если так случится, что все будут пользоваться OSD от AlexSneg потому что не дорого, проще установить, проще пользоваться, приятнее и безопаснее летать, то тогда ответ на этот вопрос родится сам собой. Но, а пока этого не случилось, потому что не всё у автора ещё готово, предлагаю сойтись на том, что жизнь всех со временем рассудит, раз уж доводы автора, почему он это делает, для вас, почему то, не доводы 😃

Drinker
UnderGod:

почему он это делает, для вас, почему то, не доводы

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

Надеюсь это не тот случай.

Может даже Дринкер когдато похвалит аффтора 😃

UnderGod:

Конечного потребителя как правило не интересуют такие тонкости. А вот если так случится, что все будут пользоваться OSD от AlexSneg потому что не дорого, проще установить, проще пользоваться, приятнее и безопаснее летать

Кстати, именно описание этих преимуществ я и жду.

UnderGod
Drinker:

Кстати, именно описание этих преимуществ я и жду.

Так ведь AlexSneg на предыдущей странице именно эти преимущества и описал, я просто перевел технические термины на понятный простым людям язык 😃

  1. Cortex - не дорогой
  2. Меньше проводов и модулей - проще установить
  3. Не нужны специальные приспособления для обслуживания - проще пользоваться
  4. Мощнее контроллер и больше памяти для ПО - приятнее и безопаснее летать

Мне лично, мотивация понятна, осталось только доделать, а я не сомневаюсь, что автор сможет это 😃

Drinker
UnderGod:

Мне лично, мотивация понятна, осталось только доделать, а я не сомневаюсь, что автор сможет это

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

UnderGod
Drinker:

Надеюсь это не тот случай.

Случай неизменно всегда именно тот! Так было, так есть и так будет 😃
Слава, деньги, женщины! Плох тот солдат, который не мечтает стать генералом (с) Суворов
Быть непревзойденным в чем то - не стыдно… лишь бы другим не во вред.

msv

STM32- отличный процессор.
Одноплатный вариант- единственно разумный на сегодняшний день.
Автор сможет… Уже летает.
//-------
А давайте теперь обсудим собственно проект… (Его функциональность, алгоритмы, инженерные находки итп.).

poldeco
maloii:

Посоветовал бы увеличить масштаб отрисовки, все, шрифты, линии и т.д. Ну и расширить границы, до боков кадра ещё куча места 😃

поддерживаю, удобно когда по краям раскидано, нету скученности, в данном случае неудобно. опять же на вкус и цвет…
а если еще будет счастье что бы самому раскидать по экрану данные то вообще будет гуууудддддд.

vic2rus
AlexSneg:

Да, похоже ты прав, я тоже вчера к этому выводу пришел. Хотя попробовал ее пальчиком вчера потаскать, гнется плохо, но других причин явно нет. Буду ставить распорку сверху и крепить дополнительно. В выходные проверим в Бурцево, если погода не подведет.

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

AlexSneg
msv:

А давайте теперь обсудим собственно проект

Я только за. Разумные идеи я всегда одобряю, если только по сложности это не выглядит полетом в другую галактику.

poldeco:

поддерживаю, удобно когда по краям раскидано

Разрешение сейчас искусственно зажато до 256Х192.
родилось оно не случайно, а из нежелания на тот момент разгребать четный-нечетный полукадр. А так же по причине неясности сколь еще я скушаю оперативки. Чисто программным апгрейдом я могу увеличить разрешение по горизонтали в 1,5 раза и в 2 раза по вертикали. Увеличение по горизонтали более чем в 1,5 раза возможно, но не перебор ли это?
Кроме того надо принять во внимание следующее, что развертка белого буфера и черного идет аппаратно и одновременно. То есть их нужно иметь всегда 2 выделенных.
Считаем сколько памяти это употребляет: 256 / 8 * 192 = 6144 байт на 1 буфер. Их 2, соответственно сейчас расход 13кб. Если мы разгоним разрешение до 512х384, то израсходуем на это дело в целом 49152 байт. Мне кажется это до фига.

Думаю, что правильным вариантом будет на половину увеличить разрешение по горизонтали, скажем до 336 и немного по вертикали, так чтобы не замарачиваться с полукадрами. NTSC у нас 480 по вертикали, вот можно поднять до 220 я считаю. Тогда памяти на 2 буфера будет надо 18480 байт. Вполне приемлемо. В этом случае можно будет выделить еще 18480, чтобы отвязаться окончательно от обратного хода КСИ и рисовать в экран вообще в любое время. Тогда и тетрис можно на экран забабахать, пока самолет сам домой летит.

Интересно, сколько Олег себе поставил разрешение?

poldeco:

а если еще будет счастье что бы самому раскидать по экрану данные то вообще будет гуууудддддд.

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

vic2rus:

чтоб было видно чуток фюзеляжа.

Опа, вот в точку. А ведь точно, так сразу все понятно станет. Спасибо за наводку. Сделаем, проверим.

poldeco

Если на пепелаце стоит 2 камеры.? Одна ходовая другая для записи hd(гоупроха) обе в PALe . Переключаюсь между ними через видео свитч. Если ходовая поддерживает pal и ntsc и может между режимами переключаться достаточно шустро то гоупроха изначально ставиться в какой то режим. Не будет здесь гемора если вы в ntsc переведете?

AlexSneg

PAL и NTSC с точки зрения ОСД сейчас ничем не отличаются. Оба работают без проблем. Единственное, что нужно - центровку для картинки подбирать какую-то среднюю. Сейчас это делается через консоль коэффициентами. Можно влево-вправо, вверх вниз подвигать картинку в разумных пределах.

AlexSneg

Вчера проводил очередные испытания. Проверялись доработанные алгоритмы по крену. По результатам испытаний видно, что все получилось. Повороты плавные и оно само вычисляет до куда максимальные крены давать в зависимости от текущей ситуации по высоте, скорости разворота и удаления от цели. Максимумы конечно задаются, чтобы оно не выходило за край, но до максимумов дело не доходит. В принципе на видео видно как оно работает рулями.

Также чуть интенсивней заставил сбрасывать высоту. В принципе работает на стадии удержания курса.

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

Комментирую видео.

Ветер был устойчивый 6-7м/с параллельно взлетке.

1:05 - взлет
4:50 - отлет на 700м и автовозврат
6:40 - еще на 700 в сторону и автовозврат. В принципе видно как оно развернулось и держит курс. В принципе, вполне достойно. Периодически снижает высоту. Сейчас коридор высотный возле дома установлен на 50-60м
08:17 - Начал тестировать автоматический полет миссии. Мозголет перебирает КТ автоматически. Я не участвую.
08:46 - КТ0 достигнута, выбрана КТ1
09:15 - КТ1 достигнута, выбрана КТ2
09:30 - КТ2 достигнута, выбран возврат на базу
09:55 - база достигнута. Мозголет оставлен на базе. Летал и колбасился сам пока мы ходили в кусты доставали обломки яка-52 12кг, который мужики только-что раздолбали при посадке. На ролике он в начале иногда в кадр еще целым попадает 😦
12:30 - посадка, чуть в себя любимого не залетел, пришлось отпрыгивать. Ёёёё, ну какой-же кайф на стабе садиться!

Итак. Цели испытаний достигнуты. Делаем правки нед ошибками на этой неделе и снова в небо по готовности.
Крепление камеры не менял, хотя все винты протянул. В результате есть отрезки вообще без тряски. Значит все-таки камера трясется.

AlexSneg

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

01:30 - взлет
06:40 - 700м, возврат
09:05 - еще 700м, возврат
11:20 - старт на КТ0
12:04 - старт на КТ1
12:45 - старт на КТ2
13:00 - RTH
13:37 - окончание миссии, вернулся на базу
17:11 - посадка

msv

OSD- фликует, лечится?
В ИМУ крен после длительных поворотов неточен. Моя реализация DCM так работала при неточном расчете центробежки (вместо реальной линейной скорости на первых порах считал по фиксированной средней).

AlexSneg:

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

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