Умный навигатор

Вы знаете, что погрешность определения местоположения человека в пространстве через GPS достигает 50 метров? А мы знаем! Наши разработчики смогли снизить эту погрешность. Мы создали мобильное приложение «Умный навигатор», которое позволяет определять местоположение пользователя с точностью до угла в помещении. В основе лежит метод трилатерации с помощью iBeacon. Имя клиента, цель и детали проекта — всё под NDA. Но мы можем показать вам реализованные технические фишки.
300
iBeacon-маяков использовано
17 000
часов разработки iOS и back-end
20+
человек в команде
1 000
литров кофе выпито
Перед нами стояла задача создать систему, подстраивающуюся под местоположение и привычки хозяина дома. Для локализации местоположения изготовили специальную версию bluetooth-маяков, создали математическую модель окружения пользователя и несколько мобильных приложений для конфигурации и использования системы. Сервер интегрировался с существующим решением для управления домом в реальном времени, что позволило предоставить пользователи именно те объекты управления, которые были вокруг него в данный момент.
Анна Третьякова
Руководитель проекта
На этом проекте мы сделали:
Аналитика
Прототипы
Дизайн
Разработка
Тестирование
Поддержка

Обработка карт

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

Анимация и перспектива

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

Состояние объектов в реальном времени

Ещё одна интересная техническая задача — поддержание карты в актуальном состоянии. Здесь выключили свет, а тут открыли окно — всё это автоматически обновляется в приложении.

Для этого:

  • сервер интегрировали с hardware-источниками данных;
  • разработали протокол взаимодействия сервера с мобильным приложением в реальном времени через сокеты.
Помимо всех технических достижений проекта мы получили неоценимый опыт в разработке сложных административных инструментов на ajax-технологиях, а также создании системы конфиденциальности данных.
Саша Шлянников
Разработчик Java
Теги:
navigation