Обсудить в форуме Комментариев 41Редактировать в вики
Возможности DJI Phantom 3 Advanced, организация работы с ним в поле, результаты съемки в различных условиях, последствия падений и неприятных случаев
Сегодня всё большую и большую востребованность в науках о Земле (и не только) приобретают методы аэрофотосъемки с беспилотных летательных аппаратов (БПЛА). В статье описываются впечатления от применения любительского аппарата DJI Phantom 3 Advanced в условиях полевой экспедиции человеком с полным отсутствием опыта работы с беспилотниками. Если вам страшно нужна аэрофотосъемка, а на всё про всё есть только 1000$ и день на раздумья - что можно получить от DJI? Что можно ожидать от штатной камеры, насколько приемлемыми оказываются результаты, как они зависят от погодных условий, как организовать работу вдали от цивилизации?
Надеюсь, эта статья поможет вам либо решиться на использование дешёвого квадрокоптера для организации аэрофотосъёмки в условиях полного отсутствия финансирования, либо навсегда отказаться от этой идеи.
В последние несколько лет автор этого текста каждый июль-август руководит геодезическими изысканиями в рамках Северо-Западной экспедиции государственного Эрмитажа, которая проводится в Смоленской области, в районе воссоединения реки Сертейки с Западной Двиной. Готовясь в штатном режиме к экспедиции в этот раз, собирая там и сям тахеометры, наборы базовых станций/роверов и набирая группу волонтёров, за пару дней до отправления в дорогу я получил просьбу организовать параллельно основной работе топографическую аэрофотосъемку полигона. Экспедиция сама по себе археологическая, с проведением геологических, геоботанических, геодезических и прочих изысканий, и от аэрофотосъемки они ждали приличных ортофотопланов и цифровых моделей местности. Думаю, никого в нашей стране не удивит то обстоятельство, что никогда до этого дела с БПЛА и аэрофотосъемкой я не имел (кроме теоретических знаний фотограмметрии), а никакого беспилотника в распоряжении экспедиции не было. Никто из коллег, работающих с аэрофотосъемкой, за такой короткий срок и забесплатно, естественно, не откликнулся. Заглянув в кошелёк я обнаружил там последнюю тысячу долларов, на которую мне и предстояло приобрести всё необходимое для организации работы.
При скоротечной подготовке мне очень не хватило какой-нибудь статьи, где был бы описан подобный опыт (хотя я знаю, что те же археологи из РАН такими вещами занимаются давно), чтобы было понятно, что можно выдавить из минимума денег и без предварительных умений, и стоит ли оно того. Так, по возвращению, появилась идея статьи этой. При всей вероятной ущербности и непрофессионализме описанных действий, в такие же обстоятельства в нашей стране попадают многие коллективы ежегодно - денег нет, специалистов нет, а снимать хочется.
Самая трудная задача возникла сразу же - выбрать правильный аппарат. Мои требования к нему были такими:
Скажу честно - сначала хотелось сэкономить, взять noname-китайца с подходящими характеристиками и обойтись этим. Особенно долго я изучал материалы, связанные с Hubsan H109S X4 PRO, однако в конце концов отказался от этой затеи в силу противоречивых отзывов о надежности и вообще возможности стабильно летать. Кроме того, не было ясности с возможностью адекватной маршрутной съемки в надир на автопилоте (а это очень важно).
В какой-то момент ночного поиска стало понятно, что единственный не "кот в мешке" в данной ценовой категории это БПЛА из серии DJI Phantom 3. Их есть три разновидности - standard, advanced и professional, с приличными отличиями в цене. И если между advanced и professional драматических отличий вроде бы нет, то у standard, по сравнению с ними, есть один фатальный недостаток - связь с ним пульта управления осуществляется через wi-fi, со всеми вытекающими (связь до 500м). У более дорогих коллег для этих целей есть радиосвязь (до 2км, реально даже больше). Так и был выбран товарищ на ближайшее время - DJI Phantom 3 Advanced. Куплен он был за 53 тысячи рублей, в среднем в Петербурге цена на него гуляет от 55 до 75 тысяч рублей.
Одного квардакоптера не хватит для организации работы в поле, т.к. нужно обеспечить его транпортировку пешком и возможность зарядки в полевых условиях, т.к. потенциально каждый день до вечера, до возвращения в базовый лагерь, доступа к источникам электроэнергии не предвиделось. С первой задачей особенных проблем нет - можно для этой цели приспособить и обычный рюкзак, и коробку какую-нибудь поролоном набить и ручки приколотить, и так далее. Есть и большой выбор специально сделанных под фантом магазинных рюкзаков и кейсов. Лично мне достался рюкзак Skymec Case Bagpack, оставивший очень хорошие впечатления. В него помещается всё, что нужно для вылазки на полёт.
Кейсы для поля, наверное, не очень подходят. Тяжеловаты и таскать не удобно. Это на случай поездок в поезде/самолёте на дальние расстояния.
Для решения второй задачи нужен электрогенератор. В идеале он должен быть лёгким, чтобы его можно было носить в пешие выходы, работать стабильно на сырье, которое точно есть (92й бензин), тянуть одновременную зарядку батареи квадракоптера, ноутбука и чем вы там ещё себя в поле собрались развлекать. Опыта работы с генераторами у меня также никакого не было. По весу и заявленным характеристикам выбрал инверторный генератор DDE DPG 1101i, который обошёлся в 6 тысяч рублей и оставил самые лучшие впечатления. Работал без нареканий хоть в ливень и шторм, хоть под палящим солнцем в +30.
Итак, что же представляет собой этот Фантом? Симпатичный белый квадракоптер, оснащенный массой интересных вещей: бортовым GPS-приёмником, набором навигационных датчиков (акселерометр, гироскоп, барометр, ультразвуковой дальномер), родной камерой с трёхосевым подвесом, обеспечивающим хорошую стабилизацию, световыми индикаторами состояния и не менее симпатичным пультом. На пульте расположены главные органы управления (два рычага, управление камерой, кнопка включения, кнопка возвращения домой). К пульту подключается android или ios устройство, с помощью которого осуществляется всё остальное взаимодействие. В интернете полно качественных обзоров (обязательно посмотрите пару перед решением о покупке), и я не буду тратить время на рассказ об общедоступных вещах. Только в разделе про эксплуатацию отмечу обнаруженные вещи, показавшиеся мне существенными.
В комплекте с аппаратом поставляются винты (8 штук, из них 4 запасных), мелкие детали для крепежа камеры. В дальнюю поездку имеет смысл взять ещё немного винтов и ещё крепежа.
Главная программа, управляющая фантомом - DJI GO. Она обеспечивает настройку квадракоптера, калибровку его навигационных устройств, вывод телеметрии, управление камерой и прочие вещи. Через неё же можно запускать любопытные режимы съемки: следуй за мной / follow me (аппарат будет двигаться за вами, сохраняя дистанцию и угол съемки), точка интереса / point of interest (аппарат кружится вокруг выбранной точки, снимая её с разных ракурсов), путевые точки / waypoints (предварительный выбор точек съемки на карте). На официальном youtube-канале DJI можно найти хорошие ролики про функциональность этой программы и её особенности.
Однако самого главного для нас она не умеет - съемки заданной площади с заданным перекрытием фотоснимков. Очевидно, что летать и щёлкать вручную с выдерживанием всех нужных условий полёта не очень-то здорово. Здесь появляются ещё две программы, на этот раз сторонних: DroneDeploy и Pix4D Capture.
Они обе позволяют на картографической подложке обозначить территорию интереса, выбрать высоту полёта, процент продольного и поперечного перекрытия фотоснимков и запустить процесс автоматической съемки. Буквально, аппарат сам взлетит, сам всё снимет по маршруту, и сам сядет. Впечатляет! С Pix4D у меня не заладилось - аппарат стабильно выходил на начальную точку маршрута, но начать снимать никак не мог. После нажатия на спуск затвора вручную он начинал лететь, но фотографировал только по нажатию на кнопку. Многочисленные эксперименты проблему не решили, поэтому в дальнейшем я работал с DroneDeploy. Особенности этого приложения описаны в разделе эксплуатация.
Итак, теперь каждый день мне предстояло проделывать некоторый ритуал - утром выезжать/выходить в поле и за день снимать столько, сколько успеется. С собой я носил следующий комплект:
В случае, когда все УАЗы экспедиции заняты, всё это было возможно переносить самостоятельно (рюкзак спереди, рюкзак сзади, в одной руке генератор, в другой канистра). Не очень удобно, но 6-8 километров без проклятий и ругани пройти оказалось возможно. А с ними и все 10 (пришлось лишь однажды). В общем, полная автономия возможна, и это хорошо. А если вы ещё и не один!..
Батарея у меня с собой была лишь одна, в силу нехватки средств, и это оказалось проблемой. По возможности лучше брать с собой 1-2 дополнительных батареи. Одна обойдётся вам в среднем в 15 тысяч рублей. Реально одной новой батареи хватало на 18-20 минут полёта, в которые входит калибровка и предполётная проверка двигателей, камеры. За один залёт на высоте 150 метров реально снималось 25-30 гектар территории, хотя некоторые утверждают о всех пятидесяти - видимо, при значительном понижении площади перекрытия фотоснимков. Полная зарядка батареи от бензинового электрогенератора, при её разрядке в среднем до 15%, стабильно занимала 1 час 20 минут. С учётом времени на подготовку и полёт, один цикл "зарядка - полёт", кроме первого за день (с целой батареей), занимал 2 часа, итого 5-6 полётов в сутки при удачной погоде. Это около 100 гектаров. При наличии дополнительных батарей процесс значительно ускорится. К примеру, имея 5 батарей можно обеспечить практически непрерывную съемку.
Особенности предполётной подготовки
Перед полётом нужно совершить несколько обрядов - снять фиксатор с камеры, прикрутить винты (их два типа - одни закручиваются по часовой стрелке, другие - против), после этого включить квадрокоптер и пульт, запустить приложение DJI Go и активировать калибровку компаса.
Сразу же возникают нюансы. Первый - винты нужно прикручивать очень надежно и крепко. Проверять несколько раз. Если бы я следовал этой рекомендации сразу, раздела "Не падал, значит не летал" в этой статье бы не было. Второй - запустить приложение на Android-устройстве может быть не так тривиально, как хотелось бы. На моём устройстве приложение видело квадракоптер тогда и только тогда, когда оно запускалось путём его выбора из списка предложенных в момент подключения пульта к смартфону по usb. Судя по форумам, проблема не уникальная. Передать управление другому приложению можно было лишь выгрузив из памяти первое, а затем физически вынув usb и вставив его обратно, чтобы появилось меню с выбором. Если вы случайно при выборе приложения нажали "использовать всегда", для использования нескольких программ придётся идти в настройки и удалять использование приложения по умолчанию.
Процесс калибровки компаса простой: нужно повертеть аппарат в двух плоскостях - приложение подскажет, как именно. Эту операцию можно, для надежности, выполнять перед каждым полётом, она занимает 10-15 секунд. Время от времени (в среднем раз в 2-3 дня) Phantom заявляет о необходимости откалибровать основные датчики - иначе он никуда не полетит. Такая калибровка занимает 10-15 минут: все операции он выполняет сам, нужно просто поставить его на ровную поверхность. Иногда такая необходимость обнаруживается весьма не вовремя, ведь это незапланированная задержка и частичный разряд аккумулятора без эффективной работы.
Перед каждым полётом я проверял работоспособность основных узлов: поднимал аппарат на 3-4 метра в воздух в ручном режиме, поворачивал его вокруг своей оси, вертел камерой, оценивая адекватность изображения, получаемого на экран смартфона, проверял, что вся телеметрия корректно отображается, сажал аппарат. Это занимало 10-20 секунд. В ручном режиме Phantom управляется очень легко и удобно, сплошное удовольствие даже без предварительной тренировки (только прочитайте внимательно инструкцию!). Впрочем, при топографической съемке можно вообще не использовать ручное управление никогда.
Теперь можно запускать съемку. Для этого я выгружал из памяти DJI Go и, переподключая usb, запускал приложение DroneDeploy, которое в Play Market доступно бесплатно. Идея приложения в том, что вы рисуете на картографической подложке область интереса, задаёте параметры съемки (высота, перекрытие, направление), выбираете точку начала съемки, нажимаете на "Старт" и ждёте, пока всё будет снято, посматривая на показания датчиков и изображение с камеры. С Phantom 3 Advanced работать оно обучено. И всё прекрасно работает - но, опять же, с нюансами, куда без них.
Самое неприятное - в редкой экспедиции у вас будет мобильный интернет (у меня, фактически, не было). А без него никакой подложки вы не увидите. Либо, если интернет всё же есть, качество подложки на конкретно вашу территорию может оказаться непригодным. Это весьма затрудняет работу. Однако есть простой способ сориентировать съемку без всякой подложки. Этому помогают три обстоятельства:
Рисуя квадратную область съемки и видя её площадь можно определить длину стороны этого квадрата. Зная эту длину можно отмерить нужные расстояния в любые стороны света. Ну а дальше вы поняли.
Кэш подложки работает очень нестабильно. Попробовать получить тайлы на предположительную площадь интереса заранее можно, но гарантий, что они останутся в кэше, нет - какие-то отдельные у меня рисовались, но в целом такой план не сработал.
Всю "полезную" съемку я осуществлял на высоте 150 метров с перекрытием 80%/80%. В принципе, перекрытие может быть и меньшим, но учитывая невыдающееся качество камеры - лучше так. Если вы запускаете Phantom впервые, на нём, вероятно, установлен обучающий режим, сильно ограничивающий доступные высоту и дальность полёта. Режим предварительно отключается в DJI Go. Также в приложении отображается прогнозное время полёта, по которому вы должны понять, хватит ли батареи для вашего плана. Конечно, это время обычно меньше реального, в зависимости от погодных условий. В моём случае всегда можно было смело накидывать 2-3 минуты.
На этом настройки приложения заканчиваются - переключаем на пульте режим полёта в крайнее правое положение и нажимаем "Fly". DroneDeploy проверяет всё ли хорошо с датчиками и режимом, и загружает маршрутные точки. Здесь я столкнулся с ещё одной проблемой - при прогнозируемом времени полёта большем 14-15 минут на этапе загрузки маршрутных точек приложение зависало намертво, либо раздумывало около 10 минут (а батарея-то разряжается). Это очень мешает. При прогнозируемом времени 14-15 минут и меньше всё проходило быстро и без проблем. DroneDeploy информирует о готовности к полёту: активируем его!
Квадракоптер заводит двигатели и поднимается на заданную высоту. После этого выставляет камеру в горизонт и летит на стартовую точку. На стартовой точке опускает камеру в надир и приступает к съемке. В среднем за полноценный полёт с вышеобозначенными настройками получалось порядка 300-400 фотографий. По прибытию на конечную точку камера снова поднимается в горизонт, квадракоптер по прямой линии возвращается на точку взлёта в плане, а затем плавно опускается. Оператор при этом ничего не делает, только смотрит на экран, контролируя процесс.
Важно, что во время полёта рычаги управления продолжают работать. Самое интересное, что Phantom продолжает выполнять свою программу, пытаясь прислушиваться одновременно и к вашим ручным действиям. Например, если он летит на север, а вы командуете ему лететь на юг примерно с той же скоростью - он зависнет на месте. Это может быть полезно, когда аппарат уже садится. Если вы видите, что он садится явно не туда (на дерево, в реку, в кусты), можно движением левого стика наверх (набор высоты) заставить его зависнуть, затем подкорректировать положение в плане. С другой стороны это определенная опасность - можно случайно зажав рычаг во время автопилотного задания создать аварийную ситуацию. Также работают и органы управления камерой. Например, можно случайно сбить ориентацию камеры в надир. Или поиграть с камерой во время возвращения аппарата домой.
При настройках по умолчанию, если Phantom понимает, что батареи на пределе хватает чтобы вернуться домой, он отменяет все автопилотные задания и мчится на точку взлёта. Ручное управление продолжает работать. Также в любое время можно принудительно отдать приказ возвращаться домой как из приложения, так и специальной кнопкой на пульте.
Посадка
При этом автоматическая посадка в условиях природного ландшафта это всегда определенный риск. Любая неровность может привести к заваливанию квадракоптера набок, что при работающих винтах может привести к печальным последствиям. Гораздо приятнее сажать аппарат в руки товарищу. Когда Phantom осуществляет автоматическую посадку, легким движением стика набора высоты наверх можно замедлить снижение до комфортной для ловли руками скорости. Как только товарищ крепко ухватился за ножки квадракоптера, можно безопасно останавливать двигатель. Никакого риска повредить винты или двигатели.
Остаётся лишь, подключившись по usb к камере, скачать фотографии (встроенной памяти всего 16GB, без очистки хватит на день), очистить память. Выключить Phantom, закрепить камеру, снять винты, поставить батарею на зарядку. Никакой дополнительной информации вам, скорее всего, не потребуется - в метаданные фотографий автоматически записываются координаты центров фотографирования. Задача решена! Заводим генератор, а пока идёт процесс зарядки изучаем качество полётных фотографий, фильтруем от неудачных или лишних (например, поворотных), может быть, сразу запускаем обработку.
Пульт заряжался один раз на 6-7 полётов. Заряжать его можно одновременно с батареей, но в документации просят этого не делать. Средний ветер и лёгкий накрапывающий дождь не сильно мешают Phantom'у отрабатывать маршрут, летит стабильно.
К сожалению, аварии случаются. В моём случае - исключительно по моей вине. Один раз винт закрутил недостаточно хорошо, что привело к его отвинчиванию на высоте 150 метров и падению аппарата в сосну, другой раз полетел в очень сильный ветер (за пределами разрешенного в документации (10 м/c)), в результате чего пришлось экстренно сажать квадрокоптер кое-как, куда придётся - и в жесткой траве застопорило винт, после чего пока я не добежал и не вынул батарею, двигатель коптился, сопровождая процесс плотным дымом.
Что очень удивило после падения со 150 метров (глядя на пикирующее тельце Phantom'a мысленно я уже попрощался с ним) - после минимального ремонта на месте без всяческих спец. средств (да здравствует Польский эпоксидный клей и мои рукастые коллеги Павел и Фёдор) всё залетало без каких-либо видимых проблем с качеством. Что касается двигателя, который коптился секунд 25-30, помимо приобретения черного цвета и подплавившегося пластика рядом с ним, никаких других изменений в его работе замечено не было. Такой устойчивостью к "побоям" я остался очень доволен. Также стоит отметить, что никаких проблем на стороне самого аппарата или программного обеспечения также не было - в инцидентах виноват только оператор.
Скачать набор фотографий, полученных по результатам одного полёта в солнечную погоду в середине дня.
Здесь приведены примеры фотографий, сделанных со стандартной высоты 150 метров в различных погодных условиях (файлы напрямую с камеры).
Солнечная погода, середина дня. Солнце близко к надиру, в общем, идеальные условия:
Утро, солнечная погода. Не так давно был рассвет:
Вечер, совсем скоро солнце уйдет:
Пасмурная погода, середина дня. Небо плотно затянуто тучами, скоро шторм.
Мелкий дождь в середине дня:
Если летать пониже (100 метров):
Фотографии в хорошую солнечную погоду получаются просто отличные, особенно для такой бюджетной камеры. По ним строятся очень качественные (относительно, конечно) ортофотопланы и модели. Однако в пасмурную погоду всё становится заметно хуже. Хотя даже по фотографиям, сделанным в условиях лёгкого дождя, строятся вполне применимые для стоящих задач материалы, это не совсем то, чего бы хотелось.
Для обеспечения возможности высокоточной геодезической привязки снимков в постобработке я пробовал использовать классический подход: закрепленные на местности пластиковые тарелки, координаты которых определены геодезическими методами (полигонометрией или спутниковыми). Такие тарелки прекрасно видны Phantom'у с высоты 150 метров, что, в общем, при предварительной подготовке полигона решает проблемы, связанные с низким качеством бортового навигационного оборудования.
На сегодняшний день существует огромное количество различных программных средств, как открытых, так и коммерческих, для обработки фотограмметрических данных. Обработка это тема для отдельной статьи. В поле я эксперементировал с открытым решением Python Photogrammetry Toolbox, но конечный результат мной был получен в Agisoft Photoscan, который у Эрмитажа на тот момент уже был (можно запросить trial-версию на месяц).
Ортофотоплан (6 сантиметров на пиксель), полученный по данным одного полёта (скачать tif):
Общий вид ортофотоплана (6 сантиметров на пиксель), полученного из данных 9 полётов (за два дня, исходник слишком большой для публикации):
Цифровая модель местности (23 сантиметра на пиксель), полученная по данным одного полёта (скачать tif):
Общий вид цифровой модели местности (23 сантиметра на пиксель), полученной из данных тех же 9 полётов:
Точность, достигаемая при съемке без опорных точек, в среднем составляет 10-15 метров. При разрешении ортофотоплана в 6 сантиметров и выше это выглядит трагически, однако далеко не всегда в принципе есть необходимость точного позиционирования, ведь все внутренние (между объектами на изображении) приращения координат остаются достаточно надёжными (внутрення сходимость в районе 1-2 пикселей). При использовании опорных точек, если они хорошо расположены и их координаты определены с высокой надежностью, возможно получение сантиметровых точностей как в плане, так и по высоте. Точности приведены по данным Agisoft Photoscan.
Для меня незаметно наступил момент, когда технологии БПЛА для топографической съемки стали такими доступными в плане аппаратного и программного обеспечения. Для того, чтобы получить результат, пригодный для массы областей, хватит очень скромных средств как финансовых, так и кадровых. Степень автоматизации и удобства впечатляет. В случае Phantom 3 Advanced основные проблемы связаны, конечно, с низким качеством камеры и относительно небольшими площадями, которые можно отснять за разумное время. Для локальных же задач с ограниченным бюджетом такое решение представляется вполне удачным.
Обсудить в форуме Комментариев 41Редактировать в вики
Последнее обновление: 2016-11-10 11:18
Дата создания:
Автор(ы): Эдуард Казаков
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).