KR101990878B1 - 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 - Google Patents

시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 Download PDF

Info

Publication number
KR101990878B1
KR101990878B1 KR1020180151119A KR20180151119A KR101990878B1 KR 101990878 B1 KR101990878 B1 KR 101990878B1 KR 1020180151119 A KR1020180151119 A KR 1020180151119A KR 20180151119 A KR20180151119 A KR 20180151119A KR 101990878 B1 KR101990878 B1 KR 101990878B1
Authority
KR
South Korea
Prior art keywords
path
time
robot
state
forward path
Prior art date
Application number
KR1020180151119A
Other languages
English (en)
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 KR1020180151119A priority Critical patent/KR101990878B1/ko
Application granted granted Critical
Publication of KR101990878B1 publication Critical patent/KR101990878B1/ko
Priority to US16/679,357 priority patent/US20200174482A1/en

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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
    • 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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 순방향경로와 역방향경로를 이용한 양방향경로를 계획하여 로봇의 오버런이나 진동이 발생되지 않고 자율주행이 가능한 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공한다.

Description

시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 {ONLINE BIDIRECTIONAL TRAJECTORY PLANNING METHOD IN STATE-TIME SPACE AND RECORDING MEDIUM STORING PROGRAM FOR EXECUTING THE SAME, AND COMPUTER PROGRAM STORED IN RECORDING MEDIUM FOR EXECUTING THE SAME}
본 발명은 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 순방향경로와 역방향경로를 이용한 양방향경로를 계획하여 로봇의 오버런이나 진동이 발생되지 않고 자율주행이 가능한 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것이다.
자율주행 로봇은 스스로 주변을 살피고 장애물을 감지하면서 바퀴나 다리를 이용하여 목적지까지 최적 경로를 찾아가는 로봇을 말한다.
경로계획 또는 장애물 회피는 이동로봇의 자율주행에 있어서 중요한 요소기술이다. 로봇은 목적지까지 경로를 생성하여 이동하되 주변 장애물과 충돌하지 않고 목적지에 도달해야 한다. 좋은 경로라 함은 목적지까지의 이동 경로를 최소로 하는 최단경로이거나 또는 주변 장애물과의 충돌 가능성을 최소로 하는 안전 경로를 의미한다.
통상적으로 로봇 응용에 있어서는 안전경로가 보다 중요하지만 가장 이상적인 경로는 안전하면서도 가능한 한 최단인 경로일 것이다.
통상적으로 안전경로를 확보하는 방법으로는 로봇에 장착된 장애물 감지 센서(레이져, 초음파 등 주변 장애물과 의 거리를 측정할 수 있는 장치 등)를 이용하여 빈 공간이 가장 많은 방향을 찾고 목적지 방향을 같이 고려하여 로봇의 이동 방향을 결정하는 방법이 주로 사용되어 왔다. 빈 공간을 향한 방향과 목적지를 향한 방향과의 가중치는 실험적으로 결정된다. 빈 공간에 가중치를 많이 주면 장애물과의 충돌 가능성을 최소화할 수 있지만 긴 경로를 돌아야 하거나 극단적인 경우에는 목적지에 도착하지 못하는 경우가 발생한다. 반대로 목적지에 대한 가중치를 많이 주면 안전성이 떨어진다.
자율주행 로봇이 갖추어야 할 기본적인 주행능력은 원하는 목표지점까지 충돌없이 최적의 경로로 이동할 수 있는 지능적 항법 능력이며, 이러한 지능적 항법을 위해서는 경로계획 기술과 위치인식 요소기술이 필요하다.
여기서, 경로계획 기술은, 전역 경로계획과 지역 경로계획 기술로 나눌 수 있다.
먼저, 전역 경로계획은, 주어진 환경지도를 이용하여 출발점에서 목표 지점까지의 최적의 경로를 탐색하는 것이고,
지역 경로계획은, 동적 환경에서 실시간성을 고려한 장애물 회피를 의미한다.
아울러, 위치인식 기술은, 주행시 로봇의 현재 위치를 지도상에서 알아내는 위치결정 기술이다.
상기한 바와 같은 전역 경로계획 방법에 대한 종래기술의 예로서, 대표적으로, 예를 들면, "A note on two problems in connexion with graphs(E. W. Dijkstra, Numerische Mathematik, Volume 1, Number 1, 269-271, 1959)"에 게시된 바와 같은 "Dijkstra 알고리즘"이 있다.
더 상세하게는, 상기한 Dijkstra 알고리즘은, 최초의 경로계획으로 제시되어 현재까지 여러 분야에서 많이 사용되고 있으나, 모든 공간을 탐색하므로 많은 연산시간이 요구된다는 단점이 있다.
또한, 상기한 바와 같은 전역 경로계획 방법에 대한 종래기술의 다른 예로서, 예를 들면, "A Formal Basis for the Heuristic Determination of Minimum Cost Paths in Graphs_A star(PETER E. HART, VOL. ssc-4 ,NO 2, 1968)"에 게시된 바와 같은 A* 알고리즘이 있다.
더 상세하게는, 상기한 A* 알고리즘은, Dijkstra 알고리즘의 보완 형태로, 평가함수를 추가함으로써 깊이 탐색과 넓이 탐색을 기반으로 Dijkstra 알고리즘에 비해 더 빠른 탐색 시간을 달성하였으나, 실시간 계산이 어려운 문제가 있었다.
실시간 계산이 가능하도록 하기 위해, 로봇이 지나가야 하는 웨이포인트를 부여하여 경로를 계획하는 증분(점진적) 계획 방법(Incremental planning method)이 있다.
증분(점진적) 계획 방법(Incremental planning method)은 빠른 계산이 가능하지만 웨이포인트 간의 간격이 짧거나 웨이포인트 간의 각도가 작을 경우 로봇이 목표 웨이포인트를 지나간 뒤 다음 목표 웨이포인트를 향해 선회하는 경로가 커지게 되는 오버런 현상이 발생되는 문제가 있다.
한국등록특허 [10-1079197]에서는 자율주행 장치의 경로추적 방법이 개시되어 있다.
한국등록특허 [10-1079197](등록일자: 2011.10.27)
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 순방향경로와 역방향경로를 이용한 양방향경로를 계획하여 로봇의 오버런이나 진동이 발생되지 않고 자율주행이 가능한 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램를 제공하는 것이다.
본 발명의 실 시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 시간상태 영역에서의 온라인 양방향 경로 계획 방법에 있어서, 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점에서 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점을 향한, 상태값(s)과 시간값을 고려한 시간상태 영역에서의 순방향경로 계산, 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점에서 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 역방향경로 계산을 근거로 상기 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하며, 순방향경로와 역방향경로를 계획하는데 이용되는 시간상태 영역에서의 상태값 (sn(n은 타임인덱스를 나타내며, 자연수))은 위치, 방위(헤딩각)에 대한 배위값을 포함하고 조향각, 속도(선속도, 각속도), 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 것을 특징으로 한다.
또, 상기 순방향경로 계산 및 역방향경로 계산은 이동에 필요한 비용 함수(H)를 분해하고, 분해된 비용 함수(Hr)에 우선순위 (r(r은 자연수))를 부여하며, 미리 정해진 기준에 따라(r* 값을 설정하거나 계산에 의해 정할 수 있음) 상기 분해된 비용 함수(Hr)를 합한 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하여, n 스텝에서의 주어진 상태값(sn), 목표지점에서의 상태 값(sto) 및 계산하고자 하는 스텝 수(m)를 근거로, 상태값(sn)이 주어진 지점에서 목표지점(sto)을 향해 계산하고자 하는 스텝 수 만큼 진행될 스텝에서의 상태값(sn+m)을 구하는 것을 특징으로 한다.
또한, 상기 순방향경로 계산 및 역방향경로 계산은 이동에 필요한 비용 함수(H)를 분해하고, 분해된 비용 함수(Hr)에 우선순위 (r(r은 자연수))를 부여하며, 우선순위에 따라(r* 값을 설정하거나 계산에 의해 정할 수 있음) 상기 분해된 비용 함수(Hr)를 순차적으로 적용하여, 상기 분해된 비용 함수(Hr) 각각의 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하여, n 스텝에서의 주어진 상태값(sn), 목표지점에서의 상태 값(sto) 및 계산하고자 하는 스텝 수(m)를 근거로, 상태값(sn)이 주어진 지점에서 목표지점(sto)을 향해 계산하고자 하는 스텝 수 만큼 진행될 스텝에서의 상태값(sn+m)을 구하는 것을 특징으로 한다.
또, 상기 순방향경로 계산은 정적장애물 및 동적장애물과 충돌하지 않는 배위영역 상의 안전한 영역인 시간배위안전영역은
Figure 112018119651691-pat00001
이 존재하면, 타임인덱스(n) 에서 로봇의 배위값(
Figure 112018119651691-pat00002
)과 타임인덱스(n) 에서 시간배위안전영역은
Figure 112018119651691-pat00003
을 근거로 순방향경로를 계산하는 것을 특징으로 하며, 상기 역방향경로 계산은 안전영역이 존재하면, 타임인덱스(n)에서 로봇의 배위값(
Figure 112018119651691-pat00004
)과 시간배위안전영역은
Figure 112018119651691-pat00005
을 근거로 역방향경로를 계산하는 것을 특징으로 한다.
또한, 상기 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 현재 목표 웨이포인트에서의 로봇의 상태를 설정하는 웨이포인트설정 단계(S20); 역방향경로를 계산하는 역방향경로계산 단계(S30); 순방향경로를 계산하는 순방향경로계산 단계(S50); 및 상기 역방향경로계산 단계(S30) 및 상기 순방향경로계산 단계(S50)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산하는 로봇제어명령생성 단계(S60);를 포함하는 것을 특징으로 한다.
또, 상기 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 상기 순방향경로와 상기 역방향경로를 연결하는 연결경로 계산하고, 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하는 것을 특징으로 한다.
또한, 상기 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 현재 목표 웨이포인트에서의 로봇의 상태를 설정하는 웨이포인트설정 단계(S20); 역방향경로를 계산하는 역방향경로계산 단계(S30); 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점과 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점이 연결되는 연결경로가 존재하는지 확인하는 연결경로확인 단계(S40); 상기 연결경로확인 단계(S40)에서 연결경로가 존재하지 않으면, 순방향경로를 계산하는 순방향경로계산 단계(S50); 및 상기 순방향경로계산 단계(S50)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산하는 로봇제어명령생성 단계(S60);를 포함하는 것을 특징으로 한다.
또, 상기 연결경로확인 단계(S40)는 연결경로가 존재하면, 연결경로 및 역방향경로에 대한 순방향 타임인덱스를 설정하고, 연결경로 및 역방향경로에서 필연적충돌상태가 발생하는지 확인한 후, 필연적충돌상태가 발생되지 않으면 순방향경로의 시간 변수, 역방향경로의 시간 변수 및 다음 웨이포인트를 통과하는 순방향경로의 시간 변수를 계산하여 변경하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따르면, 상기 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따르면, 상기 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 의하면, 순방향경로와 역방향경로를 이용한 양방향경로를 계획하여 로봇의 오버런이나 진동이 발생을 최소화시킴과 동시에 실시간 경로 연산이 가능한 효과가 있다.
또한, 이동에 필요한 비용 함수를 분해하여 연산량을 줄이는 함수분해 기반 비용최소화 알고리즘을 적용함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.
또, 시간배위안전영역
Figure 112018119651691-pat00006
을 근거로 경로계산을 함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.
또한, 웨이포인트설정 단계, 역방향경로계산 단계, 순방향경로계산 단계, 로봇제어명령생성 단계를 수행하되, 역방향경로계산 단계를 순방향경로계산 단계보다 먼저 수행함으로써, 목표 웨이포인트를 보다 부드럽게 지나가도록 경로를 형성할 수 있 효과가 있다.
또, 순방향경로와 역방향경로를 연결하는 연결경로를 이용함으로써, 순방향경로와 역방향경로를 로봇에 무리를 주지 않도록 연결할 수 있는 효과가 있다.
또한, 역방향경로계산 단계와 순방향경로계산 단계 사이에 연결경로확인 단계를 수행함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.
아울러, 연결경로가 존재하면 연결경로 및 역방향경로에 대한 순방향 타임인덱스를 설정하여, 계산 시 고려되지 않았던 연결경로 및 역방향경로의 동적 장애물과의 충돌을 확인함으로써, 보다 빠르고 안정적인 경로생성이 가능한 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도.
도 2는 본 발명의 다른 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도.
도 3은 본 발명의 또 다른 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다.
도 1은 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도이고, 도 2는 본 발명의 다른 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도이며, 도 3은 본 발명의 또 다른 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도이다.
설명에 앞서, 본 명세서( 및 특허청구범위)에서 사용되는 용어에 대해 간단히 설명하도록 한다.
'시간상태 영역'이란 시간에 대해 고려된 상태값의 집합을 말한다.
'상태값'이란 위치, 방위(헤딩각 등)에 대한 배위값을 포함하고 조향각, 속도(선속도, 각속도), 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 값을 말한다. 예를 들면, (x 좌표, y좌표, 방위, 속도, 가속도) 등이 될 수 있다.
'시간배위 영역'이란 시간에 대해 고려된 배위값의 집합을 말한다.
'배위값'이란 위치, 방위(헤딩각 등)을 포함하는 값을 말한다. 예를 들면, (x 좌표, y좌표, 방위) 등이 될 수 있다.
'웨이포인트'란 로봇의 주행경로 계산 시 로봇이 경유하도록 지정된 위치를 말한다.
설명을 위해 다양한 변수 및 용어를 지정하여 설명하였으며, 그 변수 및 용어들은 아래와 같다.
로봇의 현재 위치의 상태값은 'sk'으로 표기하였고,
로봇의 현재 위치에서 순방향경로로 f 스텝 계산된 상태값은 'sf'으로 표기하였고,
현재 목표 웨이포인트에 로봇의 도착 시 로봇의 상태값은 'gw'로 표기하였고,
현재 목표 웨이포인트에서 역방향경로로 b 스텝 계산된 상태값은 's-b'으로 표기하였고,
몇 스텝에 해당되는 계산인지 표시하는 타임인덱스는 'n'으로 표기하였고,
한 스텝을 계산하는데 부여된 시간 주기는 'T'로 표기하였고,
타임인덱스 n에서의 시간은 't'(t = nT)로 표기하였고,
로봇의 상태값은 's'(소문자 s)로 표기하였고,
로봇의 상태값의 집합인 상태영역은 'S'(대문자 S)로 표기하였고,
타임스텝 n 에서의 상태값인 시간상태값을 sn(소문자 s)이라 표기하였고,
시간상태 영역은 'Sn'(sn ∈ Sn)으로 표기하였고,
로봇의 배위값은 'q'(소문자 q)로 표기하였고,
로봇의 배위값의 집합인 배위영역은 'Q'(대문자 Q)로 표기하였고,
타임스텝 n 에서의 배위값인 시간배위값을 qn(소문자 q)이라 표기하였고,
시간배위 영역은 'Qn'(qn ∈ Qn)으로 표기하였고,
정적 장애물과 충돌하는 배위영역은 '
Figure 112018119651691-pat00007
'로 표기하였고,
정적 장애물과 충돌하지 않는 여유정적배위영역은
Figure 112018119651691-pat00008
(
Figure 112018119651691-pat00009
= Q -
Figure 112018119651691-pat00010
)로 표기하였고,
타임인덱스 n에서 동적장애물과 충돌하는 배위영역은
Figure 112018119651691-pat00011
으로 표기하였고,
정적 장애물 및 동적 장애물과 충돌하지 않는 여유동적배위영역은 '
Figure 112018119651691-pat00012
'(
Figure 112018119651691-pat00013
=
Figure 112018119651691-pat00014
-
Figure 112018119651691-pat00015
)으로 표기하였고,
충돌을 피할 수 없는 상태를 '필연적충돌상태'라 하였다.
기본적인 변수 및 용어를 정리하였으나, 설명에 필요한 모든 변수 및 용어를 정리한 것은 아니며, 상기에 정의된 변수 및 용어 이외에 새로이 등장되는 변수 및 용어들은 추후 설명하도록 한다.
이하, 설명에서는 상태값 sk 에 해당되는 현재 상태의 지점에서 상태값 gw 에 해당되는 목표지점(현재 목표 웨이포인트)으로 로봇을 이동시키는 것을 가정하여 설명하도록 한다.
본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 시간상태 영역에서의 온라인 양방향 경로 계획 방법에 있어서, 순방향경로와 역방향경로를 점진적으로 계획(계산)하는 양방향경로를 계획하며, 순방향경로와 역방향경로를 계획하는데 이용되는 시간상태 영역에서의 상태값 (sn(n은 타임인덱스를 나타내며, 자연수))은 위치, 방위(헤딩각)에 대한 배위값을 포함하고 조향각, 속도(선속도, 각속도), 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 것을 특징으로 한다.
순방향경로 계산은 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점에서 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점을 향한, 상태값(s)과 시간값을 고려한 시간상태 영역에서의 순방향경로를 계산한다.
여기서, 상기 시간값은 현재 시간부터 진행되는 앞으로의 시간을 확인할 수 있는 값으로, 타임인덱스(n) 만으로 사용할 수도 있지만, 한 스텝을 계산하는 계산주기에 타임인덱스(n)을 곱하여(계산주기 * 타임인덱스(n)) 사용할 수 있는 등 실제 진행 시간을 확인할 수 있다면 다양한 방법을 사용할 수 있음은 물론이다.
상기 순방향경로 계산은 최초 로봇의 현재 위치에서 현재 목표 웨이포인트를 향한 시간상태 영역에서의 순방향경로를 계산할 수 있다. 이후 순방향경로와 역방향경로가 계산되었다면 순방향경로의 마지막 계산 지점에서 역방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 순방향경로를 계산할 수 있다.
역방향경로 계산은 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점에서 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 역방향경로를 계산한다.
상기 역방향경로 계산은 최초 현재 목표 웨이포인트에서 로봇의 현재 위치를 향한 시간상태 영역에서의 역방향경로를 계산할 수 있다. 이후 순방향경로와 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점에서 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 순방향경로를 계산한다.
즉, 상기 순방향경로 계산 및 상기 역방향경로 계산은 반대 측 마지막 계산 지점을 향하도록 계획된다.
역방향경로를 계획하는 것은, 로봇이 목표 웨이포인트를 지날 때, 보다 부드럽게 지나가도록 하여, 웨이포인트 간의 간격이 짧거나 웨이포인트 간의 각도가 작을 경우 로봇이 목표 웨이포인트를 지나간 뒤 다음 목표 웨이포인트를 향해 선회하는 경로가 커지게 되는 오버런 현상을 줄이기 위함이다.
본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 순방향경로 계산 및 역방향경로 계산은
이동에 필요한 비용 함수(H)를 분해하고, 분해된 비용 함수(Hr)에 우선순위 (r(r은 자연수))를 부여하며,
미리 정해진 기준에 따라(r* 값을 설정하거나 계산에 의해 정할 수 있음) 상기 분해된 비용 함수(Hr)를 합한 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하여,
n(n은 자연수) 스텝에서의 주어진 상태값(sn), 목표지점에서의 상태 값(sto) 및 계산하고자 하는 스텝 수(m)를 근거로, 상태값(sn)이 주어진 지점에서 목표지점(sto)을 향해 계산하고자 하는 스텝 수(m) 만큼 진행될 스텝에서의 상태값(sn+m)을 구하는 것을 특징으로 할 수 있다.
이때, 각각의 상기 분해된 비용 함수(Hr)에 가중치를 부여하고, 상기 분해된 비용 함수(Hr)에 가중치를 곱한 값들을 합한 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하는 것도 가능함은 물론이다.
또는, 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 순방향경로 계산 및 역방향경로 계산은
이동에 필요한 비용 함수(H)를 분해하고, 분해된 비용 함수(Hr)에 우선순위 (r(r은 자연수))를 부여하며,
우선순위에 따라(r* 값을 설정하거나 계산에 의해 정할 수 있음) 상기 분해된 비용 함수(Hr)를 순차적으로 적용하여, 상기 분해된 비용 함수(Hr) 각각의 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하여,
n 스텝에서의 주어진 상태값(sn), 목표지점에서의 상태 값(sto) 및 계산하고자 하는 스텝 수(m)를 근거로, 상태값(sn)이 주어진 지점에서 목표지점(sto)을 향해 계산하고자 하는 스텝 수 만큼 진행될 스텝에서의 상태값(sn+m)을 구하는 것을 특징으로 할 수 있다.
주어진 상태값 sn을 가진 상태값 sn+m을 계획 할 때, 상태값 sn+m에서 목표 상태값 sto에 해당되는 지점으로 이동하기 위한 이동비용을 최소화하려고 노력한다.
즉, 순방향경로 계산 및 역방향경로 계산은 다음과 같이 정의할 수 있다.
Figure 112018119651691-pat00016
(여기서, sn+m은 n+m 시간에서의 상태값, H는 비용 최소화 함수, s는 주어진 상태 값, sto는 목표지점에서의 상태 값, m은 계산하고자 하는 스텝 수)
비용 최소화 함수 H를 사용하게 되면, 계산에 소요되는 시간이 많아 실시간 경로계산에 적용이 어려운 문제가 있다.
로봇의 입력값 un은 다음과 같이 얻을 수 있다.
Figure 112018119651691-pat00017
여기서
Figure 112018119651691-pat00018
Figure 112018119651691-pat00019
은 최소 노력에 대한 입력에 대한 주어진 이동비용 함수이다.
사용 가능한 로봇의 입력영역으로 제한되는 동적안전상태 내부에 sn+m을 계획하므로 사용 가능한 입력이 항상 존재한다.
이동 비용을 최소화 시키는 이동비용 함수가 너무 복잡하여 실시간으로 경로를 계산할 수 없는 경우, 함수 분해 기반 최적화 방법을 사용할 수 있다.
함수 분해 기반 최적화 방법은 함수를 단순한 부분으로 분해 한 다음 우선 지배적인 부분을 최소화한다. H가 다음과 같이 R 부분으로 구성된다고 가정한다.
Figure 112018119651691-pat00020
여기서 Hr은 우세한 순서로 배열된다. 즉, r이 작은 Hr이 더 우세하다. H1에서 HR까지 하나씩 순차적으로 최소화 할 때 사용 가능한 안전 영역은 더 작아지며, 결국 하나의 상태값이 도출될 때 까지 r 값을 증가시키면서 분해된 비용 함수(Hr)를 최소화 시킨다.
H1에서 Hr까지의 r 부분을 최소화하는 시간상태안전영역
Figure 112018119651691-pat00021
을 다음과 같이 정의할 수 있다.
Figure 112018119651691-pat00022
분해되지 않은 이동비용함수로 계산되는 시간상태안전영역
Figure 112018119651691-pat00023
은 시간상태안전영역
Figure 112018119651691-pat00024
과 동일하다.
하나의 상태값이 도출되는 r 값을
Figure 112018119651691-pat00025
이라 하며,
Figure 112018119651691-pat00026
을 찾을 때까지 분해된 이동비용함수를 계속 최소화 시킨다. 여기서 사용 가능한 시간상태안전영역은 다음과 같이 단일 상태로 축소된다.
Figure 112018119651691-pat00027
여기서,
Figure 112018119651691-pat00028
함수 분해 기반 최소화로부터 얻은 시간상태값이 H를 최소화하지 않을지라도 함수의 지배적 인 부분을 최소화하기 때문에 결과는 최소에 가깝다.
또한, 실시간으로 실행이 가능하며, 계산이 효율적이다.
따라서, 근사 최적 상태 시간 함수(N)를 적용하면 다음과 같이
Figure 112018119651691-pat00029
(여기서, sn+m은 n+m 스텝에서의 상태값, N은 근사 최적 시간상태값 계산 함수, sn은 n 스텝에서의 주어진 상태 값, sto는 목표지점에서의 상태 값, m은 계산하고자 하는 스텝 수)
으로 순방향경로 계산 및 역방향경로 계산을 할 수 있다.
전방향 이동이 가능한 로봇의 예를 들면,
상기 근사 최적 상태 시간 함수(N)는 다음식
Figure 112018119651691-pat00030
(여기서, H1는 속독 독립적인 이동 비용 함수, H2는 각도-이동 방향 부분 비용 함수, H3는 속도 크기 부분 이동 비용 함수)
을 이용하여 계산할 수 있다.
로봇이 목표물 쪽으로 빠르게 움직이도록 유도하고 목표 지점을 효과적으로 통과하기 위해, 이동 비용 함수 H(sfrom, sto)는 세 부분으로 구성될 수 있되며, D는 사전 정의 된 임계 거리이다.
도달 가능한 영역의 각 위치는 허용 가능한 속도 영역과 1 : 1로 매칭 되기 때문에 각 시간 상태는 속도 독립적인 이동 비용 함수 H1을 기반으로 결정된다.
이동 방향 부분 이동 비용 함수 H2 및 속도 크기 부분 이동 비용 함수 H3는 현재 목표 웨이포인트의 상태를 설정하는 데 사용된다.
H1에 기초하여, 각 시간 설정은 목표에 가장 가까운 것으로 결정된다.
H2와 H3은 현재 목표 웨이포인트의 상태를 설정하기 위해 설계되었다.
현재 목표 웨이포인트에서의 속도는 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 결정된다.
방향은 로봇의 위치, 목표 웨이포인트의 위치까지 그리고 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치까지의 두 벡터의 평균 방향으로 결정된다.
또한 목표 웨이포인트에서 속도의 크기는 목표 웨이포인트에서 경로의 내각에 따라 결정된다.
각도가 클수록 속도가 빨라지거나 그 반대로 된다.
로봇의 위치와 목표 웨이포인트 사이 또는 목표 웨이포인트와 그 다음의 웨이포인트 사이의 유클리드 거리가 D보다 작으면, 현재 목표 웨이포인트의 속도의 크기는 웨이포인트 근처에서 진동하지 않도록 거리에 비례하여 설정된다.
바퀴로 이동이 가능한 로봇의 예를 들면, 상기 근사 최적 상태 시간 함수(N)는
다음식
Figure 112018119651691-pat00031
(여기서, H1는 속독 독립적인 이동 비용 함수, H2는 각도-이동 방향 부분 비용 함수, H3는 속도 크기 부분 이동 비용 함수)
을 이용하여 계산할 수 있다.
전방향 이동이 가능한 로봇의 예에서와 같이, 각 시간 상태는 속도 독립적인 이동 비용 함수 H1을 기반으로 결정된다.
목표 위치에 가까운 위치와 목표 위치를 향한 방향을 모두 고려하기 위해 H1은 미리 정의 된 가중치 α를 갖는 두 부분으로 구성된다.
이동 방향 부분 이동 비용 함수 H2 및 속도 크기 부분 이동 비용 함수 H3은 전방향 이동이 가능한 로봇의 예와 유사한 방식으로 현재 목표 웨이포인트의 선형 및 각속도를 설정하는 데 사용된다.
본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 순방향경로 계산은 정적장애물 및 동적장애물과 충돌하지 않는 배위영역 상의 안전한 영역인 시간배위안전영역
Figure 112018119651691-pat00032
이 존재하면, 타임인덱스(n) 에서 로봇의 배위값(
Figure 112018119651691-pat00033
)과 타임인덱스(n) 에서 시간배위안전영역
Figure 112018119651691-pat00034
을 근거로 순방향경로를 계산하는 것을 특징으로 하며,
상기 역방향경로 계산은 안전영역이 존재하면, 타임인덱스(n)에서 로봇의 배위값(
Figure 112018119651691-pat00035
)과 시간배위안전영역
Figure 112018119651691-pat00036
을 근거로 역방향경로를 계산하는 것을 특징으로 할 수 있다.
벽과 같은 정적 환경 장애물과 충돌하는 배위값들의 집합을
Figure 112018119651691-pat00037
이라 하고 '환경장애물영역'(
Figure 112018119651691-pat00038
⊂ Q)이라 하면, 배위영역 Q에서 환경장애물영역
Figure 112018119651691-pat00039
을 뺀 차집합을 '여유정적배위영역'
Figure 112018119651691-pat00040
이라 할 수 있다.
로봇은 센서 데이터를 이용한 추적 알고리즘을 기반으로 사람과 다른 로봇과 같은 각각의 동적 장애물의 경로를 예측할 수 있다.
따라서, 시간 인덱스 n에서 사람과 같은 동적 장애물과 충돌이 예상되는 배위값들의 집합을
Figure 112018119651691-pat00041
이라 하고 '동적장애물영역'(
Figure 112018119651691-pat00042
⊂ Q)이라 하면, 여유정적배위영역
Figure 112018119651691-pat00043
에서 동적장애물영역
Figure 112018119651691-pat00044
을 뺀 차집합을 '여유동적배위영역'
Figure 112018119651691-pat00045
이라 할 수 있다.
즉, 타임인덱스 n 에서의 여유동적배위영역
Figure 112018119651691-pat00046
은 타임인덱스 n에서 동적장애물 및 정적장애물을 포함하는 장애물과 충돌하지 않는 로봇을 위한 안전한 영역이라 할 수 있다.
로봇의 입력영역 U에서 타임인덱스 n 에서의 로봇의 입력값 un(un ∈ U)를 갖는 로봇 시스템의 운동은 다음과 같이 정의할 수 있다.
Figure 112018119651691-pat00047
(여기서, f는 로봇의 운동 모델 함수)
로봇의 상태영역 S와 로봇의 입력영역 U는 경계가 정해져 있기 때문에 로봇 동작은 구속되어 있으며 이를 동작 구속 이라고 한다.
환경 검출기(센서)는 비전 센서 또는 레이저 거리 측정기(LRF) 등 같은 센서를 사용하여 센서 시스템을 기반으로 장애물을 탐지하고 추적하며 정적 장애물(환경 장애물) 및 동적 장애물(비 환경 장애물)로 분류하여
Figure 112018119651691-pat00048
Figure 112018119651691-pat00049
을 얻을 수 있다.
웨이포인트를 부여하여 경로를 계획하는 글로벌 경로 플래너(Global path planner)는 여유정적배위영역은
Figure 112018119651691-pat00050
내부에 일련의 웨이포인트와 목표를 계획한다.
매 순간 t = kT, k = 0, 1,.. . 알고리즘은 참조 입력 k를 사용하여 경로를 계획한다.
이 입력을 통해 로봇은 웨이포인트를 순차적으로 통과하고
Figure 112018119651691-pat00051
Figure 112018119651691-pat00052
을 사용하여 충돌 없이 목표에 도달하는 경로를 계획할 수 있다.
시간상태값 sn이 주어질 때, 타임인덱스 n + m에서의 도달 가능한 시간상태 영역을 정의할 수 있으며, 이때, 도달 가능한 시간배위 영역 역시 정의할 수 있다.
실시간 경로 계획을 위해, 도달 할 수 있는 시간상태 영역 또는 시간배위 영역을 근사화 하여 계산량을 줄이는 것이 바람직하다.
도달 할 수 있는 시간상태 영역 또는 시간배위 영역을 정확하게 계산하여 사용하는 것은 실시간 계산이 어려울 수 있기 때문이다.
도달 가능한 영역을 단순화하기 위해, m 개의 타임스텝에 대해 균일 한 로봇의 입력값으로 로봇을 제어할 수 있다.
균일 한 로봇의 입력값에 의해 접근 가능한 도달 가능한 시간상태 영역은 다음과 같이 정의할 수 있다.
Figure 112018119651691-pat00053
(여기서, g는 근사화 시킨 로봇의 운동 모델 함수)
이때, 균일 한 로봇의 입력값에 의해 근사화 된 도달 가능한 시간배위 영역은 다음과 같이 정의할 수 있다.
Figure 112018119651691-pat00054
Figure 112018119651691-pat00055
Figure 112018119651691-pat00056
은 실제 도달 가능 영역 전체를 커버하지 않지만, 실제 도달 가능 영역 전체를 계산하는 것에 비해 계산 부하가 매우 작기 때문에 실시간 경로 계획에 유용하다.
상태값 sn이 주어지면, 시간 인덱스 n + m에서 안전한 시간상태안전영역
Figure 112018119651691-pat00057
은 다음과 같이 정의할 수 있다.
Figure 112018119651691-pat00058
또한, 상태값 sn이 주어지면, 시간 인덱스 n + m에서 안전한 시간배위안전영역
Figure 112018119651691-pat00059
은 다음과 같이 정의할 수 있다.
Figure 112018119651691-pat00060
Figure 112018119651691-pat00061
Figure 112018119651691-pat00062
내에서 계획되지만
Figure 112018119651691-pat00063
은 예상 충돌을 확인하고 사용 가능한 안전 영역이 있는지 확인하는 것으로 충분하다.
현재 목표 웨이포인트에서 역방향경로의 상기 시간배위안전영역
Figure 112018119651691-pat00064
계산 시,
Figure 112018119651691-pat00065
Figure 112018119651691-pat00066
로 대체된다.
이는,
Figure 112018119651691-pat00067
에 대한 실제 시간을 알 수 없기 때문에 동적 장애물의 데이터를 확인할 수 없기 때문이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 웨이포인트설정 단계(S20), 역방향경로계산 단계(S30), 순방향경로계산 단계(S50) 및 로봇제어명령생성 단계(S60)를 포함할 수 있다.
웨이포인트설정 단계(S20)는 현재 목표 웨이포인트에서의 로봇의 상태를 설정한다.
현재 목표 웨이포인트는 순방향 궤적이 통과하기 위해 향하는 웨이포인트이다.
상기 웨이포인트설정 단계(S20)는 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정하는 것으로, 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정 하는 것이 바람직하다.
따라서, 상기 웨이포인트설정 단계(S20)는 현재 목표 웨이포인트는 순방향경로가 향하는 웨이포인트로 다음 식
Figure 112018119651691-pat00068
(여기서,
Figure 112018119651691-pat00069
는 현재 목표 웨이포인트의 상태값,
Figure 112018119651691-pat00070
Figure 112018119651691-pat00071
를 세팅하는 동안 다음 목표 웨이포인트의 상태값, Gw는 현재 목표 웨이포인트의 상태 범위, Gw+1는 다음 목표 웨이포인트의 상태 범위, H(a, b)는 a에서 b까지 이동에 대한 비용함수,
Figure 112018119651691-pat00072
는 로봇의 현재 위치
Figure 112018119651691-pat00073
는 현재 목표 웨이포인트
Figure 112018119651691-pat00074
는 현재 목표 웨이포인트 다음 웨이포인트를 나타낸다.)
과 같이 이동비용을 최소화 시킬 수 있는 현재 목표 웨이포인트의 상태값(gw)이 설정되는 것을 특징으로 할 수 있다.
역방향경로계산 단계(S30)는 역방향경로를 계산한다.
상기 역방향경로계산 단계(S30)는 현재 목표 웨이포인트에서 로봇의 현재위치를 향해 경로를 계획한다. 이때, 순방향경로가 계산되었다면 순방향경로의 마지막 계산 지점을 향한 역방향경로를 계산할 수 있다.
도 1의 조건문에 표기된 변수 B는 역방향경로 계획을 위한 타임스텝의 최대값, 변수 b는 역방향경로 계획의 타임스텝(반복 계산 시 1 씩 증가)을 의미하나, 변수와 이에 대한 조건은 임의로 설정하여 다양한 방법으로 사용 가능함은 물론이다.(도 2 내지 도 3의 변수도 에도 동일하게 적용)
순방향경로계산 단계(S50)는 순방향경로를 계산한다.
상기 순방향경로계산 단계(S50)는 현재 로봇의 현재위치에서 목표 웨이포인트를 향해 경로를 계획한다. 이때, 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점을 향한 순방향경로를 계산할 수 있다.
도 1의 조건문에 표기된 변수 F는 순방향경로 계획을 위한 타임스텝의 최대값, 변수 f는 역방향경로 계획의 타임스텝(반복 계산 시 1 씩 증가), k는 현재 타임스텝을 의미하나, 변수와 이에 대한 조건은 임의로 설정하여 다양한 방법으로 사용 가능함은 물론이다.(도 2 내지 도 3의 변수도 에도 동일하게 적용)
상기 역방향경로계산 단계(S30)와 순방향경로계산 단계(S50)는 순서를 뒤바꾸어 시행하는 것도 가능하나, 상기 역방향경로계산 단계(S30)를 먼저 수행하는 것이 목표 웨이포인트를 보다 부드럽게 지나가도록 경로를 형성할 수 있어, 상기 역방향경로계산 단계(S30)를 먼저 수행하는 것이 바람직하다.
상기 역방향경로계산 단계(S30)와 순방향경로계산 단계(S50)는 교번되게 반복 수행할 수도 있으며, 상기 역방향경로계산 단계(S30) 또는 상기 순방향경로계산 단계(S50)를 먼저 일정 회수 반복 수행한 후 상기 순방향경로계산 단계(S50) 또는 상기 역방향경로계산 단계(S30)를 나중에 반복 수행할 수도 있는 등 다양한 방법으로 상기 역방향경로계산 단계(S30)와 순방향경로계산 단계(S50)를 반복 수행할 수 있다.
결론적으로, 상기 역방향경로계산 단계(S30)와 순방향경로계산 단계(S50)는 역방향경로와 순방향경로가 연결되어야 현재 위치에서 현재 목표 웨이포인트 까지의 양방향경로계획이 완료된다.
로봇제어명령생성 단계(S60)는 상기 역방향경로계산 단계(S30) 및 상기 순방향경로계산 단계(S50)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산한다.
대부분의 로봇 제어 명령은 순방향경로에 따라 계산되어 진다.
이는, 로봇이 한 타임스텝 동안 이동하기 전에 새로운 양방향 경로에 대한 계산이 완료되어야 실시간 양방향경로가 계획되기 때문이다.
상기 로봇제어명령생성 단계(S60)에서 생성되는 로봇의 입력값은 다음과 같이 계산될 수 있다.
Figure 112018119651691-pat00075
(여기서,
Figure 112018119651691-pat00076
는 k시간에서의 로봇의 입력값,
Figure 112018119651691-pat00077
는 k 번째 스텝에서 1 스텝 진행 가능한 로봇의 입력영역에 포함되는 로봇의 입력값,
Figure 112018119651691-pat00078
는 로봇의 입력값에 대한 최소 비용 함수,
Figure 112018119651691-pat00079
는 k시간에서의 로봇의 상태값,
Figure 112018119651691-pat00080
는 k+1 시간에서의 로봇의 상태값을 나타낸다.)
본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 상기 순방향경로와 상기 역방향경로를 연결하는 연결경로 계산하고, 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하는 것을 특징으로 할 수 있다.
양방향경로를 지속적으로 계획하면 순방향경로와 역방향경로가 만날 수 있지만 속도가 다를 수 있다.
따라서, 상기 순방향경로와 역방향경로의 속도 차이를 극복하기 위해 상기 연결경로에 의해 이어지도록 하는 것이 바람직하다.
즉, 상기 순방향경로 측과 연결되는 연결경로의 일측은 순방향경로의 마지막 계산지점과 속도가 같도록 계산하고, 상기 역방향경로 측과 연결되는 연결경로의 타측은 역방향경로의 마지막 계산지점과 속도가 같도록 연결경로를 계산하는 것이 바람직하다.
이때, 계산을 간소화시키기 위해, 순방향경로의 마지막 계산된 상태값 sf와 역방향경로의 마지막 계산된 상태값 s-b 사이의 구간인 연결경로 계산은 로봇의 입력값을 동일하게 하여 다음 식과 같이 계산하는 것을 특징으로 할 수 있다.
Figure 112018119651691-pat00081
(여기서, f(a, b, c)는 a 상태값에 해당되는 지점에서 c 타임스텝 만큼 b로봇의 입력값으로 이동되는 로봇의 상태값을 계산하는 로봇의 운동 모델 함수이다.)
연결경로의 계산에 이용되는 최대 시간간격을 C라고 할 때,
(c1 + ... + cN) ≤ C 이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 웨이포인트설정 단계(S20), 역방향경로계산 단계(S30), 연결경로확인 단계(S40), 순방향경로계산 단계(S50) 및 로봇제어명령생성 단계(S60)를 포함할 수 있다.
웨이포인트설정 단계(S20)는 현재 목표 웨이포인트에서의 로봇의 상태를 설정한다.현재 목표 웨이포인트는 순방향 궤적이 통과하기 위해 향하는 웨이포인트이다.
상기 웨이포인트설정 단계(S20)는 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정하는 것으로, 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정 하는 것이 바람직하다.
따라서, 상기 웨이포인트설정 단계(S20)는 현재 목표 웨이포인트는 순방향경로가 향하는 웨이포인트로 다음 식
Figure 112018119651691-pat00082
(여기서,
Figure 112018119651691-pat00083
는 현재 목표 웨이포인트의 상태값,
Figure 112018119651691-pat00084
Figure 112018119651691-pat00085
를 세팅하는 동안 다음 목표 웨이포인트의 상태값, Gw는 현재 목표 웨이포인트의 상태 범위, Gw+1는 다음 목표 웨이포인트의 상태 범위, H(a, b)는 a에서 b까지 이동에 대한 비용함수,
Figure 112018119651691-pat00086
는 로봇의 현재 위치
Figure 112018119651691-pat00087
는 현재 목표 웨이포인트
Figure 112018119651691-pat00088
는 현재 목표 웨이포인트 다음 웨이포인트를 나타낸다.)
과 같이 이동비용을 최소화 시킬 수 있는 현재 목표 웨이포인트의 상태값(gw)이 설정되는 것을 특징으로 할 수 있다.
역방향경로계산 단계(S30)는 역방향경로를 계산한다.
상기 역방향경로계산 단계(S30)는 현재 목표 웨이포인트에서 로봇의 현재위치를 향해 경로를 계획한다. 이때, 순방향경로가 계산되었다면 순방향경로의 마지막 계산 지점을 향한 역방향경로를 계산할 수 있다.
상기 역방향경로계산 단계(S30)는 역방향경로를 한 스텝씩 계산할 수도 있고, 정해진 스텝 단위로 계산하는 것도 가능하다.
연결경로확인 단계(S40)는 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점과 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점이 연결되는 연결경로가 존재하는지 확인한다.
상기 연결경로확인 단계(S40)는 역방향경로가 한 스텝 계산될 때 마다 수행할 수도 있고, 역방향경로가 정해진 스텝 수 만큼 계산될 때 마다 수행하는 것도 가능하다.
이때, 상기 연결경로확인 단계(S40)에서 연결경로가 존재하지 않으면 상기 역방향경로계산 단계(S30)부터 연결경로확인 단계(S40)까지 정해진 회수만큼 반복 수행하고, 상기 연결경로확인 단계(S40)에서 연결경로가 존재하면 상기 웨이포인트설정 단계(S20)로 되돌아가는 것을 특징으로 할 수 있다.
즉, 역방향경로를 한 스텝 계산할 때마다 연결경로가 존재하는지 확인하고, 연결경로가 존재하지 않는다면 미리 정해진 회수만큼 역방향경로를 먼저 계산한다.
순방향경로보다 역방향경로를 먼저 계획하는 것은 로봇이 목표 웨이포인트를 지날 때, 보다 부드럽게 지나가도록 하여, 웨이포인트 간의 간격이 짧거나 웨이포인트 간의 각도가 작을 경우 로봇이 목표 웨이포인트를 지나간 뒤 다음 목표 웨이포인트를 향해 선회하는 경로가 커지게 되는 오버런 현상을 줄이기 위함이다.
또한, 역방향경로를 미리 정해진 회수만큼 먼저 계산하는 것 역시, 로봇이 목표 웨이포인트를 지날 때, 보다 부드럽게 지나가도록 하기 위함이다.
이때, 상기 역방향경로계산 단계(S30)부터 연결경로확인 단계(S40)까지 정해진 회수만큼 반복 수행되었다면, 연결경로가 존재하지 않더라도 다음 단계로 넘어가는 것을 특징으로 할 수 있다.
순방향경로계산 단계(S50)는 상기 연결경로확인 단계(S40)에서 연결경로가 존재하지 않으면, 순방향경로를 계산한다.
상기 순방향경로계산 단계(S50)는 현재 로봇의 현재위치에서 목표 웨이포인트를 향해 경로를 계획한다. 이때, 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점을 향한 순방향경로를 계산할 수 있다.
상기 순방향경로계산 단계(S50)는 순방향경로를 한 스텝씩 계산할 수도 있고, 정해진 스텝 단위로 계산하는 것도 가능하다.
로봇제어명령생성 단계(S60)는 상기 순방향경로계산 단계(S50)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산한다.
대부분의 로봇 제어 명령은 순방향경로에 따라 계산되어 진다.
이는, 로봇이 한 타임스텝 동안 이동하기 전에 새로운 양방향 경로에 대한 계산이 완료되어야 실시간 양방향경로가 계획되기 때문이다.
상기 로봇제어명령생성 단계(S60)에서 생성되는 로봇의 입력값은 다음과 같이 계산될 수 있다.
Figure 112018119651691-pat00089
(여기서,
Figure 112018119651691-pat00090
는 k시간에서의 로봇의 입력값,
Figure 112018119651691-pat00091
는 k 번째 스텝에서 1 스텝 진행 가능한 로봇의 입력영역에 포함되는 로봇의 입력값,
Figure 112018119651691-pat00092
는 로봇의 입력값에 대한 최소 비용 함수,
Figure 112018119651691-pat00093
는 k시간에서의 로봇의 상태값,
Figure 112018119651691-pat00094
는 k+1 시간에서의 로봇의 상태값을 나타낸다.)
본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 상기 연결경로확인 단계(S40)는 연결경로가 존재하면, 연결경로 및 역방향경로에 대한 순방향 타임인덱스를 설정하고, 연결경로 및 역방향경로에서 필연적충돌상태가 발생하는지 확인한 후, 필연적충돌상태가 발생되지 않으면 순방향경로의 시간 변수, 역방향경로의 시간 변수 및 다음 웨이포인트를 통과하는 순방향경로의 시간 변수를 계산하여 변경하는 것을 특징으로 할 수 있다.
순방향경로에 적용되는 순방향 타임인덱스는 절대시간(로봇 기준의 시간)을 알 수 있다. 따라서, 동적 장애물의 충돌을 예측할 수 있다.
하지만, 역방향경로에 적용되는 역방향 타임인덱스와 연결경로에 적용되는 타임인덱스는 절대시간을 알 수 없기 때문에 동적 장애물의 충돌을 예측할 수 없다.
따라서, 순방향경로와 연결경로 및 역방향경로가 연결된다면, 동적 장애물의 충돌을 확인하기 위해, 연결경로 및 역방향경로에 사용되었던 타임인덱스를 순방향경로에 적용되는 순방향 타임인덱스로 바꾸어 주어야 하며, 이로 인해 연결경로와 역방향경로의 절대시간을 알 수 있고, 역방향경로 및 연결경로에서 예측 된 충돌이 있는지 확인할 수 있다.
역방향경로 및 연결경로에서 예측 충돌이 없다면 현재 로봇의 위치에서 현재 목표 웨이포인트 까지의 양방향경로는 완성된다.
이상에서 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법에 대하여 설명하였지만, 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.
즉, 상술한 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
S20: 웨이포인트설정 단계
S30: 역방향경로계산 단계
S40: 연결경로확인 단계
S50: 순방향경로계산 단계
S60: 로봇제어명령생성 단계

