Parrot Bebop Drone или AR.Drone 3.0

kozyrevy

[QUOTE=extra555;5903708]Тем временем неожиданно вышло приложение от стороннего разработчика с фишками не доступными для FF3 в частности с функцией FollowMe
Приложение не бесплатное а совсем наоборот стоит 600р но попробовать стоит 😃 App Store

А что будет если во время движения потеряется сигнал?

new-sky
Elegant:

в настройках фото посмотрите у вас стоит DNG, поставьте Jpeg

В jpg качество ужасное. Лучше dng в любом редакторе обрезать до квадратного.

Elegant

А что будет если во время движения потеряется сигнал?

встанет как вкопанный, а дальше уже сам решит куда ему лететь.

dmih

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

  1. Bebop летает с Xperia Z2 примерно на 100 м. вверх или 150-200 м. вбок. Дальше как повезет. Способ, которым нужно держать телефон, роли не играет. Для максимальной дальности нужно поставить страну US, и 6-й канал 2.4 ГГц. Это не общие настройки, но это хорошая отправная точка для получения лучшей связи.

  2. В деревне дальность надежной связи, понятно, больше, чем в городе.

  3. Компас надо обязательно калибровать, если вы переместились более чем на ~10 км между запусками. Пример того, что бывает, если не калибровать компас, в этом видео -

, мне удалось вернуть дрон, но это только в силу опыта в VPF полетах, для начинающего это будет стандартное «он улетел в Китай».

  1. У Bebop- есть проблемы с батареями. Это выглядит как «упал с неба камнем». Иногда батарея выключается совсем, иногда виснут ESC, компьютер выживает – пример тут -

(видео писалось до конца, но моторы отключились). Причина в том, что батарея у него полу-пассивная, там есть схема непонятного назначения, которая иногда дает сбой. Две банки из трех там соединены напрямую, а третья выведена на минус и на балансирный разъем через какие-то транзисторы, + есть цифровая схема, которая почему-то иногда ОШИБОЧНО эти транзисторы запирает. Это выглядит как разбаланс одной банки на 1V ± (всегда одной, по-моему которая на минусе), ну и дрон падает. Проблема массовая.
В чем суть этой схемы я не понял. На своих батарейках я её выломал и спаял всё напрямую. Можно или нет заряжать это стандартным зарядником после такой операции, я не проверял. Скорее всего можно, но я просто не проверял. Стандартный зарядник имеет в себе микропроцессор непонятного назначения, который избыточен для балансирующего 3S зарядника. Возможно, он как-то общается со схемой из батареи.
Повторю, что сути всей этой конструкции я не понял.

  1. Bebop можно относительно легко настроить на дальний полет с помощью мощной WiFi точки. Например, на схеме на основе ubiquiti picostation m2, улетает спокойно на полтора километра -
  1. Bebop можно настроить на WEP шифрование трафика, потому что иначе, любому пролетающему внизу челу доступны ваши видео, фото, управление (при обрыве связи перехватить легко). Для этого надо войти через telnet и в скрипт /sbin/broadcomm_setup.sh перед выводом «OK точка доступа создана» написать bcmwl addwep 0 1122334455 и bcmwl wsec 1.
    Это будет WEP с паролем 1122334455.
    НА СТРАХ И РИСК, МОЖО ПОТЕРЯТЬ СВЯЗЬ С ДРОНОМ. Могу написать подробнее.

  2. Существует способ писать в /usr/bin/DragonStarter.sh параметры, это описано тут forum.parrot.com/usa/viewtopic.php?id=29397, например, параметр –b позволяет снизить битрейт live видео, я ставлю 150-200, чтобы меньше было затыков и быстрее восстанавливался видеопоток при чиханиях.

  3. Существует способ разлочить дрон любой версии (по известной сейчас) на высоту. Это делается немного черезжопным способом, но тем не менее. В файле /usr/bin/dragon_prog надо 16-ричным редактором найти число 150 в float 4 байта, заменить его например на 1000, потом отредактировать /data/dragon.conf на любой лимит высоты в пределах поставленного, и он не будет сброшен.
    Вот есть небольшое демо результата – почти 400 метров перед Сити в Москве -

