KR101676541B1 - Method for Learning Task Skill and Robot Using Thereof - Google Patents

Method for Learning Task Skill and Robot Using Thereof Download PDF

Info

Publication number
KR101676541B1
KR101676541B1 KR1020140191981A KR20140191981A KR101676541B1 KR 101676541 B1 KR101676541 B1 KR 101676541B1 KR 1020140191981 A KR1020140191981 A KR 1020140191981A KR 20140191981 A KR20140191981 A KR 20140191981A KR 101676541 B1 KR101676541 B1 KR 101676541B1
Authority
KR
South Korea
Prior art keywords
robot
behavior
unit
complexity
importance value
Prior art date
Application number
KR1020140191981A
Other languages
Korean (ko)
Other versions
KR20160080349A (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 KR1020140191981A priority Critical patent/KR101676541B1/en
Publication of KR20160080349A publication Critical patent/KR20160080349A/en
Application granted granted Critical
Publication of KR101676541B1 publication Critical patent/KR101676541B1/en

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

Abstract

로봇의 행동 중에서 중요한 행동을 판단하여 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇이 개시된다. 개시된 작업 솜씨를 학습하는 방법은, 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계; 상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 중요도 값을 생성하는 단계; 상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계; 및 상기 단위 행동 각각에 대한 중요도 값과 임계값을 비교하여, 상기 단위 행동 중에서 중요 단위 행동을 판단하는 단계를 포함한다.Disclosed is a method for learning work skills by judging important behaviors among behaviors of a robot and a robot using the method. The method for learning the work skill includes: inputting learning data including a robot behavior for a task; Generating a significance value of the robot behavior over time using the movement of the robot according to the learning data; Dividing the robot behavior into at least one unit action using the importance value; And comparing the importance value and the threshold value for each of the unit behaviors to determine an important unit behavior among the unit behaviors.

Description

작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇{Method for Learning Task Skill and Robot Using Thereof}[0001] The present invention relates to a method of learning a work skill and a robot using the same,

본 발명은 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇에 관한 것으로서, 더욱 상세하게는 로봇의 행동 중에서 중요한 행동을 판단하여 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] The present invention relates to a method of learning work skills and a robot using the same, and more particularly, to a method of learning work skills by judging important behaviors among behaviors of a robot and a robot using the method.

인공 지능(artificial intelligence, AI)이라 함은, 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로서, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 기술을 말한다. 이러한 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히, 현대에는 정보 기술의 여러 분야에서 인공지능적 요소를 도입하여 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다. Artificial intelligence (AI) is a field of computer engineering and information technology that researches how computers can do thinking, learning, and self-development that can be done by human intelligence. To mimic the intelligent behavior of a person. This artificial intelligence does not exist by itself, but directly and indirectly with many other areas of computer science. Especially, in the field of information technology, there are lots of attempts to introduce artificial intelligent elements to solve problems in the field.

이상과 같이 인간의 행동을 모방하려는 시도는 학습 로봇이라는 기술 분야의 발전을 가져왔다. 종래의 로봇 공학에서 산업용 로봇 등이 단지 잘 설계된 일련의 명령어 집합을 입력받아 이에 해당하는 명령만을 기계적으로 수행하였던 것에 반해, 현대의 학습 로봇은 주위 환경으로부터 다양한 환경 요소들을 로봇 스스로가 감지하고, 이로부터 인간에게 유용한 다양한 작업 기술(task skill)을 학습할 수 있는 수준을 지향하고 있다. 이러한 학습 로봇(비록 로봇이라고 표현하였으나, 하드웨어 로봇 이외에 가상 공간에서 활용될 수 있는 소프트웨어로 구현된 가상 생명체 내지 인공물을 포함할 수 있다.)에 있어서, 학습(learning)의 목표는 경험을 통한 일반화에 의해 인공지능 추론 시스템의 잠재적 성능을 향상시키는 것에 있다. 즉, 학습 알고리즘에 입력되는 것은 실험(experiment)이 될 것이고, 그 결과에 따라 지식 베이스(knowledge base)에 대한 수정들이 그 학습 알고리즘에서 출력될 것이다.As described above, the attempt to imitate human behavior has led to the development of a technology called a learning robot. In contrast to conventional robotics in which an industrial robot receives only a well-designed set of instructions and only mechanically executes corresponding commands, a modern learning robot senses various environmental factors from the surrounding environment by the robot itself, And to be able to learn a variety of task skills that are useful to humans. These learning robots (although they are called robots, can include virtual creatures or artifacts realized by software that can be used in virtual spaces other than hardware robots), the goal of learning is to generalize through experience In order to improve the potential performance of the AI reasoning system. That is, input to the learning algorithm will be an experiment, and modifications to the knowledge base will be output from the learning algorithm according to the results.

지능 로봇(또는 에이전트)은 사람과의 상호작용을 통해 임무 수행을 위한 학습 데이터를 획득한다. 로봇이 획득한 학습 데이터를 이용하여 단일 모델을 생성하거나, 사람 또는 사전 지식을 기반으로 사전에 분리된 데이터를 이용하여 분리된 모델들을 생성한다. 생성된 모델은 로봇의 임무 수행을 위한 재생성에 사용된다. 로봇의 임무 수행을 위한 모델은 지속적이고 점진적으로 추가 및 수정될 수 있어야 하고, 이를 기반으로 임무를 재생성할 수 있어야 한다. 관련된 선행문헌으로 한국공개특허 제2013-0067346호가 있다.The intelligent robot (or agent) acquires learning data for task execution through interaction with a person. A single model is created using the learning data acquired by the robot or separated models are generated using previously separated data based on human or prior knowledge. The generated model is used for regeneration to perform the mission of the robot. The model for the task execution of the robot must be able to be added and modified continuously and incrementally, and the task must be regenerated based on it. A related prior art is Korean Patent Publication No. 2013-0067346.

기존의 가우시안 혼합 모델을 이용한 로봇의 솜씨 학습 기술은, 로봇 행동에 대한 중요도를 고려하지 않았기 때문에, 섬세한 동작에 대한 학습된 행동을 성공적으로 수행하기 어려운 문제가 있다. 로봇 동작에 대한 중요도에 따라 로봇이 집중하여 임무를 수행할 수 있도록 하기 위한 연구가 필요하다.
The robot skill learning technology using the existing Gaussian mixture model does not consider the importance of robotic behavior, and thus there is a problem that it is difficult to successfully perform learned behaviors for delicate motions. Research is needed to enable robots to perform their duties in accordance with the importance of robots.

본 발명은 로봇의 행동 중에서 중요한 행동을 판단하여 작업 솜씨를 학습하는 방법 및 이를 이용하는 로봇을 제공하기 위한 것이다.
The present invention provides a method of learning work skills by judging important behaviors among behaviors of robots and a robot using the methods.

상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계; 상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 중요도 값을 생성하는 단계; 상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계; 및 상기 단위 행동 각각에 대한 중요도 값과 임계값을 비교하여, 상기 단위 행동 중에서 중요 단위 행동을 판단하는 단계를 포함하는 작업 솜씨를 학습하는 방법을 제공한다.According to an aspect of the present invention, there is provided a method for controlling a robot, the method comprising: receiving learning data including a robot behavior for a mission; Generating a significance value of the robot behavior over time using the movement of the robot according to the learning data; Dividing the robot behavior into at least one unit action using the importance value; And comparing the importance value and the threshold value for each of the unit behaviors to determine an important unit behavior among the unit behaviors.