Claims (10)

  1. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 시간상태 영역에서의 온라인 양방향 경로 계획 방법에 있어서,
    로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점에서 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점을 향한, 상태값(s)과 시간값을 고려한 시간상태 영역에서의 순방향경로 계산,
    현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점에서 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 역방향경로 계산을 근거로 상기 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하며,
    순방향경로와 역방향경로를 계획하는데 이용되는 시간상태 영역에서의 상태값 (sn(n은 타임인덱스를 나타내며, 자연수))은 위치, 방위에 대한 배위값을 포함하고 조향각, 속도, 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 것을 특징으로 하고,
    상기 순방향경로 계산 및 역방향경로 계산은
    이동에 필요한 비용 함수(H)를 분해하고, 분해된 비용 함수(Hr)에 우선순위 (r(r은 자연수))를 부여하며,
    미리 정해진 기준에 따라(r* 값을 설정하거나 계산에 의해 정할 수 있음) 상기 분해된 비용 함수(Hr)를 합한 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하여,
    n 스텝에서의 주어진 상태값(sn), 목표지점에서의 상태 값(sto) 및 계산하고자 하는 스텝 수(m)를 근거로, 상태값(sn)이 주어진 지점에서 목표지점(sto)을 향해 계산하고자 하는 스텝 수 만큼 진행될 스텝에서의 상태값(sn+m)을 구하는 것을 특징으로 하는 시간상태 영역에서의 온라인 양방향 경로 계획 방법.
  2. 삭제
  3. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 시간상태 영역에서의 온라인 양방향 경로 계획 방법에 있어서,
    로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점에서 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점을 향한, 상태값(s)과 시간값을 고려한 시간상태 영역에서의 순방향경로 계산,
    현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점에서 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 역방향경로 계산을 근거로 상기 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하며,
    순방향경로와 역방향경로를 계획하는데 이용되는 시간상태 영역에서의 상태값 (sn(n은 타임인덱스를 나타내며, 자연수))은 위치, 방위에 대한 배위값을 포함하고 조향각, 속도, 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 것을 특징으로 하고,
    상기 순방향경로 계산 및 역방향경로 계산은
    이동에 필요한 비용 함수(H)를 분해하고, 분해된 비용 함수(Hr)에 우선순위 (r(r은 자연수))를 부여하며,
    우선순위에 따라(r* 값을 설정하거나 계산에 의해 정할 수 있음) 상기 분해된 비용 함수(Hr)를 순차적으로 적용하여, 상기 분해된 비용 함수(Hr) 각각의 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하여,
    n 스텝에서의 주어진 상태값(sn), 목표지점에서의 상태 값(sto) 및 계산하고자 하는 스텝 수(m)를 근거로, 상태값(sn)이 주어진 지점에서 목표지점(sto)을 향해 계산하고자 하는 스텝 수 만큼 진행될 스텝에서의 상태값(sn+m)을 구하는 것을 특징으로 하는 시간상태 영역에서의 온라인 양방향 경로 계획 방법.
  4. 제1항에 있어서,
    상기 순방향경로 계산은
    정적장애물 및 동적장애물과 충돌하지 않는 배위영역 상의 안전한 영역인 시간배위안전영역
    Figure 112018119651691-pat00095
    이 존재하면, 타임인덱스(n) 에서 로봇의 배위값(
    Figure 112018119651691-pat00096
    )과 타임인덱스(n) 에서 시간배위안전영역
    Figure 112018119651691-pat00097
    을 근거로 순방향경로를 계산하는 것을 특징으로 하며,
    상기 역방향경로 계산은
    안전영역이 존재하면, 타임인덱스(n)에서 로봇의 배위값(
    Figure 112018119651691-pat00098
    )과 시간배위안전영역
    Figure 112018119651691-pat00099
    을 근거로 역방향경로를 계산하는 것을 특징으로 하는 시간상태 영역에서의 온라인 양방향 경로 계획 방법.
  5. 제1항에 있어서,
    상기 시간상태 영역에서의 온라인 양방향 경로 계획 방법은
    현재 목표 웨이포인트에서의 로봇의 상태를 설정하는 웨이포인트설정 단계(S20);
    역방향경로를 계산하는 역방향경로계산 단계(S30);
    순방향경로를 계산하는 순방향경로계산 단계(S50); 및
    상기 역방향경로계산 단계(S30) 및 상기 순방향경로계산 단계(S50)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산하는 로봇제어명령생성 단계(S60);
    를 포함하는 시간상태 영역에서의 온라인 양방향 경로 계획 방법.
  6. 삭제
  7. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 시간상태 영역에서의 온라인 양방향 경로 계획 방법에 있어서,
    로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점에서 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점을 향한, 상태값(s)과 시간값을 고려한 시간상태 영역에서의 순방향경로 계산,
    현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점에서 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 역방향경로 계산을 근거로 상기 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하며,
    순방향경로와 역방향경로를 계획하는데 이용되는 시간상태 영역에서의 상태값 (sn(n은 타임인덱스를 나타내며, 자연수))은 위치, 방위에 대한 배위값을 포함하고 조향각, 속도, 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 것을 특징으로 하고,
    상기 시간상태 영역에서의 온라인 양방향 경로 계획 방법은
    상기 순방향경로와 상기 역방향경로를 연결하는 연결경로 계산하고, 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하는 것을 특징으로 하며,
    상기 시간상태 영역에서의 온라인 양방향 경로 계획 방법은
    현재 목표 웨이포인트에서의 로봇의 상태를 설정하는 웨이포인트설정 단계(S20);
    역방향경로를 계산하는 역방향경로계산 단계(S30);
    로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점과 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점이 연결되는 연결경로가 존재하는지 확인하는 연결경로확인 단계(S40);
    상기 연결경로확인 단계(S40)에서 연결경로가 존재하지 않으면, 순방향경로를 계산하는 순방향경로계산 단계(S50); 및
    상기 순방향경로계산 단계(S50)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산하는 로봇제어명령생성 단계(S60);
    를 포함하는 시간상태 영역에서의 온라인 양방향 경로 계획 방법.
  8. 제7항에 있어서,
    상기 연결경로확인 단계(S40)는
    연결경로가 존재하면, 연결경로 및 역방향경로에 대한 순방향 타임인덱스를 설정하고, 연결경로 및 역방향경로에서 필연적충돌상태가 발생하는지 확인한 후, 필연적충돌상태가 발생되지 않으면 순방향경로의 시간 변수, 역방향경로의 시간 변수 및 다음 웨이포인트를 통과하는 순방향경로의 시간 변수를 계산하여 변경하는 것을 특징으로 하는 시간상태 영역에서의 온라인 양방향 경로 계획 방법.
  9. 제 1항, 제 3항, 제 4항, 제 5항, 제 7항 또는 제 8항에 기재된 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
  10. 제 1항, 제 3항, 제 4항, 제 5항, 제 7항 또는 제 8항에 기재된 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
