일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 직선의방정식
- BLE Security
- 플러터
- BLE 보안
- 플러터 기초
- flutter
- BLE 보안 취약
- Flutter 기초
- 위치 정확도
- Stack Widget
- Positioned Widget
- BLE 삼변측량
- Flutter Stack
- 칼만 필터
- BLE 스푸핑 공격
- RSSI 평활화
- RSSI 전처리
- Flutter Positioned
- 실내 위치 예측
- 삼변측량기법
- 스푸핑 공격 감지 시스템
- 삼변측량
- BLE 실내 위치 측위
- BLE Spoofing Attack
- 실내 위치 포지셔닝
- ble
- RSSI란?
- 실내 위치 측위
- 해킹 감지 시스템
- trilateration
- Today
- Total
컨테이너
BLE를 활용한 실내 위치 측위 (4) - 삼변측량 기법을 사용하기 위한 예비지식 본문
제가 작성하고 있는 BLE를 활용한 실내 위치 측위 시리즈는 삼변측량 기법을 다룰 예정입니다. 현재까지 나온 실내 위치 측위 기법 중 삼변측량 기법은 정확도가 낮은 편에 속하지만, 이 분야에 입문하시거나 흥미를 붙이고 계신 분들이 가볍게 다루기 좋은 기법이라고 생각합니다.
삼변측량 기법의 위치 정확도가 매우 낮은 이유 중 하나는 불안정한 RSSI에서 기인됩니다. 따라서 칼만 필터를 사용하여 RSSI를 전처리하는 과정을 이전 글에서 다뤘었습니다. 이번 글에선 삼변측량 기법을 사용하기 위한 예비지식을 소개합니다. 더 높은 위치 정확도를 원하시는 분들은 이 글을 읽기 전 아래 글을 먼저 보고 오시는걸 추천 드립니다.
1. 두 원의 교점을 지나는 직선의 방정식을 구하는 방법
두 원의 교점을 지나는 직선의 방정식을 알고 계시면 삼변측량 기법의 계산 과정을 더욱 쉽게 이해하실 수 있습니다. 아래는 교점을 지나는 직선의 방정식을 구할 두 원의 방정식입니다.
$$ (x-a_1)^2 + (y-b_1)^2 = r_1^2 $$
$$ (x-a_2)^2 + (y-b_2)^2 = r_2^2 $$
직선의 방정식을 구하는 계산 방법은 매우 간단합니다. 두 원의 방정식을 연립하여 동류항끼리 뺄셈합니다.
$$ (x-a_1)^2 + (y-b_1)^2 - ((x-a_2)^2 + (y-b_2)^2) = r_1^2 - r_2^2 $$
위 식을 정리하면 아래와 같습니다.
$$ 2(a_2-a_1)x + 2(b_2-b_1)y + a_1^2 + b_1^2 - a_2^2 - b_2^2 = r_1^2 - r_2^2 $$
어려운 부분은 없을 것이로 생각됩니다. 그렇다면 간단한 문제 하나를 풀어볼까요?
$$ x^2 + y^2 =4^2 $$
$$ (x-2)^2 + (y-3)^2 = 3^2 $$
위 식은 교점을 지나는 직선의 방정식을 구할 두 원의 방정식입니다. 두 방정식은 아래와 같이 연립하여 구할 수 있습니다.
$$ x^2 + y^2 - ( (x-2)^2 + (y-3)^2 ) = 4^2 - 3^2 $$
$$ = 4x + 6y - 4 - 9 + 7 = 0 $$
\[\therefore 4x + 6y - 4 = 0\]
2. 삼변측량이란?
삼변측량은 세 점으로부터의 직선거리를 사용하여 사용자의 위치(좌표)를 구하는 기법입니다.
위 그림에서 검은 점 AP (Anchor Point)는 사용자가 송신하는 비콘 메시지 (광고 패킷)를 지속적으로 수신합니다. 그리고 수신된 비콘 메시지의 RSSI로 AP와 사용자의 거리를 대략 계산할 수 있습니다. RSSI를 활용한 거리 계산법을 모르시는 분들은 아래 링크를 참조해주세요.
AP와 사용자의 거리가 4m라고 가정해봅시다.
우리는 RSSI의 거리 공식을 활용하여 AP와 사용자의 거리가 4m임을 알아냈습니다. 즉, 사용자의 위치는 주황색 원의 둘레 중 어딘가로 추측할 수 있습니다. 여기서 하나의 AP를 더 추가해볼까요?
한 개의 AP가 추가되면 그 AP와 사용자의 거리에 대한 반지름을 갖는 원이 하나 더 생깁니다. 그리고 두 개의 원이 접하는 부분이 생깁니다. 두 원이 접하는 부분에 사용자가 있음을 예측할 수 있습니다. 이전에 한 개의 AP만 있을 때보다 훨씬 높은 확률로 사용자의 위치를 특정할 수 있게 되었습니다.
한 개의 AP가 더 추가되면 세 원이 교차하는 지점이 생기고 사용자의 위치를 확실하게 특정할 수 있습니다. 이렇듯 삼변측량은 3개 이상의 AP가 요구됩니다. 4개의 AP를 사용하는 사변측량 기법은 삼변측량보다 높은 위치 정확도를 얻을 수 있습니다. 하지만 그만큼 1개의 AP를 설치하는 비용이 더 많이 들게 되겠죠.
다음 글에선 삼변측량 기법의 계산 과정과 코드, 그리고 실제 상황을 가정한 데이터를 가지고 사용자의 위치를 구해보겠습니다.
'Research > Bluetooth' 카테고리의 다른 글
BLE를 활용한 실내 위치 측위 (5) - 삼변측량 기법을 활용한 실내 위치 측위 (3) | 2022.03.02 |
---|---|
BLE를 활용한 실내 위치 측위 (3) - 칼만 필터(Kalman Filter)를 활용한 RSSI 전처리 (8) | 2022.02.21 |
BLE를 활용한 실내 위치 측위 (2) - RSSI를 활용한 거리 구하기 (0) | 2022.02.17 |
BLE를 활용한 실내 위치 측위 (1) - 왜 BLE를 사용하는가? (0) | 2022.02.14 |
Bluetooth Low Energy (BLE) 란? (0) | 2022.02.13 |