네비게이션 개발 과정?

tombraid의 이미지

네비게이션 개발에 대한 전반적인 지식을 얻을 수 있는 방법을 찾고 있습니다.
구글을 통해 검색을 해봤는데 적절한 키워드를 못찾은 탓인지 잘 안걸리네요.. 글적..

보통 네비게이션 개발이 맵하고는 별도로 진행되는 것 같더군요
맵의 인터페이스는 어떻게 되어 있으는지..수정은 가능한지.. 라던가
네비게이션의 주요 모듈은 어떤게 있고 어떤 알고리즘으로 구현되는지 등을 좀 전반적으로 파악하고 싶습니다.

혹시 관련 업체에서 일하시거나 잘 아시는 분 계시면
간단히 적어주셔도 좋고 검색 방향을 알려주셔도 감사하겠습니다.

좋은 하루 되세요.. ^^

taeyeung의 이미지

sf.net에서 navigation으로 검색해 보세요

http://sourceforge.net/projects/roadnav/ 제가 검색한 것 중에 제일 위에 있는 것이네요

국내에서 네비게이션을 개발하는 경우에는 한국지도...원에서 원도를 받거나

기존 맵 업체에서 원도를 받아서 재 가공을 하는 것으로 알고 있습니다.

그리고 제일 중요한 것이 길찾기 알고리즘이겠네요. 위의 open source를 보시면 좀 도움이 될지도 모르겠네요.

길찾기 알고리즘 : A*, 다익스트라, 양방향 탐색등으로 검색해 보세요.

thinkm1의 이미지

국내 내비게이션 기술은 세계적입니다.
DMB, TPEG 연동 등등 뿐만아니라 3D가 이미 2008년부터 나오기 시작했죠.
일본이 아마도 가장 앞서 있는 것 같습니다.
미국은 오랜 경력이 있는 지도회사 나브텍과 1위 내비회사 가민이 있지만 얼마전 구글의 안드로이드 내비게이션때문에 주가가 곤두박질을 치고 있죠.

저는 개발자는 아니고 서포트 해주던 경험이 있습니다.
저희 회사 사람들이나 관련 업계 개발자들이 보면 알지도 못하는 사람이 할일없이 이런곳에 글쓴다고 하겠지만
제가 보기에 모든 정보는 공유되고 논의되어야 더 발전을 한다고 생각합니다. 구글처럼요.
내비에서 맵과 내비프로그램은 별도입니다. 미국이나 일본은 이것이 잘 되어 있습니다.
전통적으로 오직 맵(원도)만 만드는 회사가 있는 것입니다.
특히 일본은 정밀하고 최신의 원도를 나라(정부)에서 제공하고 각 내비업체는 이 바탕위에 자사의
고유 정보와 컨텐츠를 더 넣고 출시하는 것으로 알고 있습니다.

주요 모듈은.. 제가 개발자가 아니라 잘 모르지만 일단 경로 탐색엔진 부분이 있을겁니다.
경로탐색 자체는 수학공식이지만 수초만에 서울~부산까지 모든 길 중 최적의 길을 찾을 수 없기때문에
지도업체에서 제공하는 도로의 등급에 따라서 검색의 우선순위를 조정합니다. 즉, 알고리즘이 아무리
좋아도 기본 정보가 부실하다면 좋은 경로가 나올 수 없습니다.

제가 경험한 바로 국내에서 가장..입이 마르도록 칭찬하고 싶은 경로탐색 알고리즘과 정보를 가지고 서비스하는 곳은
SKT 네이트 드라이브(현재 T맵 드라이브?)입니다. 복잡한 서울 도심에서도 몇 분단위의 오차로
예상 도착시각을 알려줍니다. TPEG 교통정보 서비스와는 별도의 자체 교통정보 수집장치가 있는지
신기하게 잘 맞아 떨어집니다(서버기반의 장점).
아는 사람은 알고 모르는 사람은 모르죠. 결코 아이나비 등등 1위와 2위를 다투는 회사의
내비에 장착된 TPEG 서비스가 최고가 아닙니다.

참고로 TPEG은 제가(정확히 저희 부서원들이) 직접 그 경로(지점)을 지도위에 표시를 했는데
그 지도의 명칭들이 시내버스에서 방송되는 지점 명칭이었고 따라서 공식적인 명칭이 아닙니다.
예를 들어 무슨무슨 목공소앞, 인데 실제 그 목공소가 문을 닫아서 찾기도 어려운데 그 명칭을
그대로 사용하는 식이었고, 매칭 경로, 철자 등등 문제가 많이 있습니다. 이런 서비스를
전국민이 문제의식 없이 받고 있다는 것이 참 한심합니다. 그리고 분명 TPEG 하면서 연구/통일화 한다고 국민의
세금이 많이 들어갔겠죠.. 빨리 TPEG2가 나와서 개선되어야 하고 SKT에서 휴대폰으로 서비스하는 길찾기와
벤치마킹을 해야 합니다
(참고로 방송국마다 TPEG 서비스를 하지만 아마 기본은 K방송사 것이 아닌가 생각됩니다. 좀 오래되서 가물가물).
(참고로 저는 내비회사 다니기 전부터 그 SKT 서비스를 썼고 3~4년 썼습니다. 금년은 해외에 있다오느라고 4월까지만 썼고요)

맵매칭 알고리즘도 중요합니다. 수시로 튀는 GPS 신호를 마치 인공지능처럼 도로 위에 붙들어 매야 하니까요.
실제 공식이 있겠지만 서울시내 GPS가 잘 안잡히는 대표적인 도로를 돌아다니면서 튜닝을 합니다.
요새는 GPS 성능이 좋아져서 그나마 개발 부담이 줄었겠지만 이런 맵매칭은 기본기에 속합니다.

POI 라고 point of interest에 담긴 정보를 신속하고 정확하게 검색하는 기능, 현재 위치를 기반으로 해서
반경 얼마인 POI를 검색하는 기능, 그리고 회전지점을 적시에 안내해주고 주요 회전지점은
상세한 모식도를 보여주는 기능, 화면을 분할해서 각각 독립적으로 보여주는 기능 등등.

내비게이션은 멀티스레드가 아마도 중요할 것 같습니다. 그리고 속도 튜닝이 중요합니다.
차는 앞서 달리는데 내비가 그 속도를 못 따라오는 경우도 있죠. 우리나라 내비 소비자들은
그래픽적인 부분도 세밀하게 보므로 주간/야간 맞춰서 각종 건물과 심볼들 디자인하는 것도 중요합니다.

내비에서 가장 중요한 것이 무엇이냐고 하면 사실은 프로그램이 아니라 지도와 POI 같은 정보들입니다.
우리나라 아이나비나 맵피/지니 만드는 회사들은 이 둘을 모두 함께 하고 있습니다. 제가 볼때는 장점이 많은 것 같습니다.
지도와 프로그램은 많은 대화를 나누어야 좋은 내비게이션 로그램이 나옵니다.
쓸만한 내비와 좋은 내비의 차이는 몇 퍼센트겠지만 시장에서 선택은 그 작은 몇 퍼센트 차이로 선택이 됩니다.
시장 1~2위 기업은 그만큰 노하우와 투자를 하는 것이라고 보면 됩니다.

참고로 국토지리원(?)에서 제공하는 정밀한 기본 원도는 업데이트 주기가 늦다고 합니다.
모드 내비사는 이 원도에 자신들의 정보를 입히는 것인데 사람으로 치면 대동맥을 기반으로 해서
작은 혈관과 가장 작은 모세혈관까지 구석구석 차가 갈 수 있는 곳은 모조리 그려 넣는다고 보시면 됩니다.
이런 조사를 각 내비게이션 회사마다 따로따로 하고 있죠. 즉, 어디에 새로운 도로/다리가 생겼다고 하면
각 내비게이션 회사의 지도 관련 부서가 다 한번씩 다녀갑니다... 터널/톨게이트 등 요금 바뀌면 공지되는
것이 아니라 신문/뉴스 보고 찾아서 업데이트하고 확인합니다... 제가 볼 때는 이것은 국력 낭비입니다.
누군가 주관기관에서 주요 정보는 수집을 하고 나누어 주고 공유해야 더 발전할 것이고,
일본이 이런면에서 우리나라보다 더 낫다고 합니다.

