Ryze tech tello

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

А время идет, и технологии не стоят на месте. Они не только развиваются, но и дешевеют. Функции, которые совсем недавно были присущи лишь дорогим аппаратам, вдруг оказываются успешно внедренными в дешевые приборчики! Обидно, когда видишь недорогое устройство, гораздо более умное и функциональное, чем прибор, втридорога купленный пять лет назад.

Похоже, настал момент снять шляпу и перед миниатюрными квадрокоптерами, признав их «не игрушкой». По крайней мере, перед одной конкретной моделью, которая оказалась у нас на тестировании: DJI Ryze Tello TLW004. Таково полное имя рассматриваемого квадрокоптера, хотя из-за путаницы с перепродажами брендов можно встретить варианты без упоминания торговых марок DJI или Ryze. А то и вовсе без индекса модели. Просто Tello.

Конструкция, технические характеристики

На этом «вводном» фотоснимке рядом с квадрокоптером находится пульт управления (иначе джойстик, контроллер) с установленным на нем смартфоном. Как вы уже поняли, пульт — всего лишь опция. Забегая вперед, отметим: опция крайне необходимая. Хотя, если преследуется цель жесткой экономии, от контроллера можно и отказаться, поскольку управление дроном может осуществляться одним лишь смартфоном. А уж телефон-то у каждого в кармане найдется.

Квадрокоптер DJI Ryze Tello TLW004

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

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

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

Камера, встроенная в переднюю часть корпуса, чуть наклонена вниз. Таким образом, съемка всегда ведется под небольшим углом, и это правильно. Рядом с камерой расположен многоцветный светодиод, сигнализирующий о текущем состоянии дрона: зарядке батареи, рабочем режиме. Задняя часть корпуса является незакрытым слотом для аккумулятора. Батарея просто вщелкивается в этот слот, и ничем, кроме внутреннего фиксатора, не удерживается.

На левом боку дрона находится разъем Micro-USB, необходимый для подзарядки аккумуляторной батареи. Противоположная сторона корпуса содержит единственную кнопку включения/выключения аппарата, срабатывающую от короткого нажатия.

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

В нижней части корпуса находится вентиляционная решетка, помогающая охладить электронные компоненты устройства. Сами же компоненты — датчики — расположены ближе к задней части корпуса. Здесь в ряд выстроились высотомер и микрокамера, составляющая основу системы автозависания.

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

Энергию моторам и электронике дрона дает съемный аккумулятор емкостью 1100 мА·ч.

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

Пропеллеры закрепляются на осях моторов с помощью маленького комплектного ключа. Эти лопасти настолько малы, что возникает сомнение: они действительно в состоянии поднять летательный аппарат?

Да, в состоянии. Потому что собранный и заряженный квадрокоптер весит всего-то 86 граммов.

Основные технические характеристики квадрокоптера приведены в следующей таблице.

Квадрокоптер DJI Ryze Tello

Количество двигателей

Связь с мобильным устройством

Wi-Fi 802.11n 2,4 ГГц

Датчики

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

Интерфейсы

Micro-USB для зарядки батареи

Питание

сменная аккумуляторная батарея 1100 мА·ч/3,8 В

Дальность полета (связи)

100 м

Максимальная высота полета

10 м

Максимальная скорость

8 м/с (28,8 км/ч)

Максимальное время полета

13 минут

Управление

с помощью мобильного устройства, приложение Tello (iOS 9.0 и выше, Android 4.3 и выше)

Размеры, вес

98×92,5×41 мм, 80 г с пропеллерами и батареей

Функции

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

Камера

Тип

неподвижная, встроенная в корпус дрона

Угол обзора

82,6°

Видеосъемка

MP4 (H.264) HD 1280×720 30p, без звука

Фотосъемка

JPG, 5 Мп (2592×1936)

Стабилизатор

электронный (EIS) неотключаемый

Локальный носитель информации

нет, запись фото и видео производится в память мобильного устройства

Джойстик GameSir T1d

Как уже говорилось, для управления дроном мы использовали джойстик. Эта модель с индексом T1d предназначена исключительно для управления совместимыми квадрокоптерами и не может быть использована ни с какими другими устройствами. Собственно, предназначение контроллера становится понятно даже по картинке, напечатанной на упаковочной коробке. На экране смартфона — не игровой интерфейс, а живая трансляция, поступающая с камеры летательного аппарата.

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

Да и принцип подачи информации тоже слегка хромает. Наверное, страничку с русским переводом открывать все же не стоит.

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

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

Откидной подпружиненный фиксатор дает два угла наклона и позволяет закрепить смартфоны с шириной корпуса до 83 мм (этот параметр информативнее, чем неясные дюймы экрана, ведь к контроллеру монтируется не экран смартфона, а корпус, размер которого не всегда зависит от диагонали дисплея).

Зарядка встроенного аккумулятора джойстика производится через порт Micro-USB, полностью заряженной батареи хватит очень надолго. За время тестирования дрона мы не смогли определить даже примерное время автономной работы контроллера — как на нем светились три светодиода, указывающие (по идее) на 75% заряда, так эти же три светодиода горели спустя неделю тестовых полетов.

Основные технические характеристики геймпада приведены в следующей таблице.

Тип контроллера

Беспроводной Bluetooth-геймпад для управления мультикоптером

Управление

2 мини-джойстика, 17 кнопок (включая 4 кнопки D-pad)

Совместимость с ОС

  • iOS 7.0 и выше
  • Android 4.0 и выше

Связь

Bluetooth (BLE 4.0) до 7 м

Питание

Встроенный аккумулятор 600 мА·ч, напряжение зарядки 3,7—5,2 В

Рабочий температурный диапазон

от 0 до +40 °C

Максимальная ширина корпуса подсоединяемого смартфона

83 мм

Размеры (Ш×В×Г), вес

160×62×104 мм, 208 г

Подключение, настройка

Для совместной работы дрона с устройствами управления требуется создать такую цепочку: дрон соединяется со смартфоном через Wi-Fi, а к смартфону через Bluetooth подсоединяется джойстик. Получившаяся связка работает без заметных задержек, команды от джойстика передаются дрону мгновенно и безошибочно. Если, конечно, коптер находится в пределах 100 метров от смартфона при отсутствии препятствий и/или наличия множества сторонних Wi-Fi сетей, которые теоретически могут помешать устойчивой связи.

При включении дрон активирует свой Wi-Fi адаптер, который работает на общепринятой частоте 2,4 ГГц. А ведь на ней могут «сидеть» десятки соседских роутеров и прочих устройств. Характеристики Wi-Fi точки дрона, к которой подсоединяется смартфон, выглядят следующим образом:

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

Процесс подготовки к полету занимает совсем немного времени. В разы меньше, чем при эксплуатации «взрослых» дронов, которые при включении производят инициализацию многочисленных датчиков, поворотных механизмов своей камеры, отлавливают GPS-сигнал со спутников и занимаются прочей жизненно необходимой высокотехнологичной ерундой. В нашем случае включение дрона занимает считанные секунды, которые уходят на активацию Wi-Fi точки коптера. После нажатия единственной кнопки на боку коптера нужно дождаться, пока его RGB-светодиод не замигает часто-часто оранжевым цветом. Это означает готовность к подключению, пора зайти в настройки смартфона и подключиться к Wi-Fi точке с именем TELLO-D0520F. Пароль для подключения по умолчанию отсутствует, но его можно установить позже (хотя — зачем?).

Все эти шаги подробно расписаны в приложении Tello — ошибиться невозможно.

Сразу после установления прямой связи между коптером и смартфоном на дисплее в приложении отобразится живая видеотрансляция с камеры. По умолчанию камера работает в режиме Фото, который дает кадр с соотношением 4:3. Для того, чтобы перевести камеру в «нормальный» видеорежим, следует нажать иконку смены режимов, которая расположена в правом верхнем углу. Вот теперь другое дело.

