UWB AoA RTLS

📡 단일 앵커로 구현한 초정밀 UWB 실시간 위치 추적 시스템 (AoA 기반 RTLS)

AoA(Angle of Arrival) 기반 UWB RTLS(Real-Time Locating System) 이 프로젝트는 기존 위치 추적 시스템의 복잡도를 획기적으로 줄인 아이디어를 인정받아 🏆 한국 전자파 학회 제 4회 대학생 창의설계 경진대회에서 동상을 수상한 의미 있는 결과물이기도 합니다.


💡 1. 왜 ‘단일 앵커’ 인가? (프로젝트 기획 배경)

일반적으로 실내에서 물체의 위치를 파악하기 위해서는 ‘삼각측량법’을 사용합니다. 하지만 이 방식은 치명적인 단점이 있습니다. 최소 3개 이상의 앵커(수신기)가 공간 곳곳에 설치되어야 한다는 점입니다. 이는 곧 시스템 구축 비용의 증가와 인프라의 복잡성으로 이어집니다.

저는 이 문제를 해결하기 위해 AoA(도래각, Angle of Arrival) 기술을 도입했습니다. 앵커를 여러 개 설치하는 대신, 하나의 앵커에서 ‘거리’와 ‘각도’를 동시에 측정하여 2D 좌표를 곧바로 산출하는 저복잡도 시스템을 설계했습니다.


⚙️ 2. 핵심 기술 및 구현 원리

단일 앵커 시스템이 2D 좌표를 구하기 위해서는 정확히 두 가지 데이터가 필요합니다. 바로 타겟까지의 **거리®**와 각도(θ) 입니다.

① 거리 측정 (Ranging) : DS-TWR

  • 태그와 앵커 간의 통신 시간(Time of Flight)을 측정하여 거리를 구합니다.
  • 클럭 오차를 상쇄하기 위해 양방향으로 신호를 주고받는 DS-TWR(Double-Sided Two-Way Ranging) 기법을 적용하여 cm 단위의 정밀한 거리를 도출했습니다.

② 각도 측정 (Angle Estimation) : PDoA

  • UWB 지향성 안테나 내부에 있는 두 개의 안테나 배열 사이로 수신되는 **신호의 위상차(Phase Difference, Δφ)**를 활용합니다.
  • 빛의 속도와 전파의 파장(λ)을 이용한 수학적 역산(arcsin)을 통해 입사각(Θ)을 실시간으로 추정합니다.

[수학적 도출 과정] > sin(Θ) = (λ · Δφ) / (2π · d)
∴ θ = arcsin(Δφ / π)

(수식 설명: 두 안테나 간의 거리 d가 반파장(λ/2)일 때, 위상차를 이용해 정확한 각도를 도출해 냅니다.)


🛠 3. 하드웨어 및 시스템 아키텍처

소프트웨어적인 연산뿐만 아니라, 나노초 단위의 RF 신호를 다루기 위해 하드웨어 칩셋의 역할을 완벽하게 분리하여 아키텍처를 설계했습니다.

구분 모델명 / 칩셋 핵심 역할
MCU Nordic nRF52840 DS-TWR 프로토콜 제어, FPU를 활용한 부동소수점(AoA) 연산, UART 통신
UWB IC Qorvo DW3110 하드웨어 레벨의 타임스탬프 측정 및 PDoA(위상차) 데이터 추출
안테나 XR-170 UWB 고지향성 안테나를 통한 AoA 추정 성능 극대화
시각화 MATLAB UART 실시간 수신 및 2D 궤적 렌더링

🎯 4. 트러블슈팅 및 성능 최적화

프로젝트를 진행하며 가장 큰 난관은 **‘데이터 누락’**과 ‘시각화 지연(Latency)’ 문제였습니다.

⚠️ 문제 상황: 실시간 렌더링 시 프레임 꼬임 현상

MCU에서 20ms라는 짧은 주기로 UART 통신을 통해 MATLAB으로 데이터를 쏘아 보낼 때, 수신부와의 비동기화로 인해 데이터가 깨지거나 화면이 멈추는 프리징 현상이 발생했습니다.

🛠 해결 과정: 수신 버퍼 및 프레이밍 적용

단순히 데이터를 화면에 바로 뿌리는 방식을 버리고, 프레이밍(Framing)과 순환 버퍼(Circular Buffer) 구조를 도입했습니다.

  1. 송신 시 데이터 패킷 앞뒤에 STX/ETX를 붙여 무결성을 검증했습니다.
  2. 수신된 데이터를 크기가 20인 윈도우 버퍼(Sliding Window)에 모아, 불량 데이터는 버리고 정상 프레임만 파싱했습니다.
  3. 이 버퍼 데이터에 **이동평균 필터(Moving Average Filter)**를 적용하여 고주파 노이즈(튀는 좌표)를 평활화했습니다.

💡 결과

전체 시스템의 지연 시간을 0.5초 미만으로 방어하면서도, 화면 끊김 없이 부드럽게 궤적을 렌더링하는 데 성공했습니다!


🏆 5. 최종 성과 및 개선 방향

  • 단일 앵커 + 단일 태그만으로 실시간 RTLS 구현 완료
  • 실험 환경에서 cm 단위 수준의 위치 추적 정확도 확보
  • 한국 전자파 학회 대학생 창의설계 경진대회 동상 수상

현재는 Y축 이동 시 각도 변화폭이 작아 X좌표에 분산이 집중되는 한계가 약간 존재합니다. 향후 이를 개선하기 위해 칼만 필터(Kalman Filter)와 같은 상태 예측 기반의 가중치 필터를 추가 적용해 시스템의 안정성을 더욱 끌어올릴 계획입니다.


🎬 데모 영상

실제 동작하는 모습은 아래 유튜브 링크에서 확인하실 수 있습니다.

🔗 실시간 UWB AoA RTLS 데모 영상 보기

임베디드 하드웨어 제어부터 신호 처리, 그리고 데이터 시각화까지 전체 시스템의 파이프라인을 직접 설계하고 최적화해 볼 수 있었던 귀중한 경험이었습니다. 읽어주셔서 감사합니다!

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