Могу опять же развить тему.
ВНИМАНИЕ – это на страх и риск, я НЕ видел негативных последствий, но есть ПОДОЗРЕНИЕ, что константа 150f на самом деле используется также в других ветках кода (компилятор в этом случае мог вставить её в файл 1 раз), и таким образом нарушаются полетные параметры. Я не видел этому доказательств. Но тем не менее это опасно.

  1. Дрон реально прочный. Например, после полета из пункта 8, он упал с высоты 200 метров. Типа-авторотация, падает он плоско, в принципе даже если долбанется об асфальт с такой высоты, летать скорее всего потом БУДЕТ. Ну так, 50/50.
    Для ремонта рамы можно использовать намотку нитки с обмазыванием эпоксидкой. Для ремонта «гвоздей» - держателей на виброразвязках можно использовать такой прогрессивный метод как выкинуть их нахрен, вместо чего привязать нитками плату к ногам дрона, чтобы сохранился свободный ход на виброплатформе, но отсутствовала возможность её оторвать. Это делается сравнительно легко.

  2. Был опробован способ быстрого спуска с высоты методом emercengy + попытка запуска в воздухе. Неудача. Дрон в воздухе не заводится. Я проверял несколько раз с разных высот. Пробовать нет необходимости, берегите своих дронов. 😃 не получится.

  3. Берегите камеру. На какой-то очередной раз со 100 метров на асфальт у камеры отклеится сенсор, и видео начнет выглядеть вертикальными волнами. ПРЕДПОЛОЖИТЕЛЬНО это можно починить, мне не удалось по причине метода тыка не с того конца, но, камеру можно разобрать, там сенсор, прикреплен маленькими-маленькими проводами, надо по периметру этот сенсор залить эпоксидкой, прямо по проводам. Камеру надо будет потом обратно запечатать в чистом помещении с обдувом чистым воздухом в процессе, см. «чистка матриц фото» в Гугле.

  4. Вообще, у дрона развинчиваются винты, поэтому советую проверять винты крепления камеры раз в 20-50 полетов, а особенно после крашей. Часто всё нормально, кроме того, что просто винты вывинтились.

  5. Камера к пластине фигурной (где GPS) прикручена саморезами (пункты 11 и 12). Затягивать их надо осторожно. РЕКОМЕНДУЮ камеру примотать дополнительно к этой пластине нитками. Саморезы при краше со 100 метро вырывает с какого-то раза.

  6. Дрон 100% стабилен на макимальных лимитах типа 30 градусов крен и 2.5 м/с. Ставьте смело и учитесь летать быстро.
    Картинка напоследок

Ну и вообще посмотрите там на канале рядом, кому интересно.

Опыт полетов большой. По каждому пункту могу написать шире. Готов к вопросам. Мне кажется, что я знаю эту машину более-менее уже на 100%, включая полный сбор-разбор, анализ её Linux-а и так далее, поэтому готов помочь.
Как человек с задатками инженера скажу в окончание, что Дрон прекрасен, а вот разработчики прошивок и FF – (мат вырезан).
Но пользоваться можно! Успешных полетов.

dmih

Забыл кое-что из опыта добавить.

  1. Хотите вы этого или не хотите, но дрон вы когда-то потеряете, потому что прошивка конечно оставляет желать лучшего, да и есть определенные обстоятельства со стороны человека – сложно всё учесть. Существует несколько способов решения этого вопроса.
    15.1) Необходимо иметь нормальный телефон, который пишет видео экрана. Например Xperia если подержать кнопку power имеют такую опцию. Если дрон начал куда-то улетать, срочно делаем следующие вещи – 1) нажимаем кнопку emergency, 2) переключаемся на карту (она должна быть предварительно загружена конечно), 3) втыкаем, запоминаем, убеждаемся что запись идет. Потом когда всё улетело, упало и так далее, надо восстановить по google maps ту же карту, и тогда вам будет примерно ясно место падения дрона. ПО ОПЫТУ СКАЖУ ВАЖНУ ВЕЩЬ, Решающее значение имеет КАЧЕСТВО ВОССТАНОВЛЕНИЯ КАРТЫ, т.е. точки падения. Вы можете сколько угодно ходить по полю или по лесу его искать, но если вы ходите не там, где надо, ТОЛКУ НЕТ, найти невозможно. Однако если вы хорошо установили место падения, найти за час-два-три реально, даже если до него было 500 метров.
    15.2) есть более прогрессивный способ – купить Rockwell поисковый маяк у 1Slon за 1000 рублей, 1S батарейку к нему на 150 MAH, выключатель, всё это в сумме 10 грамм, примотать к дрону сзади под кнопкой питания. Эта вещь позволит найти его без плясок с картой, либо в том случае, если вы не успели нажать Emergency и он улетел. Маяк с хламом стоит 2 тыс. рублей. Дрон стоит 40 тысяч. Уважайте свои деньги.
    В целом, тем или иным способом, мне удавалось несколько раз найти дрон в том случае, если точки падения я достоверно не видел. Опыт свел в предыдущих советах.

  2. Избегайте летать в ветер больше примерно 20 км/ч. Дрон стабилен, НО, текущая прошивка имеет некоторую проблему с тем, что при сносе дрона ветром он попадает в баллистическую ловушку, когда начинает равномерно двигаться с ускорением вбок, в результате акселерометр начинает показывать не g, а g±ветер. В принципе на эту тему там есть гироскопы, но синтез его навигационной системы довольно быстро уводит. Это выглядит как снос горизонта на алгоритме выравнивания картинки. Иллюстрация потери связи и возврата по ссылке ниже:

youtu.be/w8KzRx6GcTc

(картинка грузится, подождите)
В этой ситуации дроном МОЖНО рулить вручную при некотором опыте, но ВОЗВРАТ ДОМОЙ НЕ СРАБОТАЕТ. Обратите внимание на середину видео, когда плывет горизонт. Это не сбой компаса, как я показывал выше. Это именно сбой акселерометра в условиях равномерного движения с ускорением в направлении ветра – акселерометр в этмом случае показывает ерунду. До какого-то ветра синтез датчиков дает нормальную картину, после какого-то – нет. Узнайте эту границу и строго придерживайтесь ограничений. Не умеете летать или вовремя падать + искать – потеряете девайс.

В видео также видны вертикальные волны – это про клейку сенсора, см. выше. Либо надо менять модуль камеры.

  1. Про замену модуля камеры и волны. В интернете много хороших советов начать избавляться в этом случае от вибрации. Я вам одну вещь скажу коротко по итогам очень долгих тестов: в конкретном случае этого дрона – бесполезно. Если сенсор камеры не держится на плате, вибрацию он себе найдет.
    ОДНАКО, кроме идеи приклеить сенсор, существует ОБХОДНОЙ путь, дело в том, что эти волны почти в 100% случаев не проявляются в том случае, если ВЫДЕРЖКА съемки условно гораздо больше экспозиции сенсора в сдвинутом состоянии. Например, волн не будет при съемке в помещении. Если у вас такие волны, то есть хороший годный способ от них ЧАСТИЧНО ИЛИ ПОЛНОСТЬЮ избавиться – заставить дрон снимать с бОльшей выдержкой, чтобы за момент выдержки усреднялись колебания сенсора, в этом случае их почти не видно. Это можно сделать несколькими способами, самый простой – в настройках дрона, где камера, увеличить выдержку (слева вверх) и уменьшить яркость (справа вниз). Будут пересветы, хотя иногда этот способ дает приемлемый результат. Второй способ более аппаратный – залепить камеру каким-нибудь фильтром, чтобы освещение днем спало. Могу предложить произвольно перекрещенные поляризующие фильтры, которые потом надо просто совместить на нужный вам градус в зависимости от требуемого затемнения. Будет немного мазать картинку при маневрах, но это лучше, чем волны. С мазней из-за отсутствия «мгновенной выдержки» видео выглядит в целом смотрибельно. С волнами – нет.
Mr_Fix

Круто! Огромное спасибо Дима. Обширно и наглядно. Будим знать, если что, к кому оброщатся, Гуру Bepopa. 😁

Fireball

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

same

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

Fireball
  1. Bebop можно настроить на WEP шифрование трафика, потому что иначе, любому пролетающему внизу челу доступны ваши видео, фото, управление (при обрыве связи перехватить легко). Для этого надо войти через telnet и в скрипт /sbin/broadcomm_setup.sh перед выводом «OK точка доступа создана» написать bcmwl addwep 0 1122334455 и bcmwl wsec 1.
    Это будет WEP с паролем 1122334455.
    НА СТРАХ И РИСК, МОЖО ПОТЕРЯТЬ СВЯЗЬ С ДРОНОМ. Могу написать подробнее.

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

dmih
Fireball:

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

Потерять связь: если вы неправильно отредактируете файл, дрон не сможет создать wifi точку. Говорят, поможет сброс устройства - 10 секунд держать кнопку power, но сам не проверял, я не знаю, какие файлы восстанавливает сброс, а какие - нет.
Также - ВАЖНО - SkyController не умеет WEP, так что если у вас он, то не надо.

По шагам - вот в этой теме есть подробные примеры forum.parrot.com/usa/viewtopic.php?id=30025, наприер сообщение 18. Только у него там опечатка в имени файла.