Режим Фото Режим Видео

В программе существует и еще один способ вывода картинки, предназначенный для использования с очками виртуальной реальности. Здесь так же, как и при обычном моноскопическом выводе картинки, соотношение сторон в режимах Фото и Видео разное. Зачем — непонятно.

Режим Фото Режим Видео

Наконец, последний шаг — подключение джойстика. Это проще простого. Убедившись, что в смартфоне включен адаптер Bluetooth, нужно включить питание джойстика и зайти в настройки приложения Tello. Один из пунктов здесь предназначен как раз для подключения контроллера.

Но, как мы уже говорили, управлять дроном можно и непосредственно со смартфона. Для этого поверх видеоокна расположены виртуальные мини-джойстики, которые пропадают при подключении настоящего контроллера.

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

Ах да, мы же совсем забыли про обновление софта! С этим наверняка столкнется любой вновь испеченный владелец коптера. При первых же попытках соединиться с мобильным устройством пользователь наверняка будет проинформирован о наличии новой версии прошивки летательного аппарата. Да, но как эту прошивку скачать? Ведь соединение смартфона с дроном осуществляется через Wi-Fi точку последнего, а в этой сети нет доступа в интернет. Не страшно, все продумано: прошивка скачивается через любую сеть, которая дает доступ в интернет, а заливка и установка прошивки производится уже по Wi-Fi сети коптера.

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

Эксплуатация

Ограничения и предупреждения

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

Ниже приведен скриншот видеоокна мобильного приложения Tello, где можно видеть тревожное сообщение на красном пожарном фоне. Здесь говорится о перегреве и срочном выключении коптера для охлаждения. До такого перегрева мы довели коптер всего-то за несколько минут тестовой видеосъемки с разными уровнями битрейта, все это время дрон стоял на полу без движения. В результате его электроника нагрелась до опасно высокой температуры.

Чтобы такого не происходило, дрон должен летать. Винты, гоняющие воздух, неплохо охлаждают корпус и электронную начинку коптера. Это можно видеть на тепловизионных снимках дрона, сделанных через три минуты беспрерывного зависания аппарата в воздухе с одновременной видеотрансляцией на смартфон. Это тестирование проводилось в помещении с температурой воздуха около 26 °C.

Можно видеть, что самая горячая область — это нижняя часть корпуса, на которой расположены вентиляционные щели. Она нагревается до 43 °C, в отличие от верхней части с ее 33 °C. И это легко объяснить: крышку обдувает воздух из-под работающих винтов, в то время как дно корпуса ничем не охлаждается. Легко представить, какой нагрев случился бы, не будь здесь вентиляционных прорезей.

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

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

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

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

И даже хорошо, что на пути неконтролируемого дрейфа коптера обязательно оказывалась береза или куст. Никакого ущерба коптеру эти столкновения не наносили — слишком он легкий. А при падении дрона его двигатели просто отключаются.

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

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

Таким образом, вечерне-ночные полеты нашему дрону противопоказаны так же, как полеты над снегом и водной гладью. Пользуясь случаем, мы решили провести несложный эксперимент: поверхность, над которой завис коптер, заставили перемещаться. Результат оказался вполне предсказуем: дрон послушно двинулся вслед за приманкой. Но стоило чуть увеличить скорость перемещения поверхности под дроном — оптическая система позиционирования не успела обработать это движение и дрон потерялся. Правда, благодаря вовремя появившемуся низкому солнышку снег был освещен достаточно контрастно, и коптер не пустился в самовольный дрейф.

Еще один тип тревожных оповещений формируется гиродатчиком коптера, который определяет угол наклона корпуса: соответствующее предупреждение появляется на дисплее, когда угол наклона превышает 35°. Трудно сказать, с какой целью выводится это предупреждение и как на него должен реагировать пилот. Ведь в обычных условиях дрон просто не допустит подобного наклона, а если случилась авария и дрон перевернулся — тут уже при всем желании ничего не сделаешь.

