- PVSM.RU - https://www.pvsm.ru -

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 1

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

Данная задача не является новой и попытки найти её решение предпринимались неоднократно различными участниками рынка. В этой статье я расскажу вам об одной из таких попыток — технологии, предложенной австрийским стартапом indoo.rs.

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

Стоит отметить, что линейка продуктов компании не ограничивается только навигацией. Помимо неё разрабатываются также системы взаимодействия с клиентами (proximity marketing), отслеживания перемещений имущества или грузов (asset tracking) и сотрудников (worker tracking). Мы же сегодня рассмотрим NavigationSDK — инструмент позволяющий с лёгкостью использовать технологию позиционирования внутри помещений в своих мобильных приложениях.

Сам процесс подготовки состоит из следующих шагов:

  • регистрация нового аккаунта и приложения;
  • ввод информации и создание карты помещений;
  • снятие измерений уровня радиосигнала в помещениях;
  • обработка полученных измерений;
  • создание мобильного приложения и интеграция SDK.

Итак, первый шаг при работе к NavigationSDK заключается в создании аккаунта. На данный момент доступны несколько тарифных планов, среди которых Testing — бесплатный тарифный план с ограничением в 1 месяц, для всех, кто хотел бы получить общее впечатление об NavigationSDK. Его мы и попробуем в деле.

Вход в систему

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 2

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

Создание нового приложения

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 3

Ключ приложения API-key

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 4

Ссылки и документация

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 5

Этот ключ также нужен для работы с приложением MeasurementTool, которое можно скачать по ссылке в разделе Downloads [1]. MeasurementTool нужен нам для создания карты помещений. Для этого нам понадобится изображения с поэтажными планами (из тех помещений, что мы планируем использовать для навигации). Используйте качественные изображения на этом шаге, так как именно они будут отображаться в вашем будущем мобильном приложении.

Первым делом вводим свои регистрационные данные и ключ приложения в настройках MeasurementTool.

Регистрационные данные и ключ

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 6

При создании новой карты нам понадобятся следующие данные:

  • наименование строения с описанием;
  • координаты строения на карте;
  • угол поворота;
  • наименование, уровень и описание для каждого этажа.

Несколько нюансов относящихся к созданию карты:

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

Общие данные о строении

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 7

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

Создание карты

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 8
Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 9
Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 10
Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 11
Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 12

В ранних версиях приложения мы должны были задавать расположение устройств-передатчиков (WiFi точек доступа и/или BLE маячков) и размещать их физически в соответствии с их расположением на карте — много кропотливой работы выполняемой вручную. В настоящий момент в этом уже нет необходимости: вы просто равномерно распределяете маячки по помещению, а все остальное происходит автоматически, благодаря новым алгоритмам объединенным под маркой Indoors SLAM [2], используемым для построения карты.

После задания всех необходимых параметров помещений, мы готовы сохранить наши изменения на сервере, для этого выбираем в меню File пункт Save to cloud.

Следующим шагом будет физическое размещение BLE маячков в помещениях. Для примерной оценки достаточного количества маячков можно воспользоваться калькулятором [3].

Можно использовать любые маячки совместимые с протоколом iBeacon или существующую инфраструктуру WiFi точек доступа. Точность в последнем случае получается как правило ниже, но для некоторых применений её может оказаться вполне достаточно.

После размещения маячков приступаем к следующему шагу — снятию измерений. С этой задачей помогает справиться приложение indoo.rs MobileToolkit [4] — оно также доступно в разделе Downloads [1]. Единственное ограничение — приложение доступно только для платформы Android (ввиду ограничений на устройствах Apple для работы с Bluetooth стеком).

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

  • отмечать своё текущее положение, идя по карте;
  • заранее отметив маршрут, отмечать достижение очередной его точки.

Субъективно, второй способ немного легче.

Снятие измерений

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 13
Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 14
Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 15

Базовые рекомендации относительно снятия измерений:

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

Теперь нужно загрузить измерения на сервер. Используйте имя пользователя и комментарий чтобы отличать измерения (например, номер этажа, часть помещения и т.п.).

Данные для загрузки на сервер

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 16

Следующий шаг на данный момент автоматизирован частично и выполняется по заявке в службу технической поддержки. В ближайшее время будет доступен новый инструмент (внутреннее название SLAM DIY), который позволит подготовить окончательный вариант карты самостоятельно и на выходе получить файл в формате idm, который затем можно импортировать в MMT. После импорта карта становится доступна пользователям мобильного приложения.

В качестве тестового приложения может выступать Indoors Navigation [5] из Play/AppStore или любое другое приложение разработанное с применением NavigationSDK (например, MyFirstIndoorsApp, доступное в разделе Downloads [1]). NavigationSDK позволяет внедрить карту в само приложение, чтобы пользователям не пришлось её загружать при первом запуске.

Как будет выглядеть созданная карта

Навигация внутри помещений — первые шаги с indoo.rs NavigationSDK - 17

К этому моменту у нас есть все необходимое для реализации собственного приложения для навигации в помещениях. Ссылки на примеры приложений для iOS и Android также находятся на странице загрузок [6].

Отдельного внимания заслуживает недавно добавленный плагин для Cordova [7] и приложение-пример [8]. Это сделало возможным использование SDK в гибридных приложениях.

Если данная тема заинтересует читателей, я могу рассказать подробнее о разработке мобильных приложений с NavigationSDK, других продуктах компании и планах на будущее.

Автор: zikolach

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/navigatsiya/217505

Ссылки в тексте:

[1] разделе Downloads: https://my.indoo.rs/#/tools

[2] Indoors SLAM: https://slaminfo.indoo.rs/about-slam

[3] калькулятором: http://indoo.rs/orderibeacons/

[4] indoo.rs MobileToolkit: https://play.google.com/store/apps/details?id=com.customlbs.android.mmt

[5] Indoors Navigation: https://play.google.com/store/apps/details?id=com.customlbs.android

[6] загрузок: https://api.indoo.rs/#/tools

[7] плагин для Cordova: https://bitbucket.org/indoors/cordova-navigation-plugin-public

[8] приложение-пример: https://bitbucket.org/indoors/cordova-navigation-test-app-public

[9] Источник: https://habrahabr.ru/post/316910/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best