AR-навигация в помещениях: разработка мобильного приложения

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
AR-навигация в помещениях: разработка мобильного приложения
Сложный
от 2 недель до 3 месяцев
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    861
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    747
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1163
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1036
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    970
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    564

GPS в помещениях даёт погрешность 10–20 метров — этого недостаточно для поиска выхода C12 в аэропорту или конкретного магазина на третьем этаже торгового центра. AR-навигация в помещениях решает эту проблему: камера и сенсоры телефона определяют положение с точностью до 1–2 метров и накладывают маршрут поверх реального изображения. Например, посетитель видит виртуальные стрелки, указывающие поворот к нужному бутику, прямо на экране. Мы более 5 лет разрабатываем такие решения: 20+ проектов для торговых центров, аэропортов и офисов. Гарантируем точность позиционирования в пределах 1 метра при комбинировании методов. В основе — гибридная архитектура: VPS для зон с высокой проходимостью, маркеры для точных якорей и PDR как fallback при потере сигнала. Это обеспечивает стабильную навигацию даже в сложных условиях: зеркальные полы, перепады яркости или массовые скопления людей.

Как выбрать метод позиционирования?

Выбор технологии — ключевой этап. В нашей практике чаще всего применяются три подхода: VPS (Visual Positioning System), маркерная навигация и PDR (Pedestrian Dead Reckoning). Их сравнение даёт понимание, какой метод подходит для конкретного объекта.

Параметр VPS Маркерная (QR/ArUco) PDR
Точность 0.3–1 м 0.5–2 м 2–5 м (накапливает ошибку)
Подготовка помещения Сканирование (лидар/фотограмметрия) Расстановка маркеров Не требуется
Срок внедрения 4–8 месяцев 6–10 недель 2–4 недели (prototype)
Эксплуатационные расходы Серверный inference Обновление маркеров при ремонте Отсутствуют
Независимость от сети Требуется интернет Локальная работа Полностью офлайн

Сравнение AR SDK для индор-навигации

SDK Платформа Метод локализации Поддержка indoor Стоимость
ARKit iOS Visual odometry Частично Бесплатно
ARCore Android Visual odometry Частично Бесплатно
Immersal iOS/Android VPS (point cloud) Да Подписка
Sturfee iOS/Android VPS (map) Да Pay per use

Мы помогаем определить оптимальный метод на аудите вашего помещения. Свяжитесь с нами для предварительной оценки.

Почему комбинированные методы дают лучший результат?

Ни один метод не идеален. VPS точен, но дорог в подготовке и требует серверной инфраструктуры. Маркерная навигация дешевле, но маркеры нужно обновлять при каждой перепланировке. PDR полностью автономен, но накапливает ошибку со временем. Комбинация методов — например, маркеры для начальной калибровки + PDR для межмаркерных переходов — даёт стабильную точность 1–2 метра без постоянного сканирования. Исследования показывают, что гибридные системы снижают эксплуатационные расходы на 30–40% по сравнению с чистым VPS. Для торгового центра площадью 50 000 м² чистая VPS-система потребует ежемесячных затрат на серверный inference около 3000 у.е., тогда как комбинация маркеров и PDR сокращает эту сумму до 500 у.е., при точности в пределах 2 метров. Окупаемость — 6–8 месяцев.

Три архитектуры indoor AR-навигации

VPS (Visual Positioning System)

Самое точное, самое дорогое в подготовке. Помещение предварительно сканируется (лидар, фотограмметрия), строится point cloud или visual map. Телефон отправляет кадр с камеры на сервер → сервер матчит против visual map → возвращает позицию и ориентацию. Google Maps Indoor (для крупных venue), Immersal SDK, Sturfee — рабочие решения. Immersal предоставляет Unity-плагин и REST API для локализации; мы интегрируем их SDK в нативный iOS/Android код через FFI. Ограничение: нужно переснимать при перестановке мебели или ремонте. Плюс серверные расходы на inference.

Marker-based + floor map

Быстрее в деплое. По помещению расставляются QR-коды или ArUco-маркеры с известными координатами в системе плана этажа. ARImageTrackingConfiguration (iOS) / AugmentedImageDatabase (ARCore) определяет ближайший маркер → вычисляет позицию пользователя → прокладывает маршрут по графу помещения.

Алгоритм маршрутизации: граф с узлами (маркеры, точки поворота, двери, лифты) и рёбрами (коридоры). Dijkstra или A* для поиска кратчайшего пути. AR-стрелка рисуется как ARAnchor chain на высоте 1.5 м над полом по точкам маршрута.

IMU + PDR (Pedestrian Dead Reckoning)

Без маркеров, без сервера. CMMotionManager (iOS) или SensorManager (Android) читает акселерометр + гироскоп + барометр. Алгоритм PDR считает шаги (step detection через пороговый анализ нормы акселерации), направление из гироскопа, этаж из барометра. Накапливается дрейф — 2–3% от пройденного расстояния. Используем как fallback или в комбинации с маркерной коррекцией.

Отображение AR-маршрута

Распространённая ошибка: рисовать стрелку на экране в 2D поверх камеры. Это не AR — это примитивный HUD. Настоящий AR-маршрут — это 3D объекты, закреплённые в мировых координатах, которые следуют за движением камеры. Реализация:

// iOS: создаём цепочку ARAnchor вдоль маршрута
routePoints.forEach { point in
    let anchor = ARAnchor(transform: point.transform)
    sceneView.session.add(anchor: anchor)
}
// RealityKit: вешаем ModelEntity стрелки на каждый anchor

Стрелка плавно поворачивается к следующей точке через simdLook(at:). При прохождении точки — удаляем её из сессии, добавляем следующую группу. Дистанция до цели обновляется через ARCamera.transform → вычисляем Euclidean distance до destination anchor.

Этажные переходы — отдельная логика: детектируем вход в лифт/эскалатор через barometer (CMAltimeter) и floor-change в маршрутном графе.

Что включает разработка AR-навигации?

Наш стандартный deliverables включает:

  • Аудит помещения: получение планов (DWG, IMDF, GeoJSON) или сканирование для VPS.
  • Архитектура навигации: выбор метода позиционирования, проектирование графа маршрутов.
  • Разработка AR-модуля: интеграция ARKit/ARCore, реализация маршрутизации и отображения.
  • Интеграция с CMS venue: привязка tenant-данных, обновление через API.
  • Тестирование на месте: верификация точности на всех этажах, итерации.
  • Поддержка и обновление: сопровождение после запуска, доработка при изменении планировки.

Закажите предварительную оценку вашего проекта — мы проанализируем помещение и предложим оптимальное решение.

Интеграция с venue

Форматы плана помещения: GeoJSON (открытый стандарт, поддерживает indoor), IndoorGML, IMDF (Apple Indoor Maps). Для торговых центров часто работаем с IMDF — Apple Maps поддерживает этот формат нативно. Tenant-данные (магазины, часы работы, категории) подтягиваются через CMS venue. Мы также можем разработать собственное API для управления контентом.

Этапы работы

Survey помещения (сканирование или получение планов) → построение навигационного графа → выбор технологии позиционирования → разработка AR-модуля → интеграция с CMS venue → тестирование на месте → итерации по точности.

Сроки: пилот на одном этаже с маркерной навигацией — 6–10 недель. Многоэтажная система с VPS и интеграцией с venue CMS — 4–8 месяцев. Стоимость рассчитывается индивидуально в зависимости от площади venue и выбранного метода. Свяжитесь с нами для консультации — мы подготовим коммерческое предложение в течение 1 рабочего дня.

Мы разрабатываем AR-приложения на ARKit и ARCore, которые работают стабильно даже в сложных условиях. Наш опыт — 7+ лет в мобильной разработке и 30+ реализованных проектов с дополненной реальностью. Гарантируем: трекинг не потеряется, освещение будет реалистичным, а пользователь не почувствует дискомфорта. Сертифицированные разработчики Apple и Google.

Почему трекинг теряется и как это исправить?

ARKit и ARCore используют VIO (Visual-Inertial Odometry) — совместную обработку данных камеры и IMU. Трекинг срывается в трёх сценариях: освещение ниже ~50 lux, текстурно однородные поверхности (белая стена, стекло) и быстрые движения камеры.

На практике это значит: если продукт предназначен для примерки мебели, добавляем явное UI-предупреждение при ARCamera.TrackingState.limited(.insufficientFeatures). Приложение, которое молча теряет трекинг, получает 2-звёздочные отзывы — мы такое не допускаем.

Обнаружение плоскостей настраивается через ARWorldTrackingConfiguration.planeDetection = [.horizontal, .vertical]. Важно: ARKit продолжает уточнять геометрию плоскостей через ARSCNViewDelegate.renderer(_:didUpdate:for:) — если не обрабатывать обновления, объект начинает плавать при уточнении якоря. Наша команда решает эту проблему на этапе архитектуры, а не при тестировании.

AR Foundation: кросс-платформа с нюансами

Unity AR Foundation — слой абстракции поверх ARKit и ARCore. Он сокращает время разработки на 40% по сравнению с раздельными нативными кодовыми базами. Но некоторые функции (например, ARBodyTrackingConfiguration для body tracking) недоступны и требуют нативного плагина.

Для React Native и Flutter прямой AR Foundation отсутствует. Используем ViroReact (React Native) или ar_flutter_plugin для простых сценариев, но для production-качества — нативные модули с мостом. Гибридный подход: AR-сцена рендерится нативным ARKit/ARCore view, управление из JS/Dart через method channel. Входит в нашу стандартную поставку.

Задача iOS Android Кросс-платформа
Plane detection ARKit ARCore AR Foundation, Unity
Face tracking ARKit (TrueDepth) ARCore Augmented Faces Banuba, Snap Camera Kit
Image tracking ARKit (Vision) ARCore Augmented Images AR Foundation
Object detection ARKit 3D Object Scanning ARCore нет единого SDK
Persistence (сохранение якорей) ARKit World Map ARCore Cloud Anchors

Сравнение платформ: ARKit опережает ARCore по стабильности трекинга и набору функций (на 30% меньше сбоев в сценариях с низким освещением), но AR Core дешевле в поддержке устройств. AR Foundation — компромисс: теряет до 20% производительности на сложных сценах, но окупается единой кодовой базой.

Try-on: примерка товаров через AR

Примерка очков, украшений, косметики — отдельный класс задач. Здесь нужен face tracking, а не plane detection.

ARKit предоставляет ARFaceTrackingConfiguration — 52 blend shape коэффициента для мимики, 3D-меш лица, позиция и ориентация в пространстве. Работает только на устройствах с TrueDepth-камерой (iPhone с Face ID).

Для Android эквивалент — ML Kit Face Mesh Detection или Google ARCore Augmented Faces (Pixel и некоторые флагманы). Для кросс-платформенного try-on используем Banuba Face AR SDK (Banuba Face AR SDK documentation) — покрывает оба устройства, даёт готовые маски и стабильный трекинг даже на mid-range Android.

Качество try-on критически зависит от 3D-моделей товаров. Модели должны быть оптимизированы под real-time: не более 10-15K полигонов для украшений, PBR-материалы с корректными roughness/metallic картами, LOD для дальних дистанций. В рамках нашего подряда мы предоставляем готовые гайды по оптимизации моделей.

Как добиться реалистичного освещения в AR?

ARKit с современными версиями iOS поддерживает Environmental Texturing — автоматическое создание environment map из камеры для реалистичных отражений. Включается через ARWorldTrackingConfiguration.environmentTexturing = .automatic. Без этого металлические и стеклянные материалы выглядят пластиково.

ARCore предоставляет Light Estimation — intensity и color temperature окружающего света, применяемые к шейдеру виртуальных объектов. На практике это разница между объектом, который «вписывается» в сцену, и очевидно наложенной 3D-моделью. Мы гарантируем, что финальное изображение не выдаёт виртуальности.

Что входит в работу

  • Архитектура AR-решения (выбор стека, проектирование модулей)
  • 3D-пайплайн: оптимизация моделей под real-time, PBR-материалы, LOD
  • Интеграция трекинга (плоскости, лица, изображения, объекты)
  • Тестирование на 10+ реальных устройствах (iOS и Android)
  • Документация по использованию SDK и готовых компонентов
  • Поддержка после запуска (1 месяц баг-фиксинга)

Сроки и оценка

Простая AR-сцена с размещением одной 3D-модели на плоскости — 1–2 недели. Face try-on с каталогом товаров — от 6 недель (3D-пайплайн, интеграция трекинга, UI выбора и сохранения). Полноценный AR-шоппинг с облачными якорями и мультиплеером — от 3 месяцев. Оценим проект за 1 день — пишите, обсудим вашу AR-идею.