На прошедший недавно ДР мне подарили AR.Drone 2.0. На хабре были обзоры первой версии, а я хочу рассказать что же изменилось во второй и поделиться впечатлениями от использования этого квадрокоптера.
По позиционированию разработчиков, AR.Drone это не только ценный мех просто квадрокоптер (некоторые читают название как Эир Дрон), а квадрокоптер с задумкой под идею дополненной реальности (Augmented Reality Drone). Дрон работает на Lunix, управление им осуществляется с iOS и Android устройств, для него есть игровые приложения дополненной реальности, а еще у него открытый API.
Квадрокоптер Parrot AR.Drone 2.0 оснащен 4-мя моторами мощьностью 14.5 Вт и выдающих 28 500 RPM. В редукторе используются шестерни из нилатрона для понижения шумов, а бронзовые самосмазывающиеся подшипники позволяют всему этому эффективно вращаться. На контроллере каждого мотора используется 8 MIPS AVR CPU, а сам контроллер влагоустойчив. Максимальная скорость полета — 18 км/ч
На борту обновленной версии квадрокоптера установлены 2 видеокамеры:
- Фронтальная HD камера выдает 720p, 30 fps с углом объектива в 92 градуса.
- Нижняя QVGA камера (320х240), 60 fps с углом объектива 64 градуса. Её AR.Drone так же использует для замерения горизонтальной скорости.
«Мозги» дрона представляют из себя 1GHz ARM Cortex A8 процессор с 800 MHz DSP TMS320DMC64x для видео. 1Гбит DDR2 RAM на 200MHz. И управляется это всё с помощью Linux 2.6.32. Соединение с «пультом» управления (коим являются iOS и Android девайсы) происходит по WiFi. Так что коптер несет на себе WiFi точку.
Ориентация в пространстве происходит за счет 3-х осевого гироскопа, 3-х осевого аксселерометра, 3-х осевого магнитометра (магнитный компас), датчика давления и ультразвукового высотомера (на самом деле дальномера). Вот так выглядит основной блок квадрокоптера снизу. Видна нижняя камера и высотомер:
Чем это всё отличается от первой части? Сравнительная таблица характеристик ниже. Для улучшения ее читаемости я привел только отличающиеся характеристики.
AR.Drone 1.0 | AR.Drone 2.0 | |
---|---|---|
Процессор | ARM9 468 MHz | ARM Cortex A8 1 GHz |
RAM | 128 MB | 1 Gb |
Фронтальная камера | VGA (640x480) | HD (720p) |
Нижняя камера | QCIF (176x144) | QVGA (320x240) |
WiFi | b,g | b,g,n |
Моторы | 15 Вт, 35 000 RPM | 14.5 Вт, 28 500 RPM |
Сенсоры | Гироскоп 2-х осевой | Гироскоп 3-х осевой + Магнитометр + Датчик давления |
Итак, получил я коробку с девайсом. В комплекте идут
- Сам квадрокоптер
- Кожух для полета в помещении
- Кожух для полета в открытом пространстве
- Аккумулятор
- Зарядное устройство
- 4 вида съемных вилок (под разные виды розеток) для зарядного устройства
- Инструкция
- Наклейки для мультиплеер игр дополненной реальности
Так же в коробке была бумажка, гласящая, что в случае проблем данный товар нельзя вернуть в магазин, а обращаться необходимо в центр технической поддержки Parrot.
При подключении аккумулятора в главный блок квадрокоптер оживает, включая светодиоды под каждым мотором и слегка дернув каждый винт. Последнее несколько насторожило, т.к. после того как ты вставил аккумулятор ты начинаешь надевать один из кожухов (для полета в помещении или для открытого пространства), держишь квад за корпус и тут видишь как винты делают движения. На секунду становится страшно за пальцы.
После загрузки ОС включается WiFi точка, к которой можно подключиться своим iOS или Android устройством. Изначально управление коптером доступно только с них, но на projects.ardrone.org можно так же найти способы для подключения к девайсу с ноутбуков и настольных ПК с WiFi но только под Linux. А так же разработчики говорят, что приложив некоторые усилия, вы можете управлять квадрокоптером с любого программируемого устройства, у которого есть WiFi и TCP/UDP/IP стэки. Говоря про «некоторые усилия» они имеют ввиду написание собственного софта :)
Квадрокоптер спаривается формирует пару с мобильным устройством и в дальнешем подключение к его WiFi точке возможно только с этого устройства. И, разумеется, есть возможность разрыва пары при необходимости. Мои ощущения от управления AR.Drone 2.0 получены с помощью iPhone 4s iOS 5.1.1.
В AppStore скачивается штатное бесплатное приложение AR.FreeFlight и мы готовы к полету. Первым шагом обновляем прошивку квадрокоптера с помощью встроенной в приложение функции.
Полет
Нажимаем в приложении волшебную кнопку «Take off» и квадрокоптер взлетает. Он вертикально поднимается на заданную в настройках приложения начальную высоту и зависает. Ну, зависает, это громко сказанно. В помещении, если есть рядомстоящие предметы, он «пританцовывает». Система стабилизации работает неплохо в полностью пустой широкой комнате и на небольшом ветру вне помещений. Но от потоков, которые квадрокоптер сам поднимает в ограниченном пространстве с переотражениями от предметов, его начинает пошатывать.
Полеты в помещении
Для полетов в помещении используется кожух с защитой винтов.
Другая интересная особенность при полетах в помещении — это поддержание высоты. По-умолчанию, квадрокоптер поддерживает заданную высоту. Делает он это с помощью ультразвукового дальномера, определяющего дистанцию до поверхности внизу. Так что если лететь в помещении, и внезапно пролететь над столом, то квад начнет плавно набирать высоту, т.к. чувствует что поверхность (стол) стала неожиданно ближе чем была (пол). У меня он один раз уперся в потолок, когда прямо под ним зависшим на 2-х метрах прошел человек. Если висящий в воздухе квад попытаться аккуратно сверху «придавить», то он, естественно, опустится под давлением, но после убирания руки вернется на заданную высоту.
Кожух для полета внутри помещений довольно нормально защищает винты от повреждений о препятствия. На фото ниже видны мои попытки пройти квадом в дверь, в результате чего он стукнулся внешним периметром кожуха об косяк, кожух прогнулся и винтами его немного поцепляло. Но винты целы, а это главное. Управление коптером в такие моменты, естественно, жутко дестабилизируется.
Полеты в открытом пространстве
Для полетов вне помещения используется отдельный кожух без защиты винтов. Он значительно легче.
Полеты в открытом пространстве куда более динамичны, но требуют большего привыкания к управлению. Если в помещении ты видишь квад и можешь управлять им не глядя на экран смартфона, то в открытом пространстве это лучше делать поглядывая на экран, т.к. по-умолчанию управление зависит от направления «носа» устройства. Но в настройках каждый может выбрать стиль управления по себе:
- относительно «носа» квада — все команды и крены смартфоном интерпретируются относительно направления, куда направлен нос дрона.
- абсолютное управление — когда наклон смартфона вправо интерпретируется как команда лететь вправо от вас
Так же доступны 2 модели поведения «джойстика» в смартфоне. Когда режим джойстика активирован, то управление осуществляется смещением джойстика на экране смартфона в 4-х направлениях. Когда режим джойстика выключен, то представлены 2 манипулятора для управления. Один, джойстико-подобный, для управления высотой и вращением устройства. Второй — кнопка, при ее нажатии дрон начинает слушаться наклонов смартфона. Наклонили вперед — летит вперед, повернули еще и вправо — летит вперед и вправо.
Компенсация слабого ветра работает нормально, но при попытках загнать квад на хорошую высоту (10+ метров) ситуация меняется, т.к. в моем случае там были ветра сильнее чем около земли, и траектория полета сильно искажалась.
Взлетать лучше с ровных площадок без растительности, взлет из глубокой травы не выйдет. Или выйдет, но с эффектом газонокосилки :)
Полет в открытом пространстве открывает еще одну особенность — радиус действия WiFi. В среднем антенны хватает где-то на 50м, как и заявлено в инструкции. При выходе из зоны действия WiFi и потере связи с устройством квад начинает потихоньку снижаться пока не сядет. А куда он сядет в таком случае — вопрос большой удачи. Так как в таком случае вы еще и теряете картинку с камеры, то понять куда он сел можно только если вы его видите. Если же вы не видели, то это начинает напоминать спортивное ориентирование, когда вы идете в предполагаемую зону и ищите доступные WiFi сети в надежде поймать сеть дрона пока у него не села батарейка. Поэкспериментировав с потерей сигнала на открытом ровном пространстве я понял, что было бы не плохо прикрутить к дрону функцию возврата назад по тому же маршруту. Но такой встроенной функции почему-то нет.
Удивило поведение устройства в случае если на «пульт» позвонят во время пилотирования. Пока вы будете думать принимать звонок или нет, квад зависнет в ожидании решения. Если вы примете звонок, то квад продолжит висеть, а по окончании звонка автоматически приземлится. Поэтому лучше 10 раз посмотреть какая поверхность сейчас под ним, а то сядет на дерево или в лужу какую.
Упасть «камнем» в штатной ситуации он может только в одной ситуации — нажатие кнопки Emergency в приложении. В таком случае винты моментально обесточиваются. Во всех остальных случаях он или сядет сам или дождется пока его посадят.
Динамика поведения в воздухе регулируется настройками. Скажу, что углы, скорости реакций, ограничения высот и пр хорошо регулируются настройками. Там же включается возможность делать перевоторы. По двойному клику экрана квадрокоптер может сделать боковой переворот а-ля сальто. Делать лучше с запасом высоты, т.к. на завершающем этапе маневра он теряет где-то 40-50 см высоты.
Видео
Запись видео с бортовых камер мощно осуществлять двумя способами:
1. Стримминг на смартфон с сохранением там же
2. Прямая запись на USB устройство.
Первый способ работает нормально, но не рекомендован, т.к. сильно забивает WiFi и укорачивает время полета. Второй способ предпочтителен, для этого в батарейном отсеке предусмотрен USB порт, в который надо вставить флешку с наличием минимум 100 Мб свободного места и только в FAT32.
При записи на USB носитель в приложении будет так же выводиться примерное количество времени записи, которое еще уместится на носитель. Качество видео с фронтальной камеры довольно достойное, с камеры расположенной внизу — не достойное. Ну, а что мы хотели то QVGA. С помощью камер так же можно делать фото.
Еще один нюанс — видео пишется без звука. С одной стороны понятно — шум пропеллеров забил бы весь звук, где бы ты микрофон не ставил. Но с другой стороны, можно же было попробовать софтверно это фильтровать. Но, может, для этого нужны микрофоны с хорошей чувствительностью и, наверняка, это сказалось бы на энергопотреблении и цене устройства.
Говоря про энергопотребление — все осталось так же как и было в AR.Drone 1.0. По инструкции заявлено, что заряда батареи хватает на 12 минут полета. По факту, с выключенной записью видео ее хватает минут на 9. Время заряда аккумулятора — 90 минут. В продаже отдельно есть аккумуляторы удвоенной емкости.
Можно было бы покритиковать разработчиков, что не увеличили время полета в новой версии, но если подумать, то для значительного увеличения времени полета разработчикам пришлось бы использовать более тяжелые батареи, это означает, что надо было бы ставить более подъемные двигатели, которые потребляли бы больше энергии. Так что имеем то, что имеем.
SDK & API
Скажу сразу, что свои шаловливые ручки в полной мере в API я еще не запустил (может будет отдельная статья по результатам), так что поделюсь тем, что узнал в процессе базового изучения.
Ресурс для разработчиков расположен на сайте projects.ardrone.org. Там же после регистрации можно скачать архив с SDK.
При открытии документации по API нас встречает радостная картинка:
В состав программной части SDK входят:
- Library — набор high-level API для доступа к функциям дрона.
- Tool — набор готовых библиотек для симуляции гейм-пада, обработки видео-потоков, навигационных данных и пр.
- Engine — шаблоны проектов для iOS приложений с описанными методами и контролами.
Ни при каких раскладах SDK не дает прямого доступа к сенсорам и моторам.
Библиотеки представляют из себя набор интерфейсов на С. Так же вместе с SDK идет ряд примеров, а дополнительные примеры можно скачать по ссылке projects.ardrone.org/projects/list_files/ardrone-api
AR.Drone Academy
Еще одна интересная встроенная фича — это «тусовка» «пилотов» называемая AR.Drone Academy. Это облачное хранилище информации о ваших полетах. Для того чтобы в него попасть нужно пройти регистрацию (прямо из мобильного приложения) и в соответствии с заданными настройками туда будет сохраняться информация о полетах. Собираться будет телеметрия полета, снятые видео, координаты. Там же можно ставить оценки полетов других людей, и смотреть на карте интересные споты для полетов в вашей окрестности. Карта спотов для Москвы, например, выглядит вот так:
Игры с функцией дополненной реальности
К сожалению, большая часть приложений дополненной реальности для AR.Drone являются мультиплееровыми. А т.к. знакомых с такими же дронами у меня нет, то поиграть удалось лишь в те, которые предоставляют возможности одиночной игры. Мультиплеер игры перечислю, но никакого отзыва по ним дать не могу, а копипастить с других сайтов это не наш метод.
Мультиплеер игры построены на простом принципе распознавания цветастой раскраски других дронов (см. наклейки на корпусе и которые были дополнительно в комплекте) или иных предметов (как, например, кепки в AR.Hunter)
AR.Rescue — очень занимательная штука. Для начала можно скачать и распечатать специальную картинку, которую дрон распознает как базу. Она будет использоваться для целей посадки и так же как центр происходящих событий. При запуске одной из миссий в пространстве вокруг дрона (виртуальном, естественно) появляются различные предметы, которые надо летать собирать. Количество зависит от объема доступного помещения. В моей комнате играть было очень неудобно, а вот на улице вполне комфортно, не считая налетавших иногда порывов ветра. По мере сбора предметов начинают так же появляться неприятельские летательные объекты, которые надо сбивать ракетами. Игра забавляет, но небольшой ресурс аккумулятора не дает поиграть в нее долго. Пара миссий и все, надо перезаряжаться. На мой вкус само приложение сделано добротно, втягиваешься. Только иногда случается разрыв шаблона, когда глядя на экран понимаешь, что в зоне текущей видимости камеры всё собрал, и отрываешь глаза от экрана на сам дрон, чтобы оглядеться где еще предметы, и не сразу понимаешь почему их нет :)
AR.Hunter — формально не требует второго дрона, но поиграть не удалось. В ней можно играть в войнушку между человеком, на котором специальная кэпка, и дроном. У человека так же смартфон, и он может «стрелять» по дрону. Но кепки в комплекте с дроном не идет, а быстро найти ее не получилось. Хотя на eBay она, конечно, есть.
AR.Race — приложение, в которое не удалось погонять, т.к. для игры в него требуются физические акссесуары, в виде «пончиков» через которые надо пролетать и финишных конусов. Так что тут приставка AR (Augmented Reality) выглядит несколько излишней.
В AppStore так же есть сторонние приложения для AR.Drone, что лишний раз доказывает что на его API можно что-то ваять
Заключение
В целом впечатление позитивное. Летать им удобно, для простого получения удовольствия на открытых просторах вполне подойдет. Расстраивает только ресурс аккумулятора. С этим точно надо что-то делать. Пока что единственный выход это купить несколько аккумуляторов повышенной емкости и брать сразу несколько с собой на вылазку. Тогда есть шанс полетать хотя бы минут 15 на каждом. Но покупка 3-4х таких аккумуляторов выйдет в цену сравнимую со стоимостью самого дрона.
Интересно будет покопаться с API, особенно глядя на то, что народ уже понаделал. Коммьюнити разработчиков выглядит живым, но активных российских комьюнити я не нашел, у нас как-то всё больше магазинов на эту тему. Но хотя бы видно, что с запчастями проблем не будет если что.
P.S. К сожалению, не хватило кармы добавить обзор в хабы Гаджеты. Устройства для гиков или Дополненная реальность что было бы уместно. Если кто-то переместит — буду признателен
Автор: mrz0diak