Научная статья на тему 'РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ С ТЕХНОЛОГИЕЙ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ'

РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ С ТЕХНОЛОГИЕЙ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
65
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕХНОЛОГИЯ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ / ANDROID / JAVA / WIKITUDE / MYSQL / PHP / TECHNOLOGY OF AUGMENTED REALITY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Крючков А.А.

В ходе выполнения работы было разработано и реализовано клиент-серверное приложение, которое поддерживает технологию дополненной реальности.In the course of the work has been developed and implemented a client-server application that supports the technology of augmented reality.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ С ТЕХНОЛОГИЕЙ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ»

Крючков А.А. бакалавр

направление «Программная инженерия» СПбГУТ им. проф. М.А. Бонч-Бруевича Россия, г. Санкт-Петербург РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ С ТЕХНОЛОГИЕЙ

ДОПОЛНЕННОЙ РЕАЛЬНОСТИ

Аннотация: В ходе выполнения работы было разработано и реализовано клиент-серверное приложение, которое поддерживает технологию дополненной реальности.

Ключевые слова: технология дополненной реальности, Android, Java, Wikitude, MySQL, PHP.

Abstract: In the course of the work has been developed and implemented a client-server application that supports the technology of augmented reality.

Key-words: the technology of augmented reality, Android, Java, Wikitude, MySQL, PHP.

Введение

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

Дополненная реальность (англ. augmented reality, AR — «расширенная реальность») - результат введения в поле восприятия любых сенсорных данных с целью дополнения сведений об окружении и улучшения восприятия информации. На сегодняшний день технология дополненной реальности является одним из основных направлений IT-разработок. Используется в IT-технологиях, в развлекательной сфере, в спорте, в военной сфере.

В данной работе описана разработка мобильного приложения с технологией дополненной реальности на примере Android приложения для поиска достопримечательностей.

Серверная часть

Для разработки достаточно простого сервера с поддержкой PHP и MySQL. Создадим базу данных "Attr_DB" и таблицу "Attractions" с полями "Name" (имя), "Description" (описание), "Address" (адрес), "LocationX" (координата X), "LocationY" (координата Y). Далее заполним данную таблицу достопримечательностями.

На PHP напишем обработчик запросов. Для реализации API используется REST модель, в которой все запросы посылаются на URL

нашего сервера. Данные, возвращаемые сервером, имеют формат JSON вида:

{

"name": "Название достопримечательности", "description": "Описание", "address": "Адрес", "locationx": "Координата X", "locationy": "Координата Y"

}

Разработка архитектуры системы

Огромная популярность и распространённость Android-устройств, а так же бесплатная среда разработки, отсутствие надобности покупать аккаунт разработчика для тестирования на устройстве поспособствовали выбору Android в качестве платформы для мобильного приложения.

Выбор минимальной версии ОС должен решить задачу - максимально охватить диапазон пользователей и при этом использовать функционал последних версий Android. Минимальной версией ОС, на которой гарантированно будет работать приложение, решено было выбрать версию 4.1 JellyBean (API 16 и выше). Выбор был сделан на основании того, что в данной версии добавили много удобных и, в первую очередь, важных возможностей для приложения (Memory management, Customizable app navigation, Activity launch animations и др.). Так же с данной минимальной версией охватывается 95,2 % пользователей.

Разрабатывать приложение было решено в Android Studio.

Разработка мобильного приложения

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

Таблица 1. Класс Attraction и его поля

Поле Тип Описание

name String Название достопримечательности

address String Адрес

xLocation double Координата восточной долготы

yLocation double Координата северной широты

description String Историческая справка

При разработке под Android важнейшим элементом является Activity (Активность или Экран). Activity - другими словами, это и есть экран приложения. Любое Activity, которое мы напишем, должно наследоваться от основного класса Activity. Рассмотрим активности данного приложения на рисунке 1.

Рисунок 1. Структура активностей (экранов) данного приложения