Полностью заряженной батареи коптеру хватает на 10-13 минут полета в зависимости от полетной активности. Зато подзарядка аккумулятора от состояния «почти пусто» до 100% занимает не более получаса.

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

Режимы полета

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

Передвигаться дрон умеет не только по командам пилота. В нем присутствует несколько «вшитых» режимов-трюков, выполнить которые вручную довольно трудно, а то и вовсе невозможно. Например, кувырок ни за что не осуществишь вручную. А вот активировав такую команду — пожалуйста.

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

Имеется и совсем удивительная возможность самостоятельно, без знания даже основ программирования, создать собственный алгоритм полета. Это делается в мобильном приложении DroneBlocks, где простым перетаскиванием команд-блоков задается программа движений. Из этого же приложения дается команда на выполнение созданной последовательности действий.

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

Камера

Камера, которой оснащен дрон, характеризуется как очень и очень скромная по своим возможностям. Сравнить ее можно, пожалуй, с камерами мобильных телефонов 10-15-летней «свежести». Похоже, что оптико-электронная начинка взята именно с тех времен: мелкая «слепая» матрица, дающая значительный уровень роллинг-шаттера, невысокое качество кодирования потока, мелкий размер кадра и низкая частота. Фотографические способности камеры выглядят чуть получше, но и здесь чувствуется некоторый апскейлинг, принудительное увеличение размера кадра ради только лишь размера, но не детализации.

Хотя, если хорошенько взвесить (причем буквально), то и такое качество покажется неплохим: коптер недорог, шустрый, а к тому же и безопасный ввиду исключительно малого веса. Да еще и снимать умеет вместе с одновременной трансляцией — ну не чудо ли?

Уточним: на самом деле камера дрона не ведет запись самостоятельно. Видеопоток с размером кадра 1280×720, частотой 30 кадров в секунду и максимальным битрейтом 4 Мбит/с, а также и фотоснимки, записываются самим мобильным приложением в память смартфона. В маленьком квадрике просто не нашлось места для еще одного электронного блока, слота карты памяти. Кстати, этим объясняется невысокое качество видеосъемки, но при этом относительно неплохие фотоснимки: видеопоток достаточного размера и качества трудно «протолкнуть» по Wi-Fi, а вот с отдельным снимком это осуществить проще. Также из-за того, что запись ведется смартфоном, в видео иногда появляются рывки, срывы и замирания трансляции.

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

Второй недостаток касается стабилизации и роллинг-шаттера. Стабилизации в камере дрона практически нет, хотя заявляется наличие EIS (то есть, электронного программного). Не знаем, не знаем… Она, может, и есть, да вот только не работает. А из-за постоянной небольшой болтанки при зависании на улице, кадр, мягко говоря, пляшет.

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

Камера, жестко вмонтированная в корпус, чуть наклонена вниз, благодаря этому при съемке из неподвижного положения захватывается как линия горизонта, так и находящееся снизу-спереди. Однако серьезный минус такой статичной конструкции камеры очевиден: дрону, как и обычному вертолету, для изменения направления полета, набора скорости и торможения нужно наклониться всем корпусом. А значит, камера тоже наклонится. В результате быстрых перемещений съемка оказывается бракованной — объект очень трудно удержать в кадре. Особенно, если снимаемый объект движется. К тому же, коптер ввиду своей миниатюрности производит все движения слишком резко, дергано. За малейшим отклонением джойстика следует немедленная и очень быстрая реакция: моторы изменяют скорость вращения, в результате чего кадр оказывается испорчен.

Таким образом, удачной съемки видео- или фотоселфи в движении, скорее всего, не получится. Вот зависнув неподвижно, выбрав ракурс — это другое дело.

О невысокой чувствительности камеры дрона все уже, наверное, догадались. Съемка в помещении, которое освещено лампами, дает заметный шум в кадре, а баланс белого склонен ошибаться. Да, экспозицию (точнее, яркость кадра) можно отрегулировать в пределах от −3 до +3. Но работает эта регулировка как-то невнятно, поэтому съемку лучше вести с исходным нулевым значением EV.

День Вечер

Вернемся к значительной разнице в качестве между видео и фото: ее можно оценить хотя бы с помощью этих стоп-кадров и снимков:

Видео Фото Видео Фото

Немного грустная глава получилась. И короткая. Хотя, все это вполне объяснимо: такой недорогой дрон — это в первую очередь летающая игрушка, безопасная и достаточно «умная». А камеру в ней правильней считать просто бонусом, бесплатной опцией.

Выводы

После этого краткого знакомства с летающим аппаратом перечислить очевидные минусы и плюсы конструкции проще простого. Из положительных отличительных черт дрона следует отметить:

  • безопасность
  • неплохая автономность
  • быстрая подзарядка сменного аккумулятора
  • наличие камеры
  • наличие запрограммированных режимов полетов и возможность создания пользовательских
  • возможность подключения контроллера и VR-очков

Минусов тоже оказывается немало:

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

Хоть это и игрушка, но все же не совсем игрушка. Да, в качестве оригинального подарка ребенку коптер подойдет идеально. Но и взрослому человеку будет интересно самому «порулить» пусть крошечным, но все же летательным аппаратом. По крайней мере, основные атрибуты, присущие летательным аппаратам, у дрона имеются.

Откройте для себя и пилота Parrot AR.Drone и AR.Drone 2.0 от Parrot с помощью нового приложения, AR.FreeFlight 2.4.
Интуитивно понятный — Скачать AR.FreeFlight 2.4, бесплатное приложение управления, и вы готовы к лету! , Наклоняя ваш смартфон / планшет вам контролировать направление вашего AR.Drone. Когда вы отпустите контроль, AR.Drone мгновенно стабилизировались в воздухе. AR.FreeFlight 2.4 совместима с Parrot AR.Drone и Parrot AR.Drone 2.0
Летать, как чемпион — AR.Drone снабжена интуитивно понятными датчики, которые позволяют ему оставаться устойчивым в воздухе, летать практически сама. Любой человек может летать, как чемпион в качестве встроенных датчиков позволяют легко взлета и посадки. С AR.Drone 2.0 и 2.4 AR.FreeFlight, вы можете получить доступ к эксклюзивным и запатентованным Абсолютный контроль пилотирования режим для новичков, которые можно отрегулировать к вашему профессиональному росту.
ЗАПИСЬ видео высокой четкости — как вы летать, видео HD записывается и передается по Wi-Fi прямо на ваше устройство после земли. С помощью одного клика, загружать видео с удобным интерфейсом бесшовно Youtube или поделиться своими фотографиями на Picasa.
AR.Drone 2.0 ЭКСКЛЮЗИВ … выполнять акробатические трюки — Сделайте ваш AR.Drone 2.0 сальто в полете с помощью простого управления.
Пожалуйста, обратитесь к ardrone2.parrot.com/support / дальнейшую информацию.

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

Фото с омского «Хакатона по применению малых БПЛА»
Под катом — из чего состоит дрон, какие бывают комплекты и как начать с ними работу.

Есть два уровня программирования

Если рассуждать о глубине погружения в тему программирования беспилотных летательных аппаратов, можно выделить два «уровня»:

  1. Планирование и закладка в аппарат полетного плана для готового решения, а также последующий контроль его исполнения. Этот уровень позволяет решать множество очень интересных задач, хотя и ограничен возможностями используемой платформы;
  2. Создание собственной системы управления — своего рода «системное программирование» в мире БПЛА.

На Хабре любят DIY и тут довольно много рассказов о деталях второго уровня (например вот этот пост), в то время как первый до сих пор охвачен слабо. В основном обсуждают детали программирования в определенном SDK или сравнивают аппараты, что понятно лишь тем, кто в теме. Так что далее будем говорить именно про первый уровень.

Программирование под готовые платформы выводит летательные аппараты далеко за рамки класса «игрушек». Это полноценная разработка, которая просто использует библиотеки и функции автопилота для серийно выпускаемого дрона (или для open source полетного контроллера), так что создатель программы может сосредоточиться на решении своей задачи, будь то аэрофотосъемка или воздушные световые шоу.
Самое важное: программирование позволяет снять с оператора часть задач по управлению в режиме реального времени, что на самом деле упрощает применение БПЛА. Не у каждого любителя фотосъемки найдется время и желание учиться пилотировать дрон в сложных условиях.

Типы БПЛА

Исторически сложилось так, что беспилотники классифицируют по исполнению — самолетному и мультироторному. Мультироторные можно разделить по количеству винтов: монокоптеры, квадрокоптеры, гексакоптеры и т.д. Такие БПЛА получили широкое распространение, поскольку им не нужны дополнительные устройства для взлета и посадки. Недавно появился третий класс БПЛА — конвертопланы. Но такая конструкция чаще встречается в специализированных разработках.

Для чего используются

Конструкция определяет возможное применение. Сфер, где успели «засветиться» беспилотные летательные аппараты уже довольно много. Даже если говорить только о «гражданских» машинах (не ориентированных на военных или спасателей), это:

  • геодезия и картография;
  • сельское хозяйство (в части контроля и обработки полей);
  • фермерство;
  • аэрофотосъемка,
  • обычная фото и видео съемка;
  • предпроектные исследования и контроль объектов строительства;
  • доставка товаров;
  • мониторинг протяженных объектов.


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

Есть комплекты для обучения

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

Обучающий набор DJI EDU
Например, в конце января в Точке кипения Омского технического университета (ОГТУ) проходил хакатон, посвященный программированию дронов.

Один из организаторов хакатона — Александр Голунов — помогал нам в подготовке этого поста
Любопытно, что до мероприятия ребята, принимавшие в нем участие, не были знакомых с беспилотниками. Некоторые из них увидели дрон вживую первый раз в жизни. Но после знакомства — блочной сборки, настройки, калибровки БПЛА, а также построения виртуального полетного плана — они смогли предложить новые способы применения дронов в быту. Как бы это о том, что ничего сложного тут, в целом, нет.

Железо дрона

С точки зрения железа дрон состоит из:

  • рамы, на которой крепятся агрегаты и защитный кожух. Последний, кстати, присутствует не всегда, но какая-то защита движущихся частей аппарата, а заодно и окружающих от удара этими движущимися частями, есть почти везде;
  • необходимого количества роторов;
  • аккумулятора;
  • набора датчиков. Самый простой дрон может летать с трехосевым акселерометром, но управлять им будет сложно. Заметно упрощают этот процесс: трехосевой акселерометр, трехосевой датчик угловой скорости (ДУС), барометр и магнитометр. Также в списке датчиков могут присутствовать: компас, гироскоп, GPS или приемник любой другой системы глобального позиционирования;
  • модуля связи. Это может быть радиосвязь с пультом управления (наземной станцией) или 4G-модем для получения команд и отправки телеметрии через интернет;
  • полезной нагрузки, например камеры на подвесе, сонара, дальномера и т.п.;
  • сердца дрона — полетного контроллера, который всем этим управляет.


Пример состава оборудования программируемого дрона с полетным контроллером pixhawk

Чем занимается полетный контроллер