Выполнять их следующим образом: к дрону надо подключиться с компьютера, затем сделать ping 192.168.42.1 (проверить связь с ним), потом если OK, то telnet 192.168.42.1, ну и затем выполнять команды из поста.
Вообще, если серьезно, лучше конечно немного иначе - взять инструкцию к vi, изучить её коротенько (это редактор такой в Linux-е больной на всю голову), потом сделать команду vi /sbin/broadcomm_setup.sh и ОСОЗНАННО с помощью только что приобретенных знаний вставить команды. Пологаться на точный скрипт, что мой, что не мой, не надо, есть шанс повредить файл (а поможет ресет или нет, не знаю), к тому же в разных прошивках он может быть разный.
Там реально всё очень несложно. Просто потратьте час своего времени на знакомство с vi и еще 20 минут на чтение файла перед редактированием, чтобы точно увидеть места, где заканчивается создание wifi точек (там их два вообще-то). Ну и команды приведены выше.

Для тех кто всё-таки в танке, когда у меня будет подключен bebop, я сделаю скриноты и выложу.

Elegant

Жаль что вы Дмитрий не работаете в числе разработчиков Parrot.
Нам бы не пришлось вылазить из танка и проделывать всё это)

same

не пойму зачем вам это? какова вероятность того, что у вас отрубится связь с дроном, а тут как раз хакер-ниндзя угонит из кустов дрон, Интерстеллар фильм ничего, но в жизне это около 0%, скорее дрон разобьется из-за криворукости программирования или пилота(у меня тоже падает периодически, рученки колесиком, да и мозгов не очень, так как на природе после выпивона люблю покуролесить, вдали от людей). Так что если и рисковать с телнетом, то только по битрейту и высоте(да и то, чет я очкую, Славик). Но про vi почитаем, спасибо, зима длинная, отличная инфа

dmih
same:

не пойму зачем вам это? какова вероятность того, что у вас отрубится связь с дроном, а тут как раз хакер-ниндзя угонит из кустов дрон

Вероятность того, что угонят дрон, небольшая. Но дронов таких много, включая мелких (Sumo и так далее), есть такие места, например на отдыхе, еще где-то, где FF стоит чуть ли не на каждом 10-м смартфоне, и например в таких ситуациях я очкую даже просто включить дрон, потому что если перывый подключился к нему не я, а потом кто-то там нажал LAUNCH, а я ни сном ни духом еще, то ничего хорошего из этого не выйдет.
Потом, открытая сетка с Linux-ом, достаточно туда войти по telnet-у, незакрытому, и как-то повредить работу системы - выжрать память, прибить dragon_prog и так далее, дрон упадет. Сканеры wifi могут работать и искать открытие сети с беспорольным ssh/telnet автоматически, что дальше произойдет с его linux-ом, воля аллаха.
Ну и так далее.

Не то чтобы меня это сильно как-то беспокоило. Вероятность злонамеренного угона дрона, действительно, близка к нулю. Но чисто просто технически иметь в наши дни сеть с wifi без пароля, где стоит еще и telnet без пароля, причем сеть нормальная такая, на 300 метров во все стороны, с воздуха, это тяжкий бред какой-то. Мне как специалисту по сетям в том числе, для головы такое тяжело.

same

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

dmih

Там всё на фиксаторе резьбы, это правда. Но он слабый. У меня было несколько дронов. В одном слабее - хватило на 1 краш, в другом сильнее - хватило на 5-10 крашей. Принципиальной разницы нет. Вне зависимости от сборки оно раскрутится. Удары там ого и рычаги для винтов неудачные.
Про саморезы вообще молчу.

same

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

dmih

Вон там выше видео на 360 метров. История его такова, что взлетев на 360, я потерял связь с дроном, т.к. летел вертикально, а там неподходящая поляризация для такой связи.
Через ~10 минут после взлета связь восстановить удалось, и я обнаружил, что возврат домой всё это время не работал (т.е. какие-то мелкие пакеты ходили вероятно, что не давало сил сработать механизму), у меня 6% батареи и высота 360 метров.
Ну, метров 100 я скинуть успел.
Остальное вниз, причем вышло на асфальт.

Я думал, что там останется, грубо говоря, пенопласт и всё. Однако дрон был в целом цел и пригоден к дальнейшим полетам.

А винты… ну, выкрутились от такого винты. Поверьте, ничего не удержит. 😉

extra555

Дима, а есть какие нибудь комментарии относительно следующих моментов:
1) тут куча народу писала про возврат домой (типа не туда полетел или совсем улетел) можно это как то прокомментировать?
У тебя такое было относительно некорректной работы данной функции, если да то почему так происходит

2) по какому принципу лучше выбрать репитер?

dmih
extra555:

Дима, а есть какие нибудь комментарии относительно следующих моментов:
1) тут куча народу писала про возврат домой (типа не туда полетел или совсем улетел) можно это как то прокомментировать?
У тебя такое было относительно некорректной работы данной функции, если да то почему так происходит

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

  1. Прежде всего, у дрона не всегда бывает адекватный GPS fix. Например, в некоторых местах он вообще не мог получить правильный фикс, я пытался летать перед Сити ближе к башням, и то ли отражения от башен/домов, то ли еще чего, но дрон вместо удержания позиции носило ±50 метров по всему небу.
    КАК ЭТО ПРОВЕРИТЬ? Существует хинт, что вы попали в такую ситуацию, если вы обратили внимание, в FF есть дистанция до дрона. Есть хорошее, годное проверочное правило: если вы включили дрон, если вы рядом с ним, если у вас современный телефон с нормальным GPS, то дистанция до дрона должна отображаться как 5-7 метров МАКСИМУМ. Если она больше, бывает 10, 20 метров, вы должны знать, что GPS в данном месте не работает и у вас могут быть проблемы.

  2. Ну, всем известно, что взлетать надо с зеленым GPS значком. Если без этого, возврат будет к GPS телефона. См. пункт 1 - GPS телефона должен работать адекватно и иметь хороший фикс!

  3. Без компаса полеты по GPS не работают, поэтому если ЛЭП какой-нибудь или неправильная калибровка компаса - видео я показывал - возврат работать не будет, удержание позиции тоже.

  4. Вообще моя проверочная практика следующая - если вы собрались куда-то лететь, и надеетесь на возврат, то вы БЕЗУСЛОВНО должны проверить удержание позиции, это делается таким очевидным образом, как взлететь где-то на 25 метров (чтобы точно выключилось удержание по нижней камере) и повисеть секунд 30-40. Дрон мотать не должно. Совсем. У него достаточно хороший GPS, чтобы он стоял более-менее в одной точке, ± МАКСИМУМ несколько метров. Имеет смысл проделать тест 2-3 раза, если вы не уверены, пролетев куда-то метров 30, повращаться. Если его шатает сильнее, чем несколько метров, или круги, или удержание вообще не работает, на возврат надеяться не надо.

  5. Ветер! У дрона честно говоря поганый алгоритм полета по точкам. Сам по себе он в ветер стабилен. А алгоритм - нет. См. последнее видео из моего последнего поста, вот когда дрон улетает в конце задом наперед в неведомые ебеня в поля, это на самом деле возврат домой работает. По-моему это очень симтоматичный пример “неработающего возврата”. А это всего лишь ветер, при том, что дрон сам по себе с ним мог легко справится. Проверяется пунктом 4. Если работает удержание, причм надежно, сработает и возврат.
    Я почти на 99% уверен, что тормоза с выпуском Flight Plan-а связаны с тем, что в данный момент алгоритм полета по точкам у них работает нормально по сути только в штиль, ну, слабый ветер тоже годится, но не раскрывает возможностей устройства по борьбе с любым по сути ветром, совершенно. Если сделать Flight Plan на таком алгоритме, это будут улеты в ебеня на каждый второй полет.

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

  1. КАК ВЫВОД, сам я воспринимаю возврат с потерей связи как очень стремный маневр. В 8 случаях из 10 вернется, в двух - по разным причинам - нет. Возврат я использую только для того, чтобы поставить курс на точку домой. Жму возврат, жму пока развернется, потом жму газ вперед со всей дури. Через 2 минуты повторить (т.к направление уплыло). Ну и ближе к делу по визуальным ориентирам. Всегда смотреть на расстояние до дрона, контролировать, что он вообще к вам приближается.
    По прямой к вам, если нос смотрит куда надо, он может лететь в любой ветер кроме урагана, и GPS ему уже не особо нужен. Шанс прилета домой высокий. А вот совсем автономно - как повезет.
extra555:

2) по какому принципу лучше выбрать репитер?

По принципу что это должен быть репитер, у которого на форуме английском что-то получилось. Скорее всего это TP-Link причем именно Repeater, а не точка доступа, там софт удобный.
Я приводил пример Picostation M2, но на самом деле это плохой вариант, т.к. на самом деле у меня там 2 точки доступа, одна телефон-точка, другая точка-дрон. (т.е. Picostation в режиме Wifi клиента используется). Репитер в классическом wifi понимании не всегда можно настроить адекватно.
Тогда как у Tp-Link-ов там не репитер, а с точки зрения протокола черти что, хакинг какой-то, зато работает.

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