Экран списка достопримечательностей выводит на экран полный список достопримечательностей, который последовательно подгружается с сервера. Экран достопримечательности - описание выбранной достопримечательности и кнопку-переход для включения Видоискателя. Активность с видоискателем реализует технологию дополненной реальности в данной работе. На экране отображается метка, на которой приведена информация о выбранной достопримечательности. Данная метка изменяет своё положение в зависимости от положения пользователя в пространстве. Благодаря данной технологии пользователь может увидеть в какой стороне находится нужное ему место. Внешний вид экранов показан на рисунке 2.

Рисунок 2. Экраны приложения

Реализация дополненной реальности

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

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

Использование готовой библиотеки для реализации дополненной реальности является предпочтительнее по нескольким причинам:

- наличие подробной документации;

- наличие готовых примеров, которые можно протестировать на устройстве и проверить работоспособность библиотеки;

- нет необходимости в тестировании (но при этом не надо забывать, что ошибки могут быть найдены не зависимо от уровня тестирования библиотеки).

В результате проведенного анализа были найдены несколько библиотек с поддержкой дополненной реальности, самые популярные их которых WikitudeSDK и MetaioSDK.

WikitudeSDK - библиотека от компании Wikitude. Поддерживает большой набор различных возможностей:

- распознавание изображений;

- распознавание изображений и отображение BD-моделей поверх них;

- отображение видео поверх меток;

Из минусов стоит отметить, что бесплатная версия библиотеки отображает водяной знак компании Wikitude поверх экрана

MetaioSDK - библиотека от компании Metaio. Имеет следующие возможности:

- сканер штрих-кодов и QR-кодов;

- распознавание и отслеживание лиц;

- отображение 3D моделей.

Из минусов также присутствует водяной знак компании в бесплатной версии библиотеки.

Обе библиотеки имеют тестовое приложение с открытым кодом, которое можно запустить на своём приложении. При тестировании данных приложений была выбрана библиотека Wikitude, так как она субъективно быстрее обновляет положения меток в зависимости от изменения положения

пользователя в пространстве.

WikitudeSDK - это программный продукт австрийской компании WikitudeGmbH. Данная библиотека имеет множество возможностей:

- дополненная реальность, основанная на геопозиции пользователя;

- отрисовка 3D моделей;

- распознавание изображений.

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

Для того чтобы созданный экран видоискателя камеры отображал геометки с достопримечательностями, необходимо унаследовать созданный класс CameraActivity от класса CamActivity, предоставленного библиотекой.

Предоставленный библиотекой класс CamActivity отображает геометки на экране с помощью WebView. Данные о геометках необходимо передать в функцию callJavaScript класса CamActivity в виде JSON-объекта.

Алгоритм работы СатегаАс^у^у представлен на рисунке 3.

Рисунок 3. Диаграмма алгоритма отображения метки достопримечательности на экране мобильного устройства Заключение

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

Использованные источники:

1. Сьерра К., Бэйтс Б. Изучаем Java. Пер. с англ. - Москва: ЭКСМО, 2012. -720 с.: ISBN 978-5-699-54574-2

2. Гриффинс Д., Гриффинс Д. Head First. Программирование для Android. Пер. с англ. - Спб.: Питер, 2016. - 704 с.: ISBN 978-5-496-02171-5

3. Wikitude - The World's leading Augmented Reality SDK [Электронный ресурс]: URL: http: //www.wikitude.com

Кудряков С.А., доктор технических наук заведующий кафедрой «Радиоэлектронных систем»

Санкт-Петербургский государственный университет гражданской

авиации

Россия, г. Санкт-Петербург

БЕЗОПАСНОСТЬ КАК КОМПЛЕКСНАЯ КОМПЕТЕНЦИЯ СОВРЕМЕННЫХ СПЕЦИАЛИСТОВ

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

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

Ключевые слова: Безопасность, психологическая безопасность, социальная безопасность, конкурентоспособность, компетентность, профессиональная подготовка, транспрофессионализм,

парапрофессионализм,

The article is devoted to topical aspects of security and development of the individual and society. In the context of education, training and real professional activity, safety is an interdisciplinary transprofessional competence of modern specialists. The necessity of the Federal program on providing integrated life safety is stated, the main emphasis should be focused on the person as a subject of activity.

Keywords: Safety, psychological safety, social security, competitiveness, competence, training, transprofessional, paraprofessional.

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.