목차
내비게이션 복잡도를 감춘 TMAP SDK의 설계 (2022-03)
원문 정보
- 원문: 내비 앱 만들기 어렵지 않아요- 티맵 SDK만 있다면!
- 부제: 8편 – 고생은 티맵이 할게, 앱은 누가 만들래?
- 매체 · 게시일: 티맵모빌리티 테크노트(브런치) · 2022-03-31
- 저자: 티맵모빌리티 (본문에 저자 미표기)
- 원문 내용을 바탕으로 재구성한 요약입니다.
내비게이션 앱에 필요한 네 가지
원문은 2021년 6월 기준으로 가입자 1300만 명이 월평균 47.7억 km를 티맵으로 주행한다고 소개합니다. TMAP SDK는 개발자가 앱에서 내비게이션을 직접 구현하도록 돕는 도구입니다. 내비 앱에는 지도 데이터, 위치 획득 기술, 맵 매칭, 현장의 실시간 데이터 처리가 필요합니다.
지도와 측위, 맵 매칭
2020년 기준 국내 도로는 112,977km입니다. 도로 종류마다 제한속도와 진행 가능 방향이 다르고, 안내가 필요한 카메라와 과속방지턱과 사고다발구간 정보도 달라서 이를 모아 규격에 맞춰 정리해 지도를 만듭니다. 내비 주행으로 모인 교통 정보는 서버에 저장합니다.
측위는 GPS 기반 방식과, 구글과 애플이 OS에서 제공하는 와이파이 등을 종합한 fused location 방식이 있습니다. 정확도를 높이면 전류 소모가 늘고, 소모를 줄이면 정확도가 떨어져서 상황에 맞게 고르는 노하우가 필요합니다. 두 방식이 모두 동작하지 않을 때를 위한 연구도 계속한다고 합니다.
맵 매칭은 측위된 위치를 주행 중인 도로에 맞추는 과정입니다. 실시간으로 들어오는 위치, 방향, 속도를 고려해 지도 위 가장 알맞은 지점을 찾습니다.
음영 구간과 부정확한 위치
터널과 지하차도에서는 GPS가 잡히지 않거나 오차 큰 위치가 들어옵니다. 원문은 터널 안에서도 안내하는 기능을 곧 선보일 예정이라고 했습니다. 당시에는 터널이나 지하차도를 만나면 마지막 속도로 가상 주행을 하면서 전방 카메라, 빠져나갈 IC와 JC, 위험 상황을 안내했습니다. 기압을 쓰는 방식은 터널 안 측위 실험에 있습니다.
경로 탐색과 주행에 집중한 SDK
설계의 출발점은 운전자가 자동차 구조를 몰라도 운전할 수 있듯, 내비게이션을 몰라도 SDK만 쓰면 서비스를 만들 수 있게 하자는 것이었습니다. 필수는 원하는 지역의 경로 탐색과 탐색된 경로의 주행이라서, 나머지는 SDK 안에 숨기고 이 두 기능의 API만 노출해 생명주기를 정리했습니다.
안내 화면의 TBT, SDI, 잔여 거리, 예정 시간은 갱신 로직을 알 필요 없이 값이 바뀔 때 표시만 하면 됩니다. 그래서 LiveData로 갱신 시점에 맞춰 전달하는 형태로 구현했습니다. 기능과 UI가 분리되어 기능을 추가해도 기존 UI 코드를 고치지 않아도 되고 UI 구성도 쉬워졌다고 합니다.
테스트는 단위 테스트 기반입니다. 현장 상황을 담아야 하므로 실제로 수집한 데이터와 동작 시나리오를 넣은 테스트 케이스를 만들어 씁니다.
지원 플랫폼과 기능 확장
Android로 시작해 iOS용 SDK를 개발 중입니다. 제조사에 탑재되는 TMAP 인포테인먼트에도 SDK를 적용할 예정이고, 한국어뿐인 TTS 스크립트의 다국어 지원도 진행 중입니다. 터널 안내와 신호등 잔여 시간 표시 같은 새 기능도 SDK로 여러 서비스에 적용되도록 하겠다고 밝혔습니다. 앱과 서버의 통신 방식이나 오프라인 동작에 관한 설명은 원문에 없습니다.