KR20200130091A - 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법 및 장치 - Google Patents

딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법 및 장치 Download PDF

Info

Publication number
KR20200130091A
KR20200130091A KR1020200030527A KR20200030527A KR20200130091A KR 20200130091 A KR20200130091 A KR 20200130091A KR 1020200030527 A KR1020200030527 A KR 1020200030527A KR 20200030527 A KR20200030527 A KR 20200030527A KR 20200130091 A KR20200130091 A KR 20200130091A
Authority
KR
South Korea
Prior art keywords
path
data
information
parameter
image
Prior art date
Application number
KR1020200030527A
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 한국전자통신연구원
Publication of KR20200130091A publication Critical patent/KR20200130091A/ko

Links

Images

Classifications

    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

본 발명에 따른 로봇의 장애물 회피 경로 생성 장치의 방법은, 장애물 회피 관련된 경로 파라미터를 얻기 위하여 딥러닝을 이용하여 학습용 경로 데이터를 학습하는 단계, 및 상기 경로 파라미터를 이용하여 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하는 단계를 포함할 수 있다.

Description

딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법 및 장치{METHOD AND APPARATUS FOR OBSTACLE AVOIDANCE PATH GENERATION OF ROBOT USING DEEP LEARNING}
본 발명은 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법 및 장치에 관한 것이다.
일반적으로, 로봇 작업 계획과 관련하여 RRT와 같은 기존 방법은 경로를 생성하기 위해 작업 환경에 대한 완전한 장애물 정보를 필요로 하고 장애물을 회피하는 경로를 생성하기 위해 매번 장애물에 대한 정보가 존재하는 작업 공간에서 각 중간 지점에서의 충돌 판정을 수행한다. 그런데 작업 공간 지도의 크기가 크고 장애물의 수가 많은 경우 충돌 판정에 많은 시간이 소모되는 문제점이 있다. 따라서 최적 경로를 찾고자 하는 경우 반복 수행을 더욱 많이 요구하게 되어 경로 생성에 더 많은 시간을 필요로 하게 된다.
공개특허: 10-2016-0021161, 공개일: 2016년 2월 24일, 제목: 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법. 공개특허: 10-2017-0143133, 공개일: 2017년 12월 29일, 제목: 장애물 회피 경로 생성 및 제어를 위한 협업 비행 운송 시스템 및 방법.
J. Masci, U. Meier, D. Ciresan, and J. Schmidhuber, "Stacked convolutional auto-encoders for hierarchical feature extraction," Proc. 21th international conference on artificial neural networks (ICANN'11), 2011 S. Karaman, and E. Frazzoli, "Sampling-based Algorithms for Optimal Motion Planning," The International Journal of Robotics Research, vol. 30, pp. 846-894, 2011. Ijspeert, A., Nakanishi, J., Pastor, P., Hoffmann, H., Schaal, S., "Dynamical movement primitives: learning attractor models for motor behaviors," Neural Comput. 25, pp. 328-373, 2013.
본 발명의 목적은 장애물이 포함된 환경에 대한 영상과 시작점, 도착점이 주어졌을 때 신경망을 이용하여 장애물을 회피하여 시작점에서 도착점에 도달하는 경로를 생성하는 장애물 회피 경로 생성 방법 및 장치를 제공하는 데 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다
본 발명의 실시 예에 따른 로봇의 장애물 회피 경로 생성 장치의 방법은, 입력 이미지로부터 장애물 회피를 위한 경로 파라미터를 얻기 위하여 딥러닝을 이용하여 경로 파라미터 생성기를 학습시키는 단계; 및 상기 학습된 경로 파라미터 생성기를 이용하여 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 경로 파라미터는 Dynamic Movement Primitive(DMP) 알고리즘을 위한 파라미터를 포함할 수 있다.
실시 예에 있어서, 상기 경로 파라미터 생성기를 학습시키는 단계는, 장애물 데이터셋과 영상 정보셋을 갖는 환경 정보를 준비하는 단계; 영상을 작은 크기의 데이터로 변환하기 위한 영상 인코더 훈련 단계; 학습용 경로 데이터를 준비하는 단계; 길이가 다른 학습용 경로 데이터를 사전에 지정한 개수의 경로 파라미터로 변환하는 단계; 및 상기 변환된 경로 파라미터와 상기 영상 인코더의 출력 데이터를 이용하여 경로 파라미터 디코더를 훈련하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 장애물 데이터셋은 상기 장애물의 위치, 크기, 형태에 대한 정보를 포함하고, 상기 영상 정보셋은 상기 장애물이 포함된 공간에 대해 임의의 각도에서 촬영된 정보를 포함할 수 있다.
실시 예에 있어서, 상기 영상 인코더 훈련 단계는, Autoencoder 알고리즘에 의거하여 신경망에서 인코더에 입력된 영상 정보셋과 상기 입력된 영상 정보셋과 동일한 영상이 디코더의 출력 영상셋으로 나타나도록 상기 인코더를 훈련하는 단계; 및 상기 인코더의 신경망 모델 정보를 저장하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 학습용 경로 데이터를 준비하는 단계는, RRT(Rapidly Exploring Random Trees) 알고리즘에 의거하여 상기 장애물 데이터 셋으로부터 장애물을 회피하여 시작점에서 도착점에 도달하는 경로의 중간점의 집합으로 구성된 복수의 학습용 경로 데이터를 생성하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 학습용 경로 데이터를 변환하는 단계는, Dynamic Movement Primitive(DMP) 알고리즘에 의거하여 다차원의 상기 학습용 경로 데이터를 각 차원별로 사전에 지정한 개수의 경로 파라미터로 변환하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 경로 파라미터 디코더를 훈련하는 단계는, 상기 저장된 인코더의 신경망 모델 정보를 이용하여 영상 인코더를 초기화하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 경로 파라미터 디코더를 훈련하는 단계는, 상기 영상 인코더에서 상기 영상 정보를 상기 영상 정보의 크기 보다 작은 데이터셋으로 인코딩하는 단계; 데이터 차원 변환기에서 상기 인코딩된 데이터셋을 1차원 배열 형태로 변환하는 단계; 상기 변환된 1차원 데이터에 도착점과 시작점 데이터를 추가하여 입력 데이터를 구성하는 단계; 상기 구성된 입력 데이터를 입력받아 상기 변환된 경로 파라미터를 출력하도록 상기 경로 파라미터 디코더를 훈련하는 단계; 및 상기 훈련된 경로 파라미터 디코더의 신경망 모델 정보를 저장하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하는 단계는, 상기 저장된 인코더의 신경망 모델 정보를 이용하여 영상 인코더를 초기화하는 단계; 상기 저장된 경로 파라미터 디코더의 신경망 모델 정보를 이용하여 경로 파라미터 디코더를 초기화 시키는 단계; 사용자가 입력한 영상정보셋과 경로 생성를 원하는 시작점과 도착점을 경로 파라미터 생성기에 입력으로 전달함으로써 사전에 지정한 개수의 경로 파라미터를 얻는 단계; 및 딥 경로 생성기에서 상기 생성된 경로 파라미터에 대응하는 경로 데이터를 생성하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 딥 경로 생성기는, 상기 경로 파라미터, 상기 시작점, 상기 도착점을 입력하여 가속도 정보를 생성하는 가속도 정보 생성기; 상기 가속도 정보를 입력하여 속도 정보를 생성하는 속도 정보 생성기; 상기 속도 정보를 입력하여 상기 경로 데이터를 생성하는 경로 정보 생성기를 포함할 수 있다.
본 발명의 실시 예에 따른 로봇의 장애물 회피 경로 생성 장치는: 적어도 하나의 프로세서; 및 적어도 하나의 프로세서에 의해 실행되는 적어도 하나의 인스트럭션을 저장하는 메모리를 포함하고, 상기 적어도 하나의 인스트럭션은, 장애물 회피 관련된 경로 파라미터를 얻기 위하여 딥러닝을 이용하여 복수의 학습용 경로 데이터를 학습하고; 및 상기 경로 파라미터를 이용하여 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하도록 적어도 하나의 프로세서에서 실행되는 것을 특징으로 한다.
실시 예에 있어서, 상기 복수의 학습용 경로 데이터는 RRT(Rapidly Exploring Random Trees) 알고리즘에 의거하여 생성되고, 상기 경로 파라미터는 Dynamic Movement Primitive(DMP) 알고리즘을 위한 파라미터를 포함하는 것을 특징으로 한다.
실시 예에 있어서, 상기 영상 인코더는 autoencoder 알고리즘에 의거하여 훈련된 신경망을 이용하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법 및 장치는 복잡한 환경에서 경로 생성 시간이 증가되는 것에 비해 복잡한 환경에서도 경로 생성 시간이 평균적으로 작게 유지되고 전체 경로 데이터를 한번에 얻을 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다. 다만, 본 실시예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다.
도 1은 본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 장치의 동작 방법을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 장치의 경로 데이터 학습 방법을 예시적으로 보여주는 흐름도이다.
도 3은 본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 장치의 경로 데이터 생성 방법을 예시적으로 보여주는 흐름도이다.
도 4는 발명의 실시 예에 따른 2D 환경에서 10개의 장애물이 포함된 환경에 대한 탑뷰(top view) 영상 정보(300)와 2D 환경 상에서 각각의 장애물의 (left, top, right, bottom) 좌표에 대한 데이터셋(301), 영상 정보셋의 파일 이름(302), 장애물 데이터셋의 파일 이름(303)을 표시한 것이다.
도 5는 본 발명의 실시 예에 따른 영상 인코더(420)를 훈련하는 과정을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 경로 준비 단계(S130)의 경로 데이터를 생성하는 과정을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 경로 데이터 변환 단계(S140)의 경로 데이터 변환 과정을 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 경로 파라미터 디코더 훈련 단계(S150)의 경로 파라미터 디코더를 훈련하는 과정을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 딥 러닝을 이용항 딥 경로 생성기(800)를 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 딥러닝을 이용한 장애물 회피 경로 생성 장치(1000)을 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 실시 예에 따른 장애물 회피 경로 생성 장치 및 방법은 딥러닝(Deep Learning)을 이용하여 장애물이 포함된 환경에 대한 영상과 대상 환경에서의 임의의 시작점, 도착점이 주어졌을 때 시작점에서 도착점에 장애물을 회피하면서 도달하는 작업 경로를 생성할 수 있다.
도 1은 본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 장치의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 1을 참조하면, 장애물 회피 경로 생성 장치의 동작 방법은 다음과 같이 진행될 수 있다.
장애물 회피 경로 생성 장치는 장애물 회피에 관련된 경로 파라미터 생성기를 설정하기 위하여 딥러닝을 이용하여 경로 데이터 학습을 수행할 수 있다(S100). 이후 장애물 회피 경로 생성 장치는 설정된 경로 파라미터 생성기를 이용하여 수신된 입력 이미지에 대한 장애물 회피 경로 데이터를 생성할 수 있다(S200).
본 발명의 실시 예에 따른 장애물 회피 경로 생성 방법은, 딥러닝을 이용한 경로 데이터 학습 단계(S100)와 경로 파라미터를 이용한 경로 데이터 생성 단계(S200)를 포함할 수 있다.
도 2는 본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 장치의 경로 데이터 학습 방법을 예시적으로 보여주는 흐름도이다. 도 2를 참조하면, 경로 데이터 학습 방법은, 환경정보 준비단계(S110), 영상 인코더 훈련 단계(S120), 경로 정보 준비 단계(S130), 경로 데이터 변환 단계(S140), 경로 파라미터 디코더 훈련 단계(S150)를 포함할 수 있다.
환경 정보 준비 단계(S110)에서, 장애물 데이터셋과 장애물이 포함된 공간에 대해 임의의 각도에서 촬영한 영상 정보 셋이 준비될 수 있다. 여기서 장애물 데이터셋은 공간상의 장애물의 위치, 크기, 형태 등에 대한 상세 정보를 포함할 수 있다. 실시 예에 있어서, 장애물 데이터의 각각을 구분하도록 별도의 이름 혹은 식별자로 레이블링 될 수 있다. 이렇게 레이블링된 장애물 데이터셋이 저장될 수 있다.
영상 인코더 훈련 단계(S120)에서, 신경망의 인코더에 입력된 영상과 동일한 영상이 디코더의 출력 영상으로 나타나도록 훈련이 진행될 수 있다. 여기서 신경망은 Autoencoder 기술을 사용하여 인코더와 디코더가 연결됨으로써 구현될 수 있다. 실시 예에 있어서, 훈련 이후에, 인코더 부분의 신경망 모델 정보가 별도로 저장될 수 있다.
경로 정보 준비 단계(S130)에서, 장애물 데이터셋으로 구분하는 각각의 환경에 대해 임의의 시작점과 임의의 도착점이 생성되고, 장애물 데이터셋을 이용하여 각각의 시작점에서 각각의 도착점에 장애물을 회피하면서 도달하는 학습용 경로 데이터가 생성될 수 있다. 여기서, RRT(Rapidly Exploring Random Trees) 등과 같은 경로 생성 알고리즘을 이용하여 장애물을 회피함으로써 시작점에서 도착점에 도달하는 학습용 경로 데이터가 생성될 수 있다. 동시에, 경로 생성 알고리즘에 의해 생성된 경로뿐 만 아니라 사람이 직접 입력한 장애물 회피 경로를 학습용 경로 데이터로 포함할 수 있다.
경로 데이터 변환 단계(S140)에서, 서로 다른 길이의 경로 데이터는 사전에 지정한 개수의 경로 파라미터로 변환될 수 있다. 실시 예에 있어서, 임의의 길이의 경로 데이터는 각각의 차원 단위로 Dynamic Movement Primitive 방법을 이용하여 사전에 지정한 개수의 경로 파라미터로 변환될 수 있다.
경로 파라미터 디코더 훈련 단계(S150)에서, 영상 인코더는 영상 인코더 훈련 단계(S120) 이후에 저장된 인코더의 신경망 모델 정보를 사용하여 설정될 수 있다. 실시 예에 있어서, 영상 인코더는 영상 인코더 훈련 단계(S120)에서의 인코더와 동일하게 구성된 신경망 구조를 가질 수 있다.
실시 예에 있어서, 영상 인코더가 초기화 되면, 각각의 변환된 경로 데이터의 이름 혹은 식별자를 참조하여 해당 경로 생성에 참조한 환경의 영상 데이터가 영상 인코더에 입력될 수 있다. 영상 인코더는 영상 데이터를 더 작은 데이터셋으로 인코딩할 수 있다. 인코딩된 데이터셋은 데이터 차원 변환기를 통해 1차원 배열 형태로 변환될 수 있다. 이 후에, 데이터 차원 변환기는 경로 데이터의 이름 혹은 식별자를 참조하여 시작점, 도착점 정보 파일로부터 시작점, 도착점 데이터를 읽고, 읽혀진 시작점, 도착점 데이터를 1차원 배열로 변환하고, 변환된 데이터를 인코딩 할 수 있다. 여기서 1차원 배열 형태로 변환된 영상 데이터에 붙여서 영상 데이터, 시작점, 도착점이 1차원 배열로 함께 표현될 수 있다.
이후에 상기 1차원 배열을 입력으로 하고 경로 파라미터를 목표 출력으로 하도록 경로 파라미터 디코더가 훈련될 수 있다. 이때 학습에 이용하는 데이터셋은 배치 처리를 위해 여러 개의 데이터셋이 한번에 학습되는 방식도 가능하다. 경로 파라미터 디코더의 충분한 훈련이 완료되면, 경로 파라미터 디코더의 신경망 가중치(Weight) 등의 신경망 모델 정보가 저장될 수 있다.
상술 된 바와 같이, 본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법은 경로 데이터 학습을 수행할 수 있다.
도 3은 본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 장치의 경로 데이터 생성 방법을 예시적으로 보여주는 흐름도이다. 도 3을 참조하면, 경로 데이터 생성 방법은, 영상 인코더 초기화 단계(S210), 경로 파라미터 디코더 초기화 단계(S220), 경로 파라미터 생성 단계(S230), 및 경로 생성 단계(S240)를 포함할 수 있다.
영상 인코더 초기화 단계(S210)에서, 도 2에 도시된 영상 인코더 훈련 단계(S120)에서 저장한 인코더의 신경망 모델 정보로 경로 파라미터 생성기의 영상 인코더가 초기화될 수 있다.
경로 파라미터 디코더 초기화 단계(S220)에서, 도 2에 도시된 경로 파라미터 디코더 훈련 단계(S150)에서 저장한 경로 파라미터 디코더의 신경망 모델 정보로 경로 파라미터 생성기의 경로 파라미터 디코더가 초기화될 수 있다.
경로 파라미터 생성 단계(S230)에서, 경로 생성 대상 환경에 대한 영상 정보 셋과 경로 생성을 원하는 시작점과 도착점을 경로 생성기에 입력하면, 경로 파라미터 생성기는 사전에 지정해 두었던 개수의 경로 파라미터를 생성할 수 있다.
경로 생성 단계(S240)에서, 경로 파라미터 생성기가 출력한 경로 파라미터와 시작점, 도착점 데이터가 가속도 정보 생성기에 입력되면, 가속도 정보 생성기는 매 순간의 가속도를 생성할 수 있다. 속도 정보 생성기는 생성된 가속도 정보를 입력하고, 매 순간의 속도 정보를 생성할 수 있다. 경로 정보 생성기는 생성된 속도 정보를 입력하고, 최종 경로를 출력할 수 있다.
실시 예에 있어서, 가속도 정보 생성기, 속도 정보 생성기, 경로 정보 생성기는 DMP(Dynamic Movement Primitive) 알고리즘에 따라 구현될 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법은 DMP 알고리즘을 이용하여 경로 데이터를 생성할 수 있다.
도 4는 발명의 실시 예에 따른 2D 환경에서 10개의 장애물이 포함된 환경에 대한 탑뷰(top view) 영상 정보와 2D 환경 상에서 각각의 장애물의 (left, top, right, bottom) 좌표에 대한 데이터셋, 영상 정보셋의 파일 이름, 장애물 데이터셋의 파일 이름을 표시한 것이다.
도 5는 본 발명의 실시 예에 따른 영상 인코더(420)를 훈련하는 과정을 예시적으로 보여주는 도면이다. 도 2에 도시된 바와 같이 영상 인코더 훈련 단계(S120)는 Autoencoder 기술을 사용하여 신경망의 인코더(420)에 입력된 영상(410)과 동일한 영상이 디코더(430)의 출력 영상(440)으로 나타나도록 훈련하는 것을 포함할 수 있다. 실시 예에 있어서, 신경망은 인코더(420) 및 디코더(430)를 포함할 수 있다. 이후에, 인코더(420)의 신경망 모델 정보는 별도로 저장될 수 있다.
도 6은 본 발명의 실시 예에 따른 경로 준비 단계(S130)의 경로 데이터를 생성하는 과정을 예시적으로 보여주는 도면이다. 도 6을 참조하면, 경로 준비 단계(S130)의 경로 데이터는 목표 환경에서 시작점 S=(29,2), 도착점 G=(67,85)에 대해 경로 생성 알고리즘을 사용하여 장애물을 회피하는 경로의 중간점(waypoint) 집합으로 생성될 수 있다.
도 7은 본 발명의 실시 예에 따른 경로 데이터 변환 단계(S140)의 경로 데이터 변환 과정을 예시적으로 보여주는 도면이다. 도 7을 참조하면, 서로 다른 길이의 경로 데이터를 사전에 지정한 개수의 데이터로 변환될 수 있다. 실시 예에 있어서, 경로 데이터 변환 과정은 Dynamic Movement Primitive(DMP) 알고리즘을 이용하여 수행될 수 있다.
실시 예에 있어서, 입력된 임의의 길이의 데이터는 아래의 수학식들에 의해 각각의 차원 단위로 사전에 지정한 개수의 데이터로 변환될 수 있다.
Figure pat00001
여기서
Figure pat00002
는 시간 상수로써 보통 1 값으로 설정되고,
Figure pat00003
는 가속도 값이고,
Figure pat00004
는 속도 값이고,
Figure pat00005
는 Gain으로써 상수값이고,
Figure pat00006
는 Gain, 상수값, 보통
Figure pat00007
로 설정되고,
Figure pat00008
는 도착점이고,
Figure pat00009
는 시스템의 현재 상태 (현재 위치)를 나타내고,
Figure pat00010
는 forcing term으로 수학식 2로 계산되는 값이다.
Figure pat00011
Figure pat00012
는 시스템의 목표 상태로써 도착점이고,
Figure pat00013
는 시스템의 초기 상태로써 시작점이고,
Figure pat00014
는 Gaussian basis function이고,
Figure pat00015
는 i 번째 Gaussian basis function의 가중치 값, weight, 본 특허에서 학습의 목표 값(Target)이고,
Figure pat00016
는 Path를 구성하는 Gaussian Basis Function의 개수로써, 사전에 지정된 값이고,
Figure pat00017
는 수학식 4에 의해 정의된 함수에 의해 생성되는 값이다.
Figure pat00018
여기서
Figure pat00019
는 지수함수이고,
Figure pat00020
는 i번째 Gaussian Basis Function의 분산이고,
Figure pat00021
는 수학식 4에 의해 정의된 함수에 의해 생성되는 값이고,
Figure pat00022
는 i번째 Gaussian Basis Function의 중앙값이다.
Figure pat00023
여기서
Figure pat00024
는 시간 상수로써 보통 1 값으로 설정되고,
Figure pat00025
는 dynamical system의 Gain으로써 상수값이며, 보통 1 값으로 설정되고,
Figure pat00026
는 감쇄값이고,
Figure pat00027
는 초기값 1.0에서 시간에 따라
Figure pat00028
값만큼 감쇄되는 변수이다.
실시 예에 있어서, 변환된 경로 데이터는 경로 생성에 사용한 환경을 구분하는 이름 혹은 식별자를 포함하고, 파일 형태로 저장될 수 있다. 실시 예에 있어서, 시작점 정보, 도착점 정보는 하나의 파일에 저장될 수 있다.
도 7에 도시된 2차원 경로 데이터를 각 차원별로 100개의 데이터로 변경하도록 설정한 후 경로 데이터 변환 단계(S140)에서 생성한 데이터를 예시적으로 보여준다. 도 7에 도시된 시작점 (97,19)와 도착점(56,55)를 저장하도록 한 시작점, 도착점 정보 파일을 예시적으로 보여준다.
도 8은 본 발명의 실시 예에 따른 경로 파라미터 디코더 훈련 단계(S150)의 경로 파라미터 디코더를 훈련하는 과정을 예시적으로 보여주는 도면이다. 도 8을 참조하면, 먼저 경로 파라미터 생성기(700)의 영상 인코더(720)는 영상 인코더 훈련 단계(S120) 완료후 저장된 인코더 신경망 모델 정보를 사용하여 초기화할 수 있다.
실시 예에 있어서, 영상 인코더(720)는 영상 인코더 훈련 단계(S120)의 인코더(420)와 동일하게 구성된 신경망 구조를 가질 수 있다.
실시 예에 있어서, 영상 인코더(720)가 초기화 되면, 영상 인코더(720)는 각각의 변환된 경로 데이터의 이름 혹은 식별자를 참조하여 해당 경로 생성에 참조한 환경의 영상 데이터를 읽고, 더 작은 데이터셋으로 인코딩할 수 있다. 실시 예에 있어서, 인코딩된 데이터셋은 데이터 차원 변환기(722)를 통해 1차원 배열 형태로 변환될 수 있다.
이 후에, 데이터 차원 변환기(722)는 경로 데이터의 이름 혹은 식별자를 참조하여 시작점, 도착점 정보 파일로부터 시작점, 도착점 데이터를 읽고, 1차원 배열로 변환한 후에 인코딩 될 수 있다. 인코딩된 데이터는 1차원 배열 형태로 변환된 영상 데이터에 붙여서 영상 데이터, 시작점, 도착점이 1차원 배열로 함께 표현될 수 있다.
이 후에, 경로 파라미터 디코더(750)는 인코딩된 데이터(730)을 입력하고 경로 데이터를 목표 출력으로 하여 훈련될 수 있다. 실시 예에 있어서, 배치 처리를 위해 여러 개의 데이터셋이 한번에 학습될 수 있다.
실시 예에 있어서, 경로 파라미터 디코더(750)의 충분한 훈련이 완료되면, 경로 파라미터 디코더(750)의 신경망 Weight등의 신경망 모델 정보는 저장될 수 있다.
한편, 도 8에 도시된 경로 파라미터 디코더(750)의 신경망 구성은 본 발명의 실시 예에 불과하다고 이해되어야 할 것이다.
도 9는 본 발명의 실시 예에 따른 딥러닝을 이용항 딥 경로 생성기(800)를 예시적으로 보여주는 도면이다. 도 9를 참조하면, 딥 경로 생성기(800)는 경로 파라미터 생성기(820), 가속도 정보 생성기(830), 속도 정보 생성기(840), 및 경로 정보 생성기(850)를 포함할 수 있다.
실시 예에 있어서, 딥 경로 생성기(800)는 영상 인코더 훈련 단계(S120)에서 저장된 인코더의 신경망 모델 정보로 경로 파라미터 생성기(820)의 영상 인코더(720, 도 8 참조)를 초기화할 수 있다.
실시 예에 있어서, 딥 경로 생성기(800)는 경로 파라미터 디코더 초기화 단계(S220)에서는 경로 파라미터 디코더 훈련 단계(S150)에서 저장된 경로 파라미터 디코더의 신경망 모델 정보로 경로 파라미터 생성기(810) 내부의 경로 파라미터 디코더(750, 도 8 참조)를 초기화할 수 있다.
실시 예에 있어서, 딥 경로 생성기(800)는 경로 파라미터 생성 단계(S230)에서 경로 생성 대상 환경에 대한 영상 정보 셋과 경로 생성을 원하는 시작점과 도착점을 입력받고, 경로 파라미터 생성기(820)에 의해 사전에 지정해 두었던 개수의 경로 파라미터를 생성할 수 있다.
실시 예에 있어서, 딥 경로 생성기(800)는 경로 생성 단계(S240)에서 경로 파라미터 생성기(820)이 출력한 경로 파라미터와 시작점, 도착점 데이터를 가속도 정보 생성기(830)에 입력하여 매 순간의 가속도를 생성하고, 생성된 가속도 정보를 속도 정보 생성기(840)에 입력하여 매 순간의 속도 정보를 생성하고, 생성된 속도 정보를 경로 정보 생성기(850)에 입력하여 최종 경로를 출력할 수 있다.
실시 예에 있어서, 가속도 정보 생성기(830), 속도 정보 생성기(840), 경로 정보 생성기(850)는 DMP 알고리즘에 따라 구현될 수 있다.
실시 예에 있어서, 가속도 정보는 다음의 수학식에 따라 생성될 수 있다.
Figure pat00029
Figure pat00030
는 가속도 값이고,
Figure pat00031
는 속도 값이고,
Figure pat00032
는 Gain으로써 상수값이고,
Figure pat00033
는 Gain으로서 상수값이며, 보통
Figure pat00034
로 설정되고,
Figure pat00035
는 Goal로써 도착점이고,
Figure pat00036
는 시스템의 현재 상태(현재 위치)이고,
Figure pat00037
는 forcing term으로 수학식 2로 계산되는 값이다. 실시 예에 있어서, 속도 정보는 다음의 수학식에 따라 생성될 수 있다.
Figure pat00038
여기서
Figure pat00039
는 가속도 값이고,
Figure pat00040
는 속도 값이고,
Figure pat00041
는 timestep 값, 시간 샘플링 단위, 100 샘플이면 0.01이다.
실시 예에 있어서, 경로 정보는 다음의 수학식에 따라 생성될 수 있다.
Figure pat00042
여기서
Figure pat00043
는 속도 값이고,
Figure pat00044
는 시스템의 현재 상태(현재 위치)이고,
Figure pat00045
는 timestep 값, 시간 샘플링 단위, 100 샘플이면 0.01이다.
도 10은 본 발명의 실시 예에 따른 딥러닝을 이용한 장애물 회피 경로 생성 장치(1000)를 예시적으로 보여주는 도면이다. 도 10을 참조하면, 장애물 회피 경로 생성 장치(1000)는 적어도 하나의 프로세서(1100), 네트워크 인터페이스(1200), 메모리(1300), 디스플레이(1400), 및 입출력 장치(1500)를 포함할 수 있다.
프로세서(1100)는 도 1 내지 도 9를 통하여 적어도 하나의 장치를 포함하거나, 도 1 내지 도 9를 통하여 상술한 적어도 하나의 방법으로 구현될 수 있다. 프로세서(1100)는, 상술된 바와 같이, 장애물 회피 관련된 경로 파라미터를 얻기 위하여 딥러닝을 이용하여 학습용 경로 데이터를 학습하고 및 상기 경로 파라미터를 이용하여 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하도록 인스트럭션들(instructions)을 실행할 수 있다.
프로세서(1100)는 프로그램을 실행하고, 장애물 회피 경로 생성 장치(1000)을 제어할 수 있다. 장애물 회피 경로 생성 장치(1000)는 입출력 장치(1500)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 혹은 네트워크)에 연결되고, 데이터를 교환할 수 있다. 장애물 회피 경로 생성 장치(1000)는 이동 전화, 스마트 폰, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터 등 모바일 장치, 퍼스널 컴퓨터, 태블릿 컴퓨터, 넷북 등 컴퓨팅 장치, 혹은 텔레비전, 스마트 텔레비전, 게이트 제어를 위한 보안 장치 등 전자 제품 등 다양한 전자 시스템을 포함할 수 있다.
네트워크 인터페이스(1200)는 외부의 네트워크와 다양한 유/무선 방식에 의해 통신을 수행하도록 구현될 수 있다.
메모리(1300)는 컴퓨터에서 읽을 수 있는 명령어(instruction)를 포함할 수 있다. 프로세서(1100)는 메모리(1300)에 저장된 명령어가 프로세서(1100)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1300)는 휘발성 메모리 혹은 비휘발성 메모리일 수 있다. 메모리(1300)는 사용자의 데이터를 저장하도록 저장 장치를 포함할 수 있다. 저장 장치는 eMMC(embedded multimedia card), SSD(solid state drive), UFS(universal flash storage) 등 일 수 있다. 저장 장치는 적어도 하나의 비휘발성 메모리 장치를 포함할 수 있다. 비휘발성 메모리 장치는, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다.
이상에서 설명된 실시 예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/혹은 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 혹은 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 혹은 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operating System; OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.
또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 대응하는 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소 (processing element) 및/혹은 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수의 프로세서 혹은 하나의 프로세서 및 하나의 제어기(controller)를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 혹은 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 혹은 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/혹은 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 혹은 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 혹은 장치, 혹은 전송되는 신호파(signal wave)에 영구적으로, 혹은 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
본 발명의 실시 예에 따른 장애물 회피 경로 생성 장치(1000)는, 적어도 하나의 프로세서(1100) 및 적어도 하나의 프로세서(1100)에 의해 실행되는 적어도 하나의 인스트럭션을 저장하는 메모리(1300)를 포함하고, 상기 적어도 하나의 인스트럭션은, 장애물 회피 관련된 경로 파라미터를 얻기 위하여 딥러닝을 이용하여 복수의학습용 경로 데이터를 학습하고 및 경로 파라미터를 이용하여 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하도록 적어도 하나의 프로세서(1100)에서 실행될 수 있다.
실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 혹은 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체 (magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 이용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
420: 인코더
430: 디코더
700, 820: 경로 파라미터 생성기
800: 딥 경로 생성기
830: 가속도 정보 생성기
840: 속도 정보 생성기
850: 경로 생성기
1000: 장애물 회피 경로 생성 장치

Claims (14)

  1. 로봇의 장애물 회피 경로 생성 장치의 방법에 있어서,
    입력 이미지로부터 장애물 회피를 위한 경로 파라미터를 얻기 위하여 딥러닝을 이용하여 경로 파라미터 생성기를 학습시키는 단계; 및
    상기 학습된 경로 파라미터 생성기를 이용하여 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 경로 파라미터는 Dynamic Movement Primitive(DMP) 알고리즘을 위한 파라미터를 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 경로 파라미터 생성기를 학습시키는 단계는,
    장애물 데이터셋과 영상 정보셋을 갖는 환경 정보를 준비하는 단계;
    영상을 작은 크기의 데이터로 변환하기 위한 영상 인코더 훈련 단계;
    학습용 경로 데이터를 준비하는 단계;
    길이가 다른 상기 학습용 경로 데이터를 사전에 지정한 개수의 경로 파라미터로 변환하는 단계; 및
    상기 변환된 경로 파라미터와 상기 영상 인코더의 출력 데이터를 이용하여 경로 파라미터 디코더를 훈련하는 단계를 포함하는 방법.
  4. 제 3 항에 있어서,
    상기 장애물 데이터셋은 상기 장애물의 위치, 크기, 형태에 대한 정보를 포함하고,
    상기 영상 정보셋은 상기 장애물이 포함된 공간에 대해 임의의 각도에서 촬영된 정보를 포함하는 방법.
  5. 제 3 항에 있어서,
    상기 영상 인코더를 훈련하는 단계는,
    Autoencoder 알고리즘에 의거하여 신경망에서 인코더에 입력된 영상 정보셋과 상기 입력된 영상 정보셋과 동일한 영상이 디코더의 출력 영상셋으로 나타나도록 상기 인코더를 훈련하는 단계; 및
    상기 인코더의 신경망 모델 정보를 저장하는 단계를 포함하는 방법.
  6. 제 3 항에 있어서,
    상기 학습용 경로 데이터를 준비하는 단계는,
    RRT(Rapidly Exploring Random Trees) 알고리즘에 의거하여 상기 장애물 데이터 셋으로부터 장애물을 회피하여 시작점에서 도착점에 도달하는 경로의 중간점의 집합으로 구성된 복수의 학습용 경로 데이터를 생성하는 단계를 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 학습용 경로 데이터를 경로 파라미터로 변환하는 단계는,
    Dynamic Movement Primitive(DMP) 알고리즘에 의거하여 다차원의 상기 학습용 경로 데이터를 각 차원별로 사전에 지정한 개수의 경로 파라미터로 변환하는 단계를 포함하는 방법.
  8. 제 3 항에 있어서,
    상기 경로 파라미터 디코더를 훈련하는 단계는,
    상기 저장된 인코더의 신경망 모델 정보를 이용하여 상기 경로 파라미터 생성기의 상기 영상 인코더를 설정하는 단계를 더 포함하는 방법.
  9. 제 8 항에 있어서,
    상기 경로 파라미터 디코더를 훈련하는 단계는,
    상기 영상 인코더에서 상기 영상 정보를 상기 영상 정보의 크기 보다 작은 데이터셋으로 인코딩하는 단계;
    데이터 차원 변환기에서 상기 인코딩된 데이터셋을 1차원 배열 형태로 변환하는 단계;
    상기 변환된 1차원 데이터에 도착점과 시작점 데이터를 추가하여 입력 데이터를 구성하는 단계;
    상기 구성된 입력 데이터를 입력받아 상기 변환된 경로 파라미터를 출력하도록 상기 경로 파라미터 디코더를 훈련하는 단계; 및
    상기 훈련된 경로 파라미터 디코더의 신경망 모델 정보를 저장하는 단계를 더 포함하는 방법.
  10. 제 1 항에 있어서,
    상기 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하는 단계는,
    상기 저장된 인코더의 신경망 모델 정보를 이용하여 영상 인코더를 초기화 시키고, 상기 저장된 경로 파라미터 디코더의 신경망 모델 정보를 이용하여 경로 파라미터 디코더를 초기화 시키는 단계;
    사용자가 입력한 영상정보셋과 경로 생성를 원하는 시작점과 도착점을 경로 파라미터 생성기에 입력으로 전달함으로써 사전에 결정된 개수의 경로 파라미터를 얻는 단계; 및
    딥 경로 생성기에서 상기 생성된 경로 파라미터에 대응하는 경로 데이터를 생성하는 단계를 포함하는 방법.
  11. 제 10 항에 있어서,
    상기 딥 경로 생성기는,
    상기 경로 파라미터, 상기 시작점, 상기 도착점을 입력하여 가속도 정보를 생성하는 가속도 정보 생성기;
    상기 가속도 정보를 입력하여 속도 정보를 생성하는 속도 정보 생성기;
    상기 속도 정보를 입력하여 상기 경로 데이터를 생성하는 경로 정보 생성기를 포함하는 방법.
  12. 로봇의 장애물 회피 경로 생성 장치에 있어서:
    적어도 하나의 프로세서; 및
    적어도 하나의 프로세서에 의해 실행되는 적어도 하나의 인스트럭션을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 인스트럭션은,
    장애물 회피 관련된 경로 파라미터를 얻기 위하여 딥러닝을 이용하여 복수의학습용 경로 데이터를 학습하고; 및
    상기 경로 파라미터를 이용하여 입력 이미지에 대응하는 장애물 회피를 위한 경로 데이터를 생성하도록 적어도 하나의 프로세서에서 실행되는 것을 특징으로 하는 장애물 회피 경로 생성 장치.
  13. 제 12 항에 있어서,
    상기 복수의 학습용 경로 데이터는 RRT(Rapidly Exploring Random Trees) 알고리즘에 의거하여 생성되고,
    상기 경로 파라미터는 Dynamic Movement Primitive(DMP) 알고리즘을 위한 파라미터를 포함하는 것을 특징으로 하는 장애물 회피 경로 생성 장치.
  14. 제 12 항에 있어서,
    상기 영상 인코더는 autoencoder를 사용하는 신경망을 이용하는 것을 특징으로 하는 장애물 회피 경로 생성 장치.

KR1020200030527A 2019-05-10 2020-03-12 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법 및 장치 KR20200130091A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190054943 2019-05-10
KR1020190054943 2019-05-10

Publications (1)

Publication Number Publication Date
KR20200130091A true KR20200130091A (ko) 2020-11-18

Family

ID=73697353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200030527A KR20200130091A (ko) 2019-05-10 2020-03-12 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20200130091A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112549028A (zh) * 2020-12-02 2021-03-26 中国科学院自动化研究所 基于动态运动基元和人工势场的双臂机器人轨迹规划方法
CN114603564A (zh) * 2022-04-28 2022-06-10 中国电力科学研究院有限公司 机械臂导航避障方法、系统、计算机设备及存储介质
KR20230046909A (ko) * 2021-09-30 2023-04-06 서울대학교산학협력단 비-구조화된 주행 환경을 위한 자율 주행 방법 및 장치
KR102551333B1 (ko) * 2022-12-30 2023-07-04 주식회사 아이브 계층적 강화학습을 이용한 로봇 팔의 최적 경로 학습 장치 및 그 방법
CN118238132A (zh) * 2024-03-04 2024-06-25 北京中科慧灵机器人技术有限公司 轨迹避障训练方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160021161A (ko) 2016-02-01 2016-02-24 고려대학교 산학협력단 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법
KR20170143133A (ko) 2016-06-20 2017-12-29 서울대학교산학협력단 장애물 회피 경로 생성 및 제어에 의한 협업 비행 운송 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160021161A (ko) 2016-02-01 2016-02-24 고려대학교 산학협력단 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법
KR20170143133A (ko) 2016-06-20 2017-12-29 서울대학교산학협력단 장애물 회피 경로 생성 및 제어에 의한 협업 비행 운송 시스템 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ijspeert, A., Nakanishi, J., Pastor, P., Hoffmann, H., Schaal, S., "Dynamical movement primitives: learning attractor models for motor behaviors," Neural Comput. 25, pp. 328-373, 2013.
J. Masci, U. Meier, D. Ciresan, and J. Schmidhuber, "Stacked convolutional auto-encoders for hierarchical feature extraction," Proc. 21th international conference on artificial neural networks (ICANN'11), 2011
S. Karaman, and E. Frazzoli, "Sampling-based Algorithms for Optimal Motion Planning," The International Journal of Robotics Research, vol. 30, pp. 846-894, 2011.

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112549028A (zh) * 2020-12-02 2021-03-26 中国科学院自动化研究所 基于动态运动基元和人工势场的双臂机器人轨迹规划方法
KR20230046909A (ko) * 2021-09-30 2023-04-06 서울대학교산학협력단 비-구조화된 주행 환경을 위한 자율 주행 방법 및 장치
CN114603564A (zh) * 2022-04-28 2022-06-10 中国电力科学研究院有限公司 机械臂导航避障方法、系统、计算机设备及存储介质
CN114603564B (zh) * 2022-04-28 2024-04-12 中国电力科学研究院有限公司 机械臂导航避障方法、系统、计算机设备及存储介质
KR102551333B1 (ko) * 2022-12-30 2023-07-04 주식회사 아이브 계층적 강화학습을 이용한 로봇 팔의 최적 경로 학습 장치 및 그 방법
CN118238132A (zh) * 2024-03-04 2024-06-25 北京中科慧灵机器人技术有限公司 轨迹避障训练方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
KR20200130091A (ko) 딥러닝을 이용한 로봇의 장애물 회피 경로 생성 방법 및 장치
Patil et al. Scaling up gaussian belief space planning through covariance-free trajectory optimization and automatic differentiation
Zucker et al. Chomp: Covariant hamiltonian optimization for motion planning
Xue et al. Trajectory planning for autonomous mobile robot using a hybrid improved QPSO algorithm
JP7160957B2 (ja) モデルフリー強化学習のためのスタック型畳み込み長/短期メモリ
CN112154461A (zh) 用于多代理环境中的行为预测和强化学习的图神经网络系统
US11992944B2 (en) Data-efficient hierarchical reinforcement learning
Osa et al. Hierarchical reinforcement learning of multiple grasping strategies with human instructions
Schegg et al. SofaGym: An open platform for reinforcement learning based on soft robot simulations
WO2022023442A1 (en) Semi-supervised keypoint based models
Ewerton et al. Assisted teleoperation in changing environments with a mixture of virtual guides
Cao et al. A 65-nm 8-to-3-b 1.0–0.36-V 9.1–1.1-TOPS/W hybrid-digital-mixed-signal computing platform for accelerating swarm robotics
Udugama Mini bot 3D: A ROS based Gazebo Simulation
KR101936130B1 (ko) 로봇팔을 이용한 블록 조립 시스템 및 그 방법
Xu et al. Deep reinforcement learning for parameter tuning of robot visual servoing
Han Multimodal intelligent logistics robot combining 3D CNN, LSTM, and visual SLAM for path planning and control
Gordón et al. Intelligent autonomous navigation of robot KUKA YouBot
Chansuparp et al. A novel augmentative backward reward function with deep reinforcement learning for autonomous UAV navigation
Guo et al. Object goal visual navigation using semantic spatial relationships
Ngoc et al. Efficient Evaluation of SLAM Methods and Integration of Human Detection with YOLO Based on Multiple Optimization in ROS2.
Ho et al. Towards a framework for comparing the complexity of robotic tasks
Megalingam et al. Analysis of Tiago Robot for Autonomous Navigation Applications
Huh et al. Learning to generate cost-to-go functions for efficient motion planning
Cimurs et al. Leveraging Expert Demonstration Features for Deep Reinforcement Learning in Floor Cleaning Robot Navigation
Borkar et al. Path planning design for a wheeled robot: a generative artificial intelligence approach