KR20160080349A - 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇 - Google Patents

작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇 Download PDF

Info

Publication number
KR20160080349A
KR20160080349A KR1020140191981A KR20140191981A KR20160080349A KR 20160080349 A KR20160080349 A KR 20160080349A KR 1020140191981 A KR1020140191981 A KR 1020140191981A KR 20140191981 A KR20140191981 A KR 20140191981A KR 20160080349 A KR20160080349 A KR 20160080349A
Authority
KR
South Korea
Prior art keywords
robot
behavior
complexity
unit
importance value
Prior art date
Application number
KR1020140191981A
Other languages
English (en)
Other versions
KR101676541B1 (ko
Inventor
서일홍
조남준
이상형
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020140191981A priority Critical patent/KR101676541B1/ko
Publication of KR20160080349A publication Critical patent/KR20160080349A/ko
Application granted granted Critical
Publication of KR101676541B1 publication Critical patent/KR101676541B1/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/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
    • B25J11/00Manipulators not otherwise provided for

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

로봇의 행동 중에서 중요한 행동을 판단하여 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇이 개시된다. 개시된 작업 솜씨를 학습하는 방법은, 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계; 상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 중요도 값을 생성하는 단계; 상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계; 및 상기 단위 행동 각각에 대한 중요도 값과 임계값을 비교하여, 상기 단위 행동 중에서 중요 단위 행동을 판단하는 단계를 포함한다.

Description

작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇{Method for Learning Task Skill and Robot Using Thereof}
본 발명은 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇에 관한 것으로서, 더욱 상세하게는 로봇의 행동 중에서 중요한 행동을 판단하여 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇에 관한 것이다.
인공 지능(artificial intelligence, AI)이라 함은, 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로서, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 기술을 말한다. 이러한 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히, 현대에는 정보 기술의 여러 분야에서 인공지능적 요소를 도입하여 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
이상과 같이 인간의 행동을 모방하려는 시도는 학습 로봇이라는 기술 분야의 발전을 가져왔다. 종래의 로봇 공학에서 산업용 로봇 등이 단지 잘 설계된 일련의 명령어 집합을 입력받아 이에 해당하는 명령만을 기계적으로 수행하였던 것에 반해, 현대의 학습 로봇은 주위 환경으로부터 다양한 환경 요소들을 로봇 스스로가 감지하고, 이로부터 인간에게 유용한 다양한 작업 기술(task skill)을 학습할 수 있는 수준을 지향하고 있다. 이러한 학습 로봇(비록 로봇이라고 표현하였으나, 하드웨어 로봇 이외에 가상 공간에서 활용될 수 있는 소프트웨어로 구현된 가상 생명체 내지 인공물을 포함할 수 있다.)에 있어서, 학습(learning)의 목표는 경험을 통한 일반화에 의해 인공지능 추론 시스템의 잠재적 성능을 향상시키는 것에 있다. 즉, 학습 알고리즘에 입력되는 것은 실험(experiment)이 될 것이고, 그 결과에 따라 지식 베이스(knowledge base)에 대한 수정들이 그 학습 알고리즘에서 출력될 것이다.
지능 로봇(또는 에이전트)은 사람과의 상호작용을 통해 임무 수행을 위한 학습 데이터를 획득한다. 로봇이 획득한 학습 데이터를 이용하여 단일 모델을 생성하거나, 사람 또는 사전 지식을 기반으로 사전에 분리된 데이터를 이용하여 분리된 모델들을 생성한다. 생성된 모델은 로봇의 임무 수행을 위한 재생성에 사용된다. 로봇의 임무 수행을 위한 모델은 지속적이고 점진적으로 추가 및 수정될 수 있어야 하고, 이를 기반으로 임무를 재생성할 수 있어야 한다. 관련된 선행문헌으로 한국공개특허 제2013-0067346호가 있다.
기존의 가우시안 혼합 모델을 이용한 로봇의 솜씨 학습 기술은, 로봇 행동에 대한 중요도를 고려하지 않았기 때문에, 섬세한 동작에 대한 학습된 행동을 성공적으로 수행하기 어려운 문제가 있다. 로봇 동작에 대한 중요도에 따라 로봇이 집중하여 임무를 수행할 수 있도록 하기 위한 연구가 필요하다.
본 발명은 로봇의 행동 중에서 중요한 행동을 판단하여 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇을 제공하기 위한 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계; 상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 중요도 값을 생성하는 단계; 상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계; 및 상기 단위 행동 각각에 대한 중요도 값과 임계값을 비교하여, 상기 단위 행동 중에서 중요 단위 행동을 판단하는 단계를 포함하는 작업 솜씨를 학습하는 방법을 제공한다.
또한 상기한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계; 상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 기 설정된 측정 구간에서 상기 로봇 행동의 제1중요도 값을 생성하는 단계; 상기 제1중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계; 상기 로봇 및 작업 대상 그룹에서 선정된 측정 대상 조합의 움직임을 이용하여, 상기 측정 구간에서 상기 측정 대상 조합의 시간 흐름에 따른 제2중요도 값을 생성하는 단계; 및 상기 제2중요도 값과 제1임계값을 비교하여, 분할 구간 중에서 중요 분할 구간을 판단하는 단계를 포함하며, 상기 분할 구간은 상기 제2중요도 값이 상기 단위 행동 구간에 따라 분할된 구간인 작업 솜씨를 학습하는 방법 제공된다.
또한 상기한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따르면, 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계; 상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 복잡성 및 시불변성을 산출하는 단계; 상기 복잡성 및 시불변성을 이용하여, 상기 복잡성 및 시불변성에 비례하는 상기 로봇 행동에 대한 중요도 값을 생성하는 단계; 및 상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계를 포함하는 작업 솜씨를 학습하는 방법을 제공한다.
본 발명에 따르면, 특정 임무를 수행하는 로봇이, 중요한 행동 및 중요한 작업 대상을 판단하고, 판단된 중요 행동 및 작업 대상에 대한 사전 조건 및 사후 조건을 결정함으로써, 변화된 환경에서도 적응적으로 중요 행동을 성공적으로 수행할 수 있다.
도 1은 본 발명의 일실시예에 따른 작업 솜씨를 학습하는 로봇을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
도 3은 행동에 따른 정준 상관 분석의 상관 값을 나타내는 도면이다.
도 4는 데이터 측정을 위한 윈도우를 설명하기 위한 도면이다.
도 5는 도 1에서 설명된 임무에 대한 복잡성, 시불변성 및 중요도 값을 나타내는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 가우시안 혼합 모델을 설명하기 위한 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
도 9는 측정 대상 조합에 대한 중요도 값 및 로봇의 단위 행동 구간에 대응되는 분할 구간을 나타내는 도면이다.
도 10은 도 6에서 설명된 중요 단위 행동 및 도 8에서 설명된 중요 분할 구간을 나타내는 도면이다.
도 11은 본 발명의 일실시예에 따른, 로봇과 펙에 대한 사전 조건 및 사후 조건을 PDDL로 표현한 도면이다.
도 12는 본 발명의 구체적 실시예에 따른 작업 솜씨를 학습하는 로봇을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
임무(task)는 일련의 의미있는 행동 또는 동작(action)으로서 정의될 수 있으므로, 지능 로봇(intelligent robot)은 이러한 임무에 대한 학습 데이터(training data)로부터 기본 솜씨(basis skill)라고 불리는 의미있는 동작들을 학습할 수 있다. 기존의 가우시안 혼합 모델을 이용한 작업 솜씨 학습 방법은 공간적인 변화가 적은 부분, 즉 섬세함을 요구하는 행동 부분을 잘 모델링 할 수 없었기 때문에, 로봇이 섬세한 동작을 성공적으로 수행하기 어려웠다.
본 발명은 학습 데이터를 이용하여 로봇 행동 중에서 중요한 단위 행동을 판단함으로써, 로봇이 중요한 단위 행동을 보다 집중하여 수행할 수 있도록 할 수 있다. 여기서, 중요한 단위 행동은 섬세함을 요구하는 행동일 수 있다.
본 발명에 따른 작업 솜씨를 학습하는 방법은 로봇 또는 로봇과 연결된 프로세서를 포함하는 처리 장치에서 수행될 수 있다. 그리고 또한 본 명세서에서 언급되는 프로세스 관점의 설명은 하드웨어적인 관점에서 용이하게 해석될 수 있다.
이하에서는 로봇에서 수행되는 작업 솜씨를 학습하는 방법을 일실시예로서 설명하며, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 작업 솜씨를 학습하는 로봇을 설명하기 위한 도면이다.
도 1 및 이하에서는 펙(peg)을 홀(hole)에 삽입하는 임무(peg-in-hole task)를 수행하는 로봇이 일실시예로서 설명된다. 그리고 도 1에서는 적어도 하나의 마이크로프로세서(microprocessor)를 통해 제어되는 하나의 로봇 암(arm)만을 예시하고 있으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 이러한 로봇이 다양한 기계적인 구동 수단과 결합되어 활용될 수 있음을 알 수 있다.
로봇은, 펙-인-홀 임무에 대한 학습 데이터를 입력받아, 해당 임무를 수행한다. 즉, 로봇은 학습 데이터를 이용하여 (1)펙에 접근하여 펙을 집고, (2)펙이 홀에 삽입될 수 있도록 펙과 홀을 정렬시킨 후 (3)펙을 홀에 삽입하고, (4)펙을 놓고 물러난다.
이러한 임무를 수행하는 로봇에 있어서, 특히 (2)펙을 홀과 정렬시키거나 (3)펙을 홀에 삽입하는 행동은 섬세함을 요구하는 동작으로서, (1)펙에 접근하여 펙을 집거나 (4)펙을 놓고 물러나는 행동보다 로봇이 집중하여 수행해야 하는 행동이다.
또한 도 1의 임무와 같이 작업 대상(펙, 홀)이 존재하는 경우, 로봇이 집중하여 수행해야 하는 행동은 작업 대상과 관련이 있을 수 있다. 예를 들어, 로봇이 펙과 홀을 정렬시킬 경우, 로봇은 펙 및 홀과의 관계를 고려하여 임무를 수행해야 한다.
본 발명은 주어진 임무에서 로봇의 중요한 행동을 판단하고, 어떠한 로봇-작업 대상 조합이 특정 행동에서 중요한지 여부를 판단할 수 있다. 본 발명은 이와 같이 판단된 로봇의 중요 행동 및 중요한 로봇-작업 대상 조합에 대한 사전 조건 및 사후 조건을 추출하여 모델링을 수행함으로써, 로봇은 섬세함을 요구하는 동작을 성공적으로 수행할 수 있으며, 변화하는 환경에 적응적으로 임무를 완수할 수 있다.
도 2는 본 발명의 일실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
로봇은 임무에 대한 로봇 행동을 포함하는 학습 데이터를 수신(S210) 즉, 입력받는다. 이러한 과정은 최초에 운동학 교시와 같은 방법을 통해 사용자로부터 입력될 수 있다. 이 때, 운동학 교시(kinesthetic teaching)란, 최초의 학습 엔진을 학습시키기 위해 기계적인 구동 수단을 통해 해당 임무를 어떻게 수행하여야 하는지를 알려주는 과정을 의미한다. 예를 들어, 교시자(teacher)는 지능 로봇의 구동부(로봇 암이 될 수 있다.)를 직접 움직여 로봇 암으로 하여금 글씨를 쓰도록 시연(demonstration)할 수 있고, 이러한 교시자의 움직임을 입력값으로 받아들임으로써 로봇은 해당 입력값(로봇 암의 움직임 궤적이 될 수 있다.)이 글씨를 쓰기 위한 작업 솜씨로써 인식할 수 있다. 즉, 로봇은 구동 수단에 구비된 관절에 부여된 자유도(degree of freedom, DOF)를 이용하여 각 조인트 각도를 측정함으로써 학습 데이터를 입력받을 수 있다.
그리고, 로봇은 중요한 로봇 행동을 파악하기 위해, 학습 데이터에 따른 로봇의 움직임을 이용하여, 시간 흐름에 따른 로봇 행동의 복잡성(complexity) 및 시불변성(invariance)을 산출(S220)한다. 산출된 복잡성 및 시불변성을 이용하여, 복잡성 및 시불변성에 비례하는 로봇 행동에 대한 중요도 값을 생성(S230)한다. 복잡성 및 시불변성은 이하 복잡성 값 및 시불변성 값과 동일한 의미로 사용된다.
중요하고 섬세한 행동일수록 복잡하고, 펙을 홀에 정렬시키는 동작과 같이 로봇의 움직임이 많지 않지 않기 때문에, 본 발명은 일실시예로서 로봇의 행동이 얼마나 복잡한지 그리고, 로봇의 움직임에 변화가 없는지 여부에 따라 로봇 행동을 중요한 것으로 판단할 수 있다. 그리고 본 발명은 로봇의 움직임을 이용하여, 로봇 행동의 복잡성 및 시불변성을 판단할 수 있다.
보다 구체적으로 로봇은 로봇의 움직임을 나타내는 데이터의 상관 관계를 이용하여 복잡성 및 시불변성을 산출한다. 먼저, 복잡성 산출 과정을 설명하면, 로봇은 [수학식 1]을 이용하여 복잡성을 계산할 수 있다.
Figure pat00001
여기서, X 및 Y는 이변량분포(bivariate distribution)로서, 로봇의 움직임을 나타내는 데이터를 의미하며, 'Corr' 연산자는 X 및 Y의 상관 관계를 구하기 위한 연산자이다.
한편, 여기서 상관 관계는 정준 상관 분석(Canonical Correlation Analysis)을 이용하여 계산될 수 있는데, 정준 상관 분석에 따른 상관값은 행동의 복잡성을 나타내기 때문이다. 행동에 따른 정준 상관 분석의 상관 값을 나타내는 도 3에 도시된 바와 같이, 제일 복잡한 글씨(alphabet)를 쓰는 행동에 대한 정준 상관 분석의 상관 값은 두번째로 복잡한 랜덤한 스트로크(random stroke)에 비해 낮고, 가장 간단한 사각형(rectangle)을 그리는 행동에 대한 정준 상관 분석의 상관 값이 가장 큰 것을 알 수 있다.
결국, 로봇은 정준 상관 분석을 이용하여 [수학식 2]와 같이 복잡성(Ii)을 계산할 수 있으며, 여기서 정준 상관 분석의 상관 값(
Figure pat00002
)은 [수학식 3]과 같이 구해질 수 있다.
Figure pat00003
Figure pat00004
여기서, i는 타임 인덱스(time index)를 나타낸다.
Figure pat00005
는 데이터 집합 X, Y 각각의 베이시스 벡터(basis vector)를 나타내며,
Figure pat00006
는 i번째 시간의 공분산(covariance) 행렬을 나타내다.
이 때, 로봇의 움직임을 나타내는 데이터는 도 4와 같이, 기준 시점(t)으로부터, 이전 측정 구간(410, Xpast)에서의 로봇 움직임과 기준 시점(t)으로부터, 다음 측정 구간(420, Xfuture)에서의 로봇 움직임으로 결정될 수 있다. 측정 구간, 즉 윈도우의 크기는 동일하며, 타임 인덱스에 따라 동일한 크기의 윈도우가 이동하면서 데이터 집합이 결정된다. 그리고 데이터 집합 결정을 위해 사용되는 윈도우의 크기는, 복잡성 값이 가장 잘 계산될 수 있도록 실험적으로 결정될 수 있다.
다음으로, 시불변성 산출 과정을 설명하면, 로봇은 [수학식 4]를 이용하여 공분산(Ci)을 계산하고, [수학식 5]를 이용하여 로봇의 움직임에 대한 변화량(variance,
Figure pat00007
)을 계산할 수 있다. 그리고, [수학식 6]의 계산된 변화량의 역수를 시불변성(
Figure pat00008
)으로 이용할 수 있다. 실시예에 따라서, 로봇의 움직임에 대한 변화량(variance,
Figure pat00009
)이 그대로 이용될 수도 있다.
Figure pat00010
Figure pat00011
Figure pat00012
여기서, E는 데이터 집합에 대한 expectation operator를 나타내며, 'tr'은 trace operator를 나타낸다.
단계 S230에서 로봇은, 단계 S220에서 산출된 복잡성 및 시불변성 값을 정규화하고, [수학식 7]과 같이 복잡성 값 및 시불변성 값에 비례하는 중요도 값(
Figure pat00013
)을 생성한다.
Figure pat00014
여기서,
Figure pat00015
Figure pat00016
각각은 정규화된 시불변성 값 및 복잡성 값을 나타내며, 정규화 방법으로는 z-score가 이용될 수 있다.
전술된 단계 S220 및 단계 S230에서 산출된 복잡성, 시불변성 및 중요도 값은 도 5와 같이 도시될 수 있으며, 도 5는 도 1에서 설명된 임무에 대한 복잡성, 시불변성 및 중요도 값을 나타낸다.
그리고 로봇은 중요도 값을 이용하여, 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할(S240)함으로써, 중요도 값에 따른 중요 단위 행동을 파악할 수 있다. 중요 단위 행동에 대한 판단은 도5의 임계값(threshold)을 이용하여 수행될 수 있으며, 보다 자세한 설명은 도 6에서 후술된다.
한편, 로봇 행동의 시간 흐름에 따른 중요도 값을 생성하기 위한 전술된 방법은 일실시예이며, 중요도 값을 생성하기 위해, 실시예에 따라서 복잡성 및 시불변성 중 하나의 값만이 사용되거나 다른 측정 값이 사용될 수도 있다.
도 6은 본 발명의 다른 실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
로봇은 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받고(S610), 학습 데이터에 따른 로봇의 움직임을 이용하여, 시간 흐름에 따른 로봇 행동의 중요도 값을 생성(S620)한다. 중요도 값을 생성하기 위해 도 2에서 설명된 실시예가 이용될 수 있다. 즉, 로봇은 로봇의 움직임을 이용하여, 로봇 행동에 대한 복잡성 및 시불변성을 계산하고, 복잡성 및 시불변성을 이용하여, 복잡성 및 시불변성에 비례하는 중요도 값을 생성할 수 있다. 여기서 시간 흐름은 타임 인덱스에 대응되며, 기 설정된 측정 구간에 대응될 수 있다.
그리고 로봇은 중요도 값을 이용하여, 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할(S630)한다. 예를 들어, 도 1의 펙을 홀에 삽입하는 로봇의 행동은 도 7과 같이 (1)펙에 접근하여 펙을 집는 행동(approaching) (2)펙이 홀에 삽입될 수 있도록 펙과 홀을 정렬시키는 행동(aligning) (3)펙을 홀에 삽입하는 행동(inserting) (4)펙을 놓고 물러나는 행동(withdrawing)으로 분할될 수 있다.
이 때, 로봇은 단계 S620에서 생성된 중요도 값을 가중치로 이용하는 가우시안 혼합 모델(GMM)에 따라, 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할할 수 있다. 일반적으로 가우시한 혼합 모델은 k-means 알고리즘과 같은 EM(Expectation-Maximization) 알고리즘으로 최적 모델을 추정함으로써 결정되는데, 본 발명에서는 [수학식 8]과 같이 가중치가 포함된 k-means 알고리즘의 비용 함수(cost function)를 가우시안 혼합 모델로 이용한다.
Figure pat00017
여기서,
Figure pat00018
는 로봇의 움직임에 대해 k-means를 통해 획득되는 가우시안 클러스터(클러스터) 중 j번째 클러스터의 데이터들을 나타내며,
Figure pat00019
는 i번째 클러스터의 중심을 나타낸다.
Figure pat00020
는 i번째 클러스터에 포함되는 데이터 집합을 나타내며,
Figure pat00021
는 j번째 클러스터에 대한 가중치를 나타낸다. 그리고
Figure pat00022
는 벡터 x에 대한 norm 연산자를 나타낸다.
[수학식 8]에 따라, 각각의 가우시안 클러스터의 중심으로부터 데이터들 간의 유클리드 거리의 합이 최소가 되도록 클러스터링이 수행된다. 이 때, 가중치가 높은 데이터를 중심으로 클러스터가 형성되는데, 본 발명에서는 중요도 값을 가중치로 이용하기 때문에, 결국 중요도 값이 높은 데이터를 중심으로 클러스터가 형성될 수 있다.
결국, 클러스터가 중복되는 영역에서 분할점(도 7의 빨간 선)이 형성될 수 있으며, 이러한 3개의 분할점을 통해, 도 7과 같이 4개의 단위 행동으로 분할될 수 있다. 도 7에서 세로 축은 각각 x, y, z 축 방향으로의 로봇의 움직임을 나타내며, 색을 가진 원은 가우시안 클러스터를 나타낸다.
이후 로봇은 단위 행동 각각에 대한 중요도 값과 임계값을 비교하여, 단위 행동 중에서 중요 단위 행동을 판단(S640)한다. 로봇은 중요도 값이 임계값보다 큰 단위 행동을 중요 단위 행동으로 판단할 수 있다. 그리고 임계값은, 예를 들어 도 5에 도시된 바와 같이, 중요도 값에 대한 평균값일 수 있다. 따라서, 로봇은 (2)펙이 홀에 삽입될 수 있도록 펙과 홀을 정렬시키는 행동(aligning) (3)펙을 홀에 삽입하는 행동(inserting)을 중요 단위 행동으로 판단할 수 있다.
중요 단위 행동에 대해 로봇은 사전 조건(pre-condition)과 사후 조건(post-condition)을 판단하고, 판단된 사전 조건 및 사후 조건은 PDDL(Planing Domain Definition Language)로 표현될 수 있다. 이에 대한 자세한 설명은 도 8에서 후술된다.
한편, 전술된 바와 같이, 중요 행동에 대한 성공적인 임무 수행을 위해서는 로봇의 중요한 행동 뿐만 아니라, 실시예에 따라서 어떠한 로봇-작업 대상 조합이 특정 행동에서 중요한지 여부가 추가적으로 판단될 수 있다. 이는 도 8에서 자세히 설명된다.
도 8은 본 발명의 또 다른 실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
로봇은 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받고(S810), 학습 데이터에 따른 로봇의 움직임을 이용하여, 기 설정된 측정 구간에서 로봇 행동의 제1중요도 값을 생성(S830)한다. 그리고 제1중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할한다. 단계 S810 내지 단계 S830은 도 7의 단계 S710 내지 단계 S730에 대응된다.
그리고 로봇은, 로봇 및 작업 대상 그룹에서 선정된 측정 대상 조합의 움직임을 이용하여, 측정 구간에서 측정 대상 조합의 시간 흐름에 따른 제2중요도 값을 생성(S840)한다. 이 때, 로봇은 전술된 로봇 행동의 중요도 값을 생성하는 방법을 이용하여 제2중요도 값을 생성한다. 다만, 복수의 측정 대상에 대한 중요도 값을 생성하기 위해, 로봇은 측정 대상 조합의 상대적인 움직임을 이용하여 제2중요도 값을 생성할 수 있다.
예를 들어, 측정 대상 조합은, 로봇-펙, 로봇-홀 및 펙-홀일 수 있으며, 로봇-펙 조합의 경우, 로봇은 로봇의 행동에 따른 펙과의 상대적인 움직임을 이용하여 제2중요도 값을 생성할 수 있다.
로봇은 제2중요도 값과 제1임계값을 비교하여, 분할 구간 중에서 중요 분할 구간을 판단(S850)한다. 여기서, 분할 구간은 제2중요도 값이 단위 행동 구간에 따라 분할된 구간으로서, 각각의 단위 행동에 대응된다.
즉, 로봇은 도 9에 도시된 바와 같이, 로봇의 단위 행동 각각에 대응되는 분할 구간에서 제2중요도 값과 제1임계값을 비교하고, 로봇의 단위 행동 각각에서, 중요한 측정 대상 조합을 판단한다. 여기서, 제1임계값은 제2중요도 값에 대한 평균 값으로서, 로봇-펙, 로봇-홀 및 펙-홀 각각의 제2중요도 값을 나타내는 도 9의 그래프(a), 그래프(b) 및 그래프(c)의 제1임계값은 각각 다르다. 그리고 로봇은 제2중요도 값이 제1임계값보다 큰 분할 구간을 중요 분할 구간으로 판단할 수 있다.
결국, 도 6에서 설명된 중요 단위 행동과 도 8에서 설명된 중요 분할 구간을 로봇 행동 및 측정 대상 조합에 대해 정리하면, 도 10과 같이 나타낼 수 있다. 도 10에서 'O' 표시는 중요 단위 행동 또는 중요 분할 구간을 나타내며, 'X' 표시는 중요 단위 행동 또는 중요 분할 구간이 아님을 나타낸다. 그리고 각각의 단위 행동에서의 숫자(예를 들어, 1 to 296)은 타임 인덱스를 나타낸다.
로봇은 중요 단위 행동에 대한 사전 조건 및 사후 조건을 판단하며, 중요 분할 구간에서 측정 대상 조합에 포함된 로봇 또는 작업 대상에 대한 사전 조건 및 사후 조건을 판단한다. 사전 조건은 특정 동작이 수행되기 위해 만족되어야하는 조건이며, 사후 조건은 특정 동작의 효과(effect)를 나타내는 조건이다. 즉, 사전 조건 및 사후 조건은 특정 행동을 수행하기 위한 인과관계를 나타낸다고 할 수 있다.
예를 들어, (2)펙이 홀에 삽입될 수 있도록 펙과 홀을 정렬시키는 단위 행동(aligning)의 경우, 로봇의 행동 뿐만 아니라, 로봇-펙 및 펙-홀의 관계도 중요하며, 펙-및 조합에 대한 사전 조건 및 사후 조건은 판단되기 어렵기 때문에, 본 발명에서는 로봇과 펙에 대한 사전 조건 및 사후 조건이 판단될 수 있다.
로봇과 펙에 대한 사전 조건 및 사후 조건이 일실시예로서 PDDL로 표현된 도 11을 참조하면, 로봇(object_001) 및 펙(object_002)에 대한 사전 조건은 특별히 제한이 없으며(dontcare), 사후 조건으로 로봇 및 펙의 거리가 설정될 수 있다. 사전 조건 및 사후 조건은 학습 데이터를 통한 반복 시연을 통해 획득될 수 있으며, 로봇 및 펙 사이의 거리는 로봇에 포함된 센서에 의해 측정될 수 있다.
이 때, 사전 조건 및 사후 조건은 복수 개일 수 있으며, 사전 조건 및 사후 조건은 행동의 진행 순서를 나타내는 행동순서집합(tuple_1, tuple_2, tuple_3)으로 표현될 수 있다. 즉, 사후 조건 tuple_1이 만족되고 다음 사후 조건인 tuple_2가 만족될 수 있도록 로봇은 행동할 수 있다.
결국 본 발명에 따르면, 특정 임무를 수행하는 로봇이, 중요한 행동 및 중요한 작업 대상을 판단하고, 판단된 중요 행동 및 작업 대상에 대한 사전 조건 및 사후 조건을 결정함으로써, 변화된 환경에서도 적응적으로 중요 행동을 성공적으로 수행할 수 있다.
도 12는 본 발명의 구체적 실시예에 따른 작업 솜씨를 학습하는 로봇을 설명하기 위한 도면이다.
도 12에 도시된 바와 같이, 본 발명에 따른 작업 솜씨를 학습하는 로봇은 좌표 변환부(1210), 중요도 값 생성부(1220), 가우시안 모델링부(1230), 행동 분할부(1240), 인과관계 결정부(1250) 및 행동순서집합 생성부(1260)를 포함하며, 이는 로봇의 프레임워크(framework)일 수 있다.
좌표 변환부(1210)는 로봇 행동에 따른 움직임을 용이하게 판단하기 위해, 로봇의 움직임을 국소좌표계로 변환한다. 변환된 로봇의 움직임은 도 7에서와 같이, x, y, z축에 대해 표현될 수 있다.
중요도 값 생성부(1220)는 학습 데이터에 따른 로봇의 움직임을 이용하여, 복잡성 및 시불변성에 기반한 로봇 행동의 중요도 값을 생성한다. 이 때, 중요도 값 생성부(1220)는 로봇 및 작업 대상 그룹에서 선정된 측정 대상 조합의 움직임을 이용하여, 측정 대상 조합의 시간 흐름에 따른 중요도 값을 함께 생성할 수 있다.
가우시안 모델링부(1230)는 로봇의 움직임 및 로봇 행동의 중요도 값을 이용하여 분할점을 생성하며, 행동 분할부(1240)는 분할점을 이용하여 로봇 행동을 단위 행동으로 분할한다.
인과관계 결정부(1250)는 중요도 값을 이용하여, 중요 단위 행동 및 측정 대상 조합 각각에 대한 사전 조건 및 사후 조건을 판단한다. 판단된 사전 조건 및 사후 조건은 행동순서집합 생성부(1260)에 의해 PDDL과 같은 언어로 표현될 수 있다.
앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (19)

  1. 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계;
    상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 중요도 값을 생성하는 단계;
    상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계; 및
    상기 단위 행동 각각에 대한 중요도 값과 임계값을 비교하여, 상기 단위 행동 중에서 중요 단위 행동을 판단하는 단계
    를 포함하는 작업 솜씨를 학습하는 방법.
  2. 제 1항에 있어서,
    상기 중요도 값을 생성하는 단계는
    상기 로봇의 움직임을 이용하여, 상기 로봇 행동에 대한 복잡성(complexity)을 계산하는 단계;
    상기 로봇의 움직임을 이용하여, 상기 로봇 행동에 대한 시불변성(invariance)을 계산하는 단계; 및
    상기 복잡성 및 시불변성을 이용하여, 상기 복잡성 및 시불변성에 비례하는 상기 중요도 값을 생성하는 단계
    를 포함하는 작업 솜씨를 학습하는 방법.
  3. 제 2항에 있어서,
    상기 로봇 행동에 대한 복잡성을 계산하는 단계는
    정준 상관 분석(Canonical Correlation Analysis)을 이용하여 상기 복잡성을 계산하는
    작업 솜씨를 학습하는 방법.
  4. 제 2항에 있어서,
    상기 로봇 행동에 대한 시불변성을 계산하는 단계는
    상기 로봇의 움직임에 대한 공분산을 이용하여 상기 시불변성을 계산하는
    작업 솜씨를 학습하는 방법.
  5. 제 1항에 있어서,
    상기 단위 행동으로 분할하는 단계는
    상기 중요도 값을 가중치로 이용하는 가우시안 혼합 모델(GMM)에 따라, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는
    작업 솜씨를 학습하는 방법.
  6. 제 1항에 있어서,
    상기 중요 단위 행동을 판단하는 단계는
    상기 중요도 값이 상기 임계값보다 큰 단위 행동을 상기 중요 단위 행동으로 판단하며,
    상기 임계값은 상기 중요도 값에 대한 평균값인
    작업 솜씨를 학습하는 방법.
  7. 제 1항에 있어서,
    상기 중요 단위 행동에 대한 사전 조건(pre-condition) 및 사후 조건(post-condition)을 판단하는 단계
    를 더 포함하는 작업 솜씨를 학습하는 방법.
  8. 제 7항에 있어서,
    상기 사전 조건 및 사후 조건을 PDDL(Planing Domain Definition Language)로 표현하는 단계
    를 더 포함하는 작업 솜씨를 학습하는 방법.
  9. 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계;
    상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 기 설정된 측정 구간에서 상기 로봇 행동의 제1중요도 값을 생성하는 단계;
    상기 제1중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계;
    상기 로봇 및 작업 대상 그룹에서 선정된 측정 대상 조합의 움직임을 이용하여, 상기 측정 구간에서 상기 측정 대상 조합의 시간 흐름에 따른 제2중요도 값을 생성하는 단계; 및
    상기 제2중요도 값과 제1임계값을 비교하여, 분할 구간 중에서 중요 분할 구간을 판단하는 단계를 포함하며,
    상기 분할 구간은 상기 제2중요도 값이 상기 단위 행동 구간에 따라 분할된 구간인
    작업 솜씨를 학습하는 방법.
  10. 제 9항에 있어서,
    상기 중요 분할 구간에서, 상기 측정 대상 조합에 포함된 상기 로봇 또는 작업 대상에 대한 사전 조건 및 사후 조건을 판단하는 단계
    를 더 포함하는 작업 솜씨를 학습하는 방법.
  11. 제 10항에 있어서,
    상기 사전 조건 및 사후 조건을 PDDL로 표현하는 단계
    를 더 포함하는 작업 솜씨를 학습하는 방법.
  12. 제 9항에 있어서,
    상기 중요 분할 구간을 판단하는 단계는
    상기 제2중요도 값이 상기 제1임계값보다 큰 분할 구간을 상기 중요 분할 구간으로 판단하며,
    상기 임계값은 상기 제2중요도 값에 대한 평균값인
    작업 솜씨를 학습하는 방법.
  13. 제 9항에 있어서,
    상기 단위 행동 각각에 대한 제1중요도 값과 제2임계값을 비교하여, 상기 단위 행동 중에서 중요 단위 행동을 판단하는 단계
    를 더 포함하는 작업 솜씨를 학습하는 방법.
  14. 제 13항에 있어서,
    상기 중요 단위 행동에 대한 사전 조건 및 사후 조건을 판단하는 단계
    를 더 포함하는 작업 솜씨를 학습하는 방법.
  15. 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계;
    상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 복잡성 및 시불변성을 산출하는 단계;
    상기 복잡성 및 시불변성을 이용하여, 상기 복잡성 및 시불변성에 비례하는 상기 로봇 행동에 대한 중요도 값을 생성하는 단계; 및
    상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계
    를 포함하는 작업 솜씨를 학습하는 방법.
  16. 제 15항에 있어서,
    상기 로봇 행동의 복잡성 및 시불변성을 산출하는 단계는
    정준 상관 분석(Canonical Correlation Analysis)을 이용하여 상기 복잡성을 계산하는
    작업 솜씨를 학습하는 방법.
  17. 제 16항에 있어서,
    상기 로봇 행동에 대한 복잡성 및 시불변성을 산출하는 단계는
    기준 시점으로부터, 이전 측정 구간에서의 로봇 움직임 및 상기 기준 시점으로부터, 다음 측정 구간에서의 로봇 움직임을 이용하여 상기 정준 상관 분석을 수행하는
    작업 솜씨를 학습하는 방법.
  18. 제 15항에 있어서,
    상기 로봇 행동에 대한 복잡성 및 시불변성을 산출하는 단계는
    상기 로봇 행동에 대한 공분산을 이용하여 상기 시불변성을 계산하는
    작업 솜씨를 학습하는 방법.
  19. 제 18항에 있어서,
    상기 로봇 행동에 대한 복잡성 및 시불변성을 산출하는 단계는
    기준 시점으로부터, 이전 측정 구간에서의 로봇 움직임 및 상기 기준 시점으로부터, 다음 측정 구간에서의 로봇 움직임을 이용하여 상기 공분산을 계산하는
    작업 솜씨를 학습하는 방법.
KR1020140191981A 2014-12-29 2014-12-29 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇 KR101676541B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140191981A KR101676541B1 (ko) 2014-12-29 2014-12-29 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140191981A KR101676541B1 (ko) 2014-12-29 2014-12-29 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇

Publications (2)

Publication Number Publication Date
KR20160080349A true KR20160080349A (ko) 2016-07-08
KR101676541B1 KR101676541B1 (ko) 2016-11-15

Family

ID=56502756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140191981A KR101676541B1 (ko) 2014-12-29 2014-12-29 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇

Country Status (1)

Country Link
KR (1) KR101676541B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112109079A (zh) * 2019-06-21 2020-12-22 罗伯特·博世有限公司 用于机器人操控规划的方法和系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11171324B2 (en) 2016-03-15 2021-11-09 Honda Motor Co., Ltd. System and method of producing a composite product

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101329642B1 (ko) * 2012-02-24 2013-11-14 한양대학교 산학협력단 작업 솜씨 학습을 위한 모델링 방법 및 이를 이용한 로봇

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101329642B1 (ko) * 2012-02-24 2013-11-14 한양대학교 산학협력단 작업 솜씨 학습을 위한 모델링 방법 및 이를 이용한 로봇

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CICS 2012 정보 및 제어 학술대회 논문집. 대한전기학회. 2012.10., p90-91 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112109079A (zh) * 2019-06-21 2020-12-22 罗伯特·博世有限公司 用于机器人操控规划的方法和系统
EP3753684A1 (en) * 2019-06-21 2020-12-23 Robert Bosch GmbH Method and system for robot manipulation planning
US11498212B2 (en) 2019-06-21 2022-11-15 Robert Bosch Gmbh Method and system for robot manipulation planning

Also Published As

Publication number Publication date
KR101676541B1 (ko) 2016-11-15

Similar Documents

Publication Publication Date Title
US11584008B1 (en) Simulation-real world feedback loop for learning robotic control policies
US11707838B1 (en) Artificial intelligence system for efficiently learning robotic control policies
US10792810B1 (en) Artificial intelligence system for learning robotic control policies
Baranes et al. R-iac: Robust intrinsically motivated exploration and active learning
KR101577711B1 (ko) 시간 및 공간적 관계를 이용한 작업 솜씨 학습 방법
Pais et al. Learning robot skills through motion segmentation and constraints extraction
KR102213061B1 (ko) 로봇용 학습 프레임워크 설정방법 및 이를 수행하는 디지털 제어 장치
KR101912918B1 (ko) 학습 로봇, 그리고 이를 이용한 작업 솜씨 학습 방법
KR101819323B1 (ko) 모사학습 및 행동 조합에 기반한 로봇의 작업 행동궤적 생성 방법 및 그 장치
Ewerton et al. Learning motor skills from partially observed movements executed at different speeds
Gutzeit et al. The besman learning platform for automated robot skill learning
KR101676541B1 (ko) 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇
Liu et al. Grasp pose learning from human demonstration with task constraints
Langsfeld Learning task models for robotic manipulation of nonrigid objects
KR101329642B1 (ko) 작업 솜씨 학습을 위한 모델링 방법 및 이를 이용한 로봇
Edwards et al. Cross-domain perceptual reward functions
KR101329640B1 (ko) 작업 솜씨를 학습하는 방법 및 이를 이용한 로봇
Sukthankar et al. Automatic recognition of human team behaviors
KR20140133417A (ko) 시간 및 공간적 엔트로피를 이용한 작업 솜씨 학습 방법
Kulić et al. Incremental learning of full body motion primitives
Izadi et al. Layered Relative Entropy Policy Search
Lundell Dynamic movement primitives and reinforcement learning for adapting a learned skill
Billing et al. Behavior recognition for segmentation of demonstrated tasks
Pehlivan et al. Dynamic movement primitives for human movement recognition
Lee et al. Skill learning using temporal and spatial entropies for accurate skill acquisition

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 4