1. 개요[편집]
| 삼변측량 Trilateration | |
|---|---|
| 입력 | 기준점 좌표 $\mathbf a_i$ 와 그곳까지의 거리 $d_i$ |
| 출력 | 미지점 좌표 $\mathbf x$ |
| 필요 개수 | 2D 는 3개, 3D 는 4개(구면 3개면 두 점까지) |
| 핵심 트릭 | 두 식을 빼면 2차항이 소거되어 선형이 된다 |
| 대표 사례 | GPS · UWB 실내측위 · 지진 진원 결정 · 음향 측위 |
| 정밀도 지배 변수 | 거리 오차가 아니라 기하 배치 — DOP |
| 혼동 주의 | 각으로 재는 것은 삼각측량. GPS는 이쪽이다 |
거리 하나는 원 하나만 준다. 두 개면 두 점, 세 개면 한 점 — 그리고 네 개면 서로 싸운다.
삼변측량(trilateration)은 좌표를 아는 여러 기준점까지의 「거리」만으로 미지점의 위치를 결정하는 방법이다. 이름 그대로 삼각형의 변(邊)을 재는 측량이며, 각을 재는 삼각측량의 쌍대(dual)에 해당한다. 기하학적으로는 중심 , 반지름 인 원(2D)이나 구면(3D)들의 공통 교점을 찾는 문제다.
역사적으로 이 방법은 오랫동안 2등 시민이었다. 근대 측지가 각을 재는 삼각망으로 국토를 덮은 이유는 하나 — 19세기까지 긴 거리를 정밀하게 재는 수단이 사실상 없었기 때문이다. 그러다 20세기 중반 전파·레이저 거리측정기가 나오고, 결정적으로 「전파의 비행시간 × 광속」이 거리가 되는 위성 측위가 등장하면서 판이 뒤집혔다. 오늘날 지구상에서 매초 수십억 번 수행되는 측위는 전부 삼변측량이다. GPS·갈릴레오·베이더우를 아우르는 위성항법이 그 대표이며, 실내 UWB 태그부터 지진 진원 결정, 수중 음향 측위까지 「거리만 아는」 문제는 전부 같은 방정식으로 돌아온다.1
2. 삼각측량과 무엇이 다른가[편집]
이름이 비슷해서 자주 섞이는데, 두 방법은 관측량도 오차 구조도 다르다.
| 항목 | 삼각측량 | 삼변측량 |
|---|---|---|
| 관측량 | 방향·각 | 거리 |
| 궤적 | 기준점에서 뻗는 반직선 | 기준점 중심의 원·구면 |
| 필요 관측 (2D) | 2개 + 기선 길이 | 3개 |
| 오차가 커지는 곳 | 교차각이 작을 때 | 원들이 스치듯 만날 때 |
| 대표 장비 | 세오돌라이트, 카메라 | EDM, GPS 수신기, UWB 태그 |
| 대표 사례 | 스테레오 비전, 연주시차 | GPS, 실내 측위 |
실무적으로 더 중요한 차이는 미지수의 개수다. 각을 재려면 장비의 자세(북쪽이 어딘지, 수평이 맞는지)를 알아야 하는데, 거리는 자세와 무관하다. 뒤집어 말하면 삼변측량은 회전에 대해 아무 정보도 주지 않는다 — 태그 하나의 위치는 나와도 그 태그가 어느 쪽을 보고 있는지는 영원히 모른다. 로봇에 UWB 태그를 하나만 달면 위치는 알고 방향은 모르는 상태가 되고, 그래서 관성항법이나 휠 오도메트리를 센서 융합으로 얹는다.
3. 2차원 — 원 두 개의 닫힌 해[편집]
원 두 개의 교점은 초등기하로 끝난다. 사이 거리를 , 단위벡터를 라 하자. 두 교점을 잇는 선(근축, radical line)은 에 수직이고, 에서 근축까지의 거리는
이며 두 해는
이다. 해가 존재할 조건은 — 삼각부등식이다. 잡음이 있는 실측에서는 이 조건이 깨질 수 있고, 그러면 의 제곱근 안이 음수가 되어 코드가 NaN 을 뱉는다. 닫힌 해를 쓰는 구현이 반드시 클램프를 넣어야 하는 이유다.2
세 번째 원은 와 중 어느 쪽인지를 골라 주는 역할을 한다. 잡음이 없다면 셋이 정확히 한 점에서 만나고, 잡음이 있으면 오차 삼각형이 생긴다. 그 삼각형의 크기가 이 측정의 정직한 자기 보고서다.
4. 빼기 한 번으로 선형이 되는 트릭[편집]
삼변측량이 「생긴 것보다 훨씬 쉬운」 이유는 방정식의 비선형성이 전부 한 항에 몰려 있기 때문이다. 제곱해서 펼치면
인데, 문제의 는 에 의존하지 않는다. 그러니 두 식을 빼면 그냥 사라진다.
미지수에 대해 완전히 선형이다. 2D 에서 원 3개면 독립 차분식 2개가 나와 선형계로 즉시 풀리고, 3D 에서 구면 4개면 이 된다. 구면 3개만 있으면 차분식 2개가 직선 하나를 주고, 그 직선을 원래 구면식 하나에 대입하면 2차방정식 — 세 중심이 이루는 평면에 대해 거울대칭인 두 해가 나온다. 지표면 조건이나 「지하는 아니다」 같은 상식으로 하나를 버린다.
이 선형화는 근사가 아니라 정확한 항등변형이다. 다만 공짜는 아니어서, 원래의 잡음이 에 붙어 있었는데 차분식에는 로 들어가므로 잡음이 더 이상 등분산이 아니게 된다. 그래서 이 방법(선형 최소제곱, 흔히 구면 교차법이라 부른다)은 빠르고 초기값이 필요 없지만 통계적으로 최적은 아니다. 표준 처방은 이 답을 초기값으로만 쓰고 아래의 비선형 최소제곱으로 마무리하는 것이다.
퇴화도 조심해야 한다. 차분식의 계수행렬은 들로 이루어져 있으므로, 기준점이 2D 에서 일직선, 3D 에서 한 평면 위에 있으면 특이행렬이 된다. 벽면 한 줄에 UWB 앵커 네 개를 나란히 박아 놓고 왜 안 되냐고 묻는 사고는 이 한 줄로 설명된다.
5. 3차원과 GPS — 네 번째 미지수[편집]
GPS 수신기가 아는 것은 위성이 신호를 쏜 시각(신호에 실려 있다)과 받은 시각(자기 시계)뿐이다. 문제는 수신기 시계가 틀렸다는 것이다. 위성에는 원자시계가 있지만 수신기에는 몇 백 원짜리 수정진동자가 있고, 이 시계가 1 ms 만 틀려도 거리로는 300 km 오차다.3
그래서 관측량은 진짜 거리가 아니라 의사거리(pseudorange)다.
여기서 는 수신기 시계 오차이고, 결정적으로 모든 위성에 대해 같은 값이다. 미지수가 넷이 되었으니 위성이 최소 4개 필요하다. 「GPS 는 위성 3개면 되지 않나」라는 흔한 오해의 정체가 이것 — 네 번째 위성은 위치가 아니라 시간을 위한 것이다. 그리고 이 구조 덕분에 GPS 수신기는 덤으로 나노초급 시각원이 되며, 통신망·전력망·금융 거래의 시각 동기가 실제로 여기에 기댄다.
앞의 빼기 트릭은 여기서도 작동한다. 제곱하면
이고, 두 식을 빼면 와 가 둘 다 사라져 에 대한 선형식이 남는다. 위성 4개면 차분식 3개, 미지수 4개 — 1매개변수 직선이 나오고 원래 식 하나에 대입하면 2차방정식이다. 두 근 중 하나는 지구 근처, 다른 하나는 터무니없는 곳이라 골라내기 쉽다. 이 구조를 민코프스키(로런츠) 내적으로 깔끔하게 정리해 완전한 닫힌 해로 만든 것이 밴크로프트(Bancroft, 1985)의 고전적 결과다. 초기값 없이 한 방에 답이 나오므로 콜드 스타트나 반복법의 초기값 생성에 지금도 쓰인다.
물론 실제 GPS 처리는 여기서 끝나지 않는다. 위성 시계 보정, 상대론 보정(중력 적색편이 + 시간 지연으로 위성 시계가 하루 약 38 μs 빨리 간다), 전리층·대류권 지연, 사텔라이트 궤도력 오차, 다중경로가 전부 에 실려 들어온다. 이 모든 오차를 「등가 거리 오차 하나」로 뭉뚱그린 것을 UERE(user equivalent range error)라 부르고, 최종 위치 오차는 이 UERE 에 다음 절의 기하 계수를 곱한 값이 된다.
6. 최소제곱과 가우스-뉴턴[편집]
관측이 최소 개수보다 많으면 교점은 존재하지 않는다. 표준은 잔차 제곱합 최소화다.
가우스-뉴턴법을 쓰면 야코비 행렬의 행이
로, 기준점을 향한 단위벡터 그 자체다. 여기가 이 문서의 핵심 관문이다 — 야코비가 방향에만 의존하고 거리에는 전혀 의존하지 않는다. 갱신은
이고, 잔차가 원리적으로 0 에 가깝게 내려가는 문제라 가우스-뉴턴이 잘 듣는다. 초기값이 나쁘거나 배치가 나쁘면 레벤버그-마쿼트 방법으로 감쇠를 걸면 된다. GPS 수신기가 실제로 도는 루프도 이것이며(미지수에 가 하나 더 붙을 뿐이다), 위성 배치가 초 단위로 거의 안 변하므로 직전 해를 초기값으로 쓰면 보통 2~3회 반복에서 수렴한다.
수렴한 뒤의 공분산은 표준 결과다.
거리 잡음 는 스칼라 곱으로만 들어가고, 오차의 모양은 전부 이 정한다. 다음 절이 이 행렬 하나에 대한 이야기다.
7. 기하가 정밀도를 지배한다 — DOP[편집]
가 단위벡터들의 모음이라는 사실에서 항법의 가장 유명한 지표가 나온다. GPS 처럼 시계 오차까지 미지수인 경우, 수신기에서 위성을 향한 단위벡터 로 기하행렬
를 만들고, 의 대각성분으로 정밀도 저하율(dilution of precision, DOP)을 정의한다. 를 지역 ENU(동-북-천정) 좌표에서 계산해야 수평/수직 구분이 의미를 갖는다는 점을 자주 빠뜨린다.
| 기호 | 정의 | 무엇을 재는가 |
|---|---|---|
| GDOP | 위치 + 시각 전체 | |
| PDOP | 3차원 위치 | |
| HDOP | 수평 위치 | |
| VDOP | 높이 | |
| TDOP | 시각 |
정의상 이고, 실무에서 외우는 것은 딱 한 줄이다.
측정 정밀도와 기하 배치가 곱셈으로 분리된다. 거리 잡음이 1 m 여도 HDOP 가 8 이면 수평 오차는 8 m 다. 이 곱셈 구조가 항법 설계의 사고방식 전체를 규정한다 — 장비를 좋게 하는 것과 배치를 좋게 하는 것이 동등한 지렛대라는 뜻이기 때문이다.
기하학적 직관도 명확하다. 위성 4개일 때 PDOP 는 단위 시선벡터 끝점 네 개가 이루는 사면체의 부피에 반비례한다. 위성이 하늘 곳곳에 흩어져 있으면 부피가 크고 DOP 가 작다. 한쪽 하늘에 몰려 있으면 사면체가 납작해지고 DOP 가 폭발한다. 도심 협곡이나 산비탈에서 측위가 무너지는 이유는 위성이 안 보여서만이 아니라 보이는 위성이 하늘의 좁은 띠에 갇혀서다.
여기서 파생되는 실용적 사실 둘.
- VDOP 는 거의 언제나 HDOP 보다 나쁘다. 지면 아래 위성은 볼 수 없어 시선벡터가 위쪽 반구에만 존재하고, 그래서 연직 방향은 한쪽에서만 구속된다. 통상 1.5~2배 차이가 나며, 「GPS 고도는 못 믿는다」는 현장 격언의 수학적 근거가 이것이다. 기압 고도계를 굳이 같이 다는 이유이기도 하다.
- 관측을 추가하면 DOP 는 절대 나빠지지 않는다. 행 하나를 더하면 가 반정부호 순서로 커지고, 따라서 는 작아진다. 위성이 하나 더 뜨면 그 위성이 아무리 낮게 떠 있어도 손해는 아니다(관측이 편향돼 있지만 않다면).
8. 실내 측위 — 거리 편향과 NLOS[편집]
실외 GNSS 의 논리를 그대로 실내로 가져오면 벽에 부딪힌다. 문제는 거리가 편향된다는 것이다.
UWB(초광대역)는 나노초급 펄스로 비행시간을 재서 시선(LOS) 조건에서 10 cm 수준의 거리를 준다. 앵커끼리 시계를 맞추기 어려우면 태그와 앵커가 신호를 주고받아 왕복 시간을 재는 양방향 거리측정(TWR)을 쓰고, 앵커가 유선으로 동기돼 있으면 도착시간차(TDOA)를 쓴다. TDOA 는 등거리 곡면이 구가 아니라 쌍곡면이 되어 엄밀히는 삼변측량이 아니라 쌍곡선 측위(multilateration)라 부르지만, 앞의 빼기 트릭과 최소제곱 골격은 그대로다.
실내에서 거리를 망치는 것은 잡음이 아니라 편향이다.
- 안테나 지연 보정. 안테나와 회로를 통과하는 고정 지연이 수 나노초 있고, 이는 곧바로 수십 cm 오프셋이다. 보정하지 않으면 전 구간에 걸쳐 같은 방향으로 밀린다.
- 다중경로와 첫 경로 검출. 수신 파형에서 「가장 센 피크」가 아니라 「가장 먼저 온 성분」을 잡아야 하는데, 반사파가 직접파보다 셀 수 있다.
- NLOS. 벽·사람을 통과하면 전파가 느려지고 우회해서 온다. 그래서 NLOS 편향은 언제나 양수다 — 잰 거리가 실제보다 짧아지는 일은 없다.
이 마지막 성질이 추정 방법을 바꾼다. 오차 분포가 한쪽으로만 꼬리를 끄는데 제곱 손실 최소제곱을 쓰면 해가 계통적으로 앵커 바깥으로 밀린다. 처방은 셋이다. 채널 임펄스 응답의 특징(상승 시간, 첨도 등)으로 NLOS 링크를 판별해 빼거나, 후버 손실 같은 로버스트 통계 기법으로 큰 잔차의 영향력을 잘라내거나, 애초에 「측정거리 ≥ 실제거리」라는 부등식 제약을 넣어 푸는 것이다.
RSSI(수신 신호 세기)로 거리를 재는 방식은 훨씬 사정이 나쁘다. 로그거리 경로손실 모형
를 뒤집으면 인데, dB 오차가 거리에서는 지수로 증폭된다. 실내 섀도잉이 dB, 경로손실 지수 라면 — 거리 추정이 통째로 2배 안팎으로 흔들린다는 뜻이다. 게다가 로그정규 오차라 평균도 편향된다. 상용 BLE·WiFi 측위가 거리 기반 삼변측량 대신 미리 만든 신호 세기 지도와 대조하는 핑거프린팅으로 넘어간 이유가 이 한 줄에 다 들어 있다.4
9. 실무 점검표[편집]
| 증상 | 의심할 것 |
|---|---|
해가 아예 안 나옴 (NaN) | 삼각부등식 위반. 닫힌 해의 제곱근 클램프 확인 |
| 선형계가 특이 | 기준점이 일직선·동일 평면. 앵커를 3차원으로 흩어라 |
| 해가 두 개 | 구면 3개만 씀. 네 번째 관측이나 물리 조건으로 선택 |
| 거리 오차는 작은데 위치가 나쁨 | 기하 문제. DOP 부터 보고 장비를 탓하기 전에 배치를 바꾼다 |
| 높이만 유독 틀림 | VDOP. 정상이다. 기압계·바닥 구속 등 외부 정보를 넣어라 |
| 위치가 일관되게 바깥으로 밀림 | 양의 편향(NLOS·안테나 지연). 로버스트 손실이나 편향 보정 |
| 시간에 따라 답이 튐 | 관측 조합이 바뀌며 DOP 가 점프. 필터로 시간 평활 |
마지막 줄이 결론이다. 삼변측량은 한 시점의 방정식 풀이로 끝나는 문제가 아니다. 실제 시스템은 이 해를 칼만 필터나 입자 필터의 관측 갱신으로 넣고, 운동 모형과 관성항법을 섞어 시간축으로 평활한다. 방정식이 아무리 예뻐도 기하가 없는 정보를 만들어 내지는 못하고, 그럴 때 답은 언제나 기준점을 더 잘 배치하거나 다른 센서를 붙이는 것이다.
10. 관련 문서[편집]
- 삼각측량 · 스테레오 비전 · 포토그래메트리 · 핀홀 카메라
- 최소자승법 · 가우스-뉴턴법 · 레벤버그-마쿼트 방법 · 신뢰 영역 방법
- 조건수 · 특이값 분해 · 불확실성 정량화 · 크라메르-라오 하한
- 칼만 필터 · 입자 필터 · 몬테카를로 위치추정 · 센서 융합
- 관성항법 · 오도메트리 · SLAM · 로버스트 통계
- 위성항법 · 실내 측위 · 다중경로 · 역문제
11. Footnotes[편집]
-
그런데도 「GPS 삼각측량」이라는 표현이 뉴스와 드라마에 끊임없이 등장한다. 심지어 통신사 기지국 기반 위치추적도 각을 재는 게 아니라 전파 세기·시간을 쓰므로 삼변측량 쪽이다. 일상어에서 triangulate 가 「여러 출처를 교차 검증하다」라는 비유로 굳어진 탓인데, 측량 전공자 앞에서 쓰면 표정이 굳는 것을 볼 수 있다. ↩
-
실제로 로봇 대회 코드에서 가장 흔한 사고 중 하나다. 태그가 앵커 두 개를 잇는 선 근처에 있으면 가 아슬아슬하게 음수로 떨어지고, 그 프레임 하나가
NaN을 만들면 그 뒤로 필터 상태 전체가 감염된다.sqrt(max(0, ...))한 줄이 밤샘 디버깅을 막는다. ↩ -
1 ns 는 거리로 약 30 cm 다. 이 환산이 몸에 배면 항법 문헌이 훨씬 잘 읽힌다. 반대로 「우리 시스템은 시계를 100 ns 이내로 맞춥니다」라는 홍보 문구를 보면 곧바로 30 m 라고 번역할 수 있게 된다. ↩
-
그래서 “RSSI 로 삼변측량해서 실내 내비게이션을 만들겠다”는 학부 프로젝트 제안서는 거의 예외 없이 중간발표에서 핑거프린팅으로 갈아탄다. 실패한 게 아니라 물리를 배운 것이다. ↩