ВВЕДЕНИЕ
В данный момент на рынке представлено довольно много различных систем, методов и технологий, предназначенных для навигации [1]. Однако большая часть таких технологий предназначена для работы не внутри зданий, а на открытом воздухе. Среди таких систем можно выделить: GPS, Galileo, ГЛОНАСС, iBeacon, WPS и др. В свою очередь для обработки навигационных данных, предоставленных с помощью вышеуказанных технологий используются такие сервисы, как: Google Maps, NAVIMIND, 2GIS.
При этом сейчас все острее встает проблема навигации внутри различных зданий и помещений, так же растет и заинтересованность в услугах, предоставляемых на основе местоположения клиента и его предпочтений. Здания с каждым днем становятся все более объемными, а их структура усложняется. В сооружениях такого типа уверенно могут ориентироваться лишь постоянные гости и сотрудники, и то такие посетители часто знают лишь необходимые им участки здания. В свою очередь ориентирование в здании для человека, который оказался там впервые, в большинстве случаев является крайне сложной задачей. Очевидно, что в такой ситуации на освоение в незнакомом месте тратится огромное количество времени, что чревато, например, опозданием на работу. Таким образом возникает потребность в сервисе, который поможет любому его пользователю максимально просто и без траты лишнего времени добраться до нужного ему места в здании.
Стоит так же отметить, что решения такой проблемы часто являются актуальными не только внутри, но и вне зданий – в условиях плотной застройки часто неэффективны даже системы, предназначенные специально для навигации на открытой местности.
Так как здания становятся все более громоздкими, классические методы навигации сильно теряют в эффективности. Решение в виде настенных планов уже не являются наглядными, особенно если размеры здания весьма велики. Зачастую конфигурация этажей разнится, что вносит еще больше путаницы в попытку сориентироваться и определить свое местоположение в здании. Вариант использования указателей так же крайне неэффективен, так как они используются лишь для обозначения самых важных помещений. Если же попытаться установить в здании указатели для всех помещений, то посетитель окажется просто переполнен количеством информации, в которой ему будет необходимо разобраться.
Решением этой проблемы должна быть автоматическая система, реализующая следующий функционал и обладающая такими свойствами:
-
единое ядро для мобильного и веб-приложения;
-
использование 2D и 3D – карт;
-
построение наиболее простых и понятных маршрутов;
-
упрощение взаимодействия клиентов (посетителей) и зданий;
-
возможность пользовательского развития, когда пользователи имеют возможность вносить (после модерации) оперативные изменения в планы помещений;
-
предоставление актуальной информации, такой как график работы, контактная информация и т.п.
Задачи прокладки эффективных маршрутов внутри зданий можно отнести к классическим задачам трассировки с линейными и пространственными ограничениями, которые хорошо проработаны и эффективно применяются в радиоэлектронике [2-9].
1 ТРЕБОВАНИЯ К НАВИГАЦИОННОЙ СИСТЕМЕ
В данный момент существуют несколько вариантов реализации подобных информационных систем, и все они предусматривают наличие следующего функционала как для клиентов, так и для администрирования:
Для пользовательского приложения:
-
форма авторизации пользователя;
-
отображение актуальной карты здания;
-
просмотр свойств и информации о помещениях;
-
прокладка маршруты с выбором начальной и конечной точки;
-
запуск и остановка процесса формирования маршрута.
Для приложения администратора:
-
изменение доступности различных функций или информации;
-
предоставлять доступ к просмотру пользовательских данных;
-
формировать статистические отчёты о работе системы;
-
предоставлять доступ к управлению списком клиентов;
-
предоставлять доступ к управлению списком зданий.
Так как разрабатываемая система нацелена на активное использование мобильного приложения, для неё была выбрана клиент-серверная архитектура, состоящая следующих из компонентов:
-
сервер с базами данных;
-
веб-сервер;
-
веб-интерфейс и интерфейс баз данных;
-
тонкий клиент для мобильного приложения.
В данный момент на рынке имеется большое количество программных платформ и компонентов, дающих возможность реализации такой архитектуры. Однако в целях упрощения структуры и увеличения функционала были выбраны следующие компоненты:
-
серверная ОС Linux Ubuntu 14.04;
-
база данных MongoDB 3.0.6;
-
веб-серверное ПО NodeJS 4.0.0;
-
мобильные приложения для платформ Android и iOS.
Подобная структура информационной системы позволит в полной мере реализовать весь необходимый функционал, а также даст возможность легко и удобно работать над изменением самой системы.
2 ТЕХНИЧЕСКАЯ СТРУКТУРА СИСТЕМЫ
2.1 Архитектура системы
Как уже отмечалось ранее, для организации работы мобильного приложения используется двухуровневая клиент-серверная архитектура. Подробно техническая реализация этой архитектуры представлена на рисунке 1.
Рисунок 1: – Архитектура системы
Основные данные системы хранятся на сервере БД под управлением СУБД MongoDB. Вывод и изменение необходимых пользователям данных осуществляется с помощью веб-сервера Nginx под управлением NodeJS. Клиенты в свою очередь взаимодействуют с системой с помощью специальных мобильных приложений, работающих как на платформе Android, так и на iOS.
2.2 Структура программы
Программная часть системы indoor-навигации реализуется в виде набора приложений на языке программирования JavaScript, основанном на ECMAScript 5. Помимо этого используется фреймворк AngularJS, который позволяет разделить систему на модули.
Приложение администрирования поделено на 5 основных модулей: «Аккаунт», «Статистика», «Управление», «Здание» и «Граф». Связь этих модулей в системе показана на рисунке 2.
Рисунок 2: – Модульная структура системы
Объекты класса «Статистика» играют роль транзакций в данной системе. Они отражают факты того, что пользователь A, авторизовавшийся в системе под своим аккаунтом B, в здании C запросил маршрут D. Эта информация в дальнейшем используется для формирования отчётности.
На диаграмме пакетов изображены связи между модулями приложения администрирования. Модули «Граф», «Здание» и «Клиент» напрямую связаны с соответствующими базами данных. Они нужны для хранения справочных данных.
Модуль «Маршрут» использует данные о зданиях, полученные через обращения к базе данных, для формирования маршрута и записи в статистику. Модуль «Управление системой» имеет доступ к модулю «Здание» и «Граф» для обеспечения актуальности информации и осуществления изменений.
2.3 Описание логической структуры
Взаимодействие клиента с мобильным приложением осуществляется в один этап. Пользователю необходимо авторизоваться, выбрать здание и задать начальную и конечную точки маршрута:
-
ввод логина и пароля или регистрация;
-
выбор здания из доступных вручную или по геопозиции;
-
вывод схемы 1-го этажа выбранного здания;
-
выбор начальной и конечной точек пути маршрута;
-
построение необходимого маршрута.
После формирования маршрута пользователю доступна возможность поделиться маршрутом, добавить его в избранное или построить другой маршрут. Аналогичным образом пользователь может запросить доступною информацию о любом объекте в выбранном здании.
2.4 Связи между составными частями программ
Связи между объектами навигационной системы показаны на рисунке 3. Центральным звеном является объект «Аккаунт», т.к. все перечисленные выше действия могут выполняться только с привязкой к конкретному пользователю.
Рисунок 3: – Связь модулей системы
Взаимодействие объектов «Аккаунт» и «Маршрут», как видно на диаграмме, является наиболее активным. Для обеспечения быстрой работы системы необходимо использовать высокоскоростные интерфейсы к БД в виду частых обращений как к данным аккаунта, так и к данным зданий.
Созданная информационно-навигационная система решает множество важных задач, связанных с проблемами навигации в зданиях со сложной архитектурой, объединяя наиболее существенные функции в единой системе.
Структура данной системы сразу несколькими важными преимуществами:
-
простота реализации;
-
использование открытого ПО;
-
работа на широком спектре устройств
Система реализована с помощью простой и уже зарекомендовавшей себя клиент-серверной архитектуры, которая обеспечивает стабильную и быструю работу, а также легкую масштабируемость и редактируемость системы.
Использование открытого и доступного ПО дает возможность тонкой настройки, модификации и отладки отдельных модулей системы, при этом не теряя в эффективности и скорости работы.
Программная реализация системы и используемые решения позволяют системе быстро и эффективно работать на широком спектре платформ и устройств.
Разработанная система является универсальным и удобным инструментом, способным быстро и эффективно решить любую задачу, связанную с предоставлением информации касательно здания, в котором применяется ИНС.
Библиографический список
- Шепель В. И., Ергалиев Д. С., Тулегулов А. Д. Сравнительный анализ глобальных навигационных спутниковых систем // Труды Международного симпозиума «Надежность и качество». Том 1. 2012.
- Камышная Э.Н., Маркелов В.В., Соловьев В.В. Конструкторско-технологические расчеты электронной аппаратуры: Учебное пособие. – М. Изд-во МГТУ им. Н. Э. Баумана, 2014.
- Андреев К.А., Власов А.И., Камышная Э.Н., Тиняков Ю.Н., Лавров А.В. Автоматизированная пространственная оптимизация компоновки блока управления датчика давления по тепловому критерию // Инженерный журнал: наука и инновации. – 2013. № 6 (18). – С. 51.
- Камышная Э.Н., Маркелов В.В., Соловьев В.В. Формальное представление электрических принципиальных схем для решения задач автоматизированного проектирования электронной аппаратуры: Учебное пособие. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2011. – 44, [4] с.
- Применение методов искусственного интеллекта в САПР технологических процессов производства электронной аппаратуры: Учебное пособие / Григорьев В.П., Камышная Э.Н., Нестеров Ю.И., Никитин С.А. – М.: Изд-во МГТУ им. Н.Э. Баумана, 1998. 48 с.
- Е.М. Парфенов, Э.Н. Камышная, В.П. Усачов. Проектирование конструкций радиоэлектронной аппаратуры: Учеб. Пособие для вузов. – М.: Радио и связь, 1989. – 272 с.
- Алексеев В.Г., Камышная Э.Н., Усачев В.П. Автоматизированная компоновка схем ЭВА и РЭА по конструктивным модулям первого уровня: Методические указания по курсовому и дипломному проектированию. – М.: Изд-во МВТУ им. Н.Э. Баумана, 1988. – 40 с.
- Н. Л. Дембицкий, А. В. Назаров. Модели и методы в задачах автоматизированного конструирования радиотехнических устройств – Москва, Изд-во МАИ. 2011. 203 с. Сер. Научная библиотека.
- Назаров А.В. Оптимизация расстановки элементов печатных модулей методом компактного размещения // Интеграл. 2014. № 4. С. 12-14.
- Власов А.И., Лыткин С.Л., Яковлев В.Л. Краткое практическое руководство разработчика по языку PL/SQL – Москва, Сер. Библиотечка журнала “Информационные технологии”. Том 2. 2000.
- WebGL [Электронный ресурс] URL: https://ru.wikipedia.org/wiki/WebGL (дата обращения: 10.11.2015).
- A* search algorithm [Электронный ресурс] URL: https://en.wikipedia.org/wiki/A*_search_algorithm (дата обращения: 10.11.2015).
- Johnson’s algorithm [Электронный ресурс] URL: https://en.wikipedia.org/wiki/Johnson%27s_algorithm (дата обращения: 10.11.2015).
- Floyd–Warshall algorithm [Электронный ресурс] URL: https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm (дата обращения: 10.11.2015).
- Дубовик Н. Н., Ногин О. А., Туманов В. М., Лагута А. Е. Исследование проблем 3D навигации в условиях пространственных ограничений // 17-ая международная конференция «Наукоемкие технологии и интеллектуальные системы». Том 2. 2015. [Электронный ресурс] URL: https:// http://iu4.ru/konf/2015_ts/03_tom02.pdf (дата обращения: 10.11.2015).
- Дубовик Н.Н., Ногин О.А., Туманов В.М. Информационно-навигационная система «ИНС» // Международный инвестиционный форум «WEB – Ready 2015». [Электронный ресурс] URL: https:// web-ready.ru/files/ins_1.doc (дата обращения: 10.11.2015).