참, 수백메가가 넘는 지도를 확대 축소 비율에 맞추어서 보여주고(보여줄 것과 생략될 것을 선택)
위치 표시하는 랜더링 부분도 있는 것 같고요. 원래 지도를 바둑판처럼 정방형으로 잘라서
(한꺼번에 모두 불러들일 수 없으니까-속도/메모리 등) 압축해서 SD카드에 담는 것도 기술이라고 합니다.
그리고 만약 GIS 공간 연산을 할 수 있는 DB까지 있다면 좋겠지만 이것은 모바일 환경에서 욕심이 아닐까 생각됩니다.

내비게이션이 간단히 GPS 신호받아서 화면에 그려진 지도위에 위치 표시하고, 목적지 설정해서
경로탐색하는 수준이라면 쉽게 구현이 되지만 실제 판매되는 내비게이션들은 보다 많은 부분이 고려되어야 하고,
지도와 내비를 잘 아는 사람이 알고리즘을 잘 아는 개발자와 함께 개발해야 제대로 된 내비게이션이 나옵니다.

만약 현재 노트북 정도의 컴퓨팅 환경이 현재 7인치 내비게이션 수준으로 컴팩트 하게 될 수 있다면
내비게이션의 차원이 달라질 것이라고 봅니다. 그만큼 H/W의 성능에 묶여서 디튠되는 부분이 있는 것 같습니다(특히 3D 내비류).

내비게이션과 GIS를 아시는 많은 분들이 댓글을 달아주셨으면 합니다.

-----------------------
IT가(정보기술이) 과학 및 일상생활과 더욱 밀접해지기를 기대합니다.

taeyeung의 이미지

네비게이션 개발시에 GPS 모듈에서 들어오는 데이터를 분석하는 것도 필요합니다
구글에서 GPS data format으로 검색하시면 많은 자료가 공개되어 있습니다

http://www.gpsinformation.org/dale/nmea.htm

위 자료는 NMEA란 GPS format 에 대한 정보를 가지고 있습니다

님께서 직접 이 데이터를 분석할 필요는 없습니다
인터넷에는 위 포멧에 대한 파서 소스도 공개가 되어 있습니다

그리고 GPS에서 알게 되는 좌표 체계와 맵 지도 데이터가 제공하는 좌표 체계는 다릅니다. 그래서 변환을 해 주어야 합니다.

좌표 체계에 대한 주제는 http://cafe.naver.com/mcbugi/15546 여기를 참고하세요.

tombraid의 이미지

클스마스 연휴보내고 들어왔는데
기대보다 상세한 설명을 달아주셔서 감사합니다.
전체적인 감을 잡는데 큰 도움이 된것 같습니다.

nagaman의 이미지

제가 보기엔 다들 천재로 보입니다..

구글 길찾기 서비스 나왔는데 무슨 알고리즘 썼는지는 어디서 알 수 있을까요?ㅋ

익명 사용자의 이미지

국내의 경우 구글맵은 SK M&C에서 제공합니다.
알고리즘은 오픈하지 않은 것으로 압니다만...

jachin의 이미지

오일러의 콰니히스베르크의 다리, 헤밀턴 경로, 비즈니스맨 문제

'경영학 콘서트'를 읽다가 알게 됐습니다.;;;;

구글은 각 지역의 경사도나 거리등으로 경로의 비중을 지정하여 경로를 산정하는게 아닐까요?