또한 상기한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계; 상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 기 설정된 측정 구간에서 상기 로봇 행동의 제1중요도 값을 생성하는 단계; 상기 제1중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계; 상기 로봇 및 작업 대상 그룹에서 선정된 측정 대상 조합의 움직임을 이용하여, 상기 측정 구간에서 상기 측정 대상 조합의 시간 흐름에 따른 제2중요도 값을 생성하는 단계; 및 상기 제2중요도 값과 제1임계값을 비교하여, 분할 구간 중에서 중요 분할 구간을 판단하는 단계를 포함하며, 상기 분할 구간은 상기 제2중요도 값이 상기 단위 행동 구간에 따라 분할된 구간인 작업 솜씨를 학습하는 방법 제공된다.According to another aspect of the present invention, there is provided a method for controlling a robot, the method comprising: receiving learning data including a robot behavior for a mission; Generating a first importance value of the robot behavior in a predetermined measurement interval by using the movement of the robot according to the learning data; Dividing the robot behavior into at least one or more unit behaviors using the first importance value; Generating a second importance value according to a time flow of the measurement object combination in the measurement interval using the motion of the measurement object combination selected in the robot and the object group; And comparing the second importance value with a first threshold value to determine an important division period in the division period, wherein the division period is a period in which the second importance value is divided according to the unit behavior period How to learn skill is provided.

또한 상기한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따르면, 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계; 상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 복잡성 및 시불변성을 산출하는 단계; 상기 복잡성 및 시불변성을 이용하여, 상기 복잡성 및 시불변성에 비례하는 상기 로봇 행동에 대한 중요도 값을 생성하는 단계; 및 상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계를 포함하는 작업 솜씨를 학습하는 방법을 제공한다.
According to another aspect of the present invention, there is provided a method for controlling a robot, the method comprising: receiving learning data including a robot behavior for a mission; Calculating complexity and time invariance of the robot behavior over time using the movement of the robot according to the learning data; Using the complexity and time invariance to generate a significance value for the robot behavior proportional to the complexity and time invariance; And dividing the robot behavior into at least one or more unit behaviors using the importance value.

본 발명에 따르면, 특정 임무를 수행하는 로봇이, 중요한 행동 및 중요한 작업 대상을 판단하고, 판단된 중요 행동 및 작업 대상에 대한 사전 조건 및 사후 조건을 결정함으로써, 변화된 환경에서도 적응적으로 중요 행동을 성공적으로 수행할 수 있다.
According to the present invention, a robot performing a specific task judges important behaviors and important work objects and determines preconditions and post-conditions for the determined important behaviors and work targets, You can do it successfully.

도 1은 본 발명의 일실시예에 따른 작업 솜씨를 학습하는 로봇을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
도 3은 행동에 따른 정준 상관 분석의 상관 값을 나타내는 도면이다.
도 4는 데이터 측정을 위한 윈도우를 설명하기 위한 도면이다.
도 5는 도 1에서 설명된 임무에 대한 복잡성, 시불변성 및 중요도 값을 나타내는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 가우시안 혼합 모델을 설명하기 위한 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.
도 9는 측정 대상 조합에 대한 중요도 값 및 로봇의 단위 행동 구간에 대응되는 분할 구간을 나타내는 도면이다.
도 10은 도 6에서 설명된 중요 단위 행동 및 도 8에서 설명된 중요 분할 구간을 나타내는 도면이다.
도 11은 본 발명의 일실시예에 따른, 로봇과 펙에 대한 사전 조건 및 사후 조건을 PDDL로 표현한 도면이다.
도 12는 본 발명의 구체적 실시예에 따른 작업 솜씨를 학습하는 로봇을 설명하기 위한 도면이다.
1 is a view for explaining a robot learning work skills according to an embodiment of the present invention.
2 is a diagram for explaining a method of learning work skills according to an embodiment of the present invention.
FIG. 3 is a graph showing correlation values of canonical correlation analysis according to behavior.
4 is a view for explaining a window for data measurement.
5 is a diagram showing complexity, time invariance and importance values for the mission described in FIG.
6 is a view for explaining a method of learning work skill according to another embodiment of the present invention.
7 is a view for explaining a Gaussian mixture model according to an embodiment of the present invention.
8 is a view for explaining a method of learning work skills according to another embodiment of the present invention.
9 is a diagram showing importance values for the combination of measurement objects and division sections corresponding to the unit behavior period of the robot.
FIG. 10 is a diagram showing the important unitary action described in FIG. 6 and the important divisional interval described in FIG. 8. FIG.
FIG. 11 is a PDDL representation of a pre-condition and a post-condition for a robot and a peck according to an embodiment of the present invention.
FIG. 12 is a diagram for explaining a robot learning work skills according to a specific embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

임무(task)는 일련의 의미있는 행동 또는 동작(action)으로서 정의될 수 있으므로, 지능 로봇(intelligent robot)은 이러한 임무에 대한 학습 데이터(training data)로부터 기본 솜씨(basis skill)라고 불리는 의미있는 동작들을 학습할 수 있다. 기존의 가우시안 혼합 모델을 이용한 작업 솜씨 학습 방법은 공간적인 변화가 적은 부분, 즉 섬세함을 요구하는 행동 부분을 잘 모델링 할 수 없었기 때문에, 로봇이 섬세한 동작을 성공적으로 수행하기 어려웠다. A task can be defined as a series of meaningful behaviors or actions so that an intelligent robot can derive from the training data for this task a meaningful action called a basis skill Can learn. The conventional work - based learning method using the Gaussian blend model can not model well the motion part requiring less detail, that is, the delicate part, so that it is difficult for the robot to perform delicate operation successfully.

본 발명은 학습 데이터를 이용하여 로봇 행동 중에서 중요한 단위 행동을 판단함으로써, 로봇이 중요한 단위 행동을 보다 집중하여 수행할 수 있도록 할 수 있다. 여기서, 중요한 단위 행동은 섬세함을 요구하는 행동일 수 있다.According to the present invention, an important unit behavior among robot behaviors is determined using learning data, so that the robot can perform important unit behaviors more intensively. Here, an important unit action can be a behavior requiring delicacy.

본 발명에 따른 작업 솜씨를 학습하는 방법은 로봇 또는 로봇과 연결된 프로세서를 포함하는 처리 장치에서 수행될 수 있다. 그리고 또한 본 명세서에서 언급되는 프로세스 관점의 설명은 하드웨어적인 관점에서 용이하게 해석될 수 있다. The method for learning the work skill according to the present invention can be performed in a processing apparatus including a processor connected to a robot or a robot. And also the description of the process aspects referred to herein can be easily interpreted from a hardware standpoint.

이하에서는 로봇에서 수행되는 작업 솜씨를 학습하는 방법을 일실시예로서 설명하며, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, a method of learning a work skill performed by a robot will be described as an embodiment, and embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 작업 솜씨를 학습하는 로봇을 설명하기 위한 도면이다. 1 is a view for explaining a robot learning work skills according to an embodiment of the present invention.

도 1 및 이하에서는 펙(peg)을 홀(hole)에 삽입하는 임무(peg-in-hole task)를 수행하는 로봇이 일실시예로서 설명된다. 그리고 도 1에서는 적어도 하나의 마이크로프로세서(microprocessor)를 통해 제어되는 하나의 로봇 암(arm)만을 예시하고 있으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 이러한 로봇이 다양한 기계적인 구동 수단과 결합되어 활용될 수 있음을 알 수 있다.In Fig. 1 and the following, a robot that performs a peg-in-hole task of inserting a peg into a hole is described as one embodiment. 1 illustrates only one robot arm controlled through at least one microprocessor. However, those skilled in the art will appreciate that such robots are not limited to the various mechanical drive means, Can be combined and utilized.

로봇은, 펙-인-홀 임무에 대한 학습 데이터를 입력받아, 해당 임무를 수행한다. 즉, 로봇은 학습 데이터를 이용하여 (1)펙에 접근하여 펙을 집고, (2)펙이 홀에 삽입될 수 있도록 펙과 홀을 정렬시킨 후 (3)펙을 홀에 삽입하고, (4)펙을 놓고 물러난다. The robot receives learning data for the peck-in-hole task and performs the task. That is, the robot uses learning data to (1) pick up the peg, (2) align the peg and hole so that the peg can be inserted into the hole, (3) insert the peg into the hole, ) I leave the peg and retreat.

