KR20140075446A - 유전자 알고리즘을 이용한 경로 생성 장치 및 그 동작 방법 - Google Patents
유전자 알고리즘을 이용한 경로 생성 장치 및 그 동작 방법 Download PDFInfo
- Publication number
- KR20140075446A KR20140075446A KR1020120143793A KR20120143793A KR20140075446A KR 20140075446 A KR20140075446 A KR 20140075446A KR 1020120143793 A KR1020120143793 A KR 1020120143793A KR 20120143793 A KR20120143793 A KR 20120143793A KR 20140075446 A KR20140075446 A KR 20140075446A
- Authority
- KR
- South Korea
- Prior art keywords
- path
- paths
- generation
- node
- nodes
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/10—Map spot or coordinate position indicators; Map reading aids
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
에지 정보와 노드 확률 모델을 이용하여 로봇의 이동 경로를 생성하는 장치 및 방법이 개시된다.
경로 생성 장치는 이전 세대들의 경로들을 이용하여 지도상의 위치를 나타내는 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정하는 노드 확률 모델 결정부; 및 상기 노드 확률 모델을 이용하여 현재 세대의 경로들을 생성하는 경로 생성부를 포함할 수 있다.
경로 생성 장치는 이전 세대들의 경로들을 이용하여 지도상의 위치를 나타내는 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정하는 노드 확률 모델 결정부; 및 상기 노드 확률 모델을 이용하여 현재 세대의 경로들을 생성하는 경로 생성부를 포함할 수 있다.
Description
본 발명은 유전자 알고리즘을 이용한 경로 생성 장치 및 방법에 관한 것으로, 보다 상세하게는 유전자 알고리즘에 에지 정보와 노드 확률 모델을 이용하여 로봇의 이동 경로를 생성하는 장치 및 방법에 관한 것이다.
로봇의 이동 경로를 생성하는 방법은 장애물이 있는 환경의 출발 장소에서 목표 장소까지 장애물을 피해서 이동할 수 있는 경로들 중에서 가장 짧은 경로를 찾는 방법이다.
한국공개특허 제10-2012-0013057호(공개일 2012년 2월 14일)에는 유전자 알고리즘(genetic algorithm)을 이용하여 로봇의 경로를 생성하는 기술이 개시되어 있다. 그러나, 종래의 기술은 단순히 경로에 유전자 알고리즘을 적용하여 경로를 재생성 하는 과정을 반복함으로써, 최적의 경로를 생성하고 있으므로, 최적의 경로를 생성하기 위한 교배율, 교배 방법, 우성 개체 선택 방법, 돌연변이율을 유도하기 위하여 필요한 파라미터가 많이 필요하였다.
구체적으로, 일반적인 유전자 알고리즘은 최초 개체군에 포함된 개체 중에서 우성 개체를 선택하고, 선택한 우성 개체를 교배, 돌연 변이하여 다음 세대의 개체군을 생성하므로, 각 세대간의 정보의 차이가 적을 수 있다. 따라서, 최초 개체군의 성능에 따라 최적 경로에 수렴할 때까지 많은 세대가 소요되며 연산량이 증가할 수 있었다.
그러므로, 적은 연산량으로 최적 경로를 생성할 수 있는 방법이 요청되고 있다.
본 발명은 노드들이 경로에 포함될 확률을 결정하고, 상기 확률에 따라 각 세대에서 경로들의 개체군을 재생성함으로써, 최적 경로를 생성할 때까지 필요한 연산량을 감소시키는 장치 및 방법을 제공할 수 있다.
그리고, 본 발명은 노드들 사이에 장애물이 존재하는지 여부를 나타내는 에지 정보를 이용함으로써, 노드 사이의 장애물을 확인하기 위한 과정을 생략할 수 있으므로, 경로 생성에 필요한 연산량을 감소시키는 장치 및 방법을 제공할 수 있다.
본 발명의 일실시예에 따른 경로 생성 장치는 이전 세대들의 경로들을 이용하여 지도상의 위치를 나타내는 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정하는 노드 확률 모델 결정부; 및 상기 노드 확률 모델을 이용하여 현재 세대의 경로들을 생성하는 경로 생성부를 포함할 수 있다.
본 발명의 일실시예에 따른 경로 생성 장치의 노드 확률 모델 결정부는 상기 이전 세대들의 경로들 중에서 상기 노드가 포함된 경로들을 이용하여 노드 확률 모델을 결정할 수 있다.
본 발명의 일실시예에 따른 경로 생성 장치의 경로 생성부는 상기 노드 확률 모델을 이용하여 경로에 포함할 노드들을 결정하고, 노드들 사이에 장애물이 없는 노드의 쌍을 나타내는 에지 정보를 이용하여 현재 세대의 경로를 생성할 수 있다.
본 발명의 일실시예에 따른 경로 생성 장치의 경로 생성부는 에지 정보에 포함된 노드의 쌍에 따라 경로에 포함된 노드의 연결 순서를 재설정할 수 있다.
본 발명의 일실시예에 따른 경로 생성 장치는 이전 세대의 경로들의 평가값을 이용하여 이전 세대의 경로들 중에서 복수의 경로들을 우성 개체로 선택하는 우성 개체 선택부를 더 포함하고, 상기 노드 확률 모델 결정부는 상기 우성 개체에 포함된 노드들을 이용하여 노드 확률 모델을 업그레이드할 수 있다.
본 발명의 일실시예에 따른 경로 생성 장치는 유전자 알고리즘에 따른 돌연변이 연산을 이용하여 상기 현재 세대의 경로들을 재설정할 수 있다.
본 발명의 일실시예에 따른 경로 생성 방법은 이전 세대들의 경로들을 이용하여 지도상의 위치를 나타내는 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정하는 단계; 및 상기 노드 확률 모델을 이용하여 현재 세대의 경로들을 생성하는 단계를 포함할 수 있다.
본 발명의 일실시예에 의하면, 노드들이 경로에 포함될 확률을 결정하고, 상기 확률에 따라 각 세대에서 경로들의 개체군을 재생성함으로써, 최적 경로를 생성할 때까지 필요한 연산량을 감소시킬 수 있다.
그리고, 본 발명의 일실시예에 의하면, 노드들 사이에 장애물이 존재하는지 여부를 나타내는 에지 정보를 이용함으로써, 노드 사이의 장애물을 확인하기 위한 과정을 생략할 수 있으므로, 경로 생성에 필요한 연산량을 감소시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 경로 생성 장치를 나타내는 도면이다.
도 2은 본 발명의 일실시예에 따른 지도의 노드 및 경로의 일례이다.
도 3은 본 발명의 일실시예에 따른 경로 생성 과정을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 경로 재설정 과정을 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따라 생성된 경로의 일례이다.
도 6은 본 발명의 일실시예에 따른 경로 생성 방법을 도시한 플로우차트이다.
도 7은 본 발명의 일실시예에서 노드 확률 모델에 따라 경로를 생성하는 방법을 도시한 플로우차트이다.
도 2은 본 발명의 일실시예에 따른 지도의 노드 및 경로의 일례이다.
도 3은 본 발명의 일실시예에 따른 경로 생성 과정을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 경로 재설정 과정을 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따라 생성된 경로의 일례이다.
도 6은 본 발명의 일실시예에 따른 경로 생성 방법을 도시한 플로우차트이다.
도 7은 본 발명의 일실시예에서 노드 확률 모델에 따라 경로를 생성하는 방법을 도시한 플로우차트이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 경로 생성 방법은 경로 생성 장치에 의해 수행될 수 있다.
도 1은 본 발명의 일실시예에 따른 경로 생성 장치를 나타내는 도면이다.
본 발명의 일실시예에 따른 경로 생성 장치(100)는 유전자 알고리즘을 이용하여 N세대 동안 경로들을 생성하고, 정지 조건에 따라 경로 생성을 정지하는 경우, 사용자에게 마지막 세대의 경로를 제공할 수 있다. 이때, 정지 조건은 경로들의 평가값이 일정 값으로 수렴, N 번째 세대의 경로 생성 중 적어도 하나를 포함할 수 있다. 또한, 경로는 로봇의 이동 경로일 수 있다.
본 발명의 일실시예에 따른 경로 생성 장치(100)는 개체군 생성부(110), 우성 개체 선택부(120), 노드 확률 모델 결정부(130), 에지 정보 데이터베이스(140), 경로 생성부(150) 및 경로 재설정부(160)를 포함할 수 있다.
개체군 생성부(110)는 로봇의 출발 장소, 로봇의 도착 장소, 및 지도상의 위치를 나타내는 노드들을 이용하여 경로들을 생성하고, 생성한 경로들로 초기 개체군을 생성할 수 있다. 이때, 개체군 생성부(110)는 랜덤한 노드들을 이용하여 경로를 생성할 수 있다.
개체군 생성부(110)가 이용하는 지도의 노드는 도 2를 참조하여 상세히 설명한다.
우성 개체 선택부(120)는 개체군 생성부(110)가 생성한 초기 개체군, 또는 이전 세대의 경로들 중에서 복수의 경로들을 우성 개체로 선택할 수 있다.
이때, 우성 개체 선택부(120)는 초기 개체군에 포함된 경로들을 평가하여 초기 개체군에 포함된 경로들의 평가값을 결정하고, 초기 개체군에 포함된 경로들의 평가값을 이용하여 초기 개체군에 포함된 경로들 중에서 복수의 경로들을 우성 개체로 선택할 수 있다.
또한, 우성 개체 선택부(120)는 이전 세대의 경로들을 평가하여 이전 세대의 경로들의 평가값을 결정하고, 이전 세대의 경로들의 평가값을 이용하여 이전 세대의 경로들 중에서 복수의 경로들을 우성 개체로 선택할 수 있다.
이때, 우성 개체 선택부(120)는 경로의 길이, 경로에 인접하거나 관련된 장애물에 대한 정보 중 적어도 하나를 이용하여 경로의 평가값을 결정할 수 있다. 구체적으로, 우성 개체 선택부(120)는 경로에 포함된 노드의 개수, 또는 노드 간의 거리에 따라 경로의 총 길이를 계산하고, 경로의 총 길이에 따라 경로의 평가값을 결정할 수 있다. 또한, 우성 개체 선택부(120)는 경로가 장애물을 지나가는 경우, 지나가는 각 깊이를 평가 값에 더할 수 있다.
예를 들어, 우성 개체 선택부(120)는 수학식 1과 같은 평가 함수를 이용하여 경로의 평가값을 결정할 수 있다.
이때, Fcost는 경로의 총 평가 값이고, N은 해당 경로를 구성한 노드의 개수이며, di는 i번째 에지를 형성한 두 노드의 유클리드 길이일 수 있다. 또한, βi는 충돌의 깊이를 표시하는 계수이며 수학식 2로 정의할 수 있다.
이때, 경로의 일부가 장애물과 교차하지 않는 경우 βi값이 0이고, 경로의 일부가 모든 장애물과 교차한다면 그 깊이는 일 수 있다. 이때, M은 장애물의 개수이고, αj는 j번째 장애물과 교차하는 깊이, C는 가중치 상수일 수 있다.
그리고, 우성 개체 선택부(120)는 초기 개체군, 또는 이전 세대의 경로들 중에서 평가값이 낮은 경로들을 우성 개체로 선택할 수 있다.
노드 확률 모델 결정부(130)는 초기 개체군, 또는 이전 세대의 경로들을 이용하여 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정할 수 있다.
이때, 노드 확률 모델 결정부(130)는 초기 개체군 중에서 상기 노드가 포함된 경로들을 이용하여 노드 확률 모델을 결정할 수 있다. 이때, 초기 개체군은 임의의 노드를 이용하여 생성한 경로들의 집합이므로 모든 노드의 노드 확률 모델은 동일한 확률일 수 있다.
또한, 노드 확률 모델 결정부(130)는 이전 세대들의 경로들이나 우성 개체로 선택된 경로들 중에서 노드가 포함된 경로들을 이용하여 노드 확률 모델을 결정할 수 있다. 그리고, 노드 확률 모델 결정부(130)는 이전 세대에서 결정된 노드 확률 모델이 있는 경우, 우성 개체 선택부(120)가 선택한 우성 개체에 포함된 노드들을 이용하여 노드 확률 모델을 업그레이드할 수도 있다.
유전자 알고리즘에서 세대가 경과할수록 우성 개체로 선택된 경로에 자주 포함되는 노드들이 현재 세대의 경로에 포함될 가능성이 증가할 수 있다.
따라서, 우성 개체에 많이 포함된 노드가 현재 세대의 경로에 포함될 가능성이 높아지므로, 노드 확률 모델 결정부(130)는 초기 개체군, 또는 이전 세대의 경로들을 이용하여 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정할 수 있다.
예를 들어, 노드 확률 모델 결정부(130)는 수학식 3을 이용하여 노드 확률 모델을 결정할 수 있다.
이때, pt - 1[i]는 이전 세대까지 i번째 노드가 경로로 선택될 확률이고, I[i]는 현재 세대에서 선택된 우성 개체군에서 i번째 노드가 경로로 선택될 확률이며, 노드 확률 모델 결정부(130)는 pt - 1[i]와 It[i]를 조합하여 i번째 노드가 현재 세대의 경로로 선택될 최종 확률 pt[i+1]을 구성할 수 있다. 구체적으로, pt - 1[i]는 초기 개체군, 또는 이전 세대의 경로 중에서 i번째 노드를 포함하는 경로의 비율이며 I[i]는 현재 세대에서 선택된 우성 개체군에서 i번째를 포함하는 경로의 비율일 수 있다.
또한, LR은 학습률(learning rate)이며 I[i]가 p[i]가 반영되는 학습 정도일 수 있다.
에지 정보 데이터베이스(140)는 에지 정보를 저장하고 관리할 수 있다. 이때, 에지 정보는 노드들 사이에 장애물이 없는 노드의 쌍일 수 있다.
구체적으로, 두 개의 노드를 연결하는 선이 장애물을 통과하지 않는 경우, 두 개의 노드를 연결하는 선은 에지라 정의할 수 있다. 또한, 두 개의 노드는 에지를 나타내는 에지 정보일 수 있다.
그리고 우성 개체 선택부(120)는 경로의 평가값에 따라 에지 정보를 에지 정보 데이터베이스(140)에 추가할 수 있다. 예를 들어 우성 개체 선택부(120)는 βi값이 0인 경우, i번째 에지에 대응하는 두 개의 노드를 에지 정보로 설정하여 에지 정보 데이터베이스(140)에 추가할 수 있다.
경로 생성부(150)는 노드 확률 모델 결정부(130)가 결정한 노드 확률 모델을 이용하여 현재 세대의 경로들을 생성할 수 있다.
이때, 경로 생성부(150)는 노드 확률 모델을 이용하여 경로에 포함할 노드들을 결정하고, 노드들 사이에 장애물이 없는 노드의 쌍을 나타내는 에지 정보를 이용하여 현재 세대의 경로를 생성할 수 있다.
경로 생성부(150)가 현재 세대의 경로를 생성하는 과정은 도 3을 참조하여 상세히 설명한다.
구체적으로 먼저, 경로 생성부(150)는 노드 확률 모델을 이용하여 노드들이 현재 세대의 경로로 선택될 확률을 식별하고, 확률이 높은 노드들을 이용하여 현재 세대의 경로들을 생성할 수 있다.
다음으로, 경로 생성부(150)는 에지 정보를 이용하여 현재 세대의 경로들을 재설정할 수 있다. 이때, 경로 생성부(150)는 에지 정보에 포함된 노드의 쌍에 따라 경로에 포함된 노드의 연결 순서를 결정할 수 있다.
구체적으로 경로 생성부(150)는 현재 세대의 경로에서 에지 정보에 포함된 노드의 쌍을 검색하고, 검색한 노드의 쌍의 위치가 연속되지 않은 경우, 노드의 쌍이 연속되도록 경로에 포함된 노드의 순서를 재설정할 수 있다.
경로 생성부(150)가 현재 세대의 경로를 재설정하는 과정은 도 4를 참조하여 상세히 설명한다.
경로 재설정부(160)는 유전자 알고리즘에 따른 돌연변이 연산을 이용하여 경로 생성부(150)가 생성한 현재 세대의 경로들을 재설정할 수 있다.
이때, 경로 재설정부(160)는 기 설정된 돌연변이 연산의 비율에 따라 경로 생성부(150)가 생성한 현재 세대의 경로들 중 일부의 경로를 선택하고, 돌연변이 연산을 이용하여 선택한 현재 세대 경로들의 노드 중 적어도 하나의 값을 변경할 수 있다. 예를 들어, 경로 재설정부(160)는 돌연변이 연산을 이용하여 경로 [1,3,5,100]에 포함된 노드의 값을 변경함으로써, 경로 [1,3,77,100]로 재설정할 수 있다.
도 2은 본 발명의 일실시예에 따른 지도의 노드 및 경로의 일례이다.
경로 생성 장치(100)는 도 2에 도시된 바와 같이 모델링한 지도(200)를 이용하여 경로(220)를 생성할 수 있다.
이때, 지도(200)는 로봇이 이동할 환경을 일정 크기로 분할한 것일 수 있다. 또한, 지도(200)에서 검은색 영역은 장애물이고, 흰색 영역은 로봇이 이동할 수 있는 공간일 수 있다. 그리고, 지도(200)는 영역별로 번호를 할당하여 구분할 수 있으며, 지도(200)의 노드(210)는 영역에 대응할 수 있다.
이때, 경로 생성 장치(100)가 생성한 경로(220)는 로봇의 출발 장소(231)부터 도착 장소(232)까지 통과하는 노드의 번호들(230)로 표시될 수 있다.
예를 들어 경로(220)의 경우, 로봇의 출발 장소는 1 노드이고, 37 노드, 67노드 64노드, 및 97 노드에서 방향을 변경한 다음 100 노드에 도착하고 있다.
따라서, 경로 생성 장치(100)는 도 2에 도시된 바와 같이 경로(220)을 노드 번호의 열(1, 37, 67, 64, 97, 100)(230)로 생성할 수 있다.
도 3은 본 발명의 일실시예에 따른 경로 생성 과정을 나타내는 도면이다.
단계(310)에서 우성 개체 선택부(120)는 이전 세대의 경로들(311) 중에서 복수의 경로들을 우성 개체(312)로 선택할 수 있다.
이때, 노드 확률 모델 결정부(130)는 우성 개체(312)에 포함된 노드들을 이용하여 노드 확률 모델을 결정하거나 업그레이드할 수도 있다.
단계(320)에서 경로 생성부(150)는 노드 확률 모델 결정부(130)가 결정한 노드 확률 모델을 이용하여 현재 세대의 경로들(321)을 생성할 수 있다.
이때, 경로 생성부(150)는 우성 개체(312)를 현재 세대의 경로들(321)에 추가하고, 우성 개체(312)로 선택하지 않은 경로의 숫자에 따라 노드 확률 모델을 이용하여 경로를 추가 생성할 수 있다.
예를 들어 개체군이 도 3에 도시된 바와 같이 3개의 경로를 포함하고, 2개의 경로가 우성 개체(312)로 선택된 경우, 경로 생성부(150)는 노드 확률 모델을 이용하여 1개의 경로를 생성하고, 우성 개체와 생성한 경로 1을 현재 세대의 경로들(321)로 설정할 수 있다.
단계(330)에서 경로 생성부(150)는 노드들 사이에 장애물이 없는 노드의 쌍을 나타내는 에지 정보를 이용하여 단계(320)에서 생성한 현재 세대의 경로를 재설정할 수 있다. 구체적으로, 경로 생성부(150)는 에지 정보를 이용하여 경로 (1, 70, 39, 6, 86, 25, 100)을 경로(1, 25, 70, 100)(331)로 재설정함으로써, 경로를 더 짧게 변경하면서 경로가 장애물을 통과하지 않도록 할 수 있다.
경로 생성부(140)는 단계(330)에서 에지 정보를 이용하여 현재 세대의 경로들을 재설정함으로써, 현재 세대의 경로가 장애물을 통과하는 것을 방지할 수 있다.
경로 생성부(150)가 현재 세대의 경로를 재설정하는 과정은 도 4를 참조하여 상세히 설명한다.
단계(340)에서 경로 재설정부(160)는 유전자 알고리즘에 따른 돌연변이 연산을 이용하여 단계(330)에서 재설정되거나 단계(320)에서 생성한 현재 세대의 경로들을 재설정할 수 있다.
이때, 경로 재설정부(160)는 경로 3에 포함된 노드 중 적어도 하나의 노드(341)의 값을 변경함으로써, 경로 3을 재설정할 수 있다.
경로 재설정부(160)는 단계(340)에서 현재 세대의 경로들을 재설정함으로써, 현재 세대의 경로에 다양성을 부여할 수 있다.
도 4는 본 발명의 일실시예에 따른 경로 재설정 과정을 나타내는 도면이다.
도 4의 실시예에서 에지 정보 데이터베이스(140)는 (1, 25), (25, 33), (60, 100), (89, 100), (70, 100)의 에지 정보를 저장할 수 있다.
단계(410)에서 경로(411)은 도 4에 도시된 바와 같이 (1, 70, 39, 6, 86, 25, 100)일 수 있다. 이때, 경로 생성부(150)는 에지 정보 데이터베이스(140)에서 출발 장소인 1 노드를 포함하는 에지 정보를 검색할 수 있다. 이때, 에지 정보 데이터베이스(140)에 저장된 에지 정보 중에서 1 노드를 포함하는 에지 정보는 (1, 25)뿐이며, 경로(411)에는 25 노드가 포함되어 있다.
따라서, 경로 생성부(150)는 경로(411)에서 1 노드와 25 노드를 삭제하고, 재설정 경로(412)에 1 노드와 25 노드를 추가할 수 있다.
단계(420)에서 경로(411)은 에지 정보 데이터베이스(140)에서 재설정 경로(412)의 마지막 노드인 25 노드를 포함하는 에지 정보를 검색할 수 있다. 이때, 에지 정보 데이터베이스(140)에 저장된 에지 정보 중에서 25 노드를 포함하는 에지 정보는 (25, 33)이지만, 경로(411)에는 33 노드가 포함되어 있지 않다.
따라서, 경로 생성부(150)는 25 노드와 관련된 에지 정보 검색을 종료하고, 경로(411)의 첫 번째 노드로 변경된 70 노드와 관련된 에지 정보를 검색할 수 있다. 이때, 에지 정보 데이터베이스(140)에 저장된 에지 정보 중에서 70 노드를 포함하는 에지 정보는 (70, 100)이며, 경로(411)에는 100 노드가 포함되어 있다. 따라서, 경로 생성부(150)는 70 노드를 경로(411)에서 삭제하고 재설정 경로(412)에 추가할 수 있다.
단계(430)에서 경로 생성부(150)는 에지 정보 (70, 100)에 따라 재설정 경로(412)에 100 노드를 추가할 수 있다. 이때, 100 노드는 로봇의 도착 장소이므로 경로 생성부(150)는 재설정 경로(412)가 로봇의 이동 경로로서 완성 되었다고 판단할 수 있다. 따라서, 경로 생성부(150)는 재설정 과정을 종료하고 재설정 경로(412)를 현재 세대의 경로로 출력할 수 있다.
도 5는 본 발명의 일실시예에 따라 생성된 경로의 일례이다.
경로 생성 장치(100)는 도 5에 도시된 바와 같이 로봇이 지도 상에 포함된 장애물을 회피하도록 경로를 생성할 수 있다.
지도(510)에는 로봇의 출발 장소(511)와 도착 장소(512) 사이에 장애물(513)이 설치되어 있다. 이때, 경로 생성 장치(100)는 에지 정보를 이용하여 장애물(513)이 없는 경로들을 생성하고, 세대를 반복하면서 경로들을 최적화함으로써, 지도(510)과 같은 경로를 생성할 수 있다.
지도(520)에는 로봇의 출발 장소와 도착 장소 사이에 복수의 장애물들이 설치되어 있다. 이때, 경로 생성 장치(100)는 에지 정보를 이용하여 장애물들이 없는 경로들을 생성하고, 세대를 반복하면서 경로들을 최적화함으로써, 지도(520)과 같은 경로를 생성할 수 있다.
지도(530)에는 로봇의 출발 장소와 도착 장소 사이에 복수의 장애물들이 설치되어 진행이 어렵다. 이때, 경로 생성 장치(100)는 에지 정보를 이용하여 출발 장소에서 오른쪽으로 우회하는 경로들을 생성하고, 세대를 반복하면서 경로들을 최적화함으로써, 지도(530)과 같은 경로를 생성할 수 있다.
지도(540)에는 로봇의 출발 장소와 도착 장소 사이에 복잡한 장애물들이 설치되어 있다. 이때, 경로 생성 장치(100)는 에지 정보를 이용하여 장애물들이 없는 경로들을 생성하고, 세대를 반복하면서 경로들을 최적화함으로써, 지도(540)과 같은 경로를 생성할 수 있다.
도 6은 본 발명의 일실시예에 따른 경로 생성 방법을 도시한 플로우차트이다.
단계(610)에서 개체군 생성부(110)는 로봇의 출발 장소, 로봇의 도착 장소, 및 지도상의 위치를 나타내는 노드들을 이용하여 경로들을 생성하고, 생성한 경로들로 초기 개체군을 생성할 수 있다. 이때, 개체군 생성부(110)는 랜덤한 노드를 이용하여 경로를 생성할 수 있다.
단계(620)에서 우성 개체 선택부(120)는 단계(610)에서 생성한 초기 개체군 중에서 복수의 경로들을 우성 개체로 선택할 수 있다.
이때, 우성 개체 선택부(120)는 초기 개체군에 포함된 경로들을 평가하여 초기 개체군에 포함된 경로들의 평가값을 결정하고, 초기 개체군에 포함된 경로들의 평가값을 이용하여 초기 개체군에 포함된 경로들 중에서 복수의 경로들을 우성 개체로 선택할 수 있다.
이때, 우성 개체 선택부(120)는 경로의 길이, 경로에 인접하거나 관련된 장애물에 대한 정보 중 적어도 하나를 이용하여 경로의 평가값을 결정할 수 있다.
단계(630)에서 노드 확률 모델 결정부(130)는 단계(620)에서 선택한 우성 개체들을 이용하여 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정할 수 있다. 이때, 노드 확률 모델 결정부(130)는 우성 개체로 선택된 경로들 중에서 노드가 포함된 경로들의 비율에 따라 노드 확률 모델을 결정할 수 있다.
또한, 노드 확률 모델 결정부(130)는 초기 개체군 중에서 상기 노드가 포함된 경로들을 이용하여 노드 확률 모델을 결정할 수 있다. 이때, 초기 개체군은 임의의 노드를 이용하여 생성한 경로들의 집합이므로 모든 노드의 노드 확률 모델은 동일한 확률일 수 있다.
단계(640)에서 경로 생성부(150)는 단계(630)에서 결정한 노드 확률 모델을 이용하여 현재 세대의 경로들을 생성할 수 있다.
이때, 경로 생성부(150)는 노드 확률 모델을 이용하여 경로에 포함할 노드들을 결정하고, 노드들 사이에 장애물이 없는 노드의 쌍을 나타내는 에지 정보를 이용하여 현재 세대의 경로를 생성할 수 있다.
단계(650)에서 경로 생성부(150)는 정지 조건이 만족되었는지 여부를 확인할 수 있다. 예를 들어 경로 생성부(150)는 단계(640)에서 생성한 경로의 평가값이 일정 값으로 수렴하였는지 여부, 또는 단계(640)가 N 번째 세대의 경로를 생성하였는지 여부를 확인할 수 있다.
그리고, 단계(640)에서 생성한 경로의 평가값이 일정 값으로 수렴하거나, 단계(640)가 N 번째 세대의 경로를 생성한 경우, 경로 생성부(150)는 단계(640)에서 생성한 경로를 최적의 경로로 출력하고 경로 생성을 종료할 수 있다.
또한, 단계(640)에서 생성한 경로의 평가값이 일정 값으로 수렴하지 않거나, 또는 단계(640)가 N보다 적은 세대의 경로를 생성한 경우, 경로 재설정부(160)가 단계(660)을 수행할 수 있다.
단계(660)에서 경로 재설정부(160)는 유전자 알고리즘에 따른 돌연변이 연산을 이용하여 단계(640)에서 생성한 현재 세대의 경로들을 재설정할 수 있다.
또한, 경로 재설정부(160)는 기 설정된 돌연변이 연산의 비율에 따라 경로 생성부(150)가 생성한 현재 세대의 경로들 중 일부의 경로를 선택하고, 돌연변이 연산을 이용하여 선택한 현재 세대 경로들의 노드 중 적어도 하나의 값을 변경할 수 있다.
다음으로, 경로 생성 장치(100)는 단계(620)을 수행하며, 단계(650)에서 정지 조건을 만족할 때까지 단계(620) 내지 단계(630)을 반복할 수 있다.
이때, 우성 개체 선택부(120)는 단계(620)에서 이전 세대의 경로들 중에서 복수의 경로들을 우성 개체로 선택할 수 있다. 구체적으로 우성 개체 선택부(120)는 이전 세대의 경로들을 평가하여 이전 세대의 경로들의 평가값을 결정하고, 이전 세대의 경로들의 평가값을 이용하여 이전 세대의 경로들 중에서 복수의 경로들을 우성 개체로 선택할 수 있다.
또한, 노드 확률 모델 결정부(130)는 이전 세대의 경로들을 이용하여 첫 번째로 수행된 단계(630)에서 결정된 노드 확률 모델을 업그레이드할 수도 있다.
도 7은 본 발명의 일실시예에서 노드 확률 모델에 따라 경로를 생성하는 방법을 도시한 플로우차트이다. 이때, 단계(710) 내지 단계(760)은 도 6의 단계(640)에 포함될 수 있다.
단계(710)에서 경로 생성부(150)는 노드 확률 모델을 이용하여 노드들이 현재 세대의 경로로 선택될 확률을 식별하고, 확률이 높은 노드들을 이용하여 현재 세대의 경로들을 생성할 수 있다.
단계(720)에서 경로 생성부(150)는 단계(710)에서 생성한 경로에 포함된 노드와 관련된 에지 정보를 검색할 수 있다.
단계(730)에서 경로 생성부(150)는 단계(720)에서 검색한 에지 정보와 연결된 노드가 단계(710)에서 생성한 경로에 포함되어 있는지 여부를 확인할 수 있다. 구체적으로 경로 생성부(150)는 단계(720)에서 검색한 에지 정보에 포함된 2개의 노드가 단계(710)에서 생성한 경로에 모두 포함되어 있는지 여부를 확인할 수 있다.
2개의 노드가 단계(710)에서 생성한 경로에 모두 포함된 에지 정보가 없는 경우, 경로 생성부(150)는 단계(735)를 수행할 수 있다. 또한, 2개의 노드가 단계(710)에서 생성한 경로에 모두 포함된 에지 정보가 있는 경우, 경로 생성부(150)는 단계(740)를 수행할 수 있다.
단계(735)에서 경로 생성부(150)는 단계(710)에서 생성한 경로의 첫번째 노드를 삭제하고, 삭제한 노드를 재설정된 경로에 추가할 수 있다.
단계(740)에서 경로 생성부(150)는 단계(720)에서 검색한 에지 정보에 따라 단계(710)에서 생성한 경로를 재설정할 수 있다.
구체적으로, 경로 생성부(150)는 단계(710)에서 생성한 경로에서 단계(720)에서 검색한 에지 정보에 대응하는 2개의 노드를 삭제하고, 삭제한 노드를 재설정된 경로에 추가할 수 있다.
단계(745)에서 경로 생성부(150)는 단계(740)에서 재설정된 경로에 도착 장소가 포함되었는지 여부를 확인할 수 있다.
단계(740)에서 재설정된 경로에 도착 장소에 포함된 경우, 경로 생성부(150)는 단계(740)에서 재설정된 경로가 로봇의 이동 경로로서 완성 되었다고 판단할 수 있다. 따라서, 경로 생성부(150)는 재설정 과정을 종료하고 재설정 경로(412)를 현재 세대의 경로로 출력할 수 있다.
또한, 단계(740)에서 재설정된 경로에 도착 장소가 포함되지 않은 경우, 경로 생성부(150)는 단계(740)에서 재설정된 경로가 아직 로봇의 이동 경로로서 완성 되지 않았다고 판단할 수 있다. 따라서, 경로 생성부(150)는 단계(720)을 수행하여 재설정된 경로를 완성해나갈 수 있다.
단계(750)에서 경로 생성부(150)는 단계(735)에서 노드가 삭제된 경로에 포함된 노드가 도착 장소뿐인지 여부를 확인할 수 있다.
경로에 포함된 노드가 도착 장소밖에 없는 경우, 경로 생성부(150)는 재설정된 경로에 추가할 수 있는 노드가 도착 장소밖에 없으므로, 단계(760)을 수행할 수 있다.
또한, 경로에 도착 장소 이외의 노드가 있는 경우, 다른 노드가 재설정된 경로에 추가될 수 있으므로 경로 생성부(150)는 단계(720)을 단계(720)을 수행하여 재설정된 경로를 완성해나갈 수 있다.
단계(760)에서 경로 생성부(760)는 재설정된 경로에 도착 지점을 추가함으로써, 재설정된 경로를 로봇의 이동 경로로 완성시킬 수 있다.
평가가 높은 경로에 포함될 확률이 높은 노드들을 이용하여 경로를 구성하면, 최적의 경로가 생성될 확률이 증가할 수 있다. 따라서, 본 발명은 노드들이 경로에 포함될 확률을 결정하고, 상기 확률에 따라 각 세대에서 경로들의 개체군을 재생성함으로써, 최적 경로를 생성할 때까지 필요한 연산량을 감소시킬 수 있다.
그리고, 본 발명은 노드들 사이에 장애물이 존재하는지 여부를 나타내는 에지 정보를 이용함으로써, 노드 사이의 장애물을 확인하기 위한 과정을 생략할 수 있으므로, 경로 생성에 필요한 연산량을 감소시킬 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 경로 생성 장치
130: 노드 확률 모델 결정부
140: 에지 정보 데이터 베이스
150: 경로 생성부
160: 경로 재설정부
130: 노드 확률 모델 결정부
140: 에지 정보 데이터 베이스
150: 경로 생성부
160: 경로 재설정부
Claims (12)
- 유전자 알고리즘을 이용하여 N세대 동안 경로들을 생성하는 경로 생성 장치에 있어서,
이전 세대들의 경로들을 이용하여 지도상의 위치를 나타내는 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정하는 노드 확률 모델 결정부; 및
상기 노드 확률 모델을 이용하여 현재 세대의 경로들을 생성하는 경로 생성부
를 포함하는 경로 생성 장치. - 제1항에 있어서,
상기 노드 확률 모델 결정부는,
상기 이전 세대들의 경로들 중에서 상기 노드가 포함된 경로들을 이용하여 노드 확률 모델을 결정하는 경로 생성 장치. - 제1항에 있어서,
상기 경로 생성부는,
상기 노드 확률 모델을 이용하여 경로에 포함할 노드들을 결정하고, 노드들 사이에 장애물이 없는 노드의 쌍을 나타내는 에지 정보를 이용하여 현재 세대의 경로를 생성하는 경로 생성 장치. - 제1항에 있어서,
상기 경로 생성부는,
에지 정보에 포함된 노드의 쌍에 따라 경로에 포함된 노드의 연결 순서를 재설정하는 경로 생성 장치. - 제1항에 있어서,
이전 세대의 경로들의 평가값을 이용하여 이전 세대의 경로들 중에서 복수의 경로들을 우성 개체로 선택하는 우성 개체 선택부
를 더 포함하고,
상기 노드 확률 모델 결정부는,
상기 우성 개체에 포함된 노드들을 이용하여 노드 확률 모델을 업그레이드하는 경로 생성 장치. - 제1항에 있어서,
유전자 알고리즘에 따른 돌연변이 연산을 이용하여 상기 현재 세대의 경로들을 재설정하는 경로 재설정부
를 더 포함하는 경로 생성 장치. - 유전자 알고리즘을 이용하여 N세대 동안 경로들을 생성하는 경로 생성 방법에 있어서,
이전 세대들의 경로들을 이용하여 지도상의 위치를 나타내는 노드가 현재 세대의 경로에 포함될 노드 확률 모델을 결정하는 단계; 및
상기 노드 확률 모델을 이용하여 현재 세대의 경로들을 생성하는 단계
를 포함하는 경로 생성 방법. - 제7항에 있어서,
상기 노드 확률 모델을 결정하는 단계는,
상기 이전 세대들의 경로들 중에서 상기 노드가 포함된 경로들을 이용하여 노드 확률 모델을 결정하는 경로 생성 방법. - 제7항에 있어서,
상기 경로들을 생성하는 단계는,
상기 노드 확률 모델을 이용하여 경로에 포함할 노드들을 결정하고, 노드들 사이에 장애물이 없는 노드의 쌍을 나타내는 에지 정보를 이용하여 현재 세대의 경로를 생성하는 경로 생성 방법. - 제7항에 있어서,
상기 경로들을 생성하는 단계는,
에지 정보에 포함된 노드의 쌍에 따라 경로에 포함된 노드의 연결 순서를 재설정하는 경로 생성 방법. - 제7항에 있어서,
이전 세대의 경로들의 평가값을 이용하여 이전 세대의 경로들 중에서 복수의 경로들을 우성 개체로 선택하는 단계; 및
상기 우성 개체에 포함된 노드들을 이용하여 노드 확률 모델을 업그레이드하는 단계
를 더 포함하는 경로 생성 방법. - 제7항에 있어서,
유전자 알고리즘에 따른 돌연변이 연산을 이용하여 상기 현재 세대의 경로들을 재설정하는 단계
를 더 포함하는 경로 생성 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120143793A KR101432385B1 (ko) | 2012-12-11 | 2012-12-11 | 유전자 알고리즘을 이용한 경로 생성 장치 및 그 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120143793A KR101432385B1 (ko) | 2012-12-11 | 2012-12-11 | 유전자 알고리즘을 이용한 경로 생성 장치 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140075446A true KR20140075446A (ko) | 2014-06-19 |
KR101432385B1 KR101432385B1 (ko) | 2014-08-21 |
Family
ID=51128164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120143793A KR101432385B1 (ko) | 2012-12-11 | 2012-12-11 | 유전자 알고리즘을 이용한 경로 생성 장치 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101432385B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101585374B1 (ko) * | 2015-04-29 | 2016-01-15 | 중앙대학교 산학협력단 | 유전자 알고리즘을 이용한 로봇 경로 탐색 장치 및 방법 |
CN105988468A (zh) * | 2015-01-28 | 2016-10-05 | 中国人民公安大学 | 一种基于改进遗传算法的移动机器人路径规划方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3548315B2 (ja) * | 1996-02-20 | 2004-07-28 | 富士通株式会社 | 認知地図を持つ装置 |
KR101220542B1 (ko) * | 2010-08-04 | 2013-01-10 | 중앙대학교 산학협력단 | 로봇 경로 제어 방법 및 장치 |
-
2012
- 2012-12-11 KR KR1020120143793A patent/KR101432385B1/ko active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988468A (zh) * | 2015-01-28 | 2016-10-05 | 中国人民公安大学 | 一种基于改进遗传算法的移动机器人路径规划方法 |
KR101585374B1 (ko) * | 2015-04-29 | 2016-01-15 | 중앙대학교 산학협력단 | 유전자 알고리즘을 이용한 로봇 경로 탐색 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR101432385B1 (ko) | 2014-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6182196B2 (ja) | 無線lanラジオマップ自動構築方法及び無線lanラジオマップ自動構築システム | |
CN107228677B (zh) | 偏航识别方法和装置 | |
CN105430706B (zh) | 一种基于改进粒子群算法的无线传感网络路由优化方法 | |
US11558259B2 (en) | System and method for generating and using physical roadmaps in network synthesis | |
Papadopoulos et al. | Network mapping by replaying hyperbolic growth | |
JP6070689B2 (ja) | 動線情報生成システム、動線情報生成方法および動線情報生成プログラム | |
US9207678B2 (en) | Method and apparatus for constructing map for mobile robot | |
CN109597425B (zh) | 基于强化学习的无人机导航和避障方法 | |
US8935096B2 (en) | Apparatus for fast path search by learning heuristic function and method thereof | |
JP2007132924A (ja) | タイリングを用いた最適ルートの決定 | |
TW201342850A (zh) | 路徑搜尋方法及路徑搜尋裝置 | |
JP2008275621A (ja) | ルート決定方法およびデバイス | |
CN114705196A (zh) | 一种用于机器人的自适应启发式全局路径规划方法与系统 | |
KR100690777B1 (ko) | 최적 경로 탐색 방법 | |
JP2018056989A (ja) | ルーティングノード位置確定方法、装置及び端末装置 | |
JP2016048540A (ja) | 生成方法、装置、及びプログラム | |
WO2023063020A1 (ja) | 経路計画システム、経路計画方法、ロードマップ構築装置、モデル生成装置、及びモデル生成方法 | |
Abramovich et al. | Multi-objective topology and weight evolution of neuro-controllers | |
KR101432385B1 (ko) | 유전자 알고리즘을 이용한 경로 생성 장치 및 그 동작 방법 | |
JP2007310860A (ja) | 学習装置及び方法 | |
CN109190787A (zh) | 水下潜航器的双重粒子群多监测点访问路径规划方法 | |
CN109977455B (zh) | 一种适用于带地形障碍三维空间的蚁群优化路径构建方法 | |
Yan | Research on the A Star Algorithm for Finding Shortest Path | |
Wang et al. | SRM: An efficient framework for autonomous robotic exploration in indoor environments | |
KR101620145B1 (ko) | 경로 탐색 방법 및 그 장치 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20170725 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180724 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190725 Year of fee payment: 6 |