Насколько легко или сложно управлять конкретным дроном, в том числе и программировать его, определяет полетный контроллер и его программное обеспечение. Именно на него ложится задача управления физикой полета. Благодаря контроллеру оператору достаточно знать только базовые понятия и определения, и нет необходимости защищать докторскую по аэродинамике, чтобы совершить первый полет.
Контроллер решает классические задачи по:

  • ориентации беспилотника вокруг его центра масс;
  • ориентации центра масс беспилотника в пространстве;
  • движению БПЛА по маршруту;
  • избежанию коллизий с другими беспилотниками, если это групповой полет, или с иными объектами. Например, есть много разработок безопасных дронов, которые не сталкиваются с людьми, — все зависит от конкретной задачи;
  • управлению полезной нагрузкой — камерой, захватами для груза и т.п.;
  • передаче информации, в частности, приему команд с пульта, если управление осуществляется вручную;
  • корректировке полета, в т.ч. в больших формациях.

Полетный контроллер Arducopter
Полетный контроллер DJI A3
Полетные контроллеры присутствуют на рынке как самостоятельно, так и в составе готовых дронов.
Среди готовых решений широко известны китайские DJI. Вслед за полетным контроллером, шесть лет назад, китайцы предложили SDK, с которым можно создавать вполне профессиональные решения. Вот лишь небольшой список уже решенных задач:

  • контроль неправильно припаркованных автомобилей и дорожного движения в целом;
  • обследование и обработка территорий в сельском хозяйстве (в том числе, поля и виноградники);
  • 3D-реконструкция модели поверхности земли — маркшейдерские работы, трехмерная реконструкция природных туристических объектов и т.п.;
  • контроль флотилии дронов для развлекательных целей или быстрого прочесывания местности.

В 2018 году полиция Нью-Йорка обзавелась 14 дронами (фото: CNN)

SDK и комплекты

Понятно, DJI — не единственный пример. SDK есть у Parrot, 3DR, Skydio, Yuneec (правда 3DR, Yuneec и Parrot работают с open-source-платформами, о них мы поговорим далее).
По сути сейчас мы наблюдаем процесс формирования целого рынка программного обеспечения для таких программируемых дронов.
Некоторое ПО, в т.ч. на DJI (несмотря на то, что он не open-source) можно найти на GitHub.
Кстати, образовательные решения тут тоже есть. Например, тот же DJI выпускает специальный комплект из нескольких дронов, рассчитанный на обучение целой группы студентов программированию на Scratch, Python и Swift.
Помимо проприетарных, есть множество DIY-решений, основанных на популярных универсальных полетных контроллерах. Откровенно говоря, DIY-сообщество в свое время и стало родоначальником всего рынка управляемых дронов. Компании с рынка радиоуправляемых моделей взялись за разработку БПЛА лишь тогда, когда идея стала популярна в народе и можно было построить какие-то бизнес-прогнозы.
DIY-решения обычно опираются на какую-то из доступных систем управления (автопилотов), например Ardupilot или Pixhawk. А контроллер подбирается из списка поддерживаемых для выбранного автопилота. Впоследствии его можно даже доукомплектовать оборудованием (если прошивка позволяет это сделать). Под такие решения есть свои универсальные платформы разработки, например MAVSDK (его поддерживают 3DR, Yuneec и Parrot).

По аналогии с 3D-принтерами некоторые производители выпускают кит-комплекты для DIY дронов. К примеру, в упомянутом выше хакатоне ребята работали с дронами «Иволга» отечественного производства. Есть и другие примеры, например, Ardupilot, как производитель, предлагает на рынке собственные наборы, цена на которые варьируется в зависимости от комплектации.
Пример комплекта с Aliexpress
На базе open source контроллеров встречаются и промышленные решения.
Начиная с самосборных решений под управлением готового автопилота, некоторые энтузиасты переходят к разработкам собственного автопилота. Так мир open source в этой части постоянно расширяется. Однако это задача не для новичка. Поскольку суть заключается не столько в самом программировании, сколько в решении инженерных задач.

Языки и среды разработки

