...

пятница, 4 апреля 2014 г.

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

Всем привет!

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



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

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


За пример взяли Москву и покрыли ее сеткой из станций подзарядки\пересадки с шагом в 5 км.

Условия в мире симулятора следующие:



  • Расстояние между станциями — 5 км

  • Начальное распределение коптеров — по 2 на станцию (кроме самых крайних станций)

  • Вместимость станции — 4 коптера

  • Частота появления заказа — раз в 10 минут

  • Интервал допустимых весов заказа — от 1 до 8 кг


Квадрокоптер используется со следующими ТТХ:



  • Скорость полета — 16 м\c

  • Высота эшелона полета — 200 м

  • Время полета без груза — 30 мин

  • Время полета с полной загрузкой в 4кг — 10 мин

  • Скорость разряда батареи линейна относительно массы груза

  • Время полного заряда батареи — 20 минут

  • Скороподъемность при снижении\наборе — 6 м\c


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


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


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


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


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


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

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


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


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

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


Посмотреть симулятор вживую можно здесь — http://ift.tt/QLELSt


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


Что не учтено сейчас в симуляторе:



  • Погодные условия — ветер всегда штиль. Никаких ураганов и ливней. Через некоторое время добавим, исходя из Ю-З розы ветров в Москве.

  • Опасные зоны — в реале в памяти коптера будут опасные точки с заданным радиусом, куда не стоит залетать, а сейчас в симуляторе они все летят напрямую

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


Итоговые предположения:

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


P.S.

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


P.P.S. Нужно ли делать отдельную страницу с симулятором, с доступными кнопками по управлению свойствами мира, ТТХ самих коптеров и пр для «поиграться» или это уже лишнее?


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий