Это видео демонстрирует работу полностью автоматизированной администрации, обеспечивающей безопасное движение беспилотных летательных аппаратов на контролируемой территории. Это финальный эксперимент перед запуском проекта «drone-employee.com»
Расширение DAO позволяет администрировать полеты на заданной территории. Это решение даст возможность выделять запретные зоны для полетов, содержит необходимые инструменты для регистрации полетных коридоров дронами, а также образ «IoT-computer» для интеграции дрона с данным решением.
Для кого данное решение будет полезным:
- Владельцев бизнеса, заинтересованных в обеспечении безопасного использования множества летательных аппаратов на определенной территории;
- Государственных учреждений, в задачи которых входит обеспечение безопасности запуска дронов на контролируемой территории;
- Туристических зон, имеющих сложность в контролировании полета дронов в воздушном пространстве;
- Учебных заведений (для обучения студентов созданию парка дронов);
- Общественных организаций для самостоятельного обеспечения безопасности запуска полетов.
https://www.faa.gov/uas/b4ufly/ — B4UFLY is an easy-to-use smartphone app that helps unmanned aircraft operators determine whether there are any restrictions or requirements in effect at the location where they want to fly.Key features of the B4UFLY app include:
|
Общая схема работы децентрализованной авиационной администрации
Объект схемы | Краткое описание | Подробнее |
---|---|---|
Топографические данные | Топография местности, на которой планируется использовать систему. Грубо говоря, высотная карта. Набор высокоточных карт имеется на http://opentopography.org | http://opentopo.sdsc.edu/datasets |
Сервер карты OctoMap | Библиотека для ROS используется для хранения и построения карты | https://octomap.github.io/ |
Детектор столкновений FCL | Библиотека детектирования столкновений трехмерных объектов в пространстве. Используется на этапе построения пути методом основанным на деревьях | http://gamma.cs.unc.edu/FCL/fcl_docs/webpage/pdfs/fcl_icra2012.pdf |
Планирование движения дрона OMPL | Открытая библиотека с хорошим набором алгоритмов планирования и движения, а также с прекрасной реализацией | http://ompl.kavrakilab.org/ |
Сценарий для скринкастинга
Участники эксперимента:
Участник | Описание задач | ПО, установленное на клиенте | Комментарий |
---|---|---|---|
User |
|
Клиент сети Ethereum Geth | |
Drone |
|
Клиент сети Ethereum Geth, ROS | |
Диспетчер |
|
Клиент сети Ethereum Geth | |
База дронов |
|
Клиент сети Ethereum Geth |
Smart контракты сети Ethereum
Название | Комментарий |
---|---|
airwayAdmin.sol | Новый контракт |
dronebase.sol | Новый контракт |
drone-employee.sol | Наш gpsdestination.sol надо переименовать. |
Шаги эксперимента.
№ шага | Участник | Краткое описание | Что должны увидеть на UI |
---|---|---|---|
Шаг 1 | Диспетчер | Показываем уже созданную и прогруженную с топографическими данными модель полигона. | Модель в окне программы |
Шаг 2 | User | Отправляем транзакцию дрону для отправки его по GPS координатам. | Информация о созданной транзакции. Выводим в консоль после того, как транзакция замайнилась: «Message from drone employee contract #<адрес контракта в сети>.GPS location received. Waiting for create and approve airway.» |
Шаг 3 | База дронов | Видим event с GPS координатами и начинаем расчет коридора. | «Message from drone employee contract #<адрес контракта в сети>.
New request #<ID сметы> for create airway.»
|
Шаг 4 | База дронов | Данные запрашиваемого коридора отправляются диспетчеру на контракт airwayAdmin.sol | Информация о созданной транзакции. «Message from Aviation Administration contract #<адрес контракта в сети>.
New airway for drone employee contract #<адрес контракта в сети> received. Please wait for confirmation.«
|
Шаг 5 | Диспетчер | Приходит event, диспетчер просчитывает возможность выделения данного коридора. Записывает себе эти данные и отправляет транзакцию дрону с координатами маршрута коридора. | «Message from drone base contract #<адрес контракта в сети>.
Request new airway for drone employee contract #<адрес контракта в сети>.«
|
Шаг 6 | Дрон | Приходит event, что дрону записан коридор полета, и он может вылетать по задаче данного клиента. | Дрон взлетает, User видит event, что дрон начал движение. На дроне смотрим записи в массиве карты маршрута, выводим их построчно в консоль или скриптом сразу все. «Message from Aviation Administration contract #<адрес контракта в сети>.
Airway created, use received checkpoints on your way. Good luck drone employee!«
|
Шаг 7 | Диспетчер | Диспетчер накладывает коридор дрона на картинку местности. | |
Шаг 8 | — | Шаг 2 — Шаг 7 повторяем для еще двух дронов. Итого должны получиться 3 коридора на карте, у которых нет пересечений в одной плоскости. |