이러한 임무를 수행하는 로봇에 있어서, 특히 (2)펙을 홀과 정렬시키거나 (3)펙을 홀에 삽입하는 행동은 섬세함을 요구하는 동작으로서, (1)펙에 접근하여 펙을 집거나 (4)펙을 놓고 물러나는 행동보다 로봇이 집중하여 수행해야 하는 행동이다.(2) aligning the peg with the hole, or (3) inserting the peg into the hole, is an operation that requires delicacy, such as: (1) approaching the peg and picking it up 4) It is the action that the robot should concentrate and perform rather than the action to leave the peg.

또한 도 1의 임무와 같이 작업 대상(펙, 홀)이 존재하는 경우, 로봇이 집중하여 수행해야 하는 행동은 작업 대상과 관련이 있을 수 있다. 예를 들어, 로봇이 펙과 홀을 정렬시킬 경우, 로봇은 펙 및 홀과의 관계를 고려하여 임무를 수행해야 한다.Also, in the case where a work object (a peg, a hole) exists as in the task of Fig. 1, the action that the robot should perform to concentrate may be related to the work object. For example, when a robot aligns a peg with a hole, the robot must perform the task in consideration of the relationship between the peg and the hole.

본 발명은 주어진 임무에서 로봇의 중요한 행동을 판단하고, 어떠한 로봇-작업 대상 조합이 특정 행동에서 중요한지 여부를 판단할 수 있다. 본 발명은 이와 같이 판단된 로봇의 중요 행동 및 중요한 로봇-작업 대상 조합에 대한 사전 조건 및 사후 조건을 추출하여 모델링을 수행함으로써, 로봇은 섬세함을 요구하는 동작을 성공적으로 수행할 수 있으며, 변화하는 환경에 적응적으로 임무를 완수할 수 있다.
The present invention can determine important behaviors of a robot in a given task and determine which robot-task combinations are important in a particular action. The present invention extracts pre-conditions and post-conditions for the important actions of the robot and the important robot-operation target combinations determined as described above, and performs modeling, so that the robot can successfully perform operations requiring delicacy, The task can be accomplished adaptively to the environment.

도 2는 본 발명의 일실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.2 is a diagram for explaining a method of learning work skills according to an embodiment of the present invention.

로봇은 임무에 대한 로봇 행동을 포함하는 학습 데이터를 수신(S210) 즉, 입력받는다. 이러한 과정은 최초에 운동학 교시와 같은 방법을 통해 사용자로부터 입력될 수 있다. 이 때, 운동학 교시(kinesthetic teaching)란, 최초의 학습 엔진을 학습시키기 위해 기계적인 구동 수단을 통해 해당 임무를 어떻게 수행하여야 하는지를 알려주는 과정을 의미한다. 예를 들어, 교시자(teacher)는 지능 로봇의 구동부(로봇 암이 될 수 있다.)를 직접 움직여 로봇 암으로 하여금 글씨를 쓰도록 시연(demonstration)할 수 있고, 이러한 교시자의 움직임을 입력값으로 받아들임으로써 로봇은 해당 입력값(로봇 암의 움직임 궤적이 될 수 있다.)이 글씨를 쓰기 위한 작업 솜씨로써 인식할 수 있다. 즉, 로봇은 구동 수단에 구비된 관절에 부여된 자유도(degree of freedom, DOF)를 이용하여 각 조인트 각도를 측정함으로써 학습 데이터를 입력받을 수 있다.The robot receives the learning data including the robot behavior for the task (S210), that is, receives input. This process can be initially input from the user in the same way as the kinematics instruction. In this case, kinesthetic teaching means a process of telling how to perform the task through mechanical driving means to learn the first learning engine. For example, a teacher can demonstrate that a robot arm can write a letter by directly moving a driving unit (which can be a robot arm) of an intelligent robot, By accepting the robot, the robot can recognize the input value (which can be the locus of motion of the robot arm) as a work skill for writing the letter. That is, the robot can receive the learning data by measuring the angle of each joint using the degree of freedom (DOF) given to the joint provided in the driving means.

그리고, 로봇은 중요한 로봇 행동을 파악하기 위해, 학습 데이터에 따른 로봇의 움직임을 이용하여, 시간 흐름에 따른 로봇 행동의 복잡성(complexity) 및 시불변성(invariance)을 산출(S220)한다. 산출된 복잡성 및 시불변성을 이용하여, 복잡성 및 시불변성에 비례하는 로봇 행동에 대한 중요도 값을 생성(S230)한다. 복잡성 및 시불변성은 이하 복잡성 값 및 시불변성 값과 동일한 의미로 사용된다.In order to grasp the important robot behavior, the robot calculates the complexity and invariance of the robot behavior according to the time flow (S220) using the movement of the robot according to the learning data. Using the calculated complexity and time invariance, a significance value for robot behavior proportional to complexity and time invariance is generated (S230). Complexity and time invariance have the same meaning as complexity and time invariance values.

중요하고 섬세한 행동일수록 복잡하고, 펙을 홀에 정렬시키는 동작과 같이 로봇의 움직임이 많지 않지 않기 때문에, 본 발명은 일실시예로서 로봇의 행동이 얼마나 복잡한지 그리고, 로봇의 움직임에 변화가 없는지 여부에 따라 로봇 행동을 중요한 것으로 판단할 수 있다. 그리고 본 발명은 로봇의 움직임을 이용하여, 로봇 행동의 복잡성 및 시불변성을 판단할 수 있다.Since important and delicate behaviors are complicated and the movements of the robots are not so large as in the case of arranging the pegs in the holes, the present invention is not limited to the complexity of the robot's actions, It can be judged that the robot behavior is important. Further, the present invention can determine the complexity and time invariance of the robot behavior by using the motion of the robot.

보다 구체적으로 로봇은 로봇의 움직임을 나타내는 데이터의 상관 관계를 이용하여 복잡성 및 시불변성을 산출한다. 먼저, 복잡성 산출 과정을 설명하면, 로봇은 [수학식 1]을 이용하여 복잡성을 계산할 수 있다.More specifically, the robot calculates the complexity and the time invariance using the correlation of data representing the movement of the robot. First, the complexity calculation process will be described. The robot can calculate the complexity using Equation (1).

Figure 112014127050228-pat00001
Figure 112014127050228-pat00001

여기서, X 및 Y는 이변량분포(bivariate distribution)로서, 로봇의 움직임을 나타내는 데이터를 의미하며, 'Corr' 연산자는 X 및 Y의 상관 관계를 구하기 위한 연산자이다.Here, X and Y are bivariate distributions, data representing movement of a robot, and a 'Corr' operator is an operator for obtaining a correlation between X and Y.

한편, 여기서 상관 관계는 정준 상관 분석(Canonical Correlation Analysis)을 이용하여 계산될 수 있는데, 정준 상관 분석에 따른 상관값은 행동의 복잡성을 나타내기 때문이다. 행동에 따른 정준 상관 분석의 상관 값을 나타내는 도 3에 도시된 바와 같이, 제일 복잡한 글씨(alphabet)를 쓰는 행동에 대한 정준 상관 분석의 상관 값은 두번째로 복잡한 랜덤한 스트로크(random stroke)에 비해 낮고, 가장 간단한 사각형(rectangle)을 그리는 행동에 대한 정준 상관 분석의 상관 값이 가장 큰 것을 알 수 있다.On the other hand, the correlation can be calculated using Canonical Correlation Analysis because the correlation value according to canonical correlation analysis indicates the complexity of the action. As shown in FIG. 3, which shows the correlation value of the canonical correlation analysis according to the behavior, the correlation value of the canonical correlation analysis for the action using the most complicated alphabet is lower than the second complicated random stroke , And the correlation value of the canonical correlation analysis for the action of drawing the simplest rectangle (rectangle) is the largest.

결국, 로봇은 정준 상관 분석을 이용하여 [수학식 2]와 같이 복잡성(Ii)을 계산할 수 있으며, 여기서 정준 상관 분석의 상관 값(

Figure 112014127050228-pat00002
)은 [수학식 3]과 같이 구해질 수 있다.As a result, the robot can calculate the complexity (I i ) using the canonical correlation analysis as in Equation (2), where the correlation value of canonical correlation analysis
Figure 112014127050228-pat00002
) Can be obtained as shown in [Equation 3].

Figure 112014127050228-pat00003
Figure 112014127050228-pat00003

Figure 112014127050228-pat00004
Figure 112014127050228-pat00004

여기서, i는 타임 인덱스(time index)를 나타낸다.

Figure 112014127050228-pat00005
는 데이터 집합 X, Y 각각의 베이시스 벡터(basis vector)를 나타내며,
Figure 112014127050228-pat00006
는 i번째 시간의 공분산(covariance) 행렬을 나타내다. Here, i represents a time index.
Figure 112014127050228-pat00005
Represents a basis vector of each of the data sets X and Y,
Figure 112014127050228-pat00006
Represents the covariance matrix of the ith time.

이 때, 로봇의 움직임을 나타내는 데이터는 도 4와 같이, 기준 시점(t)으로부터, 이전 측정 구간(410, Xpast)에서의 로봇 움직임과 기준 시점(t)으로부터, 다음 측정 구간(420, Xfuture)에서의 로봇 움직임으로 결정될 수 있다. 측정 구간, 즉 윈도우의 크기는 동일하며, 타임 인덱스에 따라 동일한 크기의 윈도우가 이동하면서 데이터 집합이 결정된다. 그리고 데이터 집합 결정을 위해 사용되는 윈도우의 크기는, 복잡성 값이 가장 잘 계산될 수 있도록 실험적으로 결정될 수 있다.4, the data indicating the motion of the robot is obtained from the reference time t, the robot motion at the previous measurement interval 410, X past , and the next measurement interval 420, X the robot movement in the future can be determined. The measurement period, that is, the size of the window is the same, and the data set is determined by moving the window of the same size according to the time index. And the size of the window used to determine the dataset can be experimentally determined so that the complexity value is best calculated.

다음으로, 시불변성 산출 과정을 설명하면, 로봇은 [수학식 4]를 이용하여 공분산(Ci)을 계산하고, [수학식 5]를 이용하여 로봇의 움직임에 대한 변화량(variance,

Figure 112014127050228-pat00007
)을 계산할 수 있다. 그리고, [수학식 6]의 계산된 변화량의 역수를 시불변성(
Figure 112014127050228-pat00008
)으로 이용할 수 있다. 실시예에 따라서, 로봇의 움직임에 대한 변화량(variance,
Figure 112014127050228-pat00009
)이 그대로 이용될 수도 있다.Next, the time invariance calculation process will be described. The robot calculates a covariance (C i ) using [Equation (4)] and calculates a variance,
Figure 112014127050228-pat00007
) Can be calculated. Then, the reciprocal of the calculated variation amount of [Equation 6] is called a time invariance (
Figure 112014127050228-pat00008
). According to an embodiment, a variance,
Figure 112014127050228-pat00009
) May be used as it is.

Figure 112014127050228-pat00010
Figure 112014127050228-pat00010

Figure 112014127050228-pat00011
Figure 112014127050228-pat00011

Figure 112014127050228-pat00012
Figure 112014127050228-pat00012

여기서, E는 데이터 집합에 대한 expectation operator를 나타내며, 'tr'은 trace operator를 나타낸다.Where E represents the expectation operator for the data set, and 'tr' represents the trace operator.

단계 S230에서 로봇은, 단계 S220에서 산출된 복잡성 및 시불변성 값을 정규화하고, [수학식 7]과 같이 복잡성 값 및 시불변성 값에 비례하는 중요도 값(

Figure 112014127050228-pat00013
)을 생성한다.In step S230, the robot normalizes the complexity and time invariance values calculated in step S220, and calculates a complexity value and an importance value (proportional to the time invariance value
Figure 112014127050228-pat00013
).

Figure 112014127050228-pat00014
Figure 112014127050228-pat00014

여기서,

Figure 112014127050228-pat00015
Figure 112014127050228-pat00016
각각은 정규화된 시불변성 값 및 복잡성 값을 나타내며, 정규화 방법으로는 z-score가 이용될 수 있다.here,
Figure 112014127050228-pat00015
And
Figure 112014127050228-pat00016
Each represents a normalized time invariance value and a complexity value, and a z-score can be used as a normalization method.

전술된 단계 S220 및 단계 S230에서 산출된 복잡성, 시불변성 및 중요도 값은 도 5와 같이 도시될 수 있으며, 도 5는 도 1에서 설명된 임무에 대한 복잡성, 시불변성 및 중요도 값을 나타낸다.The complexity, time invariance, and importance values calculated in the above-described steps S220 and S230 can be shown in FIG. 5, and FIG. 5 shows complexity, time invariance, and importance values for the mission described in FIG.

그리고 로봇은 중요도 값을 이용하여, 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할(S240)함으로써, 중요도 값에 따른 중요 단위 행동을 파악할 수 있다. 중요 단위 행동에 대한 판단은 도5의 임계값(threshold)을 이용하여 수행될 수 있으며, 보다 자세한 설명은 도 6에서 후술된다.Then, the robot divides the robot behavior into at least one or more unit behaviors (S240) by using the importance value, and thereby, it can grasp important unit behaviors according to the importance value. The determination of the critical unit behavior can be performed using the threshold of FIG. 5, and a more detailed description will be described later with reference to FIG.

한편, 로봇 행동의 시간 흐름에 따른 중요도 값을 생성하기 위한 전술된 방법은 일실시예이며, 중요도 값을 생성하기 위해, 실시예에 따라서 복잡성 및 시불변성 중 하나의 값만이 사용되거나 다른 측정 값이 사용될 수도 있다.
On the other hand, the above-described method for generating the importance value according to the time course of the robot behavior is one embodiment, and in order to generate the importance value, only one of the complexity and the time invariance is used, .

도 6은 본 발명의 다른 실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.6 is a view for explaining a method of learning work skill according to another embodiment of the present invention.

로봇은 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받고(S610), 학습 데이터에 따른 로봇의 움직임을 이용하여, 시간 흐름에 따른 로봇 행동의 중요도 값을 생성(S620)한다. 중요도 값을 생성하기 위해 도 2에서 설명된 실시예가 이용될 수 있다. 즉, 로봇은 로봇의 움직임을 이용하여, 로봇 행동에 대한 복잡성 및 시불변성을 계산하고, 복잡성 및 시불변성을 이용하여, 복잡성 및 시불변성에 비례하는 중요도 값을 생성할 수 있다. 여기서 시간 흐름은 타임 인덱스에 대응되며, 기 설정된 측정 구간에 대응될 수 있다.The robot receives the learning data including the robot behavior for the mission (S610), and generates the importance value of the robot behavior according to the time using the movement of the robot according to the learning data (S620). The embodiment described in FIG. 2 can be used to generate importance values. That is, the robot can calculate the complexity and time invariance of the robot behavior using the motion of the robot, and generate the importance value proportional to complexity and time invariance using the complexity and time invariance. Here, the time flow corresponds to a time index, and may correspond to a predetermined measurement interval.

그리고 로봇은 중요도 값을 이용하여, 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할(S630)한다. 예를 들어, 도 1의 펙을 홀에 삽입하는 로봇의 행동은 도 7과 같이 (1)펙에 접근하여 펙을 집는 행동(approaching) (2)펙이 홀에 삽입될 수 있도록 펙과 홀을 정렬시키는 행동(aligning) (3)펙을 홀에 삽입하는 행동(inserting) (4)펙을 놓고 물러나는 행동(withdrawing)으로 분할될 수 있다.Then, the robot divides the robot behavior into at least one unit action using the importance value (S630). For example, the action of the robot for inserting the peck in FIG. 1 into the hole is as shown in FIG. 7 (1) approaching the peck and approaching the peck (2) (3) inserting the peck into the hole, and (4) withdrawing the peck.

이 때, 로봇은 단계 S620에서 생성된 중요도 값을 가중치로 이용하는 가우시안 혼합 모델(GMM)에 따라, 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할할 수 있다. 일반적으로 가우시한 혼합 모델은 k-means 알고리즘과 같은 EM(Expectation-Maximization) 알고리즘으로 최적 모델을 추정함으로써 결정되는데, 본 발명에서는 [수학식 8]과 같이 가중치가 포함된 k-means 알고리즘의 비용 함수(cost function)를 가우시안 혼합 모델로 이용한다. At this time, the robot can divide the robot behavior into at least one unit action according to the Gaussian mixture model (GMM) using the importance value generated in step S620 as a weight. Generally, a complex mixture model is determined by estimating an optimal model with an EM (Expectation-Maximization) algorithm such as a k-means algorithm. In the present invention, the cost of a k- The function (cost function) is used as a Gaussian mixture model.

Figure 112014127050228-pat00017
Figure 112014127050228-pat00017

여기서,

Figure 112014127050228-pat00018
는 로봇의 움직임에 대해 k-means를 통해 획득되는 가우시안 클러스터(클러스터) 중 j번째 클러스터의 데이터들을 나타내며,
Figure 112014127050228-pat00019
는 i번째 클러스터의 중심을 나타낸다.
Figure 112014127050228-pat00020
는 i번째 클러스터에 포함되는 데이터 집합을 나타내며,
Figure 112014127050228-pat00021
는 j번째 클러스터에 대한 가중치를 나타낸다. 그리고
Figure 112014127050228-pat00022
는 벡터 x에 대한 norm 연산자를 나타낸다.here,
Figure 112014127050228-pat00018
Represents the data of the j-th cluster among the Gaussian clusters (clusters) obtained through the k-means with respect to the motion of the robot,
Figure 112014127050228-pat00019
Represents the center of the i-th cluster.
Figure 112014127050228-pat00020
Represents the data set included in the i-th cluster,
Figure 112014127050228-pat00021
Represents a weight for the j-th cluster. And
Figure 112014127050228-pat00022
Represents the norm operator for vector x.

[수학식 8]에 따라, 각각의 가우시안 클러스터의 중심으로부터 데이터들 간의 유클리드 거리의 합이 최소가 되도록 클러스터링이 수행된다. 이 때, 가중치가 높은 데이터를 중심으로 클러스터가 형성되는데, 본 발명에서는 중요도 값을 가중치로 이용하기 때문에, 결국 중요도 값이 높은 데이터를 중심으로 클러스터가 형성될 수 있다.According to Equation (8), clustering is performed such that the sum of Euclidean distances between data from the center of each Gaussian cluster is minimized. In this case, clusters are formed around high-weighted data. In the present invention, since importance values are used as weights, clusters can be formed centering on data having a high importance value.

결국, 클러스터가 중복되는 영역에서 분할점(도 7의 빨간 선)이 형성될 수 있으며, 이러한 3개의 분할점을 통해, 도 7과 같이 4개의 단위 행동으로 분할될 수 있다. 도 7에서 세로 축은 각각 x, y, z 축 방향으로의 로봇의 움직임을 나타내며, 색을 가진 원은 가우시안 클러스터를 나타낸다.As a result, the dividing point (the red line in FIG. 7) can be formed in the region where the clusters overlap, and through these three dividing points, it can be divided into four unit behaviors as shown in FIG. In FIG. 7, the vertical axis represents the motion of the robot in the x, y, and z axis directions, and the circle with the color represents the Gaussian cluster.

이후 로봇은 단위 행동 각각에 대한 중요도 값과 임계값을 비교하여, 단위 행동 중에서 중요 단위 행동을 판단(S640)한다. 로봇은 중요도 값이 임계값보다 큰 단위 행동을 중요 단위 행동으로 판단할 수 있다. 그리고 임계값은, 예를 들어 도 5에 도시된 바와 같이, 중요도 값에 대한 평균값일 수 있다. 따라서, 로봇은 (2)펙이 홀에 삽입될 수 있도록 펙과 홀을 정렬시키는 행동(aligning) (3)펙을 홀에 삽입하는 행동(inserting)을 중요 단위 행동으로 판단할 수 있다.Then, the robot compares the importance value and the threshold value with respect to each of the unit behaviors and determines an important unit behavior among the unit behaviors (S640). The robot can judge a unit action whose importance value is larger than the threshold value as an important unit action. And the threshold value may be an average value for the importance value value, for example, as shown in Fig. Therefore, the robot can determine (2) aligning the peck and hole so that the peck can be inserted into the hole, and (3) inserting the peck into the hole as an important unit action.

중요 단위 행동에 대해 로봇은 사전 조건(pre-condition)과 사후 조건(post-condition)을 판단하고, 판단된 사전 조건 및 사후 조건은 PDDL(Planing Domain Definition Language)로 표현될 수 있다. 이에 대한 자세한 설명은 도 8에서 후술된다.The robot determines the pre-condition and the post-condition for the important unit behavior, and the determined pre-condition and post-condition can be represented by PDDL (Planing Domain Definition Language). A detailed description thereof will be described later with reference to FIG.

한편, 전술된 바와 같이, 중요 행동에 대한 성공적인 임무 수행을 위해서는 로봇의 중요한 행동 뿐만 아니라, 실시예에 따라서 어떠한 로봇-작업 대상 조합이 특정 행동에서 중요한지 여부가 추가적으로 판단될 수 있다. 이는 도 8에서 자세히 설명된다.
Meanwhile, as described above, in order to perform a successful mission for important actions, it is additionally possible to determine not only important actions of the robot but also which robot-action combination is important in a specific action according to the embodiment. This is described in detail in Fig.

도 8은 본 발명의 또 다른 실시예에 따른 작업 솜씨를 학습하는 방법을 설명하기 위한 도면이다.8 is a view for explaining a method of learning work skills according to another embodiment of the present invention.

로봇은 임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받고(S810), 학습 데이터에 따른 로봇의 움직임을 이용하여, 기 설정된 측정 구간에서 로봇 행동의 제1중요도 값을 생성(S830)한다. 그리고 제1중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할한다. 단계 S810 내지 단계 S830은 도 7의 단계 S710 내지 단계 S730에 대응된다. The robot receives the learning data including the robot behavior for the mission (S810), and generates the first importance value of the robot behavior in a predetermined measurement interval using the movement of the robot according to the learning data (S830). And divides the robot behavior into at least one unit action using the first importance value. Steps S810 to S830 correspond to steps S710 to S730 in Fig.

그리고 로봇은, 로봇 및 작업 대상 그룹에서 선정된 측정 대상 조합의 움직임을 이용하여, 측정 구간에서 측정 대상 조합의 시간 흐름에 따른 제2중요도 값을 생성(S840)한다. 이 때, 로봇은 전술된 로봇 행동의 중요도 값을 생성하는 방법을 이용하여 제2중요도 값을 생성한다. 다만, 복수의 측정 대상에 대한 중요도 값을 생성하기 위해, 로봇은 측정 대상 조합의 상대적인 움직임을 이용하여 제2중요도 값을 생성할 수 있다.Then, the robot generates a second importance value according to the time-series of the measurement object combination in the measurement interval (S840) using the motion of the combination of the measurement object selected in the robot and the object group. At this time, the robot generates the second importance value using a method of generating the importance value of the robot behavior described above. However, in order to generate the importance value for a plurality of measurement objects, the robot can generate the second importance value using the relative movement of the measurement object combination.