KR1020180151119A 2018-11-29 2018-11-29 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 KR101990878B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180151119A KR101990878B1 (ko) 2018-11-29 2018-11-29 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
US16/679,357 US20200174482A1 (en) 2018-11-29 2019-11-11 Online bidirectional trajectory planning method in state-time space, recording medium storing program for executing same, and computer program stored in recording medium for executing same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180151119A KR101990878B1 (ko) 2018-11-29 2018-11-29 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR101990878B1 true KR101990878B1 (ko) 2019-06-19

Family

ID=67104313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180151119A KR101990878B1 (ko) 2018-11-29 2018-11-29 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Country Status (2)

Country Link
US (1) US20200174482A1 (ko)
KR (1) KR101990878B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516857A (zh) * 2019-08-12 2019-11-29 中国农业大学 一种死鱼捕捞路径规划方法、服务器及死鱼捕捞装置
CN111994064A (zh) * 2020-08-31 2020-11-27 中国第一汽车股份有限公司 车辆控制方法、装置、设备、***及存储介质
CN112230659A (zh) * 2020-10-16 2021-01-15 深圳裹动智驾科技有限公司 精准规划运动轨迹的方法、智能控制设备及自动驾驶车辆
CN114323051A (zh) * 2022-01-07 2022-04-12 苏州挚途科技有限公司 路口行驶轨迹的规划方法、装置和电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11148668B2 (en) * 2019-10-15 2021-10-19 Uatc, Llc Autonomous vehicle control for reverse motion
CN111754605A (zh) * 2020-06-28 2020-10-09 深圳壹账通智能科技有限公司 用户轨迹绘制方法、装置、计算机设备及存储介质
CN112577506B (zh) * 2020-10-30 2023-04-07 上汽大众汽车有限公司 一种自动驾驶局部路径规划方法和***
CN113359718B (zh) * 2021-05-26 2022-11-22 西安理工大学 移动机器人全局路径规划与局部路径规划融合方法及设备
US11679804B2 (en) * 2021-06-01 2023-06-20 GM Global Technology Operations LLC Limiting system for constraining the commanded steering angle of a steering system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1019592A (ja) * 1996-07-03 1998-01-23 Kenwood Corp 経路誘導装置
JP2004302622A (ja) * 2003-03-28 2004-10-28 Nissan Motor Co Ltd 車両用制動制御装置
KR101079197B1 (ko) 2010-03-25 2011-11-03 부산대학교 산학협력단 자율주행 장치의 경로추적 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1019592A (ja) * 1996-07-03 1998-01-23 Kenwood Corp 経路誘導装置
JP2004302622A (ja) * 2003-03-28 2004-10-28 Nissan Motor Co Ltd 車両用制動制御装置
KR101079197B1 (ko) 2010-03-25 2011-11-03 부산대학교 산학협력단 자율주행 장치의 경로추적 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516857A (zh) * 2019-08-12 2019-11-29 中国农业大学 一种死鱼捕捞路径规划方法、服务器及死鱼捕捞装置
CN111994064A (zh) * 2020-08-31 2020-11-27 中国第一汽车股份有限公司 车辆控制方法、装置、设备、***及存储介质
CN112230659A (zh) * 2020-10-16 2021-01-15 深圳裹动智驾科技有限公司 精准规划运动轨迹的方法、智能控制设备及自动驾驶车辆
CN114323051A (zh) * 2022-01-07 2022-04-12 苏州挚途科技有限公司 路口行驶轨迹的规划方法、装置和电子设备
CN114323051B (zh) * 2022-01-07 2024-02-02 苏州挚途科技有限公司 路口行驶轨迹的规划方法、装置和电子设备

Also Published As

Publication number Publication date
US20200174482A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
KR101990878B1 (ko) 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
KR101987868B1 (ko) 시간상태 영역에서의 장애물 회피 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
Cimurs et al. Goal-driven autonomous exploration through deep reinforcement learning
Stahl et al. Multilayer graph-based trajectory planning for race vehicles in dynamic scenarios
JP4699426B2 (ja) 障害物回避方法と障害物回避移動装置
Kushleyev et al. Time-bounded lattice for efficient planning in dynamic environments
Wu et al. Guaranteed infinite horizon avoidance of unpredictable, dynamically constrained obstacles
KR102049962B1 (ko) 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
Mujahad et al. Closest Gap based (CG) reactive obstacle avoidance navigation for highly cluttered environments
WO2017144350A1 (en) Method for motion planning for autonomous moving objects
Fulgenzi et al. Probabilistic motion planning among moving obstacles following typical motion patterns
Mehdi et al. Collision avoidance through path replanning using Bézier curves
CN114237256B (zh) 一种适用于欠驱动机器人的三维路径规划与导航方法
Nakhaeinia et al. A behavior-based approach for collision avoidance of mobile robots in unknown and dynamic environments
Chen et al. Risk-aware trajectory sampling for quadrotor obstacle avoidance in dynamic environments
Spanogiannopoulos et al. Sampling-based non-holonomic path generation for self-driving cars
Sundarraj et al. Route planning for an autonomous robotic vehicle employing a weight-controlled particle swarm-optimized Dijkstra algorithm
Signifredi et al. A general purpose approach for global and local path planning combination
KR102097715B1 (ko) 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
Fuad et al. Collision Avoidance of Multi Modal Moving Objects for Mobile Robot Using Hybrid Velocity Obstacles.
Raj et al. Dynamically feasible trajectory planning for anguilliform-inspired robots in the presence of steady ambient flow
Bis et al. Velocity occupancy space: Robot navigation and moving obstacle avoidance with sensor uncertainty
Molinos et al. Dynamic obstacle avoidance based on curvature arcs
Weckx et al. Open experimental AGV platform for dynamic obstacle avoidance in narrow corridors
CN112799414B (zh) 一种auv松弛轨迹规划方法

Legal Events

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