Однажды мы, IT-команда «М.Видео-Эльдорадо», задумались о том, каким будет этот мир через десятки лет и что останется после нас. Так появился социальный IT-проект — Drone Ecozone. Мы решили организовать хакатон, победители которого могли бы получить возможность не только полетать на дронах в режиме реального времени над самыми красивыми уголками России, но и находясь на расстоянии сотен километров, сделать фотоснимки этих живописных мест. Фотографии участников станут принтом для мерча, дизайн которого разработал бренд «Запорожец Heritage». Деньги, вырученные с продажи этой коллекции, направляются в фонд «Красивые дети в красивом мире».
В этом посте мы расскажем о том, как проходил конкурс среди Java-разработчиков, QA-тестировщиков и аналитиков, и поделимся впечатлениями участников проекта. Кроме этого вы узнаете, как был организован полет дронов и какие технические решения для этого использовались, а также почему участники проекта «вписали свои имена в историю».
Идея запустить социальный ИТ-проект возникла в компании М.Видео—Эльдорадо достаточно давно. Однако проект с виртуальными путешествиями, наверное, был навеян пандемией. Когда большинство из нас были лишены возможности выйти из дома и поехать куда хочется, желание посмотреть на красивые места достигло своего максимума. Кроме того, очень хотелось не просто организовать путешествие по красивым местам, но и по максимуму принести пользу окружающему миру.
Поэтому мы запланировали хакатон, на который были приглашены все желающие, в том числе прямо с хабра (если не хотите пропустить подобные ивенты в будущем, подписывайтесь на наш блог!).
Участникам было предложено решить несколько задач из различных областей. Кстати, вы тоже можете оценить свой уровень подготовки и проверить, смогли бы вы решить наши задачи сходу или нет.
Задания хакатона
Например, Java-разработчикам было предложено решить задачу с размещением киосков прямоугольной формы в помещении так, чтобы увеличить площадь размещения товаров.
От участников требовалось написать функцию, которая на входе принимает все длины и ширины пар стен киосков, а на выходе рассчитывает, какие именно длины можно поменять так, чтобы общая площадь киосков увеличилась максимально.
Для тестировщиков был разработан…тест из 20 вопросов. Ответы на задания показывали уровень понимания процессов и глубину знаний. Один из примеров такой задачи:
Какой набор тестовых данных демонстрирует разбиение на группы эквивалентности, чтобы проверить, подросток ли клиент (13–19 лет)?
1. 10, 15 и 19 лет.
2. 13, 19 и 25 лет.
3. 13, 16 и 19 лет.
4. 12, 13 и 20 лет.
Аналитикам мы предложили каверзные вопросы и задания, касающиеся различных форматов и протоколов.
Например:
Дан json объект
{"users":[{"id":1,"name":"Victor"}]}
Что является значением users.name?
Варианты:
1. Victor
2. undefined (или ошибка)
3. String
4. name
Подготовка к полету
Но пока участники конкурса решали задачи, команда организаторов подготовила несколько дронов для показательных полетов, на которых часть управления была передана победителям конкурса.
Изначально перед командой ставилась задача максимум — дать пользователям возможность полетать на дроне над красивыми местами. Но это оказалось не так-то просто (о чем мы расскажем в отдельной истории). Для первого раза было решено доверить пользователям управление лишь оптической системой. Победителям конкурса были доступны поворот камеры, zoom, фото и видео во время полета. Все-таки дроны — штука дорогая, их нужно беречь. А то мало ли кто-то неопытный врежется в дерево.
В результате было решено организовать 5 зрелищных маршрутов (Куршская коса у Балтийского моря, Сулакский каньон в Дагестане, Карельская Рускеала, Уральский Марс в Свердловской области и Айские притесы в Башкирии), выделив на каждый по одному опытному пилоту, которому и предстояло в итоге физически управлять полетом дрона.
Каждому пилоту были выданы по 2 квадрокоптера DJI, набор из двух дополнительных батарей, зарядное устройство и арендованный автомобиль, а также power-bank для зарядки пульта управления.
Пилоты выехали на площадки всего за 2 дня до начала ивента. За это время нужно было взять на прокат автомобиль, подготовить маршрут, занять удобное место для взлета, а также обсудить с местными жителями и администрацией заповедников нашу акцию, чтобы полеты дронов никому не мешали.
Выбор мест для полетов
В России — огромное количество красивых мест. Однако нам подходили только такие локации, где с одной стороны имелся качественный интернет 4G (а иначе как предоставлять управление видеосистемой дрона и передавать картинку), а с другой стороны — не было большого количества туристов и гуляющих, чтобы создать ощущение действительно глубокого погружения в природу.
Мы сопоставили идеи с картой покрытия 4G от разных операторов, а также оценили загруженность различных мест. Например, вроде бы хорошая локация —
Кондуки в Тульской области. Всего 4 часа от Москвы, прекрасный мобильный интернет. Но там всегда много туристов. Белогорье в Воронеже — отличное по своей красоте место, там нет толп людей… но нет интернета.
Хорошо было бы посмотреть на Камчатку или Байкал, но для этих локаций получился бы очень большой лаг по времени в часовых поясах с центральной Россией. И чтобы «полетать», там людям приходилось бы вставать в 5 утра.
Таким образом, было выбрано пять наиболее живописных и удобных для проекта мест. «Куршская коса» у Балтийского моря — это очень узкая и красивая полоска земли. Мало кто может увидеть ее целиком вместе с заливом. Там нет таких высот, чтобы посмотреть на все это великолепие, и полет на дроне в этом месте впечатлил даже самих пилотов.
Вторая локация — Карельская Рускеала. Участники акции смогли сфотографировать мраморные карьеры с красивыми гранитными стенами. Это было слишком популярное место, и пришлось согласовывать наши полеты с администрацией заповедника. Зато в результате получились просто отличные фото.
Кроме этого дроны М.Видео—Эльдорадо отправились на Сулакский каньон в Дагестане, Уральский Марс в Свердловской области и Айские притесы в Башкирии.
Управление через браузер
Для пользователей был создан личный кабинет и модуль управления на сайте. Каждый день полетов был распределен на интервалы по 10 минут. Это были слоты для пользователей, на которые они заявлялись. Однако независимо от наличия или отсутствия человека на управлении камерой, дроны выполняли свои полеты по графику, чтобы следующий зарегистрированный участник оказался «в небе» в отведенное для него время.
В личном кабинете для каждого победителя была настроена ссылка и обратный отсчет для подключения к дрону. В назначенное время ссылка активировалась и можно было перейти к картинке с модулями управления.
Каждый мог сделать 20 фотографий, и дрон сохранял эти кадры прямо в момент нажатия кнопки в браузере. Изображения хранились во внутренней памяти каждого дрона.
Впечатать свое имя в историю
Как вы можете догадаться, за 5 дней полетов в 5 локациях при слотах в 10 минут участники проекта наделали огромное количество фотографий — за день пользователи в среднем наснимали на 50 гигабайт. По итогам мероприятия дизайнеры отобрали лучшие из них. Эти фото были использованы брендом «Запорожец Heritage» для изготовления брендированного мерча — сумок и худи. На каждом фото указано имя его автора.
Как говорилось ранее, все доходы, полученные от продажи брендированных вещей Drone Ecozone, отправляются в благотворительный фонд «Красивые дети в красивом мире».
Делимся некоторыми отзывами самих участников проекта:
Как же все это было на самом деле?
Мы рассказали вам, как все это выглядело снаружи. Так сказать, показали лакированную сторону мероприятия, длившегося несколько дней в разных регионах России. Но у вас, наверняка, возникли вопросы — кто на самом деле управлял дронами? Неужели не было каких-то проблем?
Были, товарищи! Вообще реализовать данный проект за столь короткий срок оказалось крайне сложно. Наша команда даже подстраховалась и параллельно запустила «костыльный» вариант доступа к устройствам, чтобы не портить праздник, если «План А» не сработает.
Поэтому в следующей части нашей истории мы расскажем о том, с чем столкнулись разработчики использованных нами ИТ-решений, почему мы все-таки в итоге разбили два наших дрона, а также поделимся своим опытом кастомизации софта для управления квадрокоптерами и дальнейшими планами на будущее.
P.S. Если вам интересно узнать, чем живет наша компания и вы в поиске интересной работы, можете напрямую обращаться к нашему HR. Скучать не придется!