예를 들어, 측정 대상 조합은, 로봇-펙, 로봇-홀 및 펙-홀일 수 있으며, 로봇-펙 조합의 경우, 로봇은 로봇의 행동에 따른 펙과의 상대적인 움직임을 이용하여 제2중요도 값을 생성할 수 있다.For example, the combination of measurement objects may be robot-peck, robot-hole and peck-hole, and in the case of the robot-peck combination, the robot uses the relative movement of the peck according to the behavior of the robot, Can be generated.

로봇은 제2중요도 값과 제1임계값을 비교하여, 분할 구간 중에서 중요 분할 구간을 판단(S850)한다. 여기서, 분할 구간은 제2중요도 값이 단위 행동 구간에 따라 분할된 구간으로서, 각각의 단위 행동에 대응된다.The robot compares the second importance value with the first threshold value, and determines an important division period from among the division intervals (S850). Here, the division period is a period in which the second importance value is divided according to the unit behavior period, and corresponds to each unit behavior.

즉, 로봇은 도 9에 도시된 바와 같이, 로봇의 단위 행동 각각에 대응되는 분할 구간에서 제2중요도 값과 제1임계값을 비교하고, 로봇의 단위 행동 각각에서, 중요한 측정 대상 조합을 판단한다. 여기서, 제1임계값은 제2중요도 값에 대한 평균 값으로서, 로봇-펙, 로봇-홀 및 펙-홀 각각의 제2중요도 값을 나타내는 도 9의 그래프(a), 그래프(b) 및 그래프(c)의 제1임계값은 각각 다르다. 그리고 로봇은 제2중요도 값이 제1임계값보다 큰 분할 구간을 중요 분할 구간으로 판단할 수 있다.That is, as shown in FIG. 9, the robot compares the second importance value with the first threshold value in the division interval corresponding to each unit behavior of the robot, and determines an important combination of measurement objects in each unit behavior of the robot . Here, the first threshold value is an average value for the second importance value, and is a graph (a), a graph (b) and a graph (b) of FIG. 9 showing the second importance value of each of the robot- (c) are different from each other. Then, the robot can determine that the segment having the second significance value larger than the first threshold value is an important segment.

결국, 도 6에서 설명된 중요 단위 행동과 도 8에서 설명된 중요 분할 구간을 로봇 행동 및 측정 대상 조합에 대해 정리하면, 도 10과 같이 나타낼 수 있다. 도 10에서 'O' 표시는 중요 단위 행동 또는 중요 분할 구간을 나타내며, 'X' 표시는 중요 단위 행동 또는 중요 분할 구간이 아님을 나타낸다. 그리고 각각의 단위 행동에서의 숫자(예를 들어, 1 to 296)은 타임 인덱스를 나타낸다.Finally, the important unit action described in FIG. 6 and the important divisional interval described in FIG. 8 can be summarized as a combination of the robot behavior and the measurement object as shown in FIG. In FIG. 10, an 'O' mark indicates an important unit action or an important division period, and an 'X' mark indicates an important unit action or an important division period. And the number in each unit action (for example, 1 to 296) represents the time index.

로봇은 중요 단위 행동에 대한 사전 조건 및 사후 조건을 판단하며, 중요 분할 구간에서 측정 대상 조합에 포함된 로봇 또는 작업 대상에 대한 사전 조건 및 사후 조건을 판단한다. 사전 조건은 특정 동작이 수행되기 위해 만족되어야하는 조건이며, 사후 조건은 특정 동작의 효과(effect)를 나타내는 조건이다. 즉, 사전 조건 및 사후 조건은 특정 행동을 수행하기 위한 인과관계를 나타낸다고 할 수 있다.The robot judges the pre- and post-conditions of the important unit action, and judges the pre- and post-conditions of the robot or the work object included in the target combination in the critical division period. A precondition is a condition that must be satisfied for a particular action to be performed, and a post-condition is a condition that represents the effect of a particular action. In other words, pre- and post-conditions can be said to represent a causal relationship for performing a specific action.

예를 들어, (2)펙이 홀에 삽입될 수 있도록 펙과 홀을 정렬시키는 단위 행동(aligning)의 경우, 로봇의 행동 뿐만 아니라, 로봇-펙 및 펙-홀의 관계도 중요하며, 펙-및 조합에 대한 사전 조건 및 사후 조건은 판단되기 어렵기 때문에, 본 발명에서는 로봇과 펙에 대한 사전 조건 및 사후 조건이 판단될 수 있다.For example, in the case of aligning a peg and a hole so that the peg can be inserted into the hole, not only the behavior of the robot but also the relationship between the robot-peg and the peg-hole are important, Since pre- and post-conditions for the combination are difficult to judge, pre- and post-conditions for the robot and the peg can be judged in the present invention.

로봇과 펙에 대한 사전 조건 및 사후 조건이 일실시예로서 PDDL로 표현된 도 11을 참조하면, 로봇(object_001) 및 펙(object_002)에 대한 사전 조건은 특별히 제한이 없으며(dontcare), 사후 조건으로 로봇 및 펙의 거리가 설정될 수 있다. 사전 조건 및 사후 조건은 학습 데이터를 통한 반복 시연을 통해 획득될 수 있으며, 로봇 및 펙 사이의 거리는 로봇에 포함된 센서에 의해 측정될 수 있다. Referring to FIG. 11 in which the pre-condition and the post-condition for the robot and the peck are represented by PDDL as an embodiment, the preconditions for the robot (object_001) and the peck (object_002) are not particularly limited, The distance between the robot and the peck can be set. The pre-condition and the post-condition can be obtained by repeated demonstration through the learning data, and the distance between the robot and the peck can be measured by the sensor included in the robot.

이 때, 사전 조건 및 사후 조건은 복수 개일 수 있으며, 사전 조건 및 사후 조건은 행동의 진행 순서를 나타내는 행동순서집합(tuple_1, tuple_2, tuple_3)으로 표현될 수 있다. 즉, 사후 조건 tuple_1이 만족되고 다음 사후 조건인 tuple_2가 만족될 수 있도록 로봇은 행동할 수 있다.In this case, the pre-condition and the post-condition can be plural, and the pre-condition and the post-condition can be represented by a set of behavior order (tuple_1, tuple_2, tuple_3) indicating the progress order of the action. That is, the robot can act so that the posterior condition tuple_1 is satisfied and the next posterior condition tuple_2 is satisfied.

결국 본 발명에 따르면, 특정 임무를 수행하는 로봇이, 중요한 행동 및 중요한 작업 대상을 판단하고, 판단된 중요 행동 및 작업 대상에 대한 사전 조건 및 사후 조건을 결정함으로써, 변화된 환경에서도 적응적으로 중요 행동을 성공적으로 수행할 수 있다.
As a result, according to the present invention, a robot performing a specific task judges important actions and important work objects, determines the pre-determined conditions and the post-conditions for the determined important actions and the work subjects, Can be successfully performed.

도 12는 본 발명의 구체적 실시예에 따른 작업 솜씨를 학습하는 로봇을 설명하기 위한 도면이다.FIG. 12 is a diagram for explaining a robot learning work skills according to a specific embodiment of the present invention.

도 12에 도시된 바와 같이, 본 발명에 따른 작업 솜씨를 학습하는 로봇은 좌표 변환부(1210), 중요도 값 생성부(1220), 가우시안 모델링부(1230), 행동 분할부(1240), 인과관계 결정부(1250) 및 행동순서집합 생성부(1260)를 포함하며, 이는 로봇의 프레임워크(framework)일 수 있다.12, the robot for learning the work skill according to the present invention includes a coordinate transformation unit 1210, an importance value generation unit 1220, a Gaussian modeling unit 1230, a behavior division unit 1240, A decision unit 1250 and a behavior order set generation unit 1260, which may be a framework of a robot.

좌표 변환부(1210)는 로봇 행동에 따른 움직임을 용이하게 판단하기 위해, 로봇의 움직임을 국소좌표계로 변환한다. 변환된 로봇의 움직임은 도 7에서와 같이, x, y, z축에 대해 표현될 수 있다.The coordinate transformation unit 1210 transforms the motion of the robot into a local coordinate system in order to easily determine the movement according to the robot behavior. The motion of the transformed robot can be expressed for the x, y, and z axes, as in Fig.

중요도 값 생성부(1220)는 학습 데이터에 따른 로봇의 움직임을 이용하여, 복잡성 및 시불변성에 기반한 로봇 행동의 중요도 값을 생성한다. 이 때, 중요도 값 생성부(1220)는 로봇 및 작업 대상 그룹에서 선정된 측정 대상 조합의 움직임을 이용하여, 측정 대상 조합의 시간 흐름에 따른 중요도 값을 함께 생성할 수 있다.The importance value generation unit 1220 generates the importance value of the robot behavior based on the complexity and the time invariance using the movement of the robot according to the learning data. At this time, the importance value generation unit 1220 can generate the importance values according to the time flow of the combination of the measurement object, using the movement of the measurement object combination selected in the robot and the operation target group.

가우시안 모델링부(1230)는 로봇의 움직임 및 로봇 행동의 중요도 값을 이용하여 분할점을 생성하며, 행동 분할부(1240)는 분할점을 이용하여 로봇 행동을 단위 행동으로 분할한다. The Gaussian modeling unit 1230 generates a dividing point using the robot motion and the importance value of the robot behavior, and the behavior dividing unit 1240 divides the robot behavior into unit behaviors using the dividing points.

인과관계 결정부(1250)는 중요도 값을 이용하여, 중요 단위 행동 및 측정 대상 조합 각각에 대한 사전 조건 및 사후 조건을 판단한다. 판단된 사전 조건 및 사후 조건은 행동순서집합 생성부(1260)에 의해 PDDL과 같은 언어로 표현될 수 있다.
The causal relationship determination unit 1250 determines the pre-condition and the post-condition for each important unit action and target combination using the importance value. The determined pre-condition and post-condition can be expressed in the same language as the PDDL by the action order set generation unit 1260.

앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
The above-described technical features may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

Claims (19)