В двух словах программирование дрона сводится к контролю координат промежуточных точек и высоты над землей с одновременным управлением полезной нагрузкой в зависимости от поставленной задачи.
Используемый для программирования язык, как и среда разработки, определяется системой управления, а в случае с проприетарными решениями — производителем контроллера.
Но пока на рынке царит настоящий зоопарк подходов и языков.
Часть производителей вообще предлагает собственные среды — как упомянутый выше DJI.
Сообщества, разрабатывающие опенсорсные полетные контроллеры, от них не отстают. Исторически сложилось, что большинство DIY решений основано на среде Arduino. Тот же Ardupilot в свое время разрабатывался для управления дроном с контроллером ATMega 2560, а в качестве среды разработки использовал оболочку Arduino. Но сегодня этого уже недостаточно. Задачи, возложенные на беспилотники, усложняются, а вслед за этим растут требования к железу и ПО. Так что аппаратная составляющая меняется. Даже опенсорсные решения уже базируются не на контроллерах, а на полноценных процессорах с ARM-архитектурой (по аналогии со смартфонами). Среды разработки, соответственно, также дорабатываются и усложняются. Они становятся кроссплатформенными, но пока все еще ориентированы на конкретный автопилот. И хотя на данный момент существуют общепринятые частные стандарты (например, передачи данных или взаимодействия беспилотников с наземными станциями), до выявления лидера среди языков разработки и SDK пока далеко.
С точки зрения гарантированного выбора направления развития этот этап становления рынка абсолютно непредсказуем. Однако именно сейчас время самых интересных проектов, ведь столько задач еще не решено!

Примеры программирования дронов

Учитывая разнообразие решений на рынке, мы не имеем возможности рассказать о всех вариациях в программировании дронов, но покажем, как это происходит на паре примеров.

Пример 1: DJI

Для программирования проприетарного дрона DJI необходимо зарегистрировать девелоперский аккаунт.
Далее необходимо скачать SDK с сайта производителя. У DJI предусмотрены разные SDK в зависимости от того, что планируется программировать — наземную станцию, управление полезной нагрузкой или самим полетом. Важно выбрать правильный и убедиться, что имеющееся оборудование (будь то дополнительные датчики дрона или мобильное устройство) поддерживается. Дальнейший процесс рассмотрим на примере мобильного SDK (по прочим SDK на сайте производителя есть подробная документация).
SDK включает:

  • фреймворк и необходимые библиотеки, которые импортируются в мобильное приложение дрона под Android или iOS;
  • инструмент симуляции и визуализации полета;
  • вспомогательные инструменты для iOS;
  • примеры кода и документацию.

В своем приложении разработчик может контролировать полет, использовать данные с камеры или датчиков на борту дрона, следить за состоянием систем на борту. При этом SDK берет на себя заботу о низкоуровневом функционале — стабилизации полета, управлении питанием.
Логическая схема подключения к дрону представлена на картинке:
Прежде чем приступать к разработке, необходимо сгенерировать для приложения уникальный App Key, который активирует SDK.
Сам процесс разработки зависит от рассматриваемой платформы (iOS или Android). Подробно и для Android, и для iOS он описан в документации, а на GitHUB есть примеры простейших приложений для каждой из этих платформ. Есть замечательное видео, описывающее весь процесс создания простейшего приложения.
Для запуска скомпилированное приложение необходимо перенести на мобильное устройство. Непосредственно перед запуском устройство также надо подключить к дрону по Wi-Fi или через USB-кабель (тип подключения зависит от конкретного устройства).

Пример 2: Pixracer R14

Pixracer — одно из поколений полетного контроллера Pixhawk, который широко используется в DIY-проектах.
Для программирования этого полетного контроллера используется библиотека ROS (Robot Operating System), которая позволяет управлять дронами с помощью MAVLink (пакет называется MAVROS). Писать можно на Python, используя клиент для этой библиотеки под названием rospy.
Для запуска приложения необходимо подключиться по SSH к полетному контроллеру.
С DIY-проектами процедуру программирования в общем виде описать гораздо сложнее, нежели с проприетарными решениями, поскольку слишком многое зависит от деталей прошивки. Для kit-комплектов, которые зачастую построены именно на открытых разработках, обычно есть подробная инструкция по программированию.