Pull to refresh

Симулятор доставки грузов с помощью роя квадрокоптеров

Reading time3 min
Views10K
Всем привет!
В индустрии коптеров сейчас все активно заняты разработкой железа и софта под это железо, мне же хотелось начать проработку вопроса коммерческого применения коптеров с системы, позволяющей автоматизировать и масштабировать в дальнейшем их использование.

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

Общий вид симулятора


За пример взяли Москву и покрыли ее сеткой из станций подзарядки\пересадки с шагом в 5 км.
Условия в мире симулятора следующие:
  • Расстояние между станциями — 5 км
  • Начальное распределение коптеров — по 2 на станцию (кроме самых крайних станций)
  • Вместимость станции — 4 коптера
  • Частота появления заказа — раз в 10 минут
  • Интервал допустимых весов заказа — от 1 до 8 кг


Квадрокоптер используется со следующими ТТХ:
  • Скорость полета — 16 м\c
  • Высота эшелона полета — 200 м
  • Время полета без груза — 30 мин
  • Время полета с полной загрузкой в 4кг — 10 мин
  • Скорость разряда батареи линейна относительно массы груза
  • Время полного заряда батареи — 20 минут
  • Скороподъемность при снижении\наборе — 6 м\c


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

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

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

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

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

Доставка двух тяжелых заказов двумя коптерами
Доставка двух тяжелых заказов двумя коптерами

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

Перегруппировка коптеров с занятых станций на свободные
Перегруппировка коптеров с занятых станций на свободные

Посмотреть симулятор вживую можно здесь — http://karlssonproject.com/#map

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

Что не учтено сейчас в симуляторе:
  • Погодные условия — ветер всегда штиль. Никаких ураганов и ливней. Через некоторое время добавим, исходя из Ю-З розы ветров в Москве.
  • Опасные зоны — в реале в памяти коптера будут опасные точки с заданным радиусом, куда не стоит залетать, а сейчас в симуляторе они все летят напрямую
  • Высокие здания — сейчас задана постоянная высота эшелона в 200 м, однако в реальности коптер будет использовать карту зданий с Гугла и лететь просто выше крыш всех зданий на маршруте. Это позволит сэкономить заряд на набор высоты в 200 метров там, где хватит и 50, или же наоборот подняться выше в районе Сити, Метрополии или Останкинской башни.


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

P.S.
На самом деле этот симулятор является первой частью проекта по доставке еды коптерами. Сейчас мы, написав софтверную часть проекта, приступаем к созданию автопилота коптера и ищем заинтересованных гиков, вместе с которыми напишем искусственный интеллект автопилот.

За подробностями добро пожаловать на karlssonproject.com
Tags:
Hubs:
+52
Comments162

Articles