임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계;
상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 중요도 값을 생성하는 단계;
상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계; 및
상기 단위 행동 각각에 대한 중요도 값과 임계값을 비교하여, 상기 단위 행동 중에서 중요 단위 행동을 판단하는 단계
를 포함하는 작업 솜씨를 학습하는 방법.
Receiving learning data including a robot behavior for a mission;
Generating a significance value of the robot behavior over time using the movement of the robot according to the learning data;
Dividing the robot behavior into at least one unit action using the importance value; And
Comparing the importance value for each of the unit behaviors with a threshold value, and determining an important unit behavior among the unit behaviors
A method of learning a work skill that includes.
제 1항에 있어서,
상기 중요도 값을 생성하는 단계는
상기 로봇의 움직임을 이용하여, 상기 로봇 행동에 대한 복잡성(complexity)을 계산하는 단계;
상기 로봇의 움직임을 이용하여, 상기 로봇 행동에 대한 시불변성(invariance)을 계산하는 단계; 및
상기 복잡성 및 시불변성을 이용하여, 상기 복잡성 및 시불변성에 비례하는 상기 중요도 값을 생성하는 단계
를 포함하는 작업 솜씨를 학습하는 방법.
The method according to claim 1,
The step of generating the importance value
Calculating a complexity of the robot behavior using the motion of the robot;
Calculating an invariance of the robot behavior using the motion of the robot; And
Generating the importance value proportional to the complexity and time invariance using the complexity and time invariance
A method of learning a work skill that includes.
제 2항에 있어서,
상기 로봇 행동에 대한 복잡성을 계산하는 단계는
정준 상관 분석(Canonical Correlation Analysis)을 이용하여 상기 복잡성을 계산하는
작업 솜씨를 학습하는 방법.
3. The method of claim 2,
The step of calculating the complexity for the robot behavior
The complexity is calculated using Canonical Correlation Analysis
How to learn work skills.
제 2항에 있어서,
상기 로봇 행동에 대한 시불변성을 계산하는 단계는
상기 로봇의 움직임에 대한 공분산을 이용하여 상기 시불변성을 계산하는
작업 솜씨를 학습하는 방법.
3. The method of claim 2,
The step of calculating the time invariance for the robot behavior
The time invariance is calculated using the covariance of the motion of the robot
How to learn work skills.
제 1항에 있어서,
상기 단위 행동으로 분할하는 단계는
상기 중요도 값을 가중치로 이용하는 가우시안 혼합 모델(GMM)에 따라, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는
작업 솜씨를 학습하는 방법.
The method according to claim 1,
The step of dividing into unit behaviors
And dividing the robot behavior into at least one unit action according to a Gaussian mixture model (GMM) using the importance value as a weight
How to learn work skills.
제 1항에 있어서,
상기 중요 단위 행동을 판단하는 단계는
상기 중요도 값이 상기 임계값보다 큰 단위 행동을 상기 중요 단위 행동으로 판단하며,
상기 임계값은 상기 중요도 값에 대한 평균값인
작업 솜씨를 학습하는 방법.
The method according to claim 1,
The step of determining the important unit behavior
Determines that the unit action having the importance value greater than the threshold value is the important unit action,
Wherein the threshold value is an average value of the importance value
How to learn work skills.
제 1항에 있어서,
상기 중요 단위 행동에 대한 사전 조건(pre-condition) 및 사후 조건(post-condition)을 판단하는 단계
를 더 포함하는 작업 솜씨를 학습하는 방법.
The method according to claim 1,
Determining a pre-condition and a post-condition for the important unit action
≪ / RTI >
제 7항에 있어서,
상기 사전 조건 및 사후 조건을 PDDL(Planing Domain Definition Language)로 표현하는 단계
를 더 포함하는 작업 솜씨를 학습하는 방법.
8. The method of claim 7,
Expressing the pre-condition and post-condition in a PDD (Planing Domain Definition Language)
≪ / RTI >
임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계;
상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 기 설정된 측정 구간에서 상기 로봇 행동의 제1중요도 값을 생성하는 단계;
상기 제1중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계;
상기 로봇 및 작업 대상 그룹에서 선정된 측정 대상 조합의 움직임을 이용하여, 상기 측정 구간에서 상기 측정 대상 조합의 시간 흐름에 따른 제2중요도 값을 생성하는 단계; 및
상기 제2중요도 값과 제1임계값을 비교하여, 분할 구간 중에서 중요 분할 구간을 판단하는 단계를 포함하며,
상기 분할 구간은 상기 제2중요도 값이 상기 단위 행동 구간에 따라 분할된 구간인
작업 솜씨를 학습하는 방법.
Receiving learning data including a robot behavior for a mission;
Generating a first importance value of the robot behavior in a predetermined measurement interval by using the movement of the robot according to the learning data;
Dividing the robot behavior into at least one or more unit behaviors using the first importance value;
Generating a second importance value according to a time flow of the measurement object combination in the measurement interval using the motion of the measurement object combination selected in the robot and the object group; And
Comparing the second importance value with a first threshold value to determine an important division period from among the division intervals,
The division period may be a period in which the second importance value is divided according to the unit behavior period
How to learn work skills.
제 9항에 있어서,
상기 중요 분할 구간에서, 상기 측정 대상 조합에 포함된 상기 로봇 또는 작업 대상에 대한 사전 조건 및 사후 조건을 판단하는 단계
를 더 포함하는 작업 솜씨를 학습하는 방법.
10. The method of claim 9,
Determining a pre-condition and a post-condition for the robot or the work object included in the combination of measurement targets in the critical division section
≪ / RTI >
제 10항에 있어서,
상기 사전 조건 및 사후 조건을 PDDL로 표현하는 단계
를 더 포함하는 작업 솜씨를 학습하는 방법.
11. The method of claim 10,
Expressing the pre- and post-conditions as PDDLs
≪ / RTI >
제 9항에 있어서,
상기 중요 분할 구간을 판단하는 단계는
상기 제2중요도 값이 상기 제1임계값보다 큰 분할 구간을 상기 중요 분할 구간으로 판단하며,
상기 제1임계값은 상기 제2중요도 값에 대한 평균값인
작업 솜씨를 학습하는 방법.
10. The method of claim 9,
The step of determining the critical division period
And determines a division interval in which the second importance value is larger than the first threshold value as the critical division interval,
Wherein the first threshold value is an average value of the second importance value
How to learn work skills.
제 9항에 있어서,
상기 단위 행동 각각에 대한 제1중요도 값과 제2임계값을 비교하여, 상기 단위 행동 중에서 중요 단위 행동을 판단하는 단계
를 더 포함하는 작업 솜씨를 학습하는 방법.
10. The method of claim 9,
Comparing the first importance value for each of the unit behaviors with a second threshold value to determine an important unit behavior among the unit behaviors
≪ / RTI >
제 13항에 있어서,
상기 중요 단위 행동에 대한 사전 조건 및 사후 조건을 판단하는 단계
를 더 포함하는 작업 솜씨를 학습하는 방법.
14. The method of claim 13,
Determining a pre-condition and a post-condition for the important unit action
≪ / RTI >
임무에 대한 로봇 행동을 포함하는 학습 데이터를 입력받는 단계;
상기 학습 데이터에 따른 상기 로봇의 움직임을 이용하여, 시간 흐름에 따른 상기 로봇 행동의 복잡성 및 시불변성을 산출하는 단계;
상기 복잡성 및 시불변성을 이용하여, 상기 복잡성 및 시불변성에 비례하는 상기 로봇 행동에 대한 중요도 값을 생성하는 단계; 및
상기 중요도 값을 이용하여, 상기 로봇 행동을 적어도 하나 이상의 단위 행동으로 분할하는 단계
를 포함하는 작업 솜씨를 학습하는 방법.
Receiving learning data including a robot behavior for a mission;
Calculating complexity and time invariance of the robot behavior over time using the movement of the robot according to the learning data;
Using the complexity and time invariance to generate a significance value for the robot behavior proportional to the complexity and time invariance; And
Dividing the robot behavior into at least one or more unit behaviors using the importance value
A method of learning a work skill that includes.
제 15항에 있어서,
상기 로봇 행동의 복잡성 및 시불변성을 산출하는 단계는
정준 상관 분석(Canonical Correlation Analysis)을 이용하여 상기 복잡성을 계산하는
작업 솜씨를 학습하는 방법.
16. The method of claim 15,
The step of calculating complexity and time invariance of the robot behavior
The complexity is calculated using Canonical Correlation Analysis
How to learn work skills.
제 16항에 있어서,
상기 로봇 행동에 대한 복잡성 및 시불변성을 산출하는 단계는
기준 시점으로부터, 이전 측정 구간에서의 로봇 움직임 및 상기 기준 시점으로부터, 다음 측정 구간에서의 로봇 움직임을 이용하여 상기 정준 상관 분석을 수행하는
작업 솜씨를 학습하는 방법.
17. The method of claim 16,
The step of calculating complexity and time invariance for the robot behavior
From the reference time point, the canonical correlation analysis is performed using the robot motion in the previous measurement interval and the robot motion in the next measurement interval from the reference time point
How to learn work skills.
제 15항에 있어서,
상기 로봇 행동에 대한 복잡성 및 시불변성을 산출하는 단계는
상기 로봇 행동에 대한 공분산을 이용하여 상기 시불변성을 계산하는
작업 솜씨를 학습하는 방법.
16. The method of claim 15,
The step of calculating complexity and time invariance for the robot behavior
The time invariance is calculated using the covariance for the robot behavior
How to learn work skills.
제 18항에 있어서,
상기 로봇 행동에 대한 복잡성 및 시불변성을 산출하는 단계는
기준 시점으로부터, 이전 측정 구간에서의 로봇 움직임 및 상기 기준 시점으로부터, 다음 측정 구간에서의 로봇 움직임을 이용하여 상기 공분산을 계산하는
작업 솜씨를 학습하는 방법.
19. The method of claim 18,
The step of calculating complexity and time invariance for the robot behavior
From the reference time point, the robot motion in the previous measurement interval and the covariance are calculated from the reference time point using the robot motion in the next measurement interval
How to learn work skills.
KR1020140191981A 2014-12-29 2014-12-29 Method for Learning Task Skill and Robot Using Thereof KR101676541B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140191981A KR101676541B1 (en) 2014-12-29 2014-12-29 Method for Learning Task Skill and Robot Using Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140191981A KR101676541B1 (en) 2014-12-29 2014-12-29 Method for Learning Task Skill and Robot Using Thereof

Publications (2)

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

Family

ID=56502756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140191981A KR101676541B1 (en) 2014-12-29 2014-12-29 Method for Learning Task Skill and Robot Using Thereof

Country Status (1)

Country Link
KR (1) KR101676541B1 (en)

Cited By (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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3753684B1 (en) * 2019-06-21 2022-08-10 Robert Bosch GmbH Method and system for robot manipulation planning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101329642B1 (en) 2012-02-24 2013-11-14 한양대학교 산학협력단 Modeling method for learning task skill and robot using thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101329642B1 (en) 2012-02-24 2013-11-14 한양대학교 산학협력단 Modeling method for learning task skill and robot using thereof

Non-Patent Citations (1)

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

Cited By (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

Also Published As

Publication number Publication date
KR20160080349A (en) 2016-07-08

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
Das et al. Learning-based proxy collision detection for robot motion planning applications
US10792810B1 (en) Artificial intelligence system for learning robotic control policies
Baranes et al. R-iac: Robust intrinsically motivated exploration and active learning
KR101577711B1 (en) Method for learning task skill using temporal and spatial relation
Pais et al. Learning robot skills through motion segmentation and constraints extraction
KR102213061B1 (en) Learning framework setting method for robot and digital control device
KR101912918B1 (en) Learning robot and method for task skill using thereof
KR101819323B1 (en) Method for Generating Robot Task Motion Based on Imitation Learning and Motion Composition and Apparatus Therefor
Ribes et al. Active learning of object and body models with time constraints on a humanoid robot
Gutzeit et al. The besman learning platform for automated robot skill learning
KR101676541B1 (en) Method for Learning Task Skill and Robot Using Thereof
Lang et al. Gaussian process kernels for rotations and 6D rigid body motions
Liu et al. Grasp pose learning from human demonstration with task constraints
KR101329642B1 (en) Modeling method for learning task skill and robot using thereof
Edwards et al. Cross-domain perceptual reward functions
KR101329640B1 (en) Method for learning task skill and robot using thereof
Sukthankar et al. Automatic recognition of human team behaviors
KR20140133417A (en) Method for learning task skill using temporal and spatial entrophies
Izadi et al. Layered Relative Entropy Policy Search
Kulić et al. Incremental learning of full body motion primitives
Lundell Dynamic movement primitives and reinforcement learning for adapting a learned skill
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