Реалізація UWB-трекінгу об'єктів всередині приміщень у мобільному додатку

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

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація UWB-трекінгу об'єктів всередині приміщень у мобільному додатку
Складний
від 1 тижня до 3 місяців
Часті запитання

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

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація UWB-трекінгу об'єктів всередину приміщень у мобільному додатку

Трекінг об'єктів — це інша задача порівняно з позиціонуванням людини. Там ми визначаємо де знаходиться телефон. Тут ми відстежуємо об'єкти — палети на складі, медичне обладнання в лікарні, дорогостойний інструмент на виробництві, багаж в аеропорту. Об'єкт носить UWB-мітку (tag), інфраструктура якорів визначає його координати, мобільний додаток показує карту в реальному часі та дозволяє знайти конкретний об'єкт.

Архітектура RTLS (Real-Time Location System)

Типова схема UWB-RTLS:

UWB-теги (на об'єктах)
       ↓ TWR/TDoA
UWB-якоря (стеля, 10-15м між собою)
       ↓ Ethernet/Wi-Fi
Location Engine (сервер)
       ↓ WebSocket/REST
Мобільний додаток

Location Engine — вичислювальний сервер, який приймає сирі ToA-вимірювання від якорів та обчислює координати тегів. Комерційні рішення: Pozyx SaaS, Sewio UWB RTLS, Zebra MotionWorks. Opensource: MOSAIC-uwb (Python), власний на basis IEEE 802.15.4a.

Точність: TWR (Two-Way Ranging) — 10-30 см. TDoA (Time Difference of Arrival) — 15-50 см, вимагає синхронізованих якорів. Для трекінгу об'єктів на складі 30 см достатньо.

Мобільний додаток: ключові екрани

Карта об'єктів у реальному часі

2D-карта будівлі (план етажу з SVG або CAD-файлу) з рухомими маркерами. Кожен маркер — UWB-тег, прив'язаний до конкретного об'єкту (палета №A-123, тележка, прибір).

Оновлення позицій: WebSocket підписка. Location Engine публікує события tag.position_updated з {tag_id, x, y, floor, timestamp}. Клієнт приймає потік та оновлює позиції маркерів. Частота: 2-10 Гц на тег, для 50 тегів — 100-500 событій на секунду через один WS-стрім.

Оптимізація рендеру: не оновлювати кожен маркер при кожній подією — батчинг оновлень через requestAnimationFrame-аналог. На iOS: накопичуємо позиції за 100ms → один bulk update через CATransaction з disableActions. На Android Compose: LazyColumn з key(tagId) + animateItemPlacement.

Плавне рух маркерів: UWB дає позицію кожні 100-500 мс. Між оновленнями — лінійна інтерполяція (lerp) або Kalman-передбачення. Без інтерполяції маркери «стрибають», з нею — плавно рухаються.

Пошук конкретного об'єкту

Користувач шукає палету №A-456. Пошук по базі → об'єкт знайдений → на карті підсвічується, камера центрується на ньому з анімацією. Відстань від поточної позиції користувача до об'єкту + «як пройти» — маршрут по A*.

Якщо об'єкт на іншому поверсі — переключення на відповідний план з highlight.

Опціонально: режим AR-стрілки через NearbyInteraction (якщо об'єкт носить Apple-сумісний UWB-тег, наприклад AirTag або Qorvo-аксесуар). NISession з isCameraAssistanceEnabled = true → AR-указівник прямо через камеру.

Історія переміщень

Trail (слід) об'єкту за період: LineString по історичним позиціям. SELECT x, y, timestamp FROM tag_positions WHERE tag_id = ? AND timestamp > ? ORDER BY timestamp — рисуємо як polyline на карті. Допомагає розібратися «куди делась палета в п'ятницю вечером».

Heatmap навантаження зон: агрегойовані дані по всім тегам → теплова карта — які зони складу використовуються інтенсивніше. MapboxHeatmapLayer або кастомний рендер через Core Graphics по grid-cells.

Геофенсинг зон

Віртуальні зони на карті (зона приймання, зона зберігання А, зона відправлення) → правила для об'єктів:

  • тег вошов в забороняючену зону → push-сповіщення охороні
  • об'єкт знаходиться поза своєю зоною більше 2 годин → alert менеджеру
  • палета покинула склад без оформлення → тривога

Геофенсинг вичисляется на Location Engine сервері — він знає всі координати зон та тегів. Мобільний додаток тільки відображає события та керує правилами зон.

Управління тегами

Додати тег в систему: ввести ID тегу (надруковано на пристрої), прив'язати до об'єкту (назва, тип, фото), призначити зону. Batch-ввід через CSV-імпорт для великого складу.

Статус батареї тегу: більшість UWB-тегів (Pozyx Tag, Sewio Tag) передають рівень заряду в пакеті. Location Engine парсить та отдає через API. В додатку — фільтр «теги з низьким зарядом» + сповіщення при < 20%.

Втрата сигналу: якщо тег не видний якорям більше N хвилин (конфігурується) — статус «не в зоні видимості», маркер на карті сірий. Подія в лінті.

Інтеграція з WMS / ERP

Склад працює з WMS (Warehouse Management System) — 1С:WMS, SAP EWM, Odoo. Дані про завдання на переміщення беруть звідти → в додатку відображаємо «куди повинна йти ця палета». RTLS надає «де вона є сейчас». Різниця = відхилення від плану → сигнал оператору.

Інтеграція: REST API або черга сообщень (Kafka/RabbitMQ) між Location Engine та WMS. Мобільний додаток працює з Location Engine API, не напрямки з WMS.

Вибір обладнання: рекомендації

Система Точність Частота Покриття якоря Ціна якоря
Pozyx Creator 10-30 см 10 Гц ~50 м² ~€300
Sewio RTLS 15-50 см 10 Гц ~100 м² ~€400
Zebra MotionWorks 30-50 см 5 Гц ~200 м² ~€600
Qorvo DWM3001 10-20 см 100 Гц ~30 м² ~€80

Для складу 1000 м²: Pozyx — 20-25 якорів, ~€6000-8000 залізо без монтажу. Плюс ПО Location Engine та розроблення мобільного додатку.

Тривалість проекту

Пілот з 4 якорями та базовим додатком (карта + позиціонування 5 тегів) — 3-4 тижні. Повноцінна система для складу з геофенсингом, історією, інтеграцією з WMS — 3-5 місяців. Вартість проекту складається з апаратної частини, ліцензій Location Engine та розроблення. Розраховуємо після аудиту об'єкту.