KR20220102684A - 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치 - Google Patents

무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치 Download PDF

Info

Publication number
KR20220102684A
KR20220102684A KR1020210004537A KR20210004537A KR20220102684A KR 20220102684 A KR20220102684 A KR 20220102684A KR 1020210004537 A KR1020210004537 A KR 1020210004537A KR 20210004537 A KR20210004537 A KR 20210004537A KR 20220102684 A KR20220102684 A KR 20220102684A
Authority
KR
South Korea
Prior art keywords
path
state
route
cost
generating
Prior art date
Application number
KR1020210004537A
Other languages
English (en)
Other versions
KR102434949B1 (ko
Inventor
마우 아이아이
장막심
이재우
전권수
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020210004537A priority Critical patent/KR102434949B1/ko
Publication of KR20220102684A publication Critical patent/KR20220102684A/ko
Application granted granted Critical
Publication of KR102434949B1 publication Critical patent/KR102434949B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/106Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0005Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with arrangements to save energy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Navigation (AREA)

Abstract

본 발명은 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치에 관한 것으로, 상기 방법은 시작 상태에서 목표 상태까지의 최적 경로를 탐색하기 위해 상기 목표 상태를 출발하여 상기 시작 상태에 도착하는 초기 경로를 생성하는 단계; 상기 초기 경로를 따라 상기 시작 상태에서 상기 목표 상태까지 단위 상태 간격으로 이동하면서 현재 상태(state)에서 상기 목표 상태까지의 경로 비용을 산출하는 단계; 상기 경로 비용의 변화 유무를 검출하여 인플레이션 계수를 갱신하는 단계; 및 갱신된 상기 인플레이션 계수를 기초로 상기 초기 경로를 갱신하여 재계획 경로를 생성하는 과정에서 상기 인플레이션 계수가 감소된 경우 재정렬된 상태 목록을 기초로 상기 재계획 경로를 생성하는 단계를 포함한다.

Description

무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치{ARTIFICIAL INTELLIGENCE-BASED ROUTE RE-PLANNING METHOD AND APPARATUS FOR AUTONOMOUS VEHICLES}
본 발명은 클라우드 경로 재계획 기술에 관한 것으로, 보다 상세하게는 무인비행체(Unmanned Aerial Vehicle)가 불특정 다수의 정적/동적 장애물이 존재하는 공간에서 이를 인지하고 회피하기 위한 최적의 경로를 실시간으로 만들어 낼 수 있는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치에 관한 것이다.
무인이동체는 기본적으로 사람이 아닌 자율적인 운항을 전제로 한다. 무인이동체 중에서도 무인비행체는 지상이나 해상과 같은 2차원이 아니라 3차원의 공중을 자율적으로 운항해야 하므로 기술적인 도전성이나 난이도가 크다. 특히, 무인비행체가 주로 비행하는 공역은 일반적인 항공기가 순항하는 고도에 비해 저고도로 이곳에는 산, 건물, 지형 지물 과 같은 정적인 장애물과 함께 새와 같은 비행생물, 다른 유무인 비행체의 존재, 국부적인 기상 변화처럼 이동하는 동적 장애물에 대한 실시간으로 대처할 수 있어야 한다. 일반적인 유인항공기라면 조종사나 관제의 도움을 받을 수 있으나, 무인비행체는 자체적인 판단에 의한 자율비행을 중심으로 하므로 공역 상에 존재하는 정적/동적 장애물에 대해 바로 인지하고 즉시 회피하여 새로운 경로를 실시간으로 만들어 내는 기술은 매우 중요하다.
한국 등록특허공보 제10-0909510(2009.07.20)호
본 발명의 일 실시예는 무인비행체(Unmanned Aerial Vehicle)가 불특정 다수의 정적/동적 장애물이 존재하는 공간에서 이를 인지하고 회피하기 위한 최적의 경로를 실시간으로 만들어 낼 수 있는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치를 제공하고자 한다.
본 발명의 일 실시예는 iADA*를 통해 경로 비용계산 방법, 경로 탐색 시간 및 목표까지 도달하는 총 시간에 대한 개산 방식을 개선하고, 지정되지 않은 지형 환경에 존재하는 목표 지향 탐색을 위한 신속하고 효율적인 경로 재계획이 가능한 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치를 제공하고자 한다.
실시예들 중에서, 무인이동체를 위한 인공지능 기반의 경로 재계획 방법은 시작 상태에서 목표 상태까지의 최적 경로를 탐색하기 위해 상기 목표 상태를 출발하여 상기 시작 상태에 도착하는 초기 경로를 생성하는 단계; 상기 초기 경로를 따라 상기 시작 상태에서 상기 목표 상태까지 단위 상태 간격으로 이동하면서 현재 상태(state)에서 상기 목표 상태까지의 경로 비용을 산출하는 단계; 상기 경로 비용의 변화 유무를 검출하여 인플레이션 계수를 갱신하는 단계; 및 갱신된 상기 인플레이션 계수를 기초로 상기 초기 경로를 갱신하여 재계획 경로를 생성하는 과정에서 상기 인플레이션 계수가 감소된 경우 재정렬된 상태 목록을 기초로 상기 재계획 경로를 생성하는 단계를 포함한다.
상기 초기 경로를 생성하는 단계는 특정 상태와 인접하는 적어도 하나의 인접 상태를 결정하는 단계; 상기 적어도 하나의 인접 상태에 대해 상기 시작 상태에서 해당 인접 상태까지의 제1 경로 비용과 상기 해당 인접 상태에서 상기 목표 상태까지의 제2 경로 비용 간의 합산을 통해 인접 경로 비용을 산출하는 단계; 및 상기 특정 상태에서 상기 인접 경로 비용이 최소인 인접 상태로 이동하는 이동 경로를 포함하도록 상기 초기 경로를 갱신하는 단계를 포함할 수 있다.
상기 인플레이션 계수를 갱신하는 단계는 상기 경로 비용의 변화가 기 설정된 기준을 초과하는 경우 상기 인플레이션 계수를 단위 증가량만큼 증가시키고, 그렇지 않은 경우 상기 인플레이션 계수를 단위 감소량만큼 감소시키는 단계를 포함할 수 있다.
상기 재계획 경로를 생성하는 단계는 상기 현재 상태가 이전의 이동 경로 상에 존재하는 경우 상기 현재 상태의 상태 정보를 임시 장애물로 변경하여 상기 재계획 경로의 생성 과정에서 탐색되는 것을 방지하는 단계를 포함할 수 있다.
상기 재계획 경로를 생성하는 단계는 상기 인플레이션 계수가 증가된 경우, 상기 임시 장애물에 해당하는 상태들의 상태 정보를 초기화 하는 단계를 포함할 수 있다.
상기 재계획 경로를 생성하는 단계는 주어진 시작 상태, 목표 상태 및 인플레이션 계수를 갖는 고정된 환경에서 현재 경로를 계산하거나 개선하기 위한 탐색 과정을 반복적으로 수행하는 단계를 포함할 수 있다.
상기 재계획 경로를 생성하는 단계는 주어진 상기 목표 상태에서 시작하여 제1 대기열의 첫 번째 키 값이 주어진 상기 시작 상태의 키 값보다 작을 때까지 상기 탐색 과정을 반복하는 단계를 포함할 수 있다.
상기 재계획 경로를 생성하는 단계는 상기 제1 대기열의 첫 번째 엘리먼트(element)의 키 값을 갱신하는 단계; 및 상기 갱신된 키 값이 이전의 키 값보다 작은 경우 상기 첫 번째 엘리먼트와 상기 갱신된 키 값을 상기 제1 대기열에 삽입하고, 그렇지 않은 경우 상기 첫 번째 엘리먼트를 상기 제1 대기열에서 제거한 후 해당 상태를 기준으로 상기 탐색을 수행하는 단계를 포함할 수 있다.
실시예들 중에서, 무인이동체를 위한 인공지능 기반의 경로 재계획 장치는 시작 상태에서 목표 상태까지의 최적 경로를 탐색하기 위해 상기 목표 상태를 출발하여 상기 시작 상태에 도착하는 초기 경로를 생성하는 초기 경로 생성부; 상기 초기 경로를 따라 상기 시작 상태에서 상기 목표 상태까지 단위 상태 간격으로 이동하면서 현재 상태(state)에서 상기 목표 상태까지의 경로 비용을 산출하는 경로 비용 산출부; 상기 경로 비용의 변화 유무를 검출하여 인플레이션 계수를 갱신하는 인플레이션 계수 갱신부; 및 갱신된 상기 인플레이션 계수를 기초로 상기 초기 경로를 갱신하여 재계획 경로를 생성하는 과정에서 상기 인플레이션 계수가 감소된 경우 재정렬된 상태 목록을 기초로 상기 재계획 경로를 생성하는 재계획 경로 생성부를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치는 무인비행체(Unmanned Aerial Vehicle)가 불특정 다수의 정적/동적 장애물이 존재하는 공간에서 이를 인지하고 회피하기 위한 최적의 경로를 실시간으로 만들어 낼 수 있다.
본 발명의 일 실시예에 따른 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치는 iADA*를 통해 비용계산 방법, 검색 시간 및 목표까지 도달하는 총 시간에 대한 개산 방식을 개선하고, 지정되지 않은 지형 환경에 존재하는 목표 지향 탐색을 위한 신속하고 효율적인 경로 재계획이 가능할 수 있다.
도 1은 본 발명에 따른 경로 재계획 시스템을 설명하는 도면이다.
도 2는 도 1의 경로 재계획 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 경로 재계획 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 무인이동체를 위한 인공지능 기반의 경로 재계획 방법을 설명하는 순서도이다.
도 5는 본 발명에 따른 iADA*에서 가상 벽(virtual wall)에 대한 개념을 설명하는 도면이다.
도 6 내지 8는 본 발명에 따른 iADA* 알고리즘을 설명하는 도면이다.
도 9는 본 발명에 따른 iADA* 알고리즘의 플로우 차트를 도시한 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
다양한 장애물이 존재하는 복잡한 환경에서의 경로 계획문제(Path Planning Problem)를 해결하기 위해 ADA* 알고리즘이 도입되었다. Anytime Search Algorithm (Hansen and Zhou 2007; Likhachev et al. 2005a) 은 초기 경로를 빠르게 찾을 수 있으며 계산 시간의 여유가 있다면 설정된 경로를 반복적으로 업데이트 할 수 있는 특징을 가지고 있다.
대부분의 Anytime Algorithm계열 방법론은 A* 휴리스틱 알고리즘에 기반하여 이를 개선한 것이다. 본 계열의 알고리즘 중에 가장 기본적인 것은 Weighted A* (Pohl 1970)이며 이를 개선된 A* 알고리즘(Improved A* Algorithm)이라고도 한다. 본 방법론은 휴리스틱 함수 h(s)의 곱을 사용하는데, 이는 출발지점에서 목표지점까지 가장 비용이 적게 드는 경로와 인플레이션 팩션(Inflation Faction) ε의 추정비용을 의미한다. 차선의 범위(Suboptional Bounds)가 있는 Anytime solution을 도출하기 위해서 사용자는 반복적으로 감소하는 인플레이션 계수를 이용하여 A* search를 반복적으로 수행해야 한다. 여기에 사용되는 휴리스틱 함수는 문제에 따라 다른데 휴리스틱 함수를 적용할 수 있는 경우, 목표지점에 도달하기 위한 실제 비용을 과대평가하지 않는다.
경로탐색 알고리즘에서의 반환값은 시작지점에서 목표지점까지의 최소 비용 경로이다. Weighted A* 알고리즘은 해당 인플레이션 계수와 동일한 차선의 계수(Suboptional Factor)를 가지는 일련의 A* 해를 생성한다. 알고리즘에서 상태(State)는 공간 상의 한 지점을 나타내며 가능한 모든 무인이동체의 상태를 포함한다. Weighted A*는 경로 계획 문제를 제한된 시간 내에 해결한다. 그러나, 이 방법은 시간이 제한된 경로 계획 문제들을 풀 수 있지만 이전의 반복 단계에서의 검색에서 얻은 정보를 활용하지 않으므로 효율이 낮은 편이다. Anytime Weighted A*(AWA*)알고리즘 (Zhou and Hansen 2002) 은 각 반복 계산이 시작될 때 Weighted A*를 실행하여 신속하게 해를 구한다. 본 알고리즘은 최적해를 도출하거나 주어진 시간이 만료될 때까지 해를 개선시켜 나간다. 단, 최적의 해를 찾은 후에도 너무 많은 상태로 확장하고 쓸모 없는 상태에도 계속 확장되는 경향이 있는 것이 단점이다.
이 문제를 개선하기 위한 알고리즘이 ARA*(Anytime Repairing A*)라는 이름으로 제안되었다(Likhachev et al. (2003)). 개선된 본 알고리즘은 현재의 인플레이션 계수로 Weighted A*를 실행할 때 상태가 지나치게 확장되는 것에 제한을 가한 것이다. 이 방법으로 Weight A*를 이용한 경로 탐색 해를 빠르게 얻을 수 있다.
복잡한 동적인 환경에서 경로 계획 문제의 해를 얻어야 하는 경우에는 한정된 시간 내에 빠른 재계획이 필요하며 이는 위에서 언급한 알고리즘으로는 달성하기 어렵다. 무인이동체 중에서도 특히 공중을 비행하는 무인비행체의 경로 탐색 및 재계획은 해당 시간에 제공할 수 있는 최적해를 도출할 수 있어야 한다. 불안정한 정보를 이용하고 동적 환경에 대처하기 위해서 더욱 효율적인 알고리즘의 개발 필요성이 제기되었다. 이를 위해 새롭게 개발되는 알고리즘은 업데이트 된 수신 정보를 기반으로 전 단계에서 획득한 해를 업데이트 한다. Anytime Dynamic A*(ADA*, Likhachev et al. 2005a)는 이러한 종류의 문제를 해결하기 위해 개발된 휴리스틱 방법론이다. 인플레이션 계수를 줄여가면서 최적해 집합을 도출하고 이를 개선하는 것은 앞서 언급한 ARA* 알고리즘과 유사하다. 여기서 주변 환경의 변화가 감지되면 ADA* 알고리즘은 이전 단계에서 도출된 해를 D* Lite 방식으로 점차적으로 복구하도록 구성되었다 (Koenig and Likhachev 2002).
본 발명은 기존의 ADA*알고리즘을 기반으로 이를 효율적으로 개선한 새로운 방법론에 관한 것으로 iADA*(improved ADA*)를 포함하여 구현될 수 있다. 새로운 방법론의 주요 개선점은 인플레이션 계수가 감소한 후의 상태의 재확장(State Re-expansion)에 해당할 수 있다. 환경에 영향을 주는 변경이 있는 경우에는 iADA*는 검색을 통해 경로를 계산하는 회수를 줄이기 위해 상태 목록을 재정렬하는 검색 기법을 수행할 수 있다. 이러한 방법을 이용하여 기존의 ADA*에 비해 훨씬 빠른 경로탐색 수행이 가능할 수 있다.
또한, 본 발명은 무인이동체가 U자형처럼 하나의 입구만을 가진 막다른 골목과 같은 형태의 복잡한 장애물을 가로질러 이동하는 것을 막기 위한 가상의 벽(Virtual Wall)을 생성하는 새로운 구속조건을 반영할 수 있다. 또한, 본 발명은 필요 시 무인이동체가 동일한 격자 상에서 다시 움직이지 않도록 할 수 있다. 장애물이 서로 마주 보는 경우에 있어서 이러한 구속조건은 생성된 경로가 두 장애물 사이를 가로지르지 않도록 하는 역할을 할 수 있다.
결과적으로, 본 발명은 iADA*를 통해 경로 비용계산 방법, 경로 탐색 시간 및 목표까지 도달하는 총 시간에 대한 개산 방식을 개선할 수 있다. 또한, 본 발명은 지정되지 않은 지형 환경에 존재하는 목표 지향 탐색을 위한 신속하고 효율적인 경로 재계획이 가능할 수 있다.
도 1은 본 발명에 따른 경로 재계획 시스템을 설명하는 도면이다.
도 1을 참조하면, 경로 재계획 시스템(100)은 무인이동체(110), 경로 재계획 장치(130) 및 데이터베이스(150)를 포함할 수 있다.
무인이동체(110)는 사람의 제어없이도 자유롭게 이동 가능한 장치에 해당할 수 있다. 무인이동체(110)는 자율주행을 위한 다양한 센서들을 포함하여 구현될 수 있으며, 다양한 센서들에 의해 측정된 데이터를 수집, 저장 및 처리할 수 있는 연산 모듈을 포함할 수 있다. 무인이동체(110)는 경로 재계획 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 무인이동체(110)들은 경로 재계획 장치(130)와 동시에 연결될 수 있다. 또한, 무인이동체(110)은 경로 재계획 장치(130)와 연동하기 위한 전용 프로그램 또는 어플리케이션을 설치하여 실행할 수 있다.
경로 재계획 장치(130)는 본 발명에 따른 경로 재계획 방법을 구현하여 동작할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 즉, 경로 재계획 장치(130)는 무인이동체(110)로부터 수신된 다양한 정보들을 분석하여 무인이동체(110)를 위한 경로를 생성하여 제공할 수 있으며, 해당 과정에서 본 발명에 따른 경로 재계획 방법을 사용할 수 있다. 경로 재계획 장치(130)는 무인이동체(110)와 유선 네트워크 또는 블루투스, WiFi, LTE 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 무인이동체(110)와 데이터를 송·수신할 수 있다.
또한, 경로 재계획 장치(130)는 데이터의 수집 또는 추가 기능의 제공을 위하여 외부 시스템(도 1에 미도시됨)과 연동하여 동작할 수도 있다. 예를 들어, 외부 시스템은 클라우드 서비스를 제공하는 클라우드 서버 또는 학습 서버를 포함할 수 있다. 이 경우, 경로 재계획 장치(130)는 클라우드 서버 또는 학습 서버와 연동하여 무인이동체(110)를 위한 경로 추론 및 생성동작을 처리할 수 있다.
데이터베이스(150)는 경로 재계획 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 딥러닝 알고리즘 및 학습 데이터를 저장할 수 있고, 학습을 통해 구축된 인공지능 모델들을 저장할 수 있으며, 반드시 이에 한정되지 않고, 경로 재계획 장치(130)가 무인이동체를 위한 인공지능 기반의 경로 재계획 방법을 수행하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
도 2는 도 1의 경로 재계획 장치의 시스템 구성을 설명하는 도면이다.
도 2를 참조하면, 경로 재계획 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.
프로세서(210)는 경로 재계획 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 경로 재계획 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 경로 재계획 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 경로 재계획 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.
사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 경로 재계획 장치(130)는 독립적인 서버로서 수행될 수 있다.
네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.
도 3은 도 1의 경로 재계획 장치의 기능적 구성을 설명하는 도면이다.
도 3을 참조하면, 경로 재계획 장치(130)는 초기 경로 생성부(310), 경로 비용 산출부(330), 인플레이션 계수 갱신부(350), 재계획 경로 생성부(370) 및 제어부(390)를 포함할 수 있다.
초기 경로 생성부(310)는 시작 상태에서 목표 상태까지의 최적 경로를 탐색하기 위해 목표 상태를 출발하여 시작 상태에 도착하는 초기 경로를 생성할 수 있다. 여기에서, 시작 상태 및 목표 상태는 무인이동체(110)가 이동하기 위한 시작점 및 목표점에 해당할 수 있으며, 위치 좌표에 대응되어 표현될 수 있다. 즉, 초기 경로 생성부(310)는 주어진 시작 상태와 목표 상태에서 가능한 빠르게 초기 경로를 생성할 수 있다. 또한, 초기 경로 생성부(310)는 경로 생성 알고리즘을 이용하여 초기 경로를 생성할 수 있으며, 경로 생성 알고리즘에 따라 목표 상태에서 탐색을 수행하여 시작 상태에 도달할 때까지 반복할 수 있다.
일 실시예에서, 초기 경로 생성부(310)는 특정 상태와 인접하는 적어도 하나의 인접 상태를 결정하고, 적어도 하나의 인접 상태에 대해 시작 상태에서 해당 인접 상태까지의 제1 경로 비용과 해당 인접 상태에서 목표 상태까지의 제2 경로 비용 간의 합산을 통해 인접 경로 비용을 산출하며, 특정 상태에서 인접 경로 비용이 최소인 인접 상태로 이동하는 이동 경로를 포함하도록 초기 경로를 갱신할 수 있다. 즉, 초기 경로 생성부(310)는 경로 비용을 기초로 초기 경로를 생성할 수 있다. 또한, 초기 경로는 최단 경로, 최소 비용 경로 등 다양한 기준에 따라 생성될 수 있다.
경로 비용 산출부(330)는 초기 경로를 따라 시작 상태에서 목표 상태까지 단위 상태 간격으로 이동하면서 현재 상태(state)에서 목표 상태까지의 경로 비용을 산출할 수 있다. 이때, 단위 상태 간격은 무인이동체(110)가 이동하는 간격에 해당할 수 있으며, 단위 동작(예를 들어, 스텝)마다 무인이동체(110)가 이동하는 거리에 대응될 수 있다. 예를 들어, 경로 비용 산출부(330)는 기 정의된 상태의 크기에 따라 1 상태만큼 이동하면서 경로 비용을 산출할 수 있다. 또한, 경로 비용 산출부(330)는 필요에 따라 단위 상태 간격을 임의로 설정하여 해당 동작을 수행할 수도 있다.
인플레이션 계수 갱신부(350)는 경로 비용의 변화 유무를 검출하여 인플레이션 계수를 갱신할 수 있다. 일 실시예에서, 인플레이션 계수 갱신부(350)는 경로 비용의 변화가 기 설정된 기준을 초과하는 경우 인플레이션 계수를 단위 증가량만큼 증가시키고, 그렇지 않은 경우 인플레이션 계수를 단위 감소량만큼 감소시킬 수 있다. 한편, 단위 증가량은 단위 감소량과 동일하게 설정될 수 있으며, 필요에 따라 단위 증가량과 단위 감소량은 상이하게 설정될 수도 있다.
재계획 경로 생성부(370)는 갱신된 인플레이션 계수를 기초로 초기 경로를 갱신하여 재계획 경로를 생성하는 과정에서 인플레이션 계수가 감소된 경우 재정렬된 상태 목록을 기초로 재계획 경로를 생성할 수 있다. 즉, 재계획 경로 생성부(370)는 환경에 영향을 주는 변경이 있는 경우에는 탐색을 통해 경로를 계산하는 회수를 줄이기 위해 상태 목록을 재정렬하는 탐색 기법을 적용할 수 있다. 재계획 경로 생성부(370)는 이러한 방법을 통해 기존의 ADA*에 비해 훨씬 빠른 경로탐색을 수행할 수 있다.
일 실시예에서, 재계획 경로 생성부(370)는 현재 상태가 이전의 이동 경로 상에 존재하는 경우 현재 상태의 상태 정보를 임시 장애물로 변경하여 재계획 경로의 생성 과정에서 탐색되는 것을 방지할 수 있다. 즉, 재계획 경로 생성부(370)는 무인이동체(110)가 U자형처럼 하나의 입구만을 가진 막다른 골목과 같은 형태의 복잡한 장애물을 가로질러 이동하는 것을 막기 위한 가상의 벽(Virtual Wall)을 생성하는 새로운 구속조건을 적용할 수 있다. 또한 재계획 경로 생성부(370)는 필요 시 무인이동체(110)가 동일한 격자 상에서 다시 움직이지 않도록 할 수도 있다.
일 실시예에서, 재계획 경로 생성부(370)는 인플레이션 계수가 증가된 경우, 임시 장애물에 해당하는 상태들의 상태 정보를 초기화 할 수 있다. 일 실시예에서, 재계획 경로 생성부(370)는 주어진 시작 상태, 목표 상태 및 인플레이션 계수를 갖는 고정된 환경에서 현재 경로를 계산하거나 개선하기 위한 탐색 과정을 반복적으로 수행할 수 있다.
일 실시예에서, 재계획 경로 생성부(370)는 주어진 상기 목표 상태에서 시작하여 제1 대기열의 첫 번째 키 값이 주어진 시작 상태의 키 값보다 작을 때까지 상기 탐색 과정을 반복할 수 있다. 여기에서, 제1 대기열은 우선순위 큐로 구현될 수 있으며, 탐색 동작을 수행하기 위한 대상이 되는 상태들을 저장할 수 있다. 예를 들어, 제1 대기열은 도 7 내지 9에서 OPEN 큐에 해당할 수 있다.
일 실시예에서, 재계획 경로 생성부(370)는 제1 대기열의 첫 번째 엘리먼트(element)의 키 값을 갱신할 수 있다. 즉, 재계획 경로 생성부(370)는 갱신된 키 값이 이전의 키 값보다 작은 경우 첫 번째 엘리먼트와 갱신된 키 값을 제1 대기열에 삽입할 수 있고, 그렇지 않은 경우 첫 번째 엘리먼트를 제1 대기열에서 제거한 후 해당 상태를 기준으로 탐색을 수행할 수 있다.
제어부(390)는 경로 재계획 장치(130)의 전체적인 동작을 제어하고, 초기 경로 생성부(310), 경로 비용 산출부(330), 인플레이션 계수 갱신부(350) 및 재계획 경로 생성부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 본 발명에 따른 무인이동체를 위한 인공지능 기반의 경로 재계획 방법을 설명하는 순서도이다.
도 4를 참조하면, 경로 재계획 장치(130)는 초기 경로 생성부(310)를 통해 시작 상태에서 목표 상태까지의 최적 경로를 탐색하기 위해 목표 상태를 출발하여 시작 상태에 도착하는 초기 경로를 생성할 수 있다(단계 S410). 경로 재계획 장치(130)는 경로 비용 산출부(330)를 통해 초기 경로를 따라 시작 상태에서 목표 상태까지 단위 상태 간격으로 이동하면서 현재 상태(state)에서 목표 상태까지의 경로 비용을 산출할 수 있다(단계 S430).
또한, 경로 재계획 장치(130)는 인플레이션 계수 갱신부(350)를 통해 경로 비용의 변화 유무를 검출하여 인플레이션 계수를 갱신할 수 있다(단계 S450). 경로 재계획 장치(130)는 재계획 경로 생성부(370)를 통해 갱신된 인플레이션 계수를 기초로 초기 경로를 갱신하여 재계획 경로를 생성하는 과정에서 인플레이션 계수가 감소된 경우 재정렬된 상태 목록을 기초로 재계획 경로를 생성할 수 있다(단계 S470).
도 5는 본 발명에 따른 iADA*에서 가상 벽(virtual wall)에 대한 개념을 설명하는 도면이고, 도 6 내지 8는 본 발명에 따른 iADA* 알고리즘을 설명하는 도면이다.
이하, 도 5 내지 8을 참조하여 본 발명에 따른 무인이동체를 위한 인공지능 기반의 경로 재계획 방법을 설명한다. 또한, 본 발명에 따른 무인이동체를 위한 인공지능 기반의 경로 재계획 방법은 iADA* 알고리즘을 통해 구현될 수 있다.
본 발명에 따른 알고리즘(이하, 알고리즘)은 최단 경로를 찾기 위해 역방향 검색(backwards search)을 수행할 수 있다. 즉, 시작 상태를 향해 움직이는 목표 상태에서 탐색이 개시될 수 있다. 또한, 초기 경로의 생성은 목표 상태에서 시작될 수 있다. 최소 비용 경로를 찾기 위해 알고리즘은 각 상태에서 목표까지의 경로 비용에 관한 추정된 g(s)과 예측(look-ahead) 경로 비용 v(s)를 계산할 수 있다. 예측 비용은 주로 지도 변경(map changes)이 발생한 후 상태 탐색(state exploration)을 위해 사용될 수 있다. 예측 비용은 인접한 상태들(adjacent states) 중 하나를 통과하는 Sgoal에서 S까지의 최소 경로 비용에 해당할 수 있으며, 다음의 수학식 1과 같이 표현될 수 있다.
[수학식 1]
Figure pat00001
여기에서, Succ(s)∈S는 인접 상태라고도 하는 후속 상태(successor)에 해당할 수 있다. 후속 상태는 S로부터 단일 단계(step) 후에 위치한 상태에 해당할 수 있다. D* 알고리즘에 의해 도입된 상태 일관성(state consistency) 개념을 통해 환경 변화의 영향을 받는 상태들을 추적할 수 있다. g(s) = v(s)이면, 상태 S는 일관된 경우(consistent)에 해당할 수 있다. 그렇지 않으면 비일관된 경우(inconsistent)에 해당할 수 있다(under-consistent g(s)<v(s) 또는 over-consistent g(s)>v(s)). 비일관성 상태는 INCONS 리스트(list)에 저장될 수 있다.
알고리즘은 OPEN 우선순위 큐에 그것들을 배치함으로써 각 반복(iteration)에서 비일관성 상태를 수정(repair)할 수 있다. 우선순위 큐는 확장(expand)되고 일관성을 유지해야 하는 상태들을 저장할 수 있으며, 여기에서 상태의 확장은 해당 상태에서 다음 단계로의 진행을 의미할 수 있다. iADA*는 휴리스틱 함수 h(s)과 키(key)를 사용하여 최적의 탐색 방향을 찾을 수 있고, 상태 탐색 순서를 결정할 수 있다. 휴리스틱 함수는 현재 상태에서 시작까지의 거리를 추정할 수 있다. 이때, 유클리드 거리 측정법이 사용될 수 있다.
또한, 키는 기본 키(primary key) 및 보조 키(secondary key) [k1, k2]로 구성될 수 있다. OPEN 큐에서 가장 낮은 기본 키가 있는 상태가 먼저 탐색될 수 있다. 두 개의 기본 키가 동일한 경우 보조 키의 값이 가장 낮은 상태가 더 높은 우선순위를 가질 수 있다. 주어진 상태에 대한 키는 다음의 수학식 2 및 3을 통해 계산될 수 있다.
[수학식 2]
Figure pat00002
[수학식 3]
Figure pat00003
기본 키는 총 비용이 가장 낮은 상태를 먼저 확장하도록 강제할 수 있다. 보조 키는 목표에서 현재 상태까지의 올바른 탐색 순서를 보장할 수 있다. 기본 키 계산에 사용되는 ε∈[1;∞]의 값은 인플레이션 계수에 해당할 수 있다. 인플레이션 계수는 공간 탐사(exploration)와 개척(exploitation) 사이의 균형을 제어할 수 있다. ε의 값이 높을수록 휴리스틱 함수(시작 상태까지의 절대 거리)에 더 높은 가중치가 부여될 수 있다. 휴리스틱 함수 인플레이션(heuristic function inflation)을 사용하면 종종 솔루션의 속도를 크게 높일 수 있다. ε=1은 진정한 최적의 경로를 제공할 수 있다. 그러나, 탐색된 상태들의 양이 많기 때문에 계산 부하가 매우 높을 수 있다. ε>1은 더 낮은 계산 리소스를 사용하여 솔루션을 얻을 수 있도록 하지만 해당 경로가 가장 짧다는 것을 보장할 수는 없다. 가중(weighted) A* 및 유사한 알고리즘에 대한 여러 연구에서 휴리스틱 함수의 인플레이션이 훨씬 더 빠른 경로 계산을 제공한다는 사실이 입증되었다. 경로 비용은 최대로 다음의 수학식 4를 통해 산출될 수 있다.
[수학식 4]
Figure pat00004
여기에서,
Figure pat00005
는 s에서 s'까지의 최단 거리에 해당할 수 있다. iADA* 알고리즘은 Sgoal과 Sstart사이의 경로를 빠르게 찾기 위해 ε의 큰 값으로 계산을 시작할 수 있다. 시간이 허용되고 무인이동체(110)가 이동하는 동안 그 값은 ε=1이 될 때까지 Δε 값만큼 감소할 수 있다. 경로를 가로지르는 장애물로 인해 경로 비용이 급격히 증가하면 인플레이션 계수를 다시 높여 장애물이 없는 경로를 빠르게 찾을 수 있다. 원래 ADA* 알고리즘은 엣지(edge) 비용 변화가 감지될 때마다 정렬하는 우선순위 큐를 수행할 수 있다. 현재의 새로운 알고리즘인 iADA*는 우선순위 큐의 반복적인 재배열을 방지할 수 있으며, 이를 통해 보다 큰 지도에서 훨씬 더 빠르게 처리될 수 있다. 큐 정렬 수(the number of queues sorting)를 최소화하기 위해 힙 순서 특성(heap ordering property)이 구현될 수 있다.
또한, 도 6 내지 8과 같이, ComputeOrImprovePath() 함수가 수정될 수 있다. 알고리즘은 OPEN 큐에서 우선순위 키가 가장 작은 상태 s를 제거할 수 있다. 그런 다음 CalculateKey() 함수는 주어진 상태에서 새로운 키를 계산하는데 사용될 수 있다. 만약 kold > knew 인 경우 알고리즘은 새로운 키 값을 사용하여 우선순위 큐의 헤드(head)에 상태를 다시 삽입할 수 있다. 에지 비용 변화는 또한 ε값의 증가를 강제할 수 있다. 이때, 우선순위는 변경되지 않을 수 있다. ε가 증가한 경우에도 knew는 가장 작은 키 값에 해당할 수 있다. 따라서, 추가적인 정렬이 필요하지 않을 수 있다. kold < knew 의 경우 ComputeOrImprovePath() 함수는 ADA*와 동일한 방식으로 상태 S를 확장할 수 있다.
iADA*는 또한 U자형 장애물에서 상태를 감지하고 제거할 수 있다. 무인이동체(110)가 "갇힌(traped)" 상태로 이동하는 것을 방지하기 위해 가상 장애물(virtual obstacle)이 생성될 수 있다. U자형 장애물이 감지되면 갇힌 상태의 상태(status)가 VWALLS로 설정되고 CLOSED 리스트로 이동될 수 있다. CLOSED 리스트에 저장된 상태들은 확장되지 않을 수 있다. 가상 장애물에 국부적으로(locally) 영향을 미치는 환경 변화가 있으면 상태는 OPEN이 될 수 있다.
도 5는 가상 벽의 일 실시예를 나타낼 수 있다. 그림 (a)는 U자형 장애물에 해당하고, 그림 (b)는 가상 벽을 가진 U자형 장애물에 해당할 수 있다. 무인이동체(110)는 상태 S3,4에 대한 키 값을 줄이는 쪽으로 이동할 수 있다. 그러나, 장애물로 인해 다시 돌아와야 하고, iADA*는 무인이동체(110)가 두 번 이동한 상태를 감지하며 상태를 VWALLS로 설정하여 다음 반복동안 확장을 방지할 수 있다. 장애물 상태가 제거될 때마다 직접 영향을 받는 가상 벽은 확장을 위해 OPEN으로 설정될 수 있다.
iADA* 알고리즘의 데이터 흐름은 도 9에 도시되어 있다. 알고리즘 초기화 단계에서는 ε의 값을 일반적으로 2.0보다 크거나 같은 높은 숫자로 설정할 수 있다. 공백 큐 OPEN, CLOSED, INCONS 및 VWALLS가 생성될 수 있다. g(s) 및 v(s)의 값들은 경로 비용이 0인 목표를 제외한 모든 상태에서 무한대로 설정될 수 있다. 목표 상태는 우선순위 큐의 유일한 상태에 해당할 수 있다. iADA*가 초기화된 후 경로 탐색은 초기 최단 경로를 탐색할 수 있다. 탐색 절차는 도 7의 ComputeOrImprovePath() 함수에 나타날 수 있다. 함수 호출의 결과는 ε>1 이면 현재의 차선 경로(suboptimal path)이고 ε=1이면 최적 경로(optimal path)에 해당할 수 있다.
시작 상태는 반복(iteration) 당 1 상태(state)의 속도로 현재의 차선 솔루션(suboptimal solution)을 따라 이동할 수 있다. 알고리즘은 별도의 수정없이 속도가 다르게 적용될 수도 있다. 각 반복에서 Sstart는 Sgoal쪽으로 이동할 수 있다. 경로 탐색 루프(pathfinding loop)는 무인이동체(110)가 마침내 목표 상태, 즉 Sstart=Sgoal에 도달할 때까지 계속될 수 있다. 그런 다음 현재 경로의 비용이 계산되고 이전 반복의 결과와 비교될 수 있다. 현재 경로를 교차하는 장애물이 있으면 총 비용이 크게 증가할 수 있다. 이 경우 솔루션이 최적이 아닐 수 있다. 솔루션을 신속하게 복구하기 위해 인플레이션 계수가 증가하고 VWALLS 리스트가 지워지며 비용 변화의 영향을 받는 상태들이 다시 계산될 수 있다. 비용 변화가 관찰되지 않으면 인플레이션 계수의 값이 감소하여 현재 경로를 개선할 수 있다. 비일관된 상태들은 OPEN 리스트로 이동할 수 있다.
ComputeOrImprovePath() 함수는 이 단계에서 호출되어야 하며, 현재의 차선책 솔루션(suboptimal solution)이 게시(publish)될 수 있다. 주어진 시작 상태, 목표 상태 및 인플레이션 계수를 갖는 고정된 환경에서 현재 경로를 계산하거나 개선할 수 있다. 탐색은 목표 상태에서 시작하여 OPEN 큐의 첫 번째 키가 시작 상태의 키보다 작을 때까지 계속될 수 있다. 우선순위 키의 첫 번째 요소(element)에 대한 키는 CalculateKey() 함수를 사용하여 평가될 수 있다. CalculateKey()는 상기의 수학식 2를 사용하여 키를 업데이트할 수 있다. 새 키가 이전 키보다 크면 상태는 업데이트된 키와 함께 OPEN 리스트에 남게 되며, 그렇지 않으면 g(s) = v(s)가 할당되고 상태는 CLOSED 리스트로 이동될 수 있다.
정렬되는 큐들의 수(the number of queues sorting)를 최소화하기 위해 헤드 정렬 속성(head ordering property)이 구현될 수 있다. ComputeOrImprovePath() 함수는 OPEN 큐에서 가장 작은 우선순위 키를 가진 상태 S를 제거할 수 있다. 그런 다음 Key() 함수는 주어진 상태에 대한 새로운 키를 계산하는데 사용될 수 있다. Kold > knew 이면 알고리즘은 우선순위 큐의 헤드에 새 키 값과 함께 상태를 다시 삽입할 수 있다(도 7의 {4,9}행). 에지 비용 변화는 또한 ε값의 증가를 강제할 수 있다. 우선순위는 변경되지 않을 수 있다. ε의 증가에도 불구하고 knew는 가장 작은 키 값에 해당할 수 있다. 따라서, 추가 정렬이 필요하지 않을 수 있다.
Kold < knew의 경우 ComputeOrImprovePath() 함수는 ADA*와 동일한 방식으로 상태 S를 확장할 수 있다. 이 함수는 또한 VWALLS의 상태를 확인할 수 있다. 그 후 s의 인접 상태 s'∈Pred(s)의 값은 UpdateState() 함수를 사용하여 계산 또는 업데이트될 수 있다. 업데이트 상태는 주어진 상태의 g(s) 및 v(s) 값들을 계산할 수 있다. 한 번도 방문한 적이 없는 상태에 해당하면 g(s)=∞에 해당할 수 있다.
ComputeShortestPath() 함수는 key(sstart)가 OPEN 리스트의 모든 상태들 중 최소 키 값과 동일한 즉시 중지될 수 있다. 이 것은 해당 함수에서 사용되는 조건에 해당할 수 있다. 이 조건을 사용하면 알고리즘이 sstart를 확장하는 것을 방지할 수 있을 뿐만 아니라 키 값이 동일한 다른 상태들에 대해서도 가능하도록 할 수 있다. ComputeShortestPath() 함수를 처음 실행하는 동안 확장되는 상태들의 수를 줄이기 위해 상태들은 한 번씩만 확장될 수 있다. 이러한 방식으로 실행 가능한 경로에 대한 탐색 속도를 향상시킬 수 있다. 두 번째 실행 중에 OPEN에 있는 상태들은 재확장될 수 있다.
Key(Sstart)가 OPEN 리스트의 최소 키보다 작거나 또는 Sgoal이 지역적으로 일관성이 있으면 알고리즘이 실행 가능한 경로를 생성할 수 있다. 그렇지 않으면 OPEN 리스트는 공백(empty)이 되고 ComputeShortestPath() 함수는 실패한 실행(failed execution)으로서 중지될 수 있다.
본 발명은 복잡하고 동적인 환경 모두에서 실시간 경로 계획 및 재계획을 위해 개선된 Anytime Dynamic A*(iADA*)를 구현할 수 있다. iADA*는 현재 경로 계획 알고리즘에 비해 향상된 기능을 제공할 수 있다. 랜덤 맵에 대한 경로 계획은 동시 경로 계획 및 재계획 문제의 성공적인 솔루션을 제공할 수 있다. 수집된 데이터로부터 iADA*는 무인이동체(110)에 대한 최적의 경로와 더 빠른 계산을 제공할 수 있다.
특히 iADA*는 경로를 재생성하는데 계산 비용이 많이 들고 맵이 커지거나 장애물의 동적성(dynamicity)이 무작위 맵 유형으로 작기 때문에 경로를 자주 업데이트할 필요가 없는 경로 계획 애플리케이션에 더 유용할 수 있다. 더욱이 iADA*는 장애물 변화가 경로 및 재계획 작업에 국지적으로 영향을 미쳤을 때 경로 계획 문제(path planning problem)보다 성능이 뛰어날 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 경로 재계획 시스템
110: 무인이동체 130: 경로 재계획 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 초기 경로 생성부 330: 경로 비용 산출부
350: 인플레이션 계수 갱신 370: 재계획 경로 생성부
390: 제어부

Claims (9)

  1. 시작 상태에서 목표 상태까지의 최적 경로를 탐색하기 위해 상기 목표 상태를 출발하여 상기 시작 상태에 도착하는 초기 경로를 생성하는 단계;
    상기 초기 경로를 따라 상기 시작 상태에서 상기 목표 상태까지 단위 상태 간격으로 이동하면서 현재 상태(state)에서 상기 목표 상태까지의 경로 비용을 산출하는 단계;
    상기 경로 비용의 변화 유무를 검출하여 인플레이션 계수를 갱신하는 단계; 및
    갱신된 상기 인플레이션 계수를 기초로 상기 초기 경로를 갱신하여 재계획 경로를 생성하는 과정에서 상기 인플레이션 계수가 감소된 경우 재정렬된 상태 목록을 기초로 상기 재계획 경로를 생성하는 단계를 포함하는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법.
  2. 제1항에 있어서, 상기 초기 경로를 생성하는 단계는
    특정 상태와 인접하는 적어도 하나의 인접 상태를 결정하는 단계;
    상기 적어도 하나의 인접 상태에 대해 상기 시작 상태에서 해당 인접 상태까지의 제1 경로 비용과 상기 해당 인접 상태에서 상기 목표 상태까지의 제2 경로 비용 간의 합산을 통해 인접 경로 비용을 산출하는 단계; 및
    상기 특정 상태에서 상기 인접 경로 비용이 최소인 인접 상태로 이동하는 이동 경로를 포함하도록 상기 초기 경로를 갱신하는 단계를 포함하는 것을 무인이동체를 위한 인공지능 기반의 경로 재계획 방법.
  3. 제1항에 있어서, 상기 인플레이션 계수를 갱신하는 단계는
    상기 경로 비용의 변화가 기 설정된 기준을 초과하는 경우 상기 인플레이션 계수를 단위 증가량만큼 증가시키고, 그렇지 않은 경우 상기 인플레이션 계수를 단위 감소량만큼 감소시키는 단계를 포함하는 것을 특징으로 하는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법.
  4. 제3항에 있어서, 상기 재계획 경로를 생성하는 단계는
    상기 현재 상태가 이전의 이동 경로 상에 존재하는 경우 상기 현재 상태의 상태 정보를 임시 장애물로 변경하여 상기 재계획 경로의 생성 과정에서 탐색되는 것을 방지하는 단계를 포함하는 것을 특징으로 하는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법.
  5. 제4항에 있어서, 상기 재계획 경로를 생성하는 단계는
    상기 인플레이션 계수가 증가된 경우, 상기 임시 장애물에 해당하는 상태들의 상태 정보를 초기화 하는 단계를 포함하는 것을 특징으로 하는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법.
  6. 제1항에 있어서, 상기 재계획 경로를 생성하는 단계는
    주어진 시작 상태, 목표 상태 및 인플레이션 계수를 갖는 고정된 환경에서 현재 경로를 계산하거나 개선하기 위한 탐색 과정을 반복적으로 수행하는 단계를 포함하는 것을 특징으로 하는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법.
  7. 제6항에 있어서, 상기 재계획 경로를 생성하는 단계는
    주어진 상기 목표 상태에서 시작하여 제1 대기열의 첫 번째 키 값이 주어진 상기 시작 상태의 키 값보다 작을 때까지 상기 탐색 과정을 반복하는 단계를 포함하는 것을 특징으로 하는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법.
  8. 제7항에 있어서, 상기 재계획 경로를 생성하는 단계는
    상기 제1 대기열의 첫 번째 엘리먼트(element)의 키 값을 갱신하는 단계; 및
    상기 갱신된 키 값이 이전의 키 값보다 작은 경우 상기 첫 번째 엘리먼트와 상기 갱신된 키 값을 상기 제1 대기열에 삽입하고, 그렇지 않은 경우 상기 첫 번째 엘리먼트를 상기 제1 대기열에서 제거한 후 해당 상태를 기준으로 상기 탐색을 수행하는 단계를 포함하는 것을 특징으로 하는 무인이동체를 위한 인공지능 기반의 경로 재계획 방법.
  9. 시작 상태에서 목표 상태까지의 최적 경로를 탐색하기 위해 상기 목표 상태를 출발하여 상기 시작 상태에 도착하는 초기 경로를 생성하는 초기 경로 생성부;
    상기 초기 경로를 따라 상기 시작 상태에서 상기 목표 상태까지 단위 상태 간격으로 이동하면서 현재 상태(state)에서 상기 목표 상태까지의 경로 비용을 산출하는 경로 비용 산출부;
    상기 경로 비용의 변화 유무를 검출하여 인플레이션 계수를 갱신하는 인플레이션 계수 갱신부; 및
    갱신된 상기 인플레이션 계수를 기초로 상기 초기 경로를 갱신하여 재계획 경로를 생성하는 과정에서 상기 인플레이션 계수가 감소된 경우 재정렬된 상태 목록을 기초로 상기 재계획 경로를 생성하는 재계획 경로 생성부를 포함하는 무인이동체를 위한 인공지능 기반의 경로 재계획 장치.
KR1020210004537A 2021-01-13 2021-01-13 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치 KR102434949B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210004537A KR102434949B1 (ko) 2021-01-13 2021-01-13 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210004537A KR102434949B1 (ko) 2021-01-13 2021-01-13 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220102684A true KR20220102684A (ko) 2022-07-21
KR102434949B1 KR102434949B1 (ko) 2022-08-26

Family

ID=82610067

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210004537A KR102434949B1 (ko) 2021-01-13 2021-01-13 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102434949B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610129A (zh) * 2023-07-17 2023-08-18 山东优宝特智能机器人有限公司 一种腿足机器人的局部路径规划方法及系统
CN117631618A (zh) * 2023-11-08 2024-03-01 南京国电南自维美德自动化有限公司 一种dcs逻辑组态画面连线的实时优化方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100909510B1 (ko) 2006-05-08 2009-07-27 엔비디아 코포레이션 감소된 대역폭 요건들을 갖는 행렬 곱셈
KR102062900B1 (ko) * 2019-06-25 2020-01-06 국방과학연구소 다중 임무점 방문을 위한 순차적 경로 계획 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100909510B1 (ko) 2006-05-08 2009-07-27 엔비디아 코포레이션 감소된 대역폭 요건들을 갖는 행렬 곱셈
KR102062900B1 (ko) * 2019-06-25 2020-01-06 국방과학연구소 다중 임무점 방문을 위한 순차적 경로 계획 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Maxim Likhachev 외 4명, Anytime Dynamic A An Anytime, Replanning Algorithm, Proceedings of 15th International Conference on Automated Planning and Scheduling, June, 2005* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610129A (zh) * 2023-07-17 2023-08-18 山东优宝特智能机器人有限公司 一种腿足机器人的局部路径规划方法及系统
CN116610129B (zh) * 2023-07-17 2023-09-29 山东优宝特智能机器人有限公司 一种腿足机器人的局部路径规划方法及系统
CN117631618A (zh) * 2023-11-08 2024-03-01 南京国电南自维美德自动化有限公司 一种dcs逻辑组态画面连线的实时优化方法及系统

Also Published As

Publication number Publication date
KR102434949B1 (ko) 2022-08-26

Similar Documents

Publication Publication Date Title
Cao et al. TARE: A Hierarchical Framework for Efficiently Exploring Complex 3D Environments.
KR102009482B1 (ko) 로봇의 경로계획 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록 매체
CN109059924B (zh) 基于a*算法的伴随机器人增量路径规划方法及系统
Witting et al. History-aware autonomous exploration in confined environments using mavs
US10352711B2 (en) Computer-implemented method and a system for guiding a vehicle within a scenario with obstacles
CN107169608B (zh) 多无人机执行多任务的分配方法及装置
CN109597425B (zh) 基于强化学习的无人机导航和避障方法
CN113710431B (zh) 使用基于采样的最优树的路径规划方法以及记录介质
Narayanan et al. Anytime safe interval path planning for dynamic environments
KR102434949B1 (ko) 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치
Dang et al. Explore locally, plan globally: A path planning framework for autonomous robotic exploration in subterranean environments
KR102036716B1 (ko) 다중 임무점 방문을 위한 경로 계획 방법 및 장치
CN112148008A (zh) 一种基于深度强化学习的实时无人机路径预测方法
Lim et al. Monte Carlo value iteration with macro-actions
Maw et al. iADA*: Improved anytime path planning and replanning algorithm for autonomous vehicle
CN110456825B (zh) 一种基于改进快速随机搜索树的无人机在线运动规划方法
CN113359718A (zh) 移动机器人全局路径规划与局部路径规划融合方法及设备
CN115061499B (zh) 无人机控制方法及无人机控制装置
CN113219981B (zh) 一种基于蚁群算法的移动机器人路径规划方法
KR20160048530A (ko) 자율 이동 차량의 경로 생성 방법 및 경로 생성 장치
CN113865589A (zh) 一种基于地形坡度的长距离快速路径规划方法
CN110849385B (zh) 基于双层启发搜索共轭梯度下降的轨迹规划方法及系统
Soulignac et al. Time-minimal path planning in dynamic current fields
CN118083808B (zh) 一种面向天车系统的动态路径规划方法和装置
CN114186112B (zh) 一种基于贝叶斯优化多重信息增益探索策略的机器人导航方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant