RTLS, 실내 위치를 실시간으로 잡아 LBS·POI로 연결하는 법
UWB·BLE·Wi-Fi RTT 등 RTLS 기술 선택부터 위치 엔진, LBS/POI 서비스화, 데이터 모델·API 설계까지 실내 위치 인텔리전스 구현을 정리한다.
2026-08-13 · 최초 발행 2025-11-26
GPS가 닿지 않는 자리
실시간 위치추적 시스템 RTLS(Real-Time Location System)는 무선 신호(UWB, BLE, Wi-Fi RTT, RFID, GNSS 등)를 활용해 자산·사람·설비의 위치를 실시간으로 산출하는 시스템이다. 정확도(Accuracy), 지연(Latency), 갱신 주기(Update Rate), 커버리지(Coverage), 전력 소모(Battery Life), 스케일(동시 태그 수)이 핵심 변수이고, 측위 방식으로는 TDoA·ToF/RTT·AoA·RSSI에 관성 보정(Dead Reckoning)을 섞어 쓴다.
LBS(Location-Based Services)는 위치 이벤트를 기반으로 알림, 내비게이션, 근접 마케팅, 안전 관제 같은 비즈니스 기능을 제공하는 계층이다. POI(Points of Interest)는 게이트·작업존·베이·병실·진열존 같은 관심 지점에 대한 의미적 메타데이터와 공간 형상(포인트/폴리곤/라인)을 저장하는 객체다. RTLS의 위치 이벤트를 지오펜싱·근접·경로·체류 분석으로 바꾸는 것이 곧 LBS·POI 연계의 핵심 메커니즘이다.
실내에서는 UWB, BLE AoA, Wi-Fi RTT, RFID를 중심으로 로컬 CRS 또는 EPSG 기반 표준 좌표계를 쓴다. 실외는 GNSS가 중심이고, 사내 야외장·캠퍼스처럼 실내외가 섞인 공간은 하이브리드(GNSS+UWB/BLE) 전환 설계가 필요하다. 신호 품질·시간 동기·공간 컨텍스트에 따라 가중치를 두고 핸드오버한다.
태그에서 알림까지, 계층별 구조
센싱·통신 레이어는 태그·단말, 앵커·리더, 게이트웨이로 구성되고 OTA 펌웨어 업데이트와 시간 동기(PTP/NTP)가 필수다. 다중 채널·주파수 호핑·출력 제한을 준수하고 간섭 환경을 측정해 설치 밀도를 최적화한다.
위치 엔진은 원시 측정치를 수집→필터링→솔버(TDoA/RTT/AoA)→스무딩(Kalman/Particle)을 거쳐 좌표를 산출하는 파이프라인이다. HDOP·RSSI·LOS 비율·신뢰도 같은 품질 지표를 생성하고 추적 식별자를 병합하는 리-아이덴티피케이션 규칙도 적용한다.
데이터 레이어는 스트리밍 버퍼(Kafka/MQTT), 시공간 인덱스(PostGIS/R*-Tree), 타임시리즈 DB(InfluxDB/Timescale)로 구성한다. 이벤트(좌표, 정확도, 공간 ID), POI(지오메트리, 카테고리, 정책), 지오펜스 룰(조건, 알림 채널)을 분리된 스키마로 설계한다.
LBS·POI 서비스는 지오펜싱(진입/이탈/체류), 근접 탐지, 경로 안내, 작업 지시 연계, 안전 한계치 감시 기능을 제공한다. API 게이트웨이·권한 스코프·익명화 토큰화를 적용하고 서브미터급·미터급에 따라 서비스 품질을 차등 처리한다.
운영·보안 측면에서는 장비 헬스체크, 캘리브레이션, 자가 진단, 맵 변경 반영 자동화가 필요하다. 개인정보는 최소화(Pseudonymization)하고 전송·저장 암호화, 키 관리, 접근 통제·감사로 거버넌스를 구축한다.
어디에 쓰이나
제조·창고에서는 자재·완제품 태그를 추적하고 랙·베이·적치존을 POI로 정의해 지오펜싱 기반 오적치 경보, 피킹 경로 최적화, 체류시간 SLA 모니터링에 쓴다. 병원·요양시설은 환자·장비 태그를 추적하고 병실·처치실·약국·격리구역을 POI로 정의해 격리구역 이탈 알림, 장비 회전율 분석, 동선 기반 접촉 추적에 활용한다. 리테일·전시는 고객 단말·BLE 기반 마이크로로케이션으로 진열존·프로모션 존을 POI로 정의하고 근접 쿠폰, 체류 열지도, 상품 존간 전환율 분석에 쓴다. 스마트오피스·캠퍼스는 좌석·회의실 점유를 추적하고 좌석·룸·출입 게이트를 POI로 정의해 실시간 점유 현황, 예약 충돌 방지, 에너지 절감 제어에 활용한다.
센서에서 대시보드까지의 경로
원시 측정치가 들어오면 위치 엔진이 필터링·해석하고, 이벤트를 저장하면서 LBS 규칙을 평가해 알림·분석을 출력한다. 브로커 오프셋 커밋→엔진 산출→DB upsert→룰 평가→알림 발행 순으로 단계별 커밋 전략을 적용한다. 유효성 검증에 실패하면 DLQ로 격리하고, 시간 동기가 실패하면 보행자 관성 항법이나 마지막 좌표로 보간하며, 중복 시퀀스는 제거하고 개인정보는 비식별화한다.
기술 선택은 정확도·비용·운영성의 저울질
| 지표 | UWB | BLE AoA | Wi‑Fi RTT | Passive RFID | GNSS |
|---|---|---|---|---|---|
| 정확도 | 10–30 cm | 0.5–1.5 m | 1–2 m | 게이트/존 수준 | 3–5 m(옥외) |
| 지연 | 50–200 ms | 200–1000 ms | 200–500 ms | 이벤트 기반 | 1–5 s |
| 커버리지 | 앵커당 10–50 m | 비콘당 10–30 m | AP당 20–50 m | 리더 반경 수 cm–3 m | 전 지구 옥외 |
| 스케일 | 앵커당 100–500 태그 | 1,000+ 태그 | 100–300 태그 | 리더 주기 내 수천 태그 | 단말 무제한 |
| 안정성 | 간섭 내성 높음 | 2.4 GHz 간섭 민감 | 인프라 의존·RTT 지원 필요 | 금속/액체 영향 큼 | 실내 불가·멀티패스 영향 |
| 운영 편의 | 설치·캘리브레이션 부담 | 배터리 교체 주기 관리 | 기존 AP 활용 가능성 | 리더 배치 필수 | 단말만으로 사용 가능 |
정확도가 최우선이면 UWB(CapEx는 오른다), 비용이 우선이면 BLE(정확도는 낮아진다), 기존 인프라를 재활용하려면 Wi-Fi RTT(호환성 이슈가 남는다), 이벤트형·영역 단위면 RFID를 고른다.
데이터 모델과 판정 쿼리
Postgres 14 + PostGIS 3.x, 이벤트 인입은 MQTT/Kafka, 좌표계는 EPSG:5186을 가정한다. 이벤트 페이로드는 다음과 같은 형태다.
{
"tag_id": "t-123",
"ts": "2025-11-22T02:14:00Z",
"space_id": "wh-1",
"position": { "x": 12.34, "y": 5.67, "z": 2.1, "crs": "EPSG:5186" },
"confidence": 0.93,
"source": "uwb-tdoa",
"seq": 12345
}
POI·지오펜싱 룰 스키마는 poi(id, name, category, space_id, geom geometry(Polygon, 5186))와 geofence_rule(id, poi_id, condition enum[enter, exit, dwell], dwell_sec int, channel enum[sms, webhook, push])로 구성한다.
현재 위치가 어떤 POI에 포함되는지는 다음 쿼리로 조회한다.
-- 현재 위치가 어떤 POI에 포함되는지 조회
SELECT p.id, p.name, p.category
FROM poi p
WHERE p.space_id = $1
AND ST_Contains(p.geom, ST_SetSRID(ST_Point($2, $3), 5186));
120초를 초과하는 체류는 다음과 같이 판정한다.
-- 체류(예: 120초 초과) 판정용 이벤트 집계
WITH ev AS (
SELECT tag_id, poi_id, min(ts) AS enter_ts, max(ts) AS last_ts
FROM location_poi_events -- 사전 계산된 tag_id-POI 매핑 스트림
WHERE ts > now() - interval '10 minutes'
GROUP BY tag_id, poi_id
)
SELECT tag_id, poi_id
FROM ev
WHERE EXTRACT(EPOCH FROM (last_ts - enter_ts)) >= 120;
중복 방지는 seq 기반 멱등 처리와 (tag_id, ts) 유니크 인덱스로 하고, 브로커 파티셔닝 키를 tag_id로 잡아 순서를 보장하고 재처리를 제어한다.
신뢰도를 지키는 운영, 그리고 정량 효과
개인정보·보안 측면에서는 태그 ID를 가명화·토큰화하고 최소 데이터만 수집하며 보존 기간을 정책화한다. 전송은 TLS 1.2+, 저장은 AES-256으로 암호화하고 키를 로테이션하며 RBAC·감사 로그를 적용한다. 재식별 위험에 대비해 집계·노이즈 주입 옵션도 고려한다.
신뢰도·정확도는 초기 캘리브레이션(앵커 좌표 정합, 시계 동기)에서 시작해 맵이 바뀌면 재보정 절차를 자동화한다. 다중 센서를 융합하고 품질 지표 기반 가중치, NLOS 감지·제거 정책을 쓴다. 운영성·비용 측면에서는 배터리·펌웨어 라이프사이클을 관리하고 헬스 모니터링·알림을 자동화한다.
이렇게 구축한 파이프라인은 검색·피킹 리드타임을 2040% 단축하고 재고 정확도를 510%p 끌어올린다. 고가 자산 회전율은 1025% 개선되고 분실·유실은 3060% 줄어든다. 안전 이벤트(이탈·근접) 탐지 지연은 5080% 축소되고 알림 정탐률은 90% 수준까지 달성 가능하다. 공간 활용률은 1020% 개선되고 에너지는 5~15% 절감된다.