KR102049962B1 - 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 - Google Patents

샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 Download PDF

Info

Publication number
KR102049962B1
KR102049962B1 KR1020190044775A KR20190044775A KR102049962B1 KR 102049962 B1 KR102049962 B1 KR 102049962B1 KR 1020190044775 A KR1020190044775 A KR 1020190044775A KR 20190044775 A KR20190044775 A KR 20190044775A KR 102049962 B1 KR102049962 B1 KR 102049962B1
Authority
KR
South Korea
Prior art keywords
sampling
acceleration
robot
planning method
velocity
Prior art date
Application number
KR1020190044775A
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 KR1020190044775A priority Critical patent/KR102049962B1/ko
Application granted granted Critical
Publication of KR102049962B1 publication Critical patent/KR102049962B1/ko
Priority to PCT/KR2020/002787 priority patent/WO2020213829A1/ko
Priority to CN202080029409.XA priority patent/CN113710431B/zh
Priority to US17/604,216 priority patent/US12025970B2/en
Priority to EP20792073.7A priority patent/EP3957446A4/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/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
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden 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/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
    • 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
    • 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
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50393Floor conveyor, AGV automatic guided vehicle

Landscapes

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

Abstract

본 발명은 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 트리구조로 경로를 계획할 때, 이동 로봇이 선택할 수 없는 입력값에 해당되는 상태값들은 계산에서 제외시키고, 로봇이 실현 가능한 상태값들의 집합 중 일부를 샘플링 하여, 계산이 필요한 노드 수를 줄여 실시간 경로 계획이 가능한 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공한다.

Description

샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 {SAMPLING BASED OPTIMAL TREE PLANNING METHOD 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 알고리즘에 비해 더 빠른 탐색 시간을 달성할 수 있다.
지역 경로계획은 지역 궤적 계획기(local trajectory planner)가 현재 로봇의 상태(state)와 지역 환경 정보를 기반으로 로봇에게 주어진 전역 경로계획(global plan)에 의해 생성된 경로를 따라감에 있어서 비환경적 장애물에 의한 충돌이 일어나지 않도록 이동할 수 있게 궤적을 계획하는 기술이다.
지역 경로계획은 환경 변화가 필연적으로 발생하는 일상 공간에서 장애물과 충돌 없이 이동로봇이 목적지로 이동하기 위한 필수적인 기술이며, 상기 전역 경로 계획과 달리 실시간성이 요구된다.
상기한 바와 같은 지역 경로계획 방법에 대한 종래기술의 예로서, 로봇이 지나가야 하는 웨이포인트를 부여하여 경로를 순차적으로 계획하는 증분(점진적) 계획 방법(Incremental planning method)이 있다.
종래의 증분(점진적) 계획 방법(Incremental planning method)은 로봇이 궤적을 계획하는 타임 스텝마다 장애물에 충돌하지 않으면서 정해진 비용함수가 최소가 되는 입력을 선택하여 전역적으로 계획된 경로를 최대한 수정하지 않는 최선의 궤적을 생성하며 이동하도록 유도한다. 이러한 경우, 이전에 결정한 선택으로 인하여 장애물과 충돌이 없는 궤적을 생성할 수 없어 고립되거나, 충돌이 없지만 자연스러운 궤적을 생성하지 못할 수 있고, 로봇에게 높은 부하를 요구하는 움직임을 유도하게 될 수 있는 문제가 있다.
한국등록특허 [10-1664575]에서는 모바일 로봇의 장애물 회피 시스템 및 방법이 개시되어 있다.
한국등록특허 [10-1664575](등록일자: 2016.10.04)
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 트리구조로 경로를 계획할 때, 이동 로봇이 선택할 수 없는 입력값에 해당되는 상태값들은 계산에서 제외시키고, 로봇이 실현 가능한 상태값들의 집합 중 일부를 샘플링 하여, 계산이 필요한 노드 수를 줄여 실시간 경로 계획이 가능한 샘플링기반의 최적 트리를 이용한 지역적 경로 계획 방법을 제공하는 것이다.
본 발명의 실 시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 샘플링기반의 최적 트리를 이용한 경로 계획 방법에 있어서, 로봇의 이동이 제어되는 시간은 일정한 기준에 의하여 타임스텝으로 구분되고, 상기 연산처리수단이 특정 타임스텝에서 로봇이 계산을 필요로 하는 상태값인 부모노드에서 실현 가능한 상태값들의 집합으로 이루어진 영역 중, 미리 결정된 방식에 따라 샘플링된 입력값에 따른 상태값인 자식노드를 추출하는 샘플링 단계(S10); 및 상기 샘플링 단계(S10)의 부모노드에서 자식노드로의 상태 천이에 대한 비용(cost)을 계산하는 상태트리작성 단계(S20);를 포함하며, 상기 샘플링 단계(S10)부터 상태트리작성 단계(S20) 까지의 과정을, 로봇의 현재 시점으로부터 N(자연수) 개의 타임 스텝까지 반복 수행하며, 상기 부모노드에서 상기 자식노드까지의 상태 천이에 대한 비용(cost)을 근거로 최적 경로를 생성하는 것을 특징으로 한다.
또한, 상기 샘플링 단계(S10)는 선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 또는 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 선속도, 각속도, 선가속도 또는 각가속도가 0에 가까울수록 해당되는 자식노드 간의 간격이 좁아지도록 입력값을 추출하는 것을 특징으로 한다.
또, 상기 샘플링 단계(S10)는 선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역에 속한 속도값에 해당되는 노드를 추출하고, 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역에 속한 가속도값에 해당되는 노드를 추출한 뒤, 속도영역 및 가속도영역을 선속도와 각속도 공간 또는 선가속도와 각가속도 공간 중 선택되는 어느 하나의 공간으로 통일하고, 속도영역과 가속도영역이 중첩된 영역에 속하는 상태값에 대응하는 노드를 자식노드로 추출하는 것을 특징으로 한다.
또한, 상기 샘플링 단계(S10)는 통일된 공간에서의 속도영역의 경계와 가속도영역의 경계의 교점값에 해당하는 노드를 자식노드로 추가 추출하는 것을 특징으로 한다.
또, 상기 샘플링 단계(S10)는 선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 및 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 선속도와 각속도 공간 또는 선가속도와 각가속도 공간 중 선택되는 어느 하나의 공간으로 통일하고, 속도영역과 가속도영역이 중첩된 영역인 로봇의 실제 실현 가능한 영역에 속하는 상태값에 대응하는 노드를 자식노드로 추출하는 것을 특징으로 한다.
또한, 상기 상태트리작성 단계(S20)는 상기 샘플링 단계(S10)에서 추출된 자식노드들 중 장애물과 충돌하지 않는 자식노드들에 대해서만 상태 천이에 대한 비용(cost)을 계산하는 것을 특징으로 한다.
또한, 상기 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 로봇의 현재 시점으로부터 마지막 타임 스텝에 해당되는 자식노드까지의 상태 천이에 대한 비용(cost)과 마지막 타임 스텝에 해당되는 자식노드로부터 목표 지점 까지의 상태 천이에 대한 비용(heuristic)을 합한 비용이 최소가 되는 마지막 타임 스텝에 해당되는 자식노드 까지의 경로를 최적 경로로 결정하는 것을 특징으로 한다.
또, 상기 타임 스텝은 각각의 타임 스텝 마다 시간 간격이 정의되며, 상기 각각의 타임 스텝 별 시간 간격은 미리 정해진 규칙에 따라 정해진 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따르면, 상기 샘플링기반의 최적 트리를 이용한 경로 계획 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따르면, 상기 샘플링기반의 최적 트리를 이용한 경로 계획 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 의하면, 트리구조로 경로를 계획할 때, 이동 로봇이 선택할 수 없는 입력값에 해당되는 상태값들은 계산에서 제외시키고, 로봇이 실현 가능한 상태값들의 집합 중 일부를 샘플링 하여, 계산이 필요한 노드 수를 줄여 연산 시간을 단축시킴으로써, 실시간 경로 계획이 가능한 효과가 있다.
또한, 이동 로봇은 미래의 정해진 시점까지 모든 입력값의 조합에 따른 상황을 예측하지 않고도 사전에 정의된 동작에 따른 비용에 따라 전체 비용의 합이 가장 적게 되면서 충돌이 없는 궤적을 생성할 수 있어, 연산 시간을 단축 시킬 수 있는 효과가 있다.
또, 종래 기술과 달리 정해진 시점까지의 궤적 전반에 대하여 비용을 고려할 수 있기 때문에 이전 선택에 의하여 고립되거나 자연스럽지 못한 불필요한 궤적을 생성하지 않게 되는 효과가 있다.
또한, 로봇의 실현 가능한 속도영역 또는 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 선속도, 각속도, 선가속도 또는 각가속도가 0에 가까울수록 해당되는 자식노드 간의 간격이 좁아지도록 입력값을 추출함으로써, 보다 부드러운 로봇의 움직임을 구현할 수 있는 효과가 있다.
또, 로봇의 실현 가능한 가속도 영역 내부의 특정한 가속도값들에 대한 상태 천이에 대한 비용(cost)을 먼저 계산 후, 계산 결과가 최소가 되는 해당 상태값에 가까울수록 자식노드 간의 간격이 좁아지도록 입력값을 추가 추출함으로써, 보다 부드러운 로봇의 움직임을 구현할 수 있는 효과가 있다.
또한, 통일된 공간에서의 속도 영역과와 가속도 영역의 교집합에 해당되는 영역에 속하는 입력값에 해당하는 자식노드를 추출함으로써, 선택가능한 자식노드의 수를 줄여 연산 시간을 단축시킬 수 있는 효과가 있다.
또, 장애물과 충돌하지 않는 자식노드들에 대해서만 상태 천이에 대한 비용(cost)을 계산함으로써, 연산 시간을 더욱 단축시킬 수 있는 효과가 있다.
또한, 로봇의 현재 시점으로부터 마지막 타임 스텝에 해당되는 자식노드까지의 상태 천이에 대한 비용(cost)과 마지막 타임 스텝에 해당되는 자식노드로부터 목표 지점 까지의 상태 천이에 대한 비용(heuristic)을 합한 비용이 최소가 되는 경로를 최적 경로로 결정함으로써, 연산량을 줄임과 동시에 최적 경로를 계산 할 수 있는 효과가 있다.
아울러, 각 계층 별 시간 간격을 서로 다르게 함으로써, 타임 스텝 수에 비해 보다 멀리까지의 미래를 예측할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 흐름도.
도 2는 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 상태 트리에 대한 예시도.
도 3은 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법이 적용된 로봇의 이동 경로 계획에 대한 블록도.
도 4는 선속도(
Figure 112019039369385-pat00001
)와 각속도(
Figure 112019039369385-pat00002
) 공간에서 로봇의 실현 가능한 속도영역을 녹색 마름모 형태로 표현한 예시도.
도 5는 선가속도(
Figure 112019039369385-pat00003
)와 각가속도(
Figure 112019039369385-pat00004
) 공간에서 로봇의 실현 가능한 가속도영역을 하늘색 마름모 형태로 표현하고, 가속도영역을 선형 스케일(linear-scale)로 변환하여 실현가능한 영역을 등간격으로 나누어 샘플링하고, 그 영역 내부에 속하는 유한한 점들의 집합을 실현가능한 가속도값(노란점)으로 표현한 예시도.
도 6은 속도영역에 속한 현재 속도값(노란점)을 기준으로 실현 가능한 가속도영역과의 교집합에 속한 속도값(녹색점은 샘플링으로 추출된 속도값, 붉은 점은 속도영역과 가속도영역의 경계의 교점에 해당되는 속도값)을 표현한 예시도.
도 7은 로봇의 실현가능한 입력값을 선택하여 해당되는 노드를 자식 노드(노란 점)로 선정하는 예를 보여주는 예시도.
도 8은 도 7에서 장애물과 충돌 확인 후 충돌하는 자식 노드를 제외(빨간 사선)하는 예를 보여주는 예시도.
도 9는 목표 웨이포인트로의 최적 경로를 설정함에 있어서 상태트리내의 한 잎 노드가 확장 대상 노드로 결정된 예를 보여주는 예시도.
도 10은 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법이 적용된 알고리즘의 예를 보여주는 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다.
도 1은 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 흐름도이고, 도 2는 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 상태 트리에 대한 예시도이며, 도 3은 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법이 적용된 로봇의 이동 경로 계획에 대한 블록도이고, 도 4는 선속도(
Figure 112019039369385-pat00005
)와 각속도(
Figure 112019039369385-pat00006
) 공간에서 로봇의 실현 가능한 속도영역을 녹색 마름모 형태로 표현한 예시도이며, 도 5는 선가속도(
Figure 112019039369385-pat00007
)와 각가속도(
Figure 112019039369385-pat00008
) 공간에서 로봇의 실현 가능한 가속도영역을 하늘색 마름모 형태로 표현하고, 가속도영역을 선형 스케일(linear-scale)로 변환하여 실현가능한 영역을 등간격으로 나누어 샘플링하고, 그 영역 내부에 속하는 유한한 점들의 집합을 실현가능한 가속도값(노란점)으로 표현한 예시도이고, 도 6은 속도영역에 속한 현재 속도값(노란점)을 기준으로 실현 가능한 가속도영역과의 교집합에 속한 속도값(녹색점은 샘플링으로 추출된 실현 가능한 속도값, 붉은 점은 속도영역과 가속도영역의 경계의 교점에 해당되는 속도값)을 표현한 예시도이며, 도 7은 로봇의 실현가능한 입력값을 선택하여 해당되는 노드를 자식 노드(노란 점)로 선정하는 예를 보여주는 예시도이고, 도 8은 도 7에서 장애물과 충돌 확인 후 충돌하는 자식 노드를 제외(빨간 사선)하는 예를 보여주는 예시도이며, 도 9는 목표 웨이포인트로의 최적 경로를 설정함에 있어서 상태트리내의 한 잎 노드가 확장 대상 노드로 결정된 예를 보여주는 예시도이고, 도 10은 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법이 적용된 알고리즘의 예를 보여주는 흐름도이다.
설명에 앞서, 본 명세서(및 특허청구범위)에서 사용되는 용어에 대해 간단히 설명하도록 한다.
로봇의 상태값은 로봇의 자세, 속도, 시점 중 선택되는 어느 하나 또는 복수의 정보를 포함할 수 있다.
로봇의 자세는 위치를 나타내는 좌표 데이터와 선수각 정보를 포함할 수 있다.
'노드'는 상태 트리내에서 로봇이 취할 수 있는 상태값을 의미한다.
노드와 노드를 잇는 선은 '엣지(edge)'라고 명명하며, 로봇의 상태 천이에 대한 비용(cost)을 의미한다. 즉, 이 값이 높을수록 현재 상태에서 그 상태로의 변환에 요구되는 로봇의 비용이 크다는 것을 의미한다.
노드와 엣지로 표현된 집합을 '상태 트리'라고 명명한다.
상태 트리의 루트 노드(root node)란 현 위치에서 로봇의 상태를 의미한다.
즉, 상태 트리는 정해진 시점마다 로봇이 가질 수 있는 상태값들을 트리 구조로 표현한 것을 의미한다.
상태 트리는 부모 노드(parent node)에서 자식 노드(child node)로 확장할 수 있으며, 이는 로봇이 어떤(부모 노드) 상태에서 다른(자식 노드) 상태로 천이됨을 뜻한다.
상태 트리에서 '부모 노드'는 여러 가지 '자식 노드'를 가질 수 있고, 확장된 자식 노드는 하나의 부모 노드로서 또 다른 여러 개의 자식 노드를 가질 수 있다.
상태 트리에서 후보 노드는 상기 부모 노드로부터 파생될 수 있는 임의의 노드를 의미하며, 특정 조건을 만족하게 되면 상기 자식 노드로 결정될 수 있다.
따라서, 상태 트리에는 계층(level)이 존재하게 되며, 각 계층 사이에는 시간 간격이 정의되고, 이 시간 간격을 '타임 스텝' 이라 명명한다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법을 이용해서 루트 노드(root node)에서 N개의 타임 스텝까지 확장했을 때, 마지막 타임 스텝의 노드를 '잎 노드(leaf node)'라 명명하고, 상기 '잎 노드(leaf node)'는 로봇이 가질 수 있는 상태로 구성된다.
상기 잎 노드(leaf node)는 루트 노드(root node)에서 잎 노드까지의 모든 비용 값의 합인 최종 비용 값과 현재 목표로 지정된 웨이포인트까지의 휴리스틱(heuristic)값을 가지고 있다.
상기 휴리스틱 값은 해당 노드에서 목표 지점까지 가는 데 있어서 발생가능한 비용 값의 추정 값이며, 지도에 표현되지 않은 비환경적 장애물을 제외하고 주어진 전체 지도를 통해 구해질 수 있다.
기본적인 변수 및 용어를 정리하였으나, 설명에 필요한 모든 변수 및 용어를 정리한 것은 아니며, 상기에 정의된 변수 및 용어 이외에 새로이 등장되는 변수 및 용어들은 추후 설명하도록 한다.
이동 로봇이 있으면, 역동성을 고려하기 위해서는 모터의 특성이나 모터에 들어가는 전류, 전압 등을 연산에 사용할 수도 있으나, 연산량이 많아져 실시간 성이 떨어지므로, 이하에서 바퀴의 각속도, 각가속도를 기반으로 설명하도록 한다.
그러나, 본 발명이 바퀴의 각속도, 각가속도를 기반으로 연산하는 것으로 한정된 것이 아님에 유념해야 한다.
이동 로봇이 선택할 수 있는 이동(상태(위치, 방위, 속도 등) 공간)에 대한 입력값의 선택지는 한정적이다. 이때, 입력값에 해당되는 대표적인 것이 이동 로봇의 가속도, 이동 로봇의 속도, 이동 로봇 바퀴의 각가속도, 이동 로봇 바퀴의 각속도 등이다.
즉, 현재 주어진 이동 로봇의 상태에서 이동 로봇의 기구학적(kinematics) 특징에 따라 이동 로봇이 다음에 취할 수 있는 상태값에는 제한이 있다.
다시 말해, 이동 로봇은 급격한 가속, 급격한 감속, 최고 속도 등의 속도, 가속도 등의 제한에 따른 한계가 있다.
이동 로봇이 선택할 수 있는 입력값이라 함은, 상기 입력값으로 인해 천이된 상기 이동 로봇의 상태값이 기구학적(kinematics) 제한조건을 벗어나지 않은, 실현 가능한 상태값이 된다는 것을 내포한다.
이때, 이동 로봇이 선택할 수 없는 제한조건에서 벗어난 입력값은 사전에 선별하여 계산에서 제외하는 것이 계산에 필요한 시간을 줄일 수 있으며, 이동 로봇이 선택할 수 있는 입력값들 중에서도 일정 수의 샘플을 뽑아 계산하는 것이 더욱 계산에 필요한 시간을 줄일 수 있다.
이를 위해, 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 이동 로봇이 선택할 수 있는 입력값들 중에서도 일정 수의 샘플을 뽑아 최적 경로를 생성하는데 이용한다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 샘플링기반의 최적 트리를 이용한 경로 계획 방법에 있어서, 샘플링 단계(S10) 및 상태트리작성 단계(S20)를 포함하며, 상기 샘플링 단계(S10)부터 상태트리작성 단계(S20) 까지의 과정을, 로봇의 현재 시점으로부터 N(자연수) 개의 타임 스텝까지 반복 수행하며, 상기 부모노드에서 상기 자식노드까지의 상태 천이에 대한 비용(cost)을 근거로 최적 경로를 생성하는 것을 특징으로 한다.
샘플링 단계(S10)에서 로봇의 이동이 제어되는 시간은 일정한 기준에 의하여 타임스텝으로 구분되고, 상기 연산처리수단이 특정 타임스텝에서 로봇이 계산을 필요로 하는(현재 또는 미래) 상태값인 부모노드 에서 실현 가능한(선택할 수 있는) 상태값들의 집합(이동에 대한 입력값들을 고려한 집합)으로 이루어진 영역 중, 미리 결정된 방식에 따라 샘플링된 입력값에 따른 상태값인 자식노드를 추출한다.
이는 모든 상태값들을 연산하는 것이 아니고, 이동 로봇이 선택할 수 없는 입력값들에 해당되는 상태값들은 계산에서 제외(1 차 연산량 감소)시키고, 이 중 몇 개의 상태값들을 추출(2 차 연산량 감소)하여 연산함으로써, 연산에 필요한 시간을 줄여, 실시간 연산이 가능하도록 하기 위함이다.
상태트리작성 단계(S20)는 상기 샘플링 단계(S10)의 부모노드에서 자식노드로의 상태 천이에 대한 비용(cost)을 계산한다.
즉, 상기 샘플링 단계(S10) 및 상태트리작성 단계(S20)를 포함하는 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 로봇의 상태값들 중 로봇의 실현가능한 입력값(속도 및 가속도 등)을 고려하여 실현가능한 상태들의 집합 안에 속한 원소들 중 일부를 노드로 결정하여 로봇의 상태 트리(도 2 참조)를 작성할 수 있다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법이 적용된 로봇의 이동은 도 3을 통해 설명될 수 있다.
로봇은 기 작성 또는 기 입력된 전체 지도(10)를 가지고 목표 지점까지 이동하기 위한 임무를 사용자로부터 입력받는다.
상기 전체 지도(10)는 주로 시간에 대해서 움직임이 한정되는 환경적 장애물이 표기되어 있으며, 전역적 경로 계획부(global path planner)(100)에서 전역적인 경로를 계획하여 지역적 경로 계획부(local path planner)(200)로 전달한다.
상기 전역적인 경로는 출발 지점부터 최종 목표 지점까지 다수의 웨이포인트들로 연결되어 표현된다.
로봇은 이동에 앞서서 지역 환경 인식부(300)에서 환경 인식 센서(310)로부터 인식된 근방의 동적 혹은 정적인 장애물을 인식하여 주변에 대한 환경 정보를 지역적 경로 계획부(200)에 전달한다.
상기 환경 인식 센서(310)로 획득된 환경 정보는 로봇이 장애물 즉, 지나갈 수 없는 길이라고 간주할 수 있는 장애물 데이터와 지나갈 수 있는 길에 대한 좌표 데이터를 포함한다. 또한, 동적 장애물에 대해서 시각에 따라 예상되는 위치 정보를 가질 수 있다.
장애물 및 길에 대한 데이터는 크게 두 가지로 구분할 수 있는데, 어떠한 데이터 형태도 다 포함할 수 있다. 즉, 그리드 형태의 데이터 또는 물체에 대한 다양한 형태(면, 선분, 원, 호등)나 색 등의 정보를 포함할 수 있다.
상기 지역적 경로 계획부(200)는 최종 목표 지점(final goal point)에 도달하기 위하여 순차적으로 웨이포인트를 장애물과 충돌 없이 도달하기 위한 궤적을 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법을 이용하여 계획한다.
즉, 로봇의 상태 트리를 현재 시점으로부터 N개의 타임 스텝까지 확장할 수 있다.
로봇의 상태 트리가 확장될 수 없다는 것은 현재 노드에서 다음 노드로서 결정될만한 노드가 존재하지 않는다는 뜻이며, N개의 타임 스텝 안에서는 어느 방향으로 이동하더라도 충돌할 수밖에 없는 상태에 놓여있다고 해석될 수 있다.
따라서, 이러한 경우에는 알고리즘을 종료할 수 있다.
지역적으로 계획된 궤적에 따라 로봇 이동 제어부(400)는 로봇을 이동시킨다.
상기 과정은 로봇이 목표 지점에 도달하기까지 일정한 주기로 반복될 수 있다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 다음과 같은 가정을 전제할 수 있다.
로봇의 경로를 계획하는 연산처리수단은 환경적 장애물이 표시되어 있는 전체 지도(global map)를 저장 또는 불러와 활용할 수 있으며, 로봇은 전역적인 계획(global plan)을 통하여 목표지점(goal point)까지 이동할 웨이포인트(waypoint)를 알고 있다.
지역적인 비환경적 장애물은 로봇에 장착된 환경 인식 센서(310)로 감지할 수 있다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 현재 로봇의 상태값(state)과 로봇에 장착된 센서로 감지되는 지역 환경 정보를 기반으로 최대 N 개의 타임 스텝만큼 구분적으로, 각각의 타임 스텝 마다 일정한 가속도(piecewise-constant acceleration)의 입력에 대해서 충돌로부터 자유로운 궤적(collision-free trajectory)을 생성할 수 있다.
여기서, 각각의 타임 스텝 마다 일정한 가속도(piecewise-constant acceleration)의 입력에 대해서 궤적을 생성하는 것은, 연산량을 줄이기 위한 것이다.
즉, 연산량이 실시간 연산에 충분하다고 판단되면 등가속 입력이 아닌 입력도 사용할 수 있음은 물론이다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 환경 정보(정지 및 이동 장애물 정보), 로봇의 기구학적(kinematics) 제한, 로봇의 성능 제한을 고려하여 상태-시간 공간(State-time space)에서 장애물을 자연스럽게 회피하기 위함이다.
'상태-시간 공간(State-time space)'이란 시간에 대해 고려된 상태값의 집합을 말한다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 특정 미래 시점(finite horizon)까지 확장한 상태 트리(state tree)를 이용하여 최적의 이동 궤적을 생성할 수 있다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 샘플링 단계(S10)는 선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 또는 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 선속도, 각속도, 선가속도 또는 각가속도가 0에 가까울수록 해당되는 자식노드 간의 간격이 좁아지도록 입력값을 추출하는 것을 특징으로 할 수 있다.
상기 선속도와 각속도 공간은 좌표 평면 공간으로 표현할 때, 선속도를 x 축으로 각속도를 y 축으로 표현(도 4 참조)할 수 있다.
상기 선가속도와 각가속도 공간은 좌표 평면 공간으로 표현할 때, 선가속도를 x 축으로 각가속도를 y 축으로 표현(도 5 참조)할 수 있다.
선가속도와 각가속도 공간을 예로 설명하면, 선가속도와 각가속도 공간에서 로봇의 실현 가능한 선가속도가 0에 가까울수록 해당되는 자식노드 간의 간격이 좁아지도록 입력값을 추출할 수 있다. 이는, 선가속도가 급격하게 변하는 것을 방지하기 위함이며, 이로 인해 로봇에 작용하는 물리적인 부하를 줄여 보다 부드러운 움직임이 가능하도록 할 수 있다.
또 다른 예로, 선가속도와 각가속도 공간에서 로봇의 실현 가능한 각가속도가 0에 가까울수록 해당되는 자식노드 간의 간격이 좁아지도록 입력값을 추출할 수 있다. 이 역시, 각가속도가 급격하게 변하는 것을 방지하기 위함이며, 이로 인해 로봇이 좌우로 요동치듯이 요잉 운동을 하는 것을 줄여 보다 부드러운 움직임이 가능하도록 할 수 있다.
또 다른 예로, 위 두 예를 믹싱하여 사용하는 것도 가능하다. 이는 선가속도와 각가속도 두 가지 모두 급격하게 변하는 것을 방지하여 로봇의 부드러운 움직임이 가능하도록 할 수 있다.
상기에서 선속도, 각속도, 선가속도 또는 각가속도가 0에 가까울수록 해당되는 자식노드 간의 간격이 좁아지도록 입력값을 추출하는 것을 예로 들었으나, 본 발명이 이에 한정된 것은 아니며, 자식노드는 실현가능한(feasible) 상태값들의 집합으로 이루어진 영역 에서 다양한 방법으로 사전에 정의된 방법을 통해 선정될 수 있다.
예를 들어, 선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 또는 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 선형 스케일(linear-scale)로 변환하여 실현가능한 영역을 등간격으로 나누어 샘플링하고, 그 영역 내부에 속하는 유한한 점들의 집합을 실현가능한 입력값으로 추출하는 것을 특징으로 하거나,
선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 또는 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 로그 스케일(log-scale), 지수 스케일(exponential-scale)또는 이차함수 스케일(quadratic-scale)로 변환하여 실현가능한 영역을 등간격으로 나누어 샘플링하고, 그 영역 내부에 속하는 유한한 점들의 집합을 실현가능한 입력값으로 추출하는 것을 특징으로 하는 등 다양한 실시가 가능함은 물론이다.
차륜형 이동 로봇(differential drive mobile robot)을 사용하고, 양쪽 바퀴의 각가속도 값을 입력값으로써 사용한다고 가정하고, 보다 상세하게 설명하면,
차륜형 이동 로봇의 실현가능한
Figure 112019039369385-pat00009
번째 좌측 바퀴의 각가속도 값을
Figure 112019039369385-pat00010
이라 하고,
Figure 112019039369385-pat00011
번째 우측 바퀴의 각가속도 값을
Figure 112019039369385-pat00012
이라 하고,
Figure 112019039369385-pat00013
를 실현가능한 모든 각가속도 값의 조합(
Figure 112019039369385-pat00014
)의 집합이라 하면 다음과 같이 나타낼 수 있다.
Figure 112019039369385-pat00015
여기서,
Figure 112019039369385-pat00016
Figure 112019039369385-pat00017
은 각각 좌측과 우측 바퀴의 실현가능한 각가속도 값의 개수이고,
Figure 112019039369385-pat00018
은 실수 집합을 나타낸다. 상기 가속도 집합
Figure 112019039369385-pat00019
를 정하는 방법으로는 다음 방법이 있을 수 있다.
로봇의 실현 가능한 가속도영역을 선형 스케일(linear-scale)로 변환하여 실현가능한 영역을 등간격으로 나누어 샘플링하고, 그 영역 내부에 속한 유한한 점들의 집합을 입력값으로 추출하는 방법은 다음 식과 같이 표현할 수 있다.
Figure 112019039369385-pat00020
,
Figure 112019039369385-pat00021
,
로봇의 실현 가능한 가속도영역을 로그 스케일(log-scale), 지수 스케일(exponential-scale)또는 이차함수 스케일(quadratic-scale)로 변환하여 실현가능한 영역을 등간격으로 나누어 샘플링하고, 그 영역 내부에 속한 유한한 점들의 집합을 입력값으로 추출하는 방법은 다음 식과 같이 표현할 수 있다.
Figure 112019039369385-pat00022
이 외에도, 가속도 공간을 임의로 변환하여 실현가능한 영역을 등간격 또는 정해진 규칙에 의한 간격으로 나누어 샘플링하고, 그 영역 내부에 속한 유한한 점들의 집합으로 입력값을 정하는 방법 등 다양한 방법을 사용할 수 있다.
차륜형 이동 로봇의 실현가능한 가속도 집합
Figure 112019039369385-pat00023
를 이용하여 차륜형 이동 로봇의 실현가능한 모든 선가속도(
Figure 112019039369385-pat00024
)와 각가속도(
Figure 112019039369385-pat00025
)는 다음과 같이 구해질 수 있다.
Figure 112019039369385-pat00026
,
Figure 112019039369385-pat00027
여기서,
Figure 112019039369385-pat00028
는 상기 차륜형 이동 로봇의 양쪽 바퀴사이 거리를 나타낸다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 샘플링 단계(S10)는 선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 또는 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역중 미리 정해진 규칙에 따른 특정 점(모서리 등)에 해당되는 상태값의 상태 천이에 대한 비용(cost)을 먼저 계산 후, 계산 결과 최소가 되는 해당 상태값에 가까울수록 자식노드 간의 간격이 좁아지도록 입력값을 추출하는 것을 특징으로 할 수 있다.
예를 들어, 도 4의 경우, 마름모꼴에 해당되는 속도공간에서, 선속도가 최대인 지점, 선속도가 최소인 지점, 각속도가 최대인 지점, 각속도가 최소인 지점에 해당되는 상태값은 다른 지점에 비해 천이될 확률이 높은 경우가 있을 수 있다.
따라서, 본격적인 자식노드를 추출하기 전에, 다른 지점에 비해 천이될 확률이 높은 지점들에 대한 상태 천이에 대한 비용(cost)을 먼저 계산 후, 계산 결과 최소가 되는 해당 상태값에 가까울수록 자식노드 간의 간격이 좁아지도록 입력값을 추가 추출할 수 있다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 샘플링 단계(S10)는 선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역에서 속도값을 추출하고, 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역에서 가속도값을 추출한 뒤, 속도영역 및 가속도영역을 선속도와 각속도 공간 또는 선가속도와 각가속도 공간 중 선택되는 어느 하나의 공간으로 통일하고, 속도영역과 가속도영역이 중첩된 영역에 속하는 상태값에 대응하는 노드를 자식노드로 추출하는 것을 특징으로 한다.
즉, 속도영역에서 실현가능한 속도값에 해당되는 노드들을 추출하고, 가속도영역에서 실현가능한 가속도값에 해당되는 노드들을 추출한 뒤, 어느 한 영역에서 주어진 값을 다른 공간으로 변환하여, 두 영역의 교집합에 속한 상태값들에 해당되는 노드들을 자식노드들로 최종 추출할 수 있다.
상기에서, 각각의 영역에서 노드를 추출하고, 두 영역의 교집합에 해당되는 노드를 자식노드로 추출하는 예를 들었으나, 본 발명이 이에 한정된 것은 아니며, 속도영역 또는 가속도영역의 어느 한 영역에서 노드를 추출하고, 두 영역의 교집합에 해당되는 노드를 자식노드로 추출하는 것(도 6 참조)도 가능함은 물론이다.
도 6 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 샘플링 단계(S10)는 통일된 공간에서의 속도영역의 경계와 가속도영역의 경계의 교점 값을 자식노드로 추가 추출하는 것을 특징으로 할 수 있다.
통일된 공간에서의 속도영역의 경계와 가속도영역의 경계의 교점은 다른 지점에 비해 천이될 확률이 높은 경우가 있을 수 있다. 따라서, 이 지점이 자식노드로 추출되지 않았다면 이 지점 역시 자식노드로 추출하는 것이 바람직하다.
상기에서 노드 추출을 먼저 진행하고, 이 중 통일된 공간에서의 속도영역과 가속도영역의 교집합에 대한 노드들을 자식노드로 추출하는 예를 들었으나, 본 발명이 이에 한정된 것은 아니며, 아래와 같은 실시 등 다양한 실시가 가능함은 물론이다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 샘플링 단계(S10)는 선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 및 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 선속도와 각속도 공간 또는 선가속도와 각가속도 공간 중 선택되는 어느 하나의 공간으로 통일하고, 속도영역과 가속도영역이 중첩된 영역인 로봇의 실제 실현 가능한 상태값의 영역에서 자식노드를 추출하는 것을 특징으로 할 수 있다.
즉, 통일된 공간에서의 속도영역과 가속도영역에 속한 상태값들의 교집합을 먼저 구하고, 이 중 자식노드를 추출하는 것도 가능하다.
이때, 도 4 등에서는 x 축과 y 축으로 분할하여 자식노드를 추출하는 예를 들었으나, 본 발명이 이에 한정된 것은 아니며, 통일된 공간에서의 속도영역과 가속도영역의 교집합은 일반적으로 평행사변형 형태인 경우가 많기 때문에, 속도영역과 가속도영역의 교집합 경계와 평행하도록 분할하여 자식노드를 추출하는 등 다양한 실시가 가능함은 물론이다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 상태트리작성 단계(S20)는 상기 샘플링 단계(S10)에서 추출된 자식노드(도 7 참조)들 중 장애물과 충돌하지 않는 자식노드들에 대해서만 상태 천이에 대한 비용(cost)을 계산하는 것을 특징으로 할 수 있다.
이때, 상기 샘플링 단계(S10)에서 추출된 자식노드를 후보노드라 칭할 수 있고, 이 중 장애물과 충돌하지 않는 후보노드들만을 자식노드로 결정하고 상태 천이에 대한 비용(cost)을 계산 할 수 있다.
즉, 로봇의 환경 인식 센서(310)로부터 감지된 비환경적 장애물들과 충돌을 피할 수 있는 자식 노드들을 추출하여 상태 천이에 대한 비용(cost)을 계산할 수 있다.
다시 말해, 상기 샘플링 단계(S10)에서 추출된 입력값으로 생성된 자식노드(후보노드)들을 모두 연산하는 것이 아니고, 후보노드들 중 비환경적 또는 환경적 장애물들과 충돌하지 않는 자식노드들에 대해서만 상태 천이에 대한 비용(cost)을 계산하여, 상태 천이에 대한 비용(cost)에 사용되는 시간을 줄일 수 있다.
이때, 상태트리작성 단계(S20)는 각각의 자식노드(후보노드)에 대하여 충돌 확인 후 충돌하는 자식노드(후보노드)는 삭제할 수 있다.(도 8 참조)
이후에 남겨진 자식 노드들은 장애물이 없는 공간에서의 로봇의 실현가능한 로봇의 상태 집합(feasible set of robot's states)으로 구성될 수 있으며, 남겨진 자식 노드들을 이용하여 상태 트리를 확장할 수 있다.
이때, 확장되는 상기 자식 노드들로의 비용 합계를 각각 계산할 수 있으며, 상기 특정 노드로의 비용 합계는 현재 노드에서 상기 특정 노드까지 상태 변화로 인한 비용 값들을 합한 값(상태 트리 상에서 엣지에 해당되는 값들의 총합)을 의미할 수 있다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 로봇의 현재 시점(루트 노드)으로부터 마지막 타임 스텝에 해당되는 자식노드(잎 노드)까지의 상태 천이에 대한 비용(cost)과 마지막 타임 스텝에 해당되는 자식노드(잎 노드)로부터 목표 지점까지의 상태 천이에 대한 비용(heuristic)을 합한 비용이 최소가 되는 마지막 타임 스텝에 해당되는 자식노드(잎 노드)까지의 경로를 최적 경로로 결정하는 것을 특징으로 할 수 있다.
즉, 노드와 엣지들로 구성된 상태 트리를 이용하여 지역적인 경로를 찾을 수 있다.
계층(깊이)이 N인 상태 트리를 완성하였다면, 이 상태 트리를 이용하여 최적 궤적을 생성하고 알고리즘을 종료할 수 있다.
즉, 확장 가능한 잎 노드들 중에서 비용(cost)과 휴리스틱(heuristic)을 합한 값 중 가장 낮은 노드들을 선택하여 상태 트리 내에서 목표 웨이포인트까지의 궤적을 완성하여 최적 경로로 결정(도 9 참조)할 수 있다.
도 10 에 도시된 알고리즘은 N까지의 상태 트리가 완성되어 궤적 계획이 완료되면 종료되며, 이동 로봇의 지역적 궤적 계획 주기에 따라 실시될 수 있다.
도 10 에 도시된 알고리즘은 전역적 궤적 계획 방법이 아닌 지역적 궤적 계획 방법이다.
지역적 궤적 계획 방법은 매 타임 스텝마다 실시할 수도 있으나, 이전에 지역적 궤적 계획이 된 어떤 타임 스텝은 건너뛸 수도 있다. 즉, 지역적 궤적을 매 타임 스텝마다 실시하지 않을 수도 있다.
즉, 이동 로봇의 이동이 제어되는 시간을 구분하는 타임 스텝과 상기 지역적 궤적 계획 주기는 다를 수 있다.
시간적으로 위치가 변할 가능성이 있는 비환경적인 장애물의 위치를 환경 인식 센서(310)의 범위까지만 감지하여 반영할 수 있기 때문에 N의 값은 환경 인식 센서(310)의 감지 범위를 고려하여 결정되어야 한다.
감지 범위 밖으로 벗어나는 시점을 고려하는 것은 상기 비환경적 장애물을 감지할 수 없기 때문에 무의미할 수 있다.
이때, 상기 연산처리수단의 연산량을 정해 놓고, 확장 가능한 잎 노드들 중에서 비용(cost)과 휴리스틱(heuristic)을 합한 값이 가장 낮은 노드들을 선택하여, 상태 트리 내에서 목표 웨이포인트까지의 궤적을 완성함으로써, 최적 경로로 결정할 수 있다.
만일 상태트리의 깊이가 N개의 타임 스텝까지 확장되지 않았다면, 상태 트리의 잎 노드들에 대해서 최종 비용 값과 휴리스틱 값의 합계가 가장 작은 노드에 가장 높은 우선 순위를 부여하고, 상기 가장 우선 순위가 높은 노드를 앞으로 생성될 노드들의 부모 노드(parent node)로 선택할 수 있다.
최초에는 루트 노드가 가장 높은 우선 순위를 갖는다.
상기 가장 높은 우선 순위를 가진 노드를 부모 노드로 선택한 후, 상기 부모 노드와 연결된 자식 노드(child node)를 결정하기 위한 후보 노드를 생성한다.
이때, 부모 노드로 선택되지 않은 노드들은 우선순위에 따라 저장하고, 먼저 선택된 부모 노드에 대한 계산이 완료되면 다음 우선순위의 노드가 부모 노드로 선택되는 과정을 반복할 수 있다.
상기 후보 노드는 선택된 잎 노드의 로봇 상태를 고려하여 다음 레벨로 확장을 위해 주어진 시간동안 사전에 정의된 입력값의 후보로 이동할 때, 최종 상태가 기구학적으로(kinematics) 실현가능한(feasible) 상태로 결정된다.
본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법의 타임 스텝은 각각의 타임 스텝 마다 시간 간격이 정의되며, 상기 각각의 타임 스텝 별 시간 간격은 미리 정해진 규칙에 따라 정해진 것을 특징으로 할 수 있다.
이때, 타임 스텝의 순번이 증가할수록 시간 간격이 증가하도록 하는 것을 특징으로 할 수 있다.
이는, 현재로부터 가까운 시간은 보다 촘촘하게 계산하고, 현재로부터 가까운 시간일수록 보다 듬성듬성하게 계산하여, 계산량을 줄이면서 보다 먼 미래까지 예측하기 위함이다.
예를 들어, 1 번째 타임 스텝부터 6 번째 타임 스텝까지의 시간 간격을 순차적으로 T, T, 2T, 2T, 4T, 4T로 설정하여 사용할 수 있다.
이 경우, 실질적으로 6 타임 스텝을 플래닝 했지만 14T 까지의 미래를 예측할 수 있다.
보다 상세한 예를 들어, 루트 노드를 레벨 0이라 하고, 다음 노드들을 레벨 1, 그 다음 노드들을 레벨 2라고 할 때, 레벨 0에서 레벨 1까지의 시간이 5ms라면, 레벨 1에서 레벨 2까지의 시간은 10ms로 다르게 정의될 수 있다.
상기에서 각 계층 별 시간 간격이 서로 다를 수 있음을 예로 하였으나, 본 발명이 이에 한정된 것은 아니며, 각 계층 별 시간 간격은 등간격일 수도 있는 등 다양한 실시가 가능함은 물론이다.
이상에서 본 발명의 일 실시예에 따른 샘플링기반의 최적 트리를 이용한 경로 계획 방법에 대하여 설명하였지만, 샘플링기반의 최적 트리를 이용한 경로 계획 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 샘플링기반의 최적 트리를 이용한 경로 계획 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.
즉, 상술한 샘플링기반의 최적 트리를 이용한 경로 계획 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
10: 전체 지도
100: 전역적 경로 계획부
200: 지역적 경로 계획부
300: 지역 환경 인식부
310: 환경 인식 센서
400: 로봇 이동 제어부
S10: 샘플링 단계
S20: 상태트리작성 단계

Claims (10)

  1. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 샘플링기반의 최적 트리를 이용한 경로 계획 방법에 있어서,
    로봇의 이동이 제어되는 시간은 일정한 기준에 의하여 타임스텝으로 구분되고, 상기 연산처리수단이 특정 타임스텝에서 로봇이 계산을 필요로 하는 상태값인 부모노드에서 실현가능한 상태값들의 집합으로 이루어진 영역 중, 미리 결정된 방식에 따라 샘플링된 입력값에 따른 상태값인 자식노드를 추출하는 샘플링 단계(S10); 및
    상기 샘플링 단계(S10)의 부모노드에서 자식노드로의 상태 천이에 대한 비용(cost)을 계산하는 상태트리작성 단계(S20);
    를 포함하며,
    상기 샘플링 단계(S10)부터 상태트리작성 단계(S20) 까지의 과정을, 로봇의 현재 시점으로부터 N(자연수) 개의 타임 스텝까지 반복 수행하며, 상기 부모노드에서 상기 자식노드까지의 상태 천이에 대한 비용(cost)을 근거로 최적 경로를 생성하는 것을 특징으로 하는 샘플링기반의 최적 트리를 이용한 경로 계획 방법.
  2. 제1항에 있어서,
    상기 샘플링 단계(S10)는
    선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 또는 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 선속도, 각속도, 선가속도 또는 각가속도가 0에 가까울수록 해당되는 자식노드 간의 간격이 좁아지도록 입력값을 추출하는 것을 특징으로 하는 샘플링기반의 최적 트리를 이용한 경로 계획 방법.
  3. 제1항에 있어서,
    상기 샘플링 단계(S10)는
    선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역에 속한 속도값에 해당되는 노드를 추출하고,
    선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역에 속한 가속도값에 해당되는 노드를 추출한 뒤,
    속도영역 및 가속도영역을 선속도와 각속도 공간 또는 선가속도와 각가속도 공간 중 선택되는 어느 하나의 공간으로 통일하고,
    속도영역과 가속도영역이 중첩된 영역에 속하는 상태값에 대응하는 노드를 자식노드로 추출하는 것을 특징으로 하는 샘플링기반의 최적 트리를 이용한 경로 계획 방법.
  4. 제3항에 있어서,
    상기 샘플링 단계(S10)는
    통일된 공간에서의 속도영역의 경계와 가속도영역의 경계의 교점값에 해당하는 노드를 자식노드로 추가 추출하는 것을 특징으로 하는 샘플링기반의 최적 트리를 이용한 경로 계획 방법.
  5. 제1항에 있어서,
    상기 샘플링 단계(S10)는
    선속도와 각속도 공간에서 로봇의 실현 가능한 속도영역 및 선가속도와 각가속도 공간에서 로봇의 실현 가능한 가속도영역을 선속도와 각속도 공간 또는 선가속도와 각가속도 공간 중 선택되는 어느 하나의 공간으로 통일하고,
    속도영역과 가속도영역이 중첩된 영역인 로봇의 실제 실현 가능한 영역에 속하는 상태값에 대응하는 노드를 자식노드로 추출하는 것을 특징으로 하는 샘플링기반의 최적 트리를 이용한 경로 계획 방법.
  6. 제1항에 있어서,
    상기 상태트리작성 단계(S20)는
    상기 샘플링 단계(S10)에서 추출된 자식노드들 중 장애물과 충돌하지 않는 자식노드들에 대해서만 상태 천이에 대한 비용(cost)을 계산하는 것을 특징으로 하는 샘플링기반의 최적 트리를 이용한 경로 계획 방법.
  7. 제1항에 있어서,
    상기 샘플링기반의 최적 트리를 이용한 경로 계획 방법은
    로봇의 현재 시점으로부터 마지막 타임 스텝에 해당되는 자식노드까지의 상태 천이에 대한 비용(cost)과 마지막 타임 스텝에 해당되는 자식노드로부터 목표 지점 까지의 상태 천이에 대한 비용(heuristic)을 합한 비용이 최소가 되는 마지막 타임 스텝에 해당되는 자식노드까지의 경로를 최적 경로로 결정하는 것을 특징으로 하는 샘플링기반의 최적 트리를 이용한 경로 계획 방법.
  8. 제1항에 있어서,
    상기 타임 스텝은
    각각의 타임 스텝 마다 시간 간격이 정의되며,
    상기 각각의 타임 스텝 별 시간 간격은 미리 정해진 규칙에 따라 정해진 것을 특징으로 하는 샘플링기반의 최적 트리를 이용한 경로 계획 방법.
  9. 제 1항 내지 제 8항 중 선택되는 어느 한 항에 기재된 샘플링기반의 최적 트리를 이용한 경로 계획 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
  10. 제 1항 내지 제 8항 중 선택되는 어느 한 항에 기재된 샘플링기반의 최적 트리를 이용한 경로 계획 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
KR1020190044775A 2019-04-17 2019-04-17 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 KR102049962B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020190044775A KR102049962B1 (ko) 2019-04-17 2019-04-17 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
PCT/KR2020/002787 WO2020213829A1 (ko) 2019-04-17 2020-02-27 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
CN202080029409.XA CN113710431B (zh) 2019-04-17 2020-02-27 使用基于采样的最优树的路径规划方法以及记录介质
US17/604,216 US12025970B2 (en) 2019-04-17 2020-02-27 Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
EP20792073.7A EP3957446A4 (en) 2019-04-17 2020-02-27 METHOD FOR PATH PLANNING USING A SAMPLE-BASED OPTIMAL TREE, INFORMATION MEDIA STORING A PROGRAM FOR THEIR IMPLEMENTATION AND COMPUTER PROGRAM STORED IN THE MEDIA FOR IMPLEMENTING THE SAME

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190044775A KR102049962B1 (ko) 2019-04-17 2019-04-17 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102049962B1 true KR102049962B1 (ko) 2019-11-28

Family

ID=68730422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190044775A KR102049962B1 (ko) 2019-04-17 2019-04-17 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Country Status (4)

Country Link
EP (1) EP3957446A4 (ko)
KR (1) KR102049962B1 (ko)
CN (1) CN113710431B (ko)
WO (1) WO2020213829A1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110850883A (zh) * 2019-11-29 2020-02-28 上海有个机器人有限公司 一种机器人的移动控制方法、介质、终端和装置
WO2020213829A1 (ko) * 2019-04-17 2020-10-22 주식회사 트위니 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
CN113722923A (zh) * 2021-09-06 2021-11-30 中国计量大学 一种基于改进rrt的多无人机气体泄漏源定位方法
KR20220023280A (ko) * 2020-08-20 2022-03-02 베어 로보틱스, 인크. 로봇의 이동을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN114234968A (zh) * 2021-12-17 2022-03-25 江西洪都航空工业集团有限责任公司 一种基于a星算法的移动机器人自主导航方法
US20220305657A1 (en) * 2021-03-24 2022-09-29 Ford Global Technologies, Llc Predictive Time Horizon Robotic Motion Control
KR102479619B1 (ko) 2022-02-15 2022-12-21 주식회사 트위니 장애물의 회피 이동이 가능한 자율 주행 로봇
WO2024043497A1 (ko) * 2022-08-26 2024-02-29 삼성전자주식회사 로봇 및 그 구동 방법
US12025970B2 (en) 2019-04-17 2024-07-02 Twinny Co., Ltd. Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113400308B (zh) * 2021-06-16 2022-06-03 深圳谦腾科技有限公司 机械手抓取产品的最优路径规划方法与可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100081824A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 로봇의 경로계획장치 및 그 방법
JP2012164061A (ja) * 2011-02-04 2012-08-30 Honda Motor Co Ltd 軌道計画方法、軌道制御方法、軌道計画システム及び軌道計画・制御システム
JP2013206043A (ja) * 2012-03-28 2013-10-07 Waseda Univ 動作計画装置、動作計画方法、動作計画処理プログラム
KR101339480B1 (ko) * 2012-12-14 2013-12-10 고려대학교 산학협력단 Rrt 기반의 듀얼 트리 구조를 이용한 이동 로봇의 궤적 계획 방법
KR101664575B1 (ko) 2014-11-07 2016-10-10 재단법인대구경북과학기술원 모바일 로봇의 장애물 회피 시스템 및 방법
KR20170050166A (ko) * 2015-10-29 2017-05-11 한국과학기술연구원 로봇의 구동 경로를 계획하기 위한 로봇 제어 시스템 및 로봇 구동 경로 계획방법
KR20170071712A (ko) * 2015-12-16 2017-06-26 한양대학교 산학협력단 이동 로봇의 주행 경로 계획 방법 및 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447593B2 (en) * 2004-03-26 2008-11-04 Raytheon Company System and method for adaptive path planning
KR101667029B1 (ko) * 2009-08-10 2016-10-17 삼성전자 주식회사 로봇의 경로 계획방법 및 장치
CN106096783A (zh) * 2016-06-13 2016-11-09 Tcl集团股份有限公司 一种基于Dijkstra的路径优化方法及其***
CN108253984A (zh) * 2017-12-19 2018-07-06 昆明理工大学 一种基于改进a星算法的移动机器人路径规划方法
CN108274465A (zh) * 2018-01-10 2018-07-13 上海理工大学 基于优化a*的人工势场机械臂三维避障路径规划方法
CN109405828A (zh) * 2018-07-30 2019-03-01 浙江工业大学 基于ltl-a*算法的移动机器人全局最优路径规划方法
CN109405847B (zh) * 2018-10-15 2022-06-28 深圳市路畅科技股份有限公司 车载导航仪及其车辆状态动画显示方法、***及存储介质
KR102049962B1 (ko) * 2019-04-17 2019-11-28 주식회사 트위니 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100081824A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 로봇의 경로계획장치 및 그 방법
JP2012164061A (ja) * 2011-02-04 2012-08-30 Honda Motor Co Ltd 軌道計画方法、軌道制御方法、軌道計画システム及び軌道計画・制御システム
JP2013206043A (ja) * 2012-03-28 2013-10-07 Waseda Univ 動作計画装置、動作計画方法、動作計画処理プログラム
KR101339480B1 (ko) * 2012-12-14 2013-12-10 고려대학교 산학협력단 Rrt 기반의 듀얼 트리 구조를 이용한 이동 로봇의 궤적 계획 방법
KR101664575B1 (ko) 2014-11-07 2016-10-10 재단법인대구경북과학기술원 모바일 로봇의 장애물 회피 시스템 및 방법
KR20170050166A (ko) * 2015-10-29 2017-05-11 한국과학기술연구원 로봇의 구동 경로를 계획하기 위한 로봇 제어 시스템 및 로봇 구동 경로 계획방법
KR20170071712A (ko) * 2015-12-16 2017-06-26 한양대학교 산학협력단 이동 로봇의 주행 경로 계획 방법 및 장치

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020213829A1 (ko) * 2019-04-17 2020-10-22 주식회사 트위니 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
US12025970B2 (en) 2019-04-17 2024-07-02 Twinny Co., Ltd. Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
CN110850883A (zh) * 2019-11-29 2020-02-28 上海有个机器人有限公司 一种机器人的移动控制方法、介质、终端和装置
US11772265B2 (en) 2020-08-20 2023-10-03 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling movement of a robot
KR102407364B1 (ko) * 2020-08-20 2022-06-10 베어 로보틱스, 인크. 로봇의 이동을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR20220023280A (ko) * 2020-08-20 2022-03-02 베어 로보틱스, 인크. 로봇의 이동을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
US20220305657A1 (en) * 2021-03-24 2022-09-29 Ford Global Technologies, Llc Predictive Time Horizon Robotic Motion Control
US11731274B2 (en) * 2021-03-24 2023-08-22 Ford Global Technologies, Llc Predictive time horizon robotic motion control
CN113722923B (zh) * 2021-09-06 2023-12-01 中国计量大学 一种基于改进rrt的多无人机协同气体泄漏源定位方法
CN113722923A (zh) * 2021-09-06 2021-11-30 中国计量大学 一种基于改进rrt的多无人机气体泄漏源定位方法
CN114234968A (zh) * 2021-12-17 2022-03-25 江西洪都航空工业集团有限责任公司 一种基于a星算法的移动机器人自主导航方法
CN114234968B (zh) * 2021-12-17 2023-12-05 江西洪都航空工业集团有限责任公司 一种基于a星算法的移动机器人自主导航方法
KR102479619B1 (ko) 2022-02-15 2022-12-21 주식회사 트위니 장애물의 회피 이동이 가능한 자율 주행 로봇
WO2024043497A1 (ko) * 2022-08-26 2024-02-29 삼성전자주식회사 로봇 및 그 구동 방법

Also Published As

Publication number Publication date
EP3957446A1 (en) 2022-02-23
EP3957446A4 (en) 2022-12-28
CN113710431A (zh) 2021-11-26
US20220206468A1 (en) 2022-06-30
CN113710431B (zh) 2023-12-22
WO2020213829A1 (ko) 2020-10-22

Similar Documents

Publication Publication Date Title
KR102049962B1 (ko) 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
US11970161B2 (en) Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
US10352711B2 (en) Computer-implemented method and a system for guiding a vehicle within a scenario with obstacles
US11262764B2 (en) Computer-implemented method and a system for defining a path for a vehicle within an environment with obstacles
JP6494872B2 (ja) 車両の運動を制御する方法、及び車両の制御システム
US10814871B2 (en) Computing system for assigning maneuver labels to autonomous vehicle sensor data
Sudhakara et al. Trajectory planning of a mobile robot using enhanced A-star algorithm
WO2017144350A1 (en) Method for motion planning for autonomous moving objects
KR101990878B1 (ko) 시간상태 영역에서의 온라인 양방향 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
WO2022083292A1 (zh) 一种智能移动机器人全局路径规划方法和***
EP4174440A1 (en) Environment-aware path planning for a self-driving vehicle using dynamic step-size search
CN111735470A (zh) 一种动态环境下的自动导引运输车路径规划方法
KR101688302B1 (ko) 모션 플래닝 장치 및 방법
Chen et al. Risk-aware trajectory sampling for quadrotor obstacle avoidance in dynamic environments
Sundarraj et al. Route planning for an autonomous robotic vehicle employing a weight-controlled particle swarm-optimized Dijkstra algorithm
Grüter et al. Emergency flight planning using voronoi diagrams
KR102097715B1 (ko) 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
Kim et al. A cooperative exploration strategy with efficient backtracking for mobile robots
WO2022049918A1 (ja) 情報処理装置と情報処理方法およびプログラム
US12025970B2 (en) Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
KR102324099B1 (ko) 실내 이동체의 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
Wang et al. Dynamic path planning algorithm for autonomous vehicles in cluttered environments
Wang et al. Centralized and Decentralized Methods for Multi-robot Safe Navigation
Desiderio Development of a modified A-Star Algorithm for path planning
Pyavchenko et al. Functional and modular organization of planning subsystems of mobile robot behaviour with partial uncertainty for the two-dimensional space

Legal Events

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