- Реєстрація
- 09.06.2014
- Повідом.
- 8805
псб, понял.ПКМ в телеграмі на відео. Зберігти. Все.
стоит брать видосы с фпв-камер. Оно ближе к реальности будет.
Перегляньте відео нижче, щоб дізнатися, як встановити наш сайт як веб-програму на головному екрані.
Замітка: This feature may not be available in some browsers.
псб, понял.ПКМ в телеграмі на відео. Зберігти. Все.
Це рутинні питання автоматики і архітектури САУ. Звертайтеся. Ставлю правильні питання за грошівопросы правильные.
Це і є з FPV, тільки з іншого дрона.псб, понял.
стоит брать видосы с фпв-камер. Оно ближе к реальности будет.
я думал что под него решение продумываем?З FPV дрона переслідувача
Так ти продумуєш рішення для САУ в умовах відстеження таргет парам.я думал что под него решение продумываем?
смысл делать трекер для наблюдающего дрона?
Це не FPV - це баражуючий боєприпас. "відпустив і забув".не хочу обидеть глубокоуважаемого ресета,
но мне интересней создать решение для фпв-дрона.
Увидел цель, локализовал цель, и забыл. Тут да - еще САУ от трекера нужно синтезировать, но ведь только такое решение и устроит.
да, знаю - шум + слабый аналоговый сигнал... Но разве мы тут пальцем деланные?
Я б рекомендував використовувати різні підходи для різних галузей застосування.в принципе я знаю как сделать то, о чем говорю.
единственное, что я не знаю - получится ли реализовать это на устройстве?
хз что там у вас за малина, или jetson-nano?
Їх повний фейсбукОсобенно интересно, если есть люди, котрые хотелибы сами тоже такое сделать.
Т.е. мне не пришлось бы реализовывать 100% R&D.
Про нану читал, более того, нашел таблицу производительности разных девайсов при работа с cv2+нейросети. На руках пока только 4 малина, с ней только голый cv2.у меня пока один вопрос - всё описанное уже опробовано на устростве?
yolo нуждается в GPU. А этого, насколько я понял у вас нет.
Если интересно, рекомендую линейку jetson nano. Не реклама. Просто только про это слышал.
Туда же понадобится оптимизатор нейронок. гугли - TensorRT. Работает быстрее, занимает меньше памяти.
Это не я его, а он меня отгрыз. Алгоритм применил, ничего сложного там нет - идет из коробки cv2.KalmanFilter(4, 2)в принципе я знаю как сделать то, о чем говорю.
единственное, что я не знаю - получится ли реализовать это на устройстве?
хз что там у вас за малина, или jetson-nano?
Особенно интересно, если есть люди, котрые хотелибы сами тоже такое сделать.
Т.е. мне не пришлось бы реализовывать 100% R&D.
crisis вроде отгрыз кусок фильтра калмана. Чувствую его радость. Даже боюсь представить его восторг, когда он разберётся в Extended Kalmann Filter. - но это уже факультатив.
если он даже начнут собирать yolo + kalmann под устройство - мне чертовски будет интересно узнать о его успехах, и помочь - если что там спотконётся.
Для аналізу затримки відображення на композит. Можеш розібрати по кадрам і подивитись відставання. Правий монік - з композитного виходу маліни, що зліва знизу.Применяем калмана, и получаем триггер события, когда условная цель сховалась за елкой. А дальше затык. К этому моменту контуры цели уже частично слились с сторонним обьектом. Мы можем поискать цель в других местах, но мы уже тупо не знаем, как она выглядит. Трекать нечего.
В голову лезут только костыли, тип сохранять контуры цели через определенный интервал, и искать потом используя их, но это дичь лютая. Пока мысли кончились.
В голове зреет мысль, шо я занимаюсь херней, и нужно брать нану, и лепить трекер через какой-нибудь yolo deepsort.
А отставание таки есть... На глаз около двух десяток. Это по другому делается - запускаешь таймер, и фотаешь цифры, напрямую с с таймера, и с экрана, который выводит изоражение с камеры (камера тоже смотрит на таймер). Увидишь разницу с точностью до сотых. Но не заморачивайся - мне тоже камера пришла, буду ковырять.Для аналізу затримки відображення на композит. Можеш розібрати по кадрам і подивитись відставання. Правий монік - з композитного виходу маліни, що зліва знизу.
Это как раз понятно. Нужно писать норм обертку для бизнес логики, шоб умела в разные сценарии (+изобретать формат хранения сценария), поддерживала модульность, итд. Это как раз не должно быть проблемой, я трохи в ООП умею, и с какой стороны тыкать палкой представляю. До войны херней маялся - слепил кораблик для рыбалки на ардуино ) Сценарий автопилота (всякие полярные+декартовы координаты ЖПС, телеметрия и прочая лабуда). Писать шото хоть немного объектно-ориентированное на ардуино (по факту си), когда ты этот си в глаза не видел, бррр. Как вспомню, так вздрогну.Для маскінгу (це коли об'єкт прикритий) є декілька підходів. Чистими лібами відмахатись - очікувано не вдастся.
Треба сочіняти бізнеслогіку поведінки дрона.
Наприклад, підхід 1: ми заводимо віртуальну систему координат, і якщо об'єкт зник - деякий час намагаємось літати по колу навкруги точки, де він зник і чекати побачити його з іншого боку.
Підхід 2: повертаємось до політного завдяння - набор висоти і новий пошук
Підхід 3: деякий час збурігаємо траекторію політу, через таймер переходимо до п.2 - набір висоти і новий пошук.
Для усих трьох - при втраті цілі потрібно припинити трекінг і констатувати втрату об`єкту.
+100500Зараз прийдуть доповідати хф-слушатєлям и вопросітєлям, трішки почекайте.
При швидкості машини 40км/ч(хай тікає активно по грунтовці, швидше він не поїде, а як поїде - дрон не дожене, він більше 90 не літає, окрім гоночних) - 0,2с це 2.2м. Так, машина не поїде з нульовою затримкою одразу в протилежний бік, але, іноді і 0,5м достатньо, щоб не влучити. Тому - або предиктор на упередження, або/та/та+або - сценарій. Щоб при промаху дрон не втрачався, а щось далі робив.А отставание таки есть... На глаз около двух десяток. Это по другому делается - запускаешь таймер, и фотаешь цифры, напрямую с с таймера, и с экрана, который выводит изоражение с камеры (камера тоже смотрит на таймер). Увидишь разницу с точностью до сотых. Но не заморачивайся - мне тоже камера пришла, буду ковырять.
Хер знает, критичное отставание или нет. Имхо не критично.
В сі - я вмію. Об'єктно орієнтоване теж трохи вмію. Тільки не називай пітона ООПЭто как раз понятно. Нужно писать норм обертку для бизнес логики, шоб умела в разные сценарии (+изобретать формат хранения сценария), поддерживала модульность, итд. Это как раз не должно быть проблемой, я трохи в ООП умею, и с какой стороны тыкать палкой представляю. До войны херней маялся - слепил кораблик для рыбалки на ардуино ) Сценарий автопилота (всякие полярные+декартовы координаты ЖПС, телеметрия и прочая лабуда). Писать шото хоть немного объектно-ориентированное на ардуино (по факту си), когда ты этот си в глаза не видел, бррр. Как вспомню, так вздрогну.
Угу. Тільки там немає місця під одноплатник. Я вже казав - "будь-який" - втратить ТТХ, бо в нього з'явиться зайве навантаження.Я может не шарю, но здесь такая же херня, только левел ап. (к Х+Y добавился Z). Ну и писать можно на чем нибудь нормальном, что хоть слова полиморфизм и инкапсуляция понимает.
Фактически, учитывая твое видео, получается шо
1. Берем готовый камик за 500 баксов (любой).
Ні, приймач доведеться залишити (якщо немає бажання писати і робити свій протокол. (На LoRa, чи що?) Написати треба декодер і кодер протоколу, щоб зберігти дженерік пульт.2. Отрезаем от него приемник. Там будет скорее всего crossfire или шото такое.
Це якщо він UART видає. Він може PWM видавати на декілька каналів. Фантазія безмежна.3. Припаиваем приемник в юарт малины через какую нибудьебалу.⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
Так, маліна буде бріджом з можливістю приймати на себе керування при втраті зв'язку, або по команді.4. Через такую же ебалу припаиваем в другой юарт sbus полетника.
Єдине що - по перше треба X, або розкапати як без іксів направити стрім на DAC. Так глибоко в маліну я не ліз. Але, якщо ікси запущені - він розглядає це як другий дісплей з усима витікаючими. Не знаю, якщо я вийму його CSI дісплей, який зараз на шлейфі в плату - він затупить, чи проста зрозуміє, що дісплей один і зробить його головним.5. Выкидаем родную фпв камеру, и ставим csi (с твоего видоса). Камеру прицепляем к малине. С композитного порта малины передаем PAL на полетник. Соединение полетника с видео передатчиком не меняется.
39,46гр - Pi4 modelB 4GB. Пішов зважив. Якщо здувати USB - ще менше. Але, окрім ваги воно ще й зохаває по електриці. до 2А по 5В сама малина (в середньому 0.8А, але, це залежить від коду, як навантажиш - зросте споживання) + 0,25А - тільки камера з підсвіткою. Можна відкрутити підсвітку ІЧ, буде менше, але про сутінки забудеш - камери для малини це не для FPV, якщо FPV в мене тупо бачить все в 2 ночі, бо на вулиці фонарі, то з малиною так не вийде.Дальше на малине пробрасываем первый юарт на второй (sbus с приемника пойдет через малину в полетник), и шарим видео с камеры на композитный выход.
Все блядь. Лететь уже можно. А остальное работа для программиста.
Цена всей этой суеты баксов триста будет. И веса грамм 50 (если с малины феном все лишние порты сдуть, или подобрать контроллер получше)
Ключевое. Именно так я вижу решение. Можно конечно вообще выкинуть полетник, натянуть на малину какую нибудь кастомную прошивку, подрубить всю перефирию напрямую. Но чота мне эта идея не зашла.Так, маліна буде бріджом з можливістю приймати на себе керування при втраті зв'язку, або по команді.
Треба вигадувати якусь метрику для захопленої вперше цілі. Наприклад, середнє значення кольору пікселів, щоб не захоплювало щось зовсім ліве.Про нану читал, более того, нашел таблицу производительности разных девайсов при работа с cv2+нейросети. На руках пока только 4 малина, с ней только голый cv2.
В голову лезут только костыли, тип сохранять контуры цели через определенный интервал, и искать потом используя их, но это дичь лютая. Пока мысли кончились.
В голове зреет мысль, шо я занимаюсь херней, и нужно брать нану, и лепить трекер через какой-нибудь yolo deepsort.
В Пітоні як раз одна з найкращих сучасних реалізацій ООП. Вона як іграшка-конструктор, легка і ненав'язлива, при необхідності дуже легко влізти всередину, подивитись як працює і поправити, якщо щось не подобається.В сі - я вмію. Об'єктно орієнтоване теж трохи вмію. Тільки не називай пітона ООПТам з будь-якого класу я візьму і визову якесь __name() і ні що мені не завадить. Інкапсуляція... бггг Там тільки спадкування працює, решта - фейк.
Не сильно ли медленная змия будет для подобных задач, все таки язык высокого уровняТреба вигадувати якусь метрику для захопленої вперше цілі. Наприклад, середнє значення кольору пікселів, щоб не захоплювало щось зовсім ліве.
В Пітоні як раз одна з найкращих сучасних реалізацій ООП. Вона як іграшка-конструктор, легка і ненав'язлива, при необхідності дуже легко влізти всередину, подивитись як працює і поправити, якщо щось не подобається.
Краще, на мою думку, тільки в Го, де люди нарешті перестали себе дурити і викинули ООП, повернувшись до структур даних.
Єдине, для чого там потрібен Пітон - смикати важкі бібліотечні функції opencv, який вже написаний нормальною мовою. Якщо не наробити хєрні в програмі, власне пітонівський код буде по часу виконання непомітний.Не сильно ли медленная змия будет для подобных задач, все таки язык высокого уровня
Готового дрона нема, но есть железки. Стандартный стек F405 (не совсем стандартный, но здесь не об этом) + дальнобойка crossfire. Припаиваем приемник к стеку, биндим, прошиваем полетник и настраиваем приемник в INAV.1. Берем готовый камик за 500 баксов (любой).
2. Отрезаем от него приемник. Там будет скорее всего crossfire или шото такое.
3. Припаиваем приемник в юарт малины через какую нибудьебалу.⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
4. Через такую же ебалу припаиваем в другой юарт sbus полетника.
5. Выкидаем родную фпв камеру, и ставим csi (с твоего видоса). Камеру прицепляем к малине. С композитного порта малины передаем PAL на полетник. Соединение полетника с видео передатчиком не меняется.
Итак, продолжаем заниматься никому не нужной ерундой. Приехали железки, и можно потыкать паяльником.
Идем согласно ранее озвученному плану:
Готового дрона нема, но есть железки. Стандартный стек F405 (не совсем стандартный, но здесь не об этом) + дальнобойка crossfire. Припаиваем приемник к стеку, биндим, прошиваем полетник и настраиваем приемник в INAV.
Кстати, по ходу пьесы вырисовывается шо INAV похоже гадость, и нужно уходить в бетафлай. Но об этом позже.
Проверяем - все работает, мы видим каналы приемник в INAV.
Дальше согласно ранее продуманному плану, отпаиваем приемник от полетника, и припаиваем его к uart малины. Дальше нужно полетник припаять ко второму uart малины, но здесь нас ждет первый сурпрыз - на малине из коробки только 1 uart. Пичаль
Но немного гуглинга и правки /boot/config.txt и у нас нарисовывается новый uart. То, что нужно.
Ну и чтобы 2 раза не ходить, припаиваем на полетник серву. Циферки хорошо, но лучше все проверять наживую.
Получается примерно такая икебана
![]()
Все, паяльник прячем, больше он пока не нужен. Пришло время тыкать кнопки.
Лепим новый скрипт на питоне. Открываем оба наших юарта, и пишем с первого (приемник) во второй (полетник). Здесь пришлось немного повозиться, но в результате все завелось, и работает без задержек.
Хрен знает чего, но форум не грузит локальные видео, даже не большие. Ну, пусть будет так
Т.е. на текущем моменте малина выступает как мост между приемником, и полетником. Дальше нужно научить ее управлять полетником самостоятельно. Штош, смотрим что у нас есть.
Crossfire имеет свой протокол данных - CRSF. Гуглим спецификацию протокола и находим⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
Ну, вроде обычная хреновина. Однако изначально хотел реализовать это на протоколе SBUS. Он более старый и медленный, но используется во многих полетниках и аппах. Однако попытка натянутьсову на глобусзаставить crossfire работать с SBUS через INAV результата не принесли, хотя мануал для бетафлай есть.
Штош...мальчик, девочка, какая в жопу разницанам все равно че потрошить.
Но раньше чем изобретать велосипед, ищем готовые решения. А вот оно - библиотека для работы с CRSF.
Ставим либу, парсим наш юарт, и у нас уже не просто слепой мост - теперь малина видит все каналы, а это есть хорошо. Однако, прямой необходимости ПОНИМАТЬ что шлет оператор, я сейчас не вижу - хотя не исключаю какие либо сценарии, где нужно будет корректировать управление оператора. Намного важнее это организовать прямое управление полетником с малины. И это есть у меня.
Дописываем пару строк в скрипт, и мы уже самостоятельно формируем пакеты для полетника. Что придумать для проверки.... да просто пошевелим сервой. Медленно ее поворачиваем в одно положение, после чего резко возвращаем обратно, и так в цикле.
Хуяк, хуяк и в продакшн.
Что получилось? Автономный модуль. Вроде что простого сервой пошевелить - а хуй там. Серва на полетнике. Точно также вместо сервый управляются моторы дрона (которых правда щас нету) - только переменную в другую позицию поствить. Полетник думает, что им управляет оператор, но это не так. Аппаратура выключена. На малине есть управление всеми каналами и реальном времени, и это более-менее внятно работает.
Дальше попробую собрать телеметрию с полетника, и имея уже такой апи, что-то сочинить. Правда что я сочинять буду не зная питона - большой вопрос.