KR100705224B1 - 네비게이션 시스템에서의 이동체의 주행경로 탐색방법 - Google Patents
네비게이션 시스템에서의 이동체의 주행경로 탐색방법 Download PDFInfo
- Publication number
- KR100705224B1 KR100705224B1 KR1020050040825A KR20050040825A KR100705224B1 KR 100705224 B1 KR100705224 B1 KR 100705224B1 KR 1020050040825 A KR1020050040825 A KR 1020050040825A KR 20050040825 A KR20050040825 A KR 20050040825A KR 100705224 B1 KR100705224 B1 KR 100705224B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- cost
- moving
- moving object
- list
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
Abstract
본 발명은 A* 알고리즘으로 이동체의 주행경로를 탐색할 경우에 개방 리스트의 노드들을 빠른 속도로 소팅하여 주행경로의 탐색시간을 단축시킨다.
본 발명은 주행경로 탐색명령에 따라 이동체의 출발지 노드 및 목적지 노드를 입력하고, 상기 출발지 노드를 개방 리스트로 이동하고, 상기 개방 리스트로 이동시킨 출발지 노드를 베스트 노드로 설정하고 폐쇄 리스트로 이동시킨 후 상기 베스트 노드의 후계 노드를 생성하고, 생성한 각각의 후계 노드들을 개방 리스트로 이동시키면서 경험적 평가함수의 전체 비용을 계산한 후 상기 경험적 평가함수의 전체 비용이 가장 작은 노드를 베스트 노드로 설정하고 폐쇄 리스트로 이동시키는 동작을 베스트 노드가 상기 목적지 노드일 때까지 반복 수행하는 것으로서 이동체의 주행경로를 탐색하는데 소요되는 시간을 줄일 수 있다.
네비게이션, GPS, 에이스타, 경험적 평가함수, 경로탐색, 시간 복잡도
Description
도 1은 본 발명의 주행경로 탐색방법이 적용되는 네비게이션 시스템의 구성을 보인 블록도.
도 2는 본 발명의 주행경로 탐색방법을 보인 신호흐름도.
도 3은 본 발명의 주행경로 탐색방법에서 각 후계노드들의 경험적 평가함수의 전체 비용을 계산하는 동작을 보인 신호흐름도.
도 4는 종래의 삽입 소트방식 및 퀵 소트방식의 시간 복잡도와, 본 발명의 벨런스 이진서치 트리의 시간 복잡도를 비교하여 설명하기 위한 그래프.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 안테나 110 : GPS 수신기
120 : 센서부 130 : 지도데이터 저장부
140 : 제어부 150 : 표시부
160 : 명령 입력부 170 : 안내음성 생성부
180 : 스피커
본 발명은 차량 등을 비롯한 소정의 이동체의 주행경로를 탐색하고, 탐색한 주행경로를 따라 이동체를 주행시키도록 안내하는 네비게이션 시스템에서 이동체의 주행경로를 빠른 시간내에 탐색할 수 있도록 하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법에 관한 것이다.
네비게이션 시스템은 전세계 측위 시스템(GPS : Global Positioning System)에 속하는 복수의 GPS 위성이 송신하는 항법 메시지와, 자이로스코프(gyroscope) 및 속도센서 등과 같이 이동체에 설치되어 있는 복수의 센서들이 검출하는 이동체의 주행상태 검출신호들을 이용하여 이동체의 현재위치를 검출하고, 검출한 이동체의 현재위치를 지도데이터에 매칭시켜 표시부에 표시하고 있다. 또한 네비게이션 시스템은 지도 데이터를 통해 이동체의 출발지로부터 소정 목적지까지의 주행경로를 탐색하고, 탐색한 주행경로를 따라 이동체를 주행시키도록 주행경로를 안내하여 원하는 목적지까지 정확히 찾아갈 수 있도록 하는 기능을 제공하고 있다.
그리고 네비게이션 시스템은 이동체가 상기 탐색된 주행경로를 따라 주행할 경우에 이동체의 주행 전방에 위치하는, 교차로나 지하차도, 고가도로 또는 고속도로의 입출구 도로 등을 포함한 소정의 안내대상지점을 탐색하고, 탐색한 안내대상지점의 소정 거리 이내에 이동체가 접근할 경우에 해당 안내대상지점의 위치에서 이동체의 주행경로를 음성신호 등으로 안내하고 있으며, 또한 이동체가 주행경로에서 이탈하여 다른 경로를 주행하는 등의 경로이탈의 여부를 판단하고, 경로이탈이 판단될 경우에 이동체의 경로이탈을 사용자에게 알려 이동체를 주행경로로 복귀시 킴으로써 이동체가 탐색된 주행경로를 따라 정확하게 주행시킬 수 있도록 하고 있다.
이동체의 현재위치로부터 목적지까지의 주행경로를 탐색함에 있어서, A* 알고리즘이 널리 사용되고 있다. 상기 A* 알고리즘은 도로망의 최적우선탐색을 수행하는데 가장 유용한 기술로 알려져 있는 것으로 선택된 경험적(heuristic) 평가함수가 소정의 특성을 만족할 경우에 Dijkstra 알고리즘 또는 MSP(Modifier Shortest Path) 알고리즘보다 더 좁은 공간을 탐색하면서 최적의 경로를 찾을 수 있다.
A* 알고리즘에서 경험적(heuristic) 정보를 사용하는 것은 각 노드마다 경험적 평가함수를 통해 그 노드를 지나가는 것이 좋은지 또는 나쁜 지의 여부를 결정하기 위한 것이다. 경험적 정보는 복수의 경로가 있을 경우에 우선적으로 어느 경로를 지나갈 지를 제시함으로써 가능한 한 효과적으로 경로를 탐색할 수 있다.
A* 알고리즘에서 경험적 평가함수는 가장 바람직한 노드를 먼저 탐색할 수 있도록 한다. 노드 n에서 경험적 평가함수는 다음의 수학식 1과 같다.
여기서, f'(n)는 경험적 평가함수로서 전체 비용(cost)이고, g(n)는 출발지 노드로부터 현재 노드까지 걸리는 실제 비용이며, h'(n)는 현재 노드로부터 목적지 노드까지 걸리는 최소 예측비용이며, 프라임(')은 예측비용임을 나타낸다.
그리고 짧은 주행시간을 선호할 경우에 상기 경험적 평가함수는 다음의 수학식 2와 같이 사용할 수도 있다.
여기서, t'(n)는 출발지 노드로부터 현재 노드까지 걸리는 주행시간이고, di(n)는 경로 i에서의 실제 주행거리이며, vi(n)는 경로 i에서의 최대 주행속도(최대 제한속도)이다. 실제측정값인 g(n)는 출발지 노드로부터 현재 노드까지의 주행시간을 합한 값이다. 각 경로의 주행시간은 실제거리 di(n)을 해당 경로에서의 최대주행속도 vi(n)로 나눔으로써 구할 수 있다.
추정 값인 h'(n)는 현재 노드 n과 주어진 목적지 노드 사이의 유클리드(Euclidean) 거리 d'(n)를, 추정되는 이동체의 최대주행속도 v'로 나눔으로써 구할 수 있다. 여기서 거리 추정값으로 유클리드(Euclidean) 거리를 사용한다. 상기 유클리드 거리는 현재 노드로부터 목적지 노드까지의 최단거리로서 실제거리보다 짧거나 동일하다. 그리고 추정되는 이동체의 최대주행속도가 어느 경로에서나 실제 주행속도보다 빠르거나 동일하다면 주행시간은 항상 실제보다 작은 값으로 추정될 것이다. 간단히 말해서, 경험적 알고리즘의 목적은 f'(n)를 최소화시키는 것이다. 그래서 운행시간은 최소 값인 min(t'(n))로 표현될 수 있다.
경험적 알고리즘의 동작은 단계별로 진행되며, 주어진 목적지 노드에 도달하는 노드가 생성될 때까지 출발지 노드로부터 노드를 확장시킨다. 그리고 각 단계에 서 발생된 노드들 중 가장 바람직한 노드를 확장시킨 후 그 확장한 노드를 폐쇄(close)시키고, 바람직한 노드의 후계 노드들을 개방(open)시킨다. 가장 바람직한 노드는 최소비용(min(f'(n))을 가지고 있는 노드이다. 이 과정동안 잘못된 방향으로 연결되는 경로 또는 막다른 노드와 같은 방해물과 관련된 노드들을 배제시킨다. 그래서 주행경로를 탐색할 경우에 합리적이지 않은 경로나 막다른 길로 연결되는 노드들을 고려하지 않도록 한다. 경험적 함수는 어느 확장된 노드들이 생성되었는지의 여부를 확인한 후 확장된 각각의 노드들의 바람직한 정도를 평가하는데 사용된다.
여기서, 확장된 각각의 노드들은 이중 연결 리스트의 양쪽 링크들 중에서 단지 하나에만 나타남을 알 수 있다. 상기에서 언급한 절차들은 목적지 노드에 도달할 때까지 반복되고, 목적지 노드에 도달하게 되면 목적지 노드로부터 출발지 노드로 연결되는 노드들을 순차적으로 거슬러 올라가서 최적경로로 사용한다.
경험적 함수에서 h'(n)가 목적지 노드에 도달하는데 소요되는 실제 비용을 초과해서 추정하지 않는다면, A* 알고리즘은 목적지 노드에 도달하는 최적경로를 찾을 수 있다. h'(n)의 초과추정은 쉽게 피할 수 있다. 왜냐하면 h'(n) 함수는 어느 노드 n에 대해서도 비용을 초과해서 추정하지 않기 때문이다. 그러므로 경험적 함수를 주의 깊게 선택한다면 허용 가능한 정도는 쉽게 달성될 수 있다.
A* 알고리즘은 일반적으로 최상의 경로탐색 방식이라고 할 수 있다. 왜냐하면 A* 알고리즘은 경로를 탐색하는 과정에서 가장 적은 노드를 생성하기 때문이다. 단축경로의 기본적인 비용과 허용 가능한 정도 때문에 모든 경로비용과 비용 예측치는 0보다 큰 값이므로, 이 알고리즘은 최적경로가 존재한다면 이동체의 최적경로를 찾아줄 것이다.
이러한 A* 알고리즘에 있어서 소정의 후계 노드를 개방 리스트로 이동시킬 경우에 각 노드의 비용에 따라 소팅(sorting)을 하게 되는데 일반적인 소팅 방법을 사용할 경우에 시간 복잡도(time complexity)가 O(n2)으로 많은 시간이 소요되었다.
그리고 종래에 가장 빠른 퀵(Quick) 소팅 방법을 사용한다고 하더라고 시간 복잡도가 O(n log n)가 소요되고, 이로 인하여 이동체의 주행경로를 탐색하는데 많은 시간이 소요되는 문제점이 있었다.
그러므로 본 발명의 목적은 후계 노드를 개방 리스트에 삽입하여 소트할 경우에 이진 서치트리 또는 밸런스 이진 서치트리를 이용하여 빠른 시간 내에 소팅함으로써 주행경로의 탐색시간을 단출할 수 있도록 하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법을 제공하는데 있다.
이러한 목적을 가지는 본 발명의 네비게이션 시스템에서의 이동체의 주행경로 탐색방법은, 주행경로 탐색명령에 따라 이동체의 출발지 노드 및 목적지 노드를 입력하고, 상기 출발지 노드를 개방 리스트로 이동하고, 상기 개방 리스트로 이동시킨 출발지 노드를 베스트 노드로 설정하고 폐쇄 리스트로 이동시키며, 상기 베스트 노드의 후계 노드를 생성하고, 생성한 각각의 후계 노드들을 개방 리스트로 이 동시키면서 경험적 평가함수의 전체 비용을 계산한 후 상기 경험적 평가함수의 전체 비용이 가장 작은 노드를 베스트 노드로 설정하고 폐쇄 리스트로 이동시키는 동작을 베스트 노드가 상기 목적지 노드일 때까지 반복 수행하는 것을 특징으로 한다.
상기 이동체의 출발지 노드는 GPS 수신기가 수신하는 항법 메시지 및 센서부가 검출하는 이동체의 주행상태 검출신호를 이영하는 혼합항법으로 검출한 이동체의 현재위치인 것을 특징으로 한다.
상기 경험적 평가함수의 전체 비용은 상기한 수학식 1 또는 수학식 2로 계산하는 것을 특징으로 한다.
상기 후계 노드들을 개방 리스트로 이동시키면서 경험적 평가함수의 전체 비용을 계산하는 것은 후계 노드를 하나씩 선택하면서 출발지 노드로부터 후계 노드까지 걸리는 실제 비용 g(n)를 계산하고, 상기 선택한 후계노드의 백 포인터를 베스트로 지시하고, 개방 리스트로 이동시킨 후 이전 서치트리 또는 밸런스 이진 서치트리로 소팅하며, 상기 개방 리스트로 이동한 후계노드로부터 목적지 노드까지 걸리는 최소 예측비용을 계산하여 경험적 평가함수의 전체 비용을 계산하며, 상기 선택한 후계 노드와 동일한 노드가 개방 리스트에 존재할 경우에 후계 노드의 실제 비용 g(n)와 동일 노드의 실제 비용 g(n)를 비교하고, 비교 결과 후계 노드의 실제 비용 g(n)가 동일 노드의 실제 비용 g(n)보다 작을 경우에 동일 노드의 실제 비용 g(n)를 후계 노드의 실제 비용 g(n)로 변경하고, 동일 노드의 백 포인터를 베스트로 지시하며, 상기 선택한 후계 노드와 동일한 노드가 폐쇄 리스트에 존재할 경우 에 후계 노드의 실제 비용 g(n)와 동일 노드의 실제 비용 g(n)를 비교하고, 비교 결과 후계 노드의 실제 비용 g(n)가 동일 노드의 실제 비용 g(n)보다 작을 경우에 동일 노드의 실제 비용 g(n)를 후계 노드의 실제 비용 g(n)로 변경하고, 동일 노드의 백 포인터를 베스트로 지시하며, 상기 동일 노드를 개방 리스트로 이동하고, 이전 서치트리 또는 밸런스 이진 서치트리로 소팅하는 것을 특징으로 한다.
상기 베스트 노드가 상기 목적지 노드일 경우에 폐쇄 리스트에 저장된 베스트 노드부터 상기 출발지 노드로 올라가면서 탐색된 주행경로를 표시부에 표시하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 네비게이션 시스템에서의 이동체의 주행경로 탐색방법을 상세히 설명한다.
도 1은 본 발명의 이동체의 주행경로 탐색방법이 적용되는 네비게이션 시스템의 구성을 보인 블록도이다. 이에 도시된 바와 같이, 복수의 GPS 위성이 송신하는 항법 메시지를 안테나(100)를 통해 수신하는 GPS 수신기(110)와, 이동체의 주행각도를 검출하기 위한 자이로스코프 및 이동체의 주행속도를 검출하기 위한 속도센서 등을 비롯한 복수의 센서들을 설치하여 이동체의 주행상태를 검출하는 센서부(120)와, 지도 데이터를 저장하고 있는 지도 데이터 저장부(130)와, 상기 GPS 수신기(110) 및 센서부(120)의 검출신호를 이용한 혼합 항법으로 이동체의 현재위치를 검출하고, 검출한 이동체의 현재위치를 상기 지도데이터 저장부(130)에 저장된 지도데이터에 매칭시킨 후 이동체의 주행경로 탐색 및 탐색된 주행경로의 안내동작을 수행하면서 소정의 안내대상지점들 또는 목적지까지의 잔여거리와 주행 예상시간을 계산하여 안내하는 제어부(140)와, 사용자의 조작에 따라 동작명령을 발생하여 상기 제어부(140)에 입력시키는 명령 입력부(160)와, 상기 제어부(140)의 제어에 따라 지도데이터, 이동체의 현재위치 및 이동체의 주행경로 등을 화면에 표시하는 표시부(150)와, 상기 제어부(140)의 제어에 따라 안내 음성신호를 생성하여 스피커(180)로 출력하는 안내음성 생성부(170)로 구성하였다.
이러한 구성을 가지는 네비게이션 시스템은 사용자가 이동체의 출발지로부터 소정 목적지까지 주행경로의 탐색을 명령할 경우에 제어부(140)는 지도데이터 저장부(130)에 저장된 지도데이터를 이용하여 A* 알고리즘으로 이동체의 주행경로를 탐색하고, 탐색한 주행경로를 표시부(150)에 표시하여 사용자가 확인할 수 있도록 한다.
상기 주행경로의 탐색이 완료된 상태에서 이동체가 주행할 경우에 GPS 수신기(110)가 수신하는 항법 메시지와 센서부(120)가 검출하는 이동체의 주행상태 검출신호를 이용하여 제어부(140)가 이동체의 현재위치를 검출하고, 검출한 이동체의 현재위치를 지도데이터 저장부(130)에 미리 저장된 지도데이터에 매칭시킨 후 표시부(150)로 출력하여 지도와 함께 이동체의 현재위치를 화면에 표시하게 된다.
그리고 제어부(140)는 이동체의 주행 전방의 소정 거리 이내에 교차로나 분기점 및 합류점 등과 같은 소정의 안내대상지점이 위치할 경우에 제어부(140)는 본 발명의 잔여거리/주행 예상시간 안내방법에 따라 이동체의 현재위치로부터 안내대 상지점까지의 잔여거리 및 주행 예상시간을 계산하여 표시부(150)에 표시하고, 또한 이동체의 현재위치로부터 목적지까지의 잔여거리 및 주행 예상시간을 계산하여 표시부(150)에 표시하며, 필요한 경우에 안내음성 생성부(170)를 제어하여 해당 안내대상지점 및 목적지에 대한 안내 음성신호를 생성하고, 생성한 안내 음성신호는 스피커(180)로 출력되어 이동체의 주행을 안내한다.
한편, 도 2는 본 발명의 주행경로 탐색방법을 보인 신호흐름도이다. 이에 도시된 바와 같이 단계(200)에서 사용자가 명령 입력부(160)를 조작하여 이동체의 주행경로 탐색을 명령할 경우에 제어부(140)는 단계(202)에서 이동체의 출발지 및 목적지 노드를 입력한다.
여기서, 이동체의 출발지 노드는 GPS 수신기(110)가 수신하는 항법 메시지와 센서부(120)가 검출하는 이동체의 주행상태 검출신호를 이용한 혼합 항법으로 탐색한 이동체의 현재위치로 설정할 수도 있다.
즉, GPS 수신기(110)는 복수의 GPS용 위성이 송신하는 항법 메시지를 적어도 4개 이상 수신하고, 수신한 항법 메시지를 이용하여 DOP(Dilution of Precision)의 값을 계산하게 된다. 상기 DOP의 값은 수신한 항법 메시지로 계산한 이동체의 현재위치가 신뢰성이 높을수록 낮고, 신뢰성이 낮을수록 경우에 높다. 제어부(140)는 상기 GPS 수신기(110)가 출력하는 DOP의 값과 미리 설정된 임계값을 비교하여 항법 메시지의 신뢰성을 판단한다. 상기 판단 결과 신뢰성이 있을 경우에 상기 항법 메시지로 이동체의 현재위치를 검출하고, 신뢰성이 없을 경우에 신뢰성이 있었던 항법 메시지로 검출한 이동체의 최종 위치로부터 센서부(120)의 검출신호를 이용하여 이동체의 현재위치를 검출하는 혼합항법으로 이동체의 현재위치를 검출하게 되는 것으로서 상기 혼합항법으로 검출한 이동체의 현재위치를 상기 단계(202)에서 이동체의 출발지 노드로 설정할 수도 있다.
다음 단계(204)에서 제어부(140)는 이동체의 출발지 노드를 개방 리스트로 이동하고, 단계(206)에서 개방 리스트가 비어 있는지의 여부를 판단한다. 상기 단계(206)에서 개방 리스트가 비어 있지 않을 경우에 제어부(140)는 단계(208)에서 경험적 평가함수로 계산한 전체 비용이 가장 작은 노드를 베스트로 설정하고, 단계(210)에서 상기 설정한 베스트 노드를 폐쇄 리스트로 이동한다.
다음 단계(212)에서는 상기 설정한 베스트 노드가 목적지 노드인지의 여부를 판단한다. 판단 결과 목적지 노드가 아닐 경우에 제어부(140)는 단계(214)에서 상기 베스트 노드를 기준으로 후계 노드들을 생성하고, 단계(216)에서 상기 생성한 후계 노드들에 대하여 경험적 평가함수의 전체 비용을 계산한다.
상기 경험적 평가함수의 전체 비용 계산은 도 3에 도시된 바와 같이 단계(300)에서 후계 노드를 하나씩 순차적으로 선택하고, 단계(302)에서 상기 선택한 후계 노드의 비용 g(n)를 계산한다. 즉, 이동체의 출발지 노드로부터 현재 선택한 후계 노드까지 걸리는 실제 비용을 계산한다.
다음 단계(304)에서는 상기 선택한 후계 노드와 동일한 노드가 개방 리스트에 존재하는지의 여부를 판단한다. 판단 결과 후계 노드와 동일한 노드가 개방 리스트에 존재할 경우에 단계(306)에서 후계 노드의 비용 g(n)와 개방 리스트에 존재하는 동일 노드의 비용 g(n)를 비교한다. 상기 단계(306)의 비교 결과 후계 노드의 비용 g(n)가 동일 노드의 비용 g(n)보다 작을 경우에 제어부(140)는 단계(308)에서 동일 노드의 비용 g(n)를 후계 노드의 비용 g(n)로 변경하고, 단계(310)에서 동일 노드의 백 포인터를 베스트로 지시한다. 즉, 상기 후계 노드인 동일 노드를 기준으로 바로 전의 노드를 베스트로 지시한다.
그리고 상기 단계(304)의 판단 결과 후계 노드와 동일한 노드가 개방 리스트에 존재하지 않을 경우에 제어부(140)는 단계(312)에서 후계 노드와 동일한 노드가 폐쇄 리스트에 존재하는지의 여부를 판단한다. 판단 결과 후계 노드와 동일한 노드가 폐쇄 리스트에 존재할 경우에 제어부(140)는 단계(314)에서 후계 노드의 비용 g(n)와 폐쇄 리스트에 존재하는 동일 노드의 비용 g(n)를 비교한다. 상기 단계(314)의 비교 결과 후계 노드의 비용 g(n)가 동일 노드의 비용 g(n)보다 작을 경우에 제어부(140)는 단계(316)에서 동일 노드의 비용 g(n)를 후계 노드의 비용 g(n)로 변경하고, 단계(318)에서 동일 노드의 백 포인터를 베스트로 지시한 후 단계(320)에서 상기 폐쇄 리스트에 존재하는 동일 노드를 개방 리스트로 이동하고, 소팅한다. 여기서, 상기 개방 리스트의 소팅은 예를 들면, 이진 서치트리 또는 밸런스 이전 서치트리를 생성하여 소팅한다.
또한 상기 단계(312)의 판단 결과 후계 노드와 동일한 노드가 폐쇄 리스트에도 존재하지 않을 경우에 제어부(140)는 단계(322)에서 후계 노드의 백 포인터를 베스트로 지시한 후 단계(324)에서 후계 노드를 개방 리스트로 이동하고, 이전 서치트리 또는 밸런스 이진 서치트리를 생성하여 소팅한다.
다음 단계(326)에서는 상기 후계 노드로부터 목적지 노드까지 최소 예측비용 h'(n)를 계산하고, 단계(328)에서 상기 후계 노드의 비용 g(n)에 후계 노드로부터 목적지 노드까지 최소 예측비용 h'(n)를 가산하여 경험적 평가함수의 전체 비용을 계산한다.
이와 같이 하여 하나의 후계 노드에 대한 비용의 계산이 완료되면, 제어부(140)는 단계(330)에서 다음의 후계 노드가 있는지의 여부를 판단하고, 판단 결과 다음의 후계 노드가 있을 경우에 상기 단계(300)로 복귀하여 후계 노드를 선택하고, 후계 노드의 비용 g(n)를 계산한 후 개방 리스트 또는 폐쇄 리스트에 존재하는지의 여부를 판단하면서 경험적 평가함수의 전체 비용을 계산하는 동작을 반복한다.
이와 같이 후계 노드들의 경험적 평가함수의 전체 비용 계산이 완료되면, 제어부(140)는 상기 단계(206)로 복귀하여 개방 리스트가 비어 있는지의 여부를 판단하고, 개방 리스트가 비어 있지 않을 경우에 경험적 평가함수로 계산한 전체 비용이 가장 작은 노드를 베스트로 설정하며, 설정한 베스트 노드를 폐쇄 리스트로 이동한 후 베스트 노드가 목적지 노드가 아닐 경우에 베스트 노드를 기준으로 후계 노드들을 생성하고, 생성한 후계 노드들에 대하여 경험적 평가함수의 전체 비용을 계산하는 동작을 반복 수행한다.
이와 같이 동작함에 있어서, 상기 단계(206)의 판단 결과 개방 리스트가 비어 있을 경우에는 에러가 발생하여 후계 노드가 없는 것으로서 단계9218)에서 주행경로의 탐색을 실패하였음을 판단하고, 종료한다.
그리고 상기 단계(210)에서 폐쇄 리스트로 이동시킨 베스트 노드가 단계 (212)에서 목적지 노드임이 판단될 경우에 이동체의 출발지 노드로부터 목적지 노드까지의 주행경로 탐색을 완료한 것으로서 제어부9140)는 단계(220)에서 폐쇄 리스트에 저장된 베스트 노드로부터 출발지 노드로 올라가면서 탐색된 주행경로를 순차적으로 표시부(150)로 표시하여 주행경로를 표시하고, 이동체의 주행경로 탐색을 종료한다.
이러한 본 발명은 후계 노드를 개방 리스트로 이동하면서 소팅을 할 경우에 이전 서치트리 또는 밸런스 이진 서치트리를 사용하여 소팅함으로써 소팅 시간을 단축시킬 수 있다.
즉, 도 4에 종래의 일반적인 삽입 방법으로 후계 노드를 소팅할 경우에는 노드 수에 따라 시간 복잡도가 O(n2)이고, 종래의 퀵(Quick) 소팅방법은 시간 복잡도가 시간 복잡도가 O(n log n)이다. 그러나 본 발명은 밸런스 이진 서치트리를 사용하여 소팅함으로써 시간 복잡도가 O(log n)로 단축시킬 수 있다.
한편, 상기에서는 본 발명을 특정의 바람직한 실시 예에 관련하여 도시하고 설명하였지만, 이하의 특허청구범위에 의해 마련되는 본 발명의 정신이나 분야를 이탈하지 않는 한도 내에서 본 발명이 다양하게 개조 및 변화될 수 있다는 것을 당 업계에서 통상의 지식을 가진 자는 용이하게 알 수 있다.
이상에서 설명한 바와 같이 본 발명은 A* 알고리즘에서 개방 리스트로 이동시킨 후계 노드들을 소팅함에 있어서, 이진 서치트리 또는 밸런스 이진 서치트리를 생성하여 소팅함으로써 소팅 시간을 단축시키고, 이로 인하여 이동체의 주행 경로 탐색에 소요되는 전체 시간을 단축시킬 수 있다.
Claims (8)
- A* 알고리즘으로 이동체의 주행경로를 탐색하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법에 있어서,주행경로 탐색명령에 따라 이동체의 출발지 노드 및 목적지 노드를 입력하고, 상기 출발지 노드를 개방 리스트로 이동하는 단계;상기 개방 리스트로 이동시킨 출발지 노드를 베스트 노드로 설정하고 폐쇄 리스트로 이동시키는 단계; 및상기 베스트 노드의 후계 노드를 생성하고, 생성한 각각의 후계 노드들을 개방 리스트로 이동시키면서 경험적 평가함수의 전체 비용을 계산한 후 상기 경험적 평가함수의 전체 비용이 가장 작은 노드를 베스트 노드로 설정하고 폐쇄 리스트로 이동시키는 동작을 베스트 노드가 상기 목적지 노드일 때까지 반복 수행하는 단계로 이루어진 네비게이션 시스템에서의 이동체의 주행경로 탐색방법.
- 제 1 항에 있어서, 상기 이동체의 출발지 노드는;GPS 수신기가 수신하는 항법 메시지 및 센서부가 검출하는 이동체의 주행상태 검출신호를 이영하는 혼합항법으로 검출한 이동체의 현재위치인 것을 특징으로 하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법.
- 제 1 항에 있어서, 상기 경험적 평가함수의 전체 비용은;다음의 수학식 2로 계산하는 것을 특징으로 하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법.수학식 2f'(n)는 경험적 평가함수로서 전체 비용(cost)이고, t'(n)는 출발지 노드로부터 현재 노드까지 걸리는 주행시간이며, g(n)는 출발지 노드로부터 현재 노드까지 걸리는 실제 비용이며, h'(n)는 현재 노드로부터 목적지 노드까지 걸리는 최소 예측비용이며, di(n)는 경로 i에서의 실제 주행거리이며, vi(n)는 경로 i에서의 최대 주행속도이며, 해당 경로의 실제거리 di(n)이며, vi(n)은 최대주행속도이다.
- 제 1 항에 있어서, 상기 후계 노드들을 개방 리스트로 이동시키면서 경험적 평가함수의 전체 비용을 계산하는 것은;후계 노드를 하나씩 선택하면서 출발지 노드로부터 후계 노드까지 걸리는 실제 비용 g(n)를 계산하는 단계;상기 선택한 후계노드의 백 포인터를 베스트로 지시하고, 개방 리스트로 이동시킨 후 이전 서치트리 또는 밸런스 이진 서치트리로 소팅하는 단계; 및상기 개방 리스트로 이동한 후계노드로부터 목적지 노드까지 걸리는 최소 예측비용을 계산하여 경험적 평가함수의 전체 비용을 계산하는 단계로 이루어지는 것을 특징으로 하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법.
- 제 5 항에 있어서, 상기 선택한 후계 노드와 동일한 노드가 개방 리스트에 존재할 경우에;후계 노드의 실제 비용 g(n)와 동일 노드의 실제 비용 g(n)를 비교하는 단계; 및상기 비교 결과 후계 노드의 실제 비용 g(n)가 동일 노드의 실제 비용 g(n)보다 작을 경우에 동일 노드의 실제 비용 g(n)를 후계 노드의 실제 비용 g(n)로 변경하고, 동일 노드의 백 포인터를 베스트로 지시하는 단계를 더 포함하는 것을 특징으로 하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법.
- 제 5 항에 있어서, 상기 선택한 후계 노드와 동일한 노드가 폐쇄 리스트에 존재할 경우에;후계 노드의 실제 비용 g(n)와 동일 노드의 실제 비용 g(n)를 비교하는 단 계;상기 비교 결과 후계 노드의 실제 비용 g(n)가 동일 노드의 실제 비용 g(n)보다 작을 경우에 동일 노드의 실제 비용 g(n)를 후계 노드의 실제 비용 g(n)로 변경하고, 동일 노드의 백 포인터를 베스트로 지시하는 단계; 및상기 동일 노드를 개방 리스트로 이동하고, 이전 서치트리 또는 밸런스 이진 서치트리로 소팅하는 단계를 더 포함하는 것을 특징으로 하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법.
- 제 1 항에 있어서, 상기 베스트 노드가 상기 목적지 노드일 경우에;폐쇄 리스트에 저장된 베스트 노드부터 상기 출발지 노드로 올라가면서 탐색된 주행경로를 표시부에 표시하는 단계를 더 포함하는 것을 특징으로 하는 네비게이션 시스템에서의 이동체의 주행경로 탐색방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050040825A KR100705224B1 (ko) | 2005-05-16 | 2005-05-16 | 네비게이션 시스템에서의 이동체의 주행경로 탐색방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050040825A KR100705224B1 (ko) | 2005-05-16 | 2005-05-16 | 네비게이션 시스템에서의 이동체의 주행경로 탐색방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060118237A KR20060118237A (ko) | 2006-11-23 |
KR100705224B1 true KR100705224B1 (ko) | 2007-04-06 |
Family
ID=37705493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050040825A KR100705224B1 (ko) | 2005-05-16 | 2005-05-16 | 네비게이션 시스템에서의 이동체의 주행경로 탐색방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100705224B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100868789B1 (ko) * | 2006-12-06 | 2008-11-17 | 에스케이에너지 주식회사 | 차량의 경로 탐색 시스템 및 방법 |
KR100888717B1 (ko) * | 2007-04-02 | 2009-03-17 | 에스케이에너지 주식회사 | 주행 결과의 평가 기능을 갖는 경로 정보 제공 시스템 및방법 |
KR101667030B1 (ko) * | 2009-08-10 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000038667A (ko) * | 1998-12-08 | 2000-07-05 | 이계철 | 교통정보시스템에서 가상노드그룹 기반의 교차로표현 방법 |
KR100281293B1 (ko) | 1995-02-09 | 2001-02-01 | 프로닝 수잔 캐츠 | 차량 항법 시스템의 경로 결정 방법 |
KR20040002092A (ko) * | 2002-06-29 | 2004-01-07 | 현대자동차주식회사 | 차량의 최적경로 탐색장치 및 그 방법 |
KR20050014477A (ko) * | 2003-07-31 | 2005-02-07 | 에스케이 주식회사 | 차량의 경로 탐색 시스템 및 그 방법 |
KR20050036494A (ko) * | 2003-10-16 | 2005-04-20 | 현대모비스 주식회사 | 로그 파일을 이용한 차량용 네비게이션 경로 탐색 방법 |
KR20050052745A (ko) * | 2003-12-01 | 2005-06-07 | 엘지전자 주식회사 | 경로 탐색 방법 및 장치 |
-
2005
- 2005-05-16 KR KR1020050040825A patent/KR100705224B1/ko not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100281293B1 (ko) | 1995-02-09 | 2001-02-01 | 프로닝 수잔 캐츠 | 차량 항법 시스템의 경로 결정 방법 |
KR20000038667A (ko) * | 1998-12-08 | 2000-07-05 | 이계철 | 교통정보시스템에서 가상노드그룹 기반의 교차로표현 방법 |
KR20040002092A (ko) * | 2002-06-29 | 2004-01-07 | 현대자동차주식회사 | 차량의 최적경로 탐색장치 및 그 방법 |
KR20050014477A (ko) * | 2003-07-31 | 2005-02-07 | 에스케이 주식회사 | 차량의 경로 탐색 시스템 및 그 방법 |
KR20050036494A (ko) * | 2003-10-16 | 2005-04-20 | 현대모비스 주식회사 | 로그 파일을 이용한 차량용 네비게이션 경로 탐색 방법 |
KR20050052745A (ko) * | 2003-12-01 | 2005-06-07 | 엘지전자 주식회사 | 경로 탐색 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20060118237A (ko) | 2006-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230332898A1 (en) | Methods and Systems for Map Matching | |
US7483788B2 (en) | Navigation apparatus and method | |
US11733058B2 (en) | Methods and systems for generating parking routes | |
US7653484B2 (en) | Method for determining deviation of a mobile object in a navigation system from a travel route | |
US8977487B2 (en) | Navigation device and guide route search method | |
EP1655578A1 (en) | Voice guidance method of travel route in navigation system | |
KR20070079703A (ko) | 네비게이션 시스템에서 지도축척 변경방법 | |
US20080306686A1 (en) | Navigation apparatuses, methods, and programs | |
KR20060118234A (ko) | 네비게이션 시스템의 요약경로 안내방법 | |
JP2007218770A (ja) | 地図表示装置、方法およびプログラム | |
KR100705224B1 (ko) | 네비게이션 시스템에서의 이동체의 주행경로 탐색방법 | |
KR100743316B1 (ko) | 네비게이션 시스템의 이동체의 위치표시 갱신방법 | |
KR100708527B1 (ko) | 네비게이션 시스템에서의 이동체의 잔여거리/주행 예상시간안내방법 | |
KR20130077132A (ko) | 실시간 교통정보를 이용한 경로 안내 장치 및 그 방법 | |
KR20090129867A (ko) | 경로 탐색 방법 및 그를 위한 내비게이션 | |
KR20060109722A (ko) | 네비게이션 시스템에서 이동체의 주행경로 안내방법 | |
KR100743313B1 (ko) | 네비게이션 시스템에서의 이동체의 주행경로 탐색방법 | |
KR100990657B1 (ko) | 경로 이탈 판단 방법 | |
KR20060091616A (ko) | 네비게이션 시스템에서 이동체의 경로이탈 판단방법 | |
KR100667491B1 (ko) | 네비게이션 시스템을 이용한 위험지역 안내방법 | |
KR20080078484A (ko) | 네비게이션 시스템에서 이동체의 주행경로 탐색방법 | |
JP2019194626A (ja) | ナビゲーション装置 | |
KR20060124005A (ko) | 네비게이션 시스템에서 목적지 검색방법 | |
JP2013210198A (ja) | ナビゲーション装置 | |
JP2004138507A (ja) | 車載ナビゲーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |