KR101086671B1 - 인간과 상호작용하는 로봇을 가상학습공간에서 학습시키는 방법, 기록매체, 및 그 방법으로 학습된 로봇 - Google Patents

인간과 상호작용하는 로봇을 가상학습공간에서 학습시키는 방법, 기록매체, 및 그 방법으로 학습된 로봇 Download PDF

Info

Publication number
KR101086671B1
KR101086671B1 KR1020110063785A KR20110063785A KR101086671B1 KR 101086671 B1 KR101086671 B1 KR 101086671B1 KR 1020110063785 A KR1020110063785 A KR 1020110063785A KR 20110063785 A KR20110063785 A KR 20110063785A KR 101086671 B1 KR101086671 B1 KR 101086671B1
Authority
KR
South Korea
Prior art keywords
robot
agent
human
learning
motion
Prior art date
Application number
KR1020110063785A
Other languages
English (en)
Inventor
조경은
성연식
엄기현
Original Assignee
동국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Priority to KR1020110063785A priority Critical patent/KR101086671B1/ko
Application granted granted Critical
Publication of KR101086671B1 publication Critical patent/KR101086671B1/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)

Abstract

인간과 상호작용하는 로봇을 학습시키는 방법에 관한 것으로서 로봇이 동작하는 실제 공간의 특징을 반영하는 가상학습공간상에, 인간에 대응하는 휴먼에이전트(Human Agent)와 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하는 단계, 가상학습공간상에서 휴먼에이전트가 사용자로부터 인간의 동작을 입력받고, 입력받은 동작을 모방함으로써 인간의 동작을 학습하는 단계, 및 상기 학습된 동작에 기초하여 가상학습공간상에서, 휴먼에이전트와 로봇에이전트간의 상호학습을 통해, 로봇에이전트가 인간과의 상호작용동작을 학습함으로써 로봇의 동작데이터를 생성하는 단계를 포함하는 것을 특징으로 하고, 인간과 상호작용하는 로봇을 학습시키는 방법에서 인간의 참여를 줄임으로써 학습시간과 비용을 절감할 수 있다.

Description

인간과 상호작용하는 로봇을 가상학습공간에서 학습시키는 방법, 기록매체, 및 그 방법으로 학습된 로봇 {Method for training robot collaborating with human on virtual environment, Recording medium thereof, and Robot thereof}
본 발명은 인간과 상호작용하는 로봇을 학습시키는 방법에 관한 것으로서, 더욱 상세하게는, 인간의 참여를 줄임으로써 학습시간과 비용을 절감할 수 있는 가상학습공간의 학습을 통해 인간과 상호작용하는 로봇을 학습시키는 방법, 상기 방법으로 학습된 로봇, 및 그 기록매체에 관한 것이다.
지능형 서비스 로봇은 가정 내에서 인간에게 다양한 서비스를 제공하고 정보화시대의 사회적인 네트워크와 유기적으로 결합하고, 가전기기 등과의 원격제어가 가능한 인간친화적인 인터페이스 역할을 수행하고 있다. 이러한 미래 컴퓨팅 환경과 지능형 서비스 로봇이 결합하면 인지 및 감성과 유비쿼터스 환경을 기반으로 한 미래형 로봇으로 발전하게 될 것이다. 이러한 로봇은 미래의 우리 생활 속에서 환경과 유기적으로 동작하고, 인간과 자연스러운 상호작용을 통해서 지속적 관계를 갖고 성장하여, 인간의 동반자 역할을 할 수 있게 된다.
아직까지는 산업용 로봇이 대부분의 로봇 시장을 차지하고 있지만 서비스 로봇의 편리성으로 인해서 서비스로봇 시장이 점차 커질 것으로 예상되기 때문에 향후 서비스 로봇을 개발하기 위한 다양한 연구들이 도출되고 진행될 것으로 판단된다. 이에 발맞추어 서비스 로봇을 개발하기 위한 플랫폼, 알고리즘, 제어 기법 등 다양한 기술들이 필요할 것으로 예상된다.
서비스 로봇은 다른 로봇과는 다르게 수행하는 대부분의 작업들이 사람과 상호작용하면서 이루어진다. 예를 들어, 가사 도우미 로봇은 자신에게 주어진 일상적인 가사 업무를 수행하면서 사람이 실시간에 요청한 작업들을 처리한다. 그리고 처리한 작업은 사람에게 알리거나 처리한 결과물을 사람에게 전달한다. 그래서 서비스로봇을 제작하기 위해서는 보행이나 이동과 같은 일반적인 로봇 제작 기술뿐만 아니라 사람과 상호작용을 처리하는 기술이 기본적으로 필요하다.
본 발명이 해결하고자 하는 첫 번째 과제는 학습시간과 비용을 절감할 수 있는 가상학습공간의 학습을 통해 인간과 상호작용하는 로봇을 학습시키는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 두 번째 과제는 학습시간과 비용을 절감할 수 있는 가상학습공간의 학습을 통해 생성한 인간과 상호작용하는 로봇 동작데이터를 로봇에 입력하는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 세 번째 과제는 학습시간과 비용을 절감할 수 있는 가상학습공간의 학습을 통해 인간과 상호작용하는 캐릭터를 학습시키는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 네 번째 과제는 학습시간과 비용을 절감할 수 있는 가상학습공간의 학습을 통해 인간과 상호작용하는 로봇을 학습시키는 방법으로 학습된 로봇을 제공하는 것이다.
또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
본 발명은 상기 첫 번째 과제를 해결하기 위하여, 인간과 상호작용하는 로봇을 학습시키는 방법에 있어서, 상기 로봇이 동작하는 실제 공간의 특징을 반영하는 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하는 단계, 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하는 단계, 및 상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 로봇의 동작데이터를 생성하는 단계를 포함하는 방법을 제공한다.
본 발명은 상기 두 번째 과제를 해결하기 위하여, 인간과 상호작용하는 로봇을 학습시키는 방법에 있어서, 상기 로봇이 동작하는 실제 공간의 특징을 반영하는 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하는 단계, 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하는 단계, 상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 로봇의 동작데이터를 생성하는 단계, 및 상기 동작데이터를 상기 로봇에 입력하는 단계를 포함하는 방법을 제공한다.
본 발명은 상기 세 번째 과제를 해결하기 위하여, 인간과 상호작용하는 캐릭터를 학습시키는 방법에 있어서, 상기 캐릭터가 동작하는 가상공간의 특징을 반영하는 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 캐릭터에 대응하는 캐릭터에이전트(Character Agent)를 생성하는 단계, 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하는 단계, 상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 캐릭터에이전트간의 상호학습을 통해, 상기 캐릭터에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 캐릭터의 동작데이터를 생성하는 단계, 상기 생성된 동작데이터를 상기 캐릭터가 동작하는 가상공간에 대응하는 포맷으로 변환하는 단계, 및 상기 캐릭터가 구동하는 가상공간에 대응하는 포맷으로 변환한 동작데이터를 상기 캐릭터에 입력하는 단계를 포함하는 방법을 제공한다.
본 발명은 상기 네 번째 과제를 해결하기 위하여, 인간과 상호작용하는 로봇에 있어서, 상기 로봇은 가상학습공간의 학습 과정을 통해 학습되고, 상기 학습 과정은, 상기 로봇이 동작하는 실제 공간의 특징을 반영하는 상기 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하고, 상기 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하며, 상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 로봇의 동작데이터를 생성하는 것을 특징으로 하는 로봇을 제공한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 인간과 상호작용하는 로봇을 학습시키는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명에 따르면, 인간과의 상호작용하는 로봇을 학습시키는 과정에서 인간의 참여를 줄임으로써, 학습시간과 비용을 절감할 수 있다. 또한, 본 발명에 따르면, 로봇과의 직접적인 학습을 피함으로써, 학습과정에서 발생할 수 있는 위험을 줄일 수 있다.
도 1은 가상학습공간의 학습을 통해 인간과 상호작용하는 로봇을 학습시키는 방법을 도시한 흐름도이다.
도 2는 로봇에이전트가 상호작용동작을 학습하는 방법을 도시한 흐름도이다.
도 3은 휴먼에이전트의 동작을 로봇에이전트가 학습하는 방법을 도시한 흐름도이다.
도 4는 로봇에이전트가 일련의 동작을 학습하는 방법을 도시한 흐름도이다.
도 5는 가상학습공간의 학습을 통해 생성한 인간과 상호작용하는 로봇 동작데이터를 로봇에 입력하는 방법을 도시한 흐름도이다.
도 6은 동작데이터를 로봇에 입력하는 방법을 도시한 흐름도이다.
도 7은 가상학습공간의 학습을 통해 인간과 상호작용하는 캐릭터를 학습시키는 방법을 도시한 흐름도이다.
도 8a 내지 도 8c는 가상학습공간의 학습을 통해 인간과 상호작용하는 로봇을 학습시키는 방법을 이용하여 로봇을 학습하는 것을 예시한 도면이다.
본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하고자 하는 과제의 해결 방안의 개요 혹은 기술적 사상의 핵심을 우선 제시한다.
본 발명의 일 실시예에 따른 인간과 상호작용하는 로봇을 학습시키는 방법은 상기 로봇이 동작하는 실제 공간의 특징을 반영하는 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하는 단계, 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하는 단계, 및 상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 로봇의 동작데이터를 생성하는 단계를 포함한다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 실시 예를 상세히 설명한다. 그러나 이들 실시예는 본 발명을 보다 구체적으로 설명하기 위한 것으로, 본 발명의 범위가 이에 의하여 제한되지 않는다는 것은 당업계의 통상의 지식을 가진 자에게 자명할 것이다.
본 발명이 해결하고자 하는 과제의 해결 방안을 명확하게 하기 위한 발명의 구성을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 아울러 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명 그리고 그 이외의 제반 사항이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.
도 1은 가상학습공간의 학습을 통해 인간과 상호작용하는 로봇을 학습시키는 방법을 도시한 흐름도이다.
100단계는 로봇이 동작하는 실제 공간의 특징을 반영하는 가상학습공간상에, 인간에 대응하는 휴먼에이전트(Human Agent)와 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하는 단계이다.
가상학습공간은 로봇이 동작하는 실제 공간의 특징을 반영하여 생성된다. 상기 가상학습공간은 물리엔진이 적용된다. 물리엔진은 일반 물리 법칙이 적용되는 가상환경을 구현하는 알고리즘, 라이브러리 등으로 구성된다. 로봇을 학습시키기 위한 특징만을 선택적용하여 가상학습공간을 생성할 수도 있다. 상기 가상학습공간상에 인간에 대응하는 휴먼에이전트(Human Agent)를 생성한다. 상기 휴먼에이전트는 인간의 행동을 시뮬레이션하기 위해 생성된다. 휴먼에이전트는 인간에 대응하여 동작하기 위하여 인간의 동작의 특징을 반영하여 생성한다. 인간의 신체의 길이와 두께, 관절의 움직임들이 반영되어 생성한다. 상기 신체의 길이는 상기 휴먼에이전트에 동작을 입력하는 사용자의 신체 길이를 측정하여 사용하거나, 평균신체길이를 사용할 수 있다. 또한, 상기 가상학습공간상에 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성한다. 상기 로봇에이전트는 로봇의 동작을 시뮬레이션하기 위해 생성된다. 상기 로봇의 특징은 학습시키고자 하는 로봇의 특징을 반영하여 생성한다.
200단계는 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하는 단계이다.
100단계에서 생성된 휴먼에이전트는 동작데이터가 없는 상태이다. 따라서, 사용자가 기본적인 인간의 동작과 인간과 상호작용하기 위해 필요한 로봇의 기본적인 동작을 가상공간의 휴먼에이전트에 입력한다. 휴먼에이전트는 상기 가상학습공간상에서 사용자로부터 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 인간의 동작을 학습한다. 사용자는 휴먼에이전트에 대응하고 센서 등이 부착된 장치를 직접 조작하여 동작을 입력하거나, 컴퓨터상에서 동작에 대한 데이터를 입력함으로써 인간의 동작을 휴먼에이전트에 입력할 수 있다.
300단계는 200단계에서 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 로봇의 동작데이터를 생성하는 단계이다.
200단계에서 인간의 조작에 의해 휴먼에이전트가 동작을 학습하고, 상기 휴먼에이전트가 학습한 동작을 가상학습공간상에서 상호학습을 통해, 로봇에 학습시키고자 하는 동작을 로봇에이전트가 학습하는 단계이다. 로봇에이전트가 학습하는 동작은 로봇의 동작데이터로 축적저장되어 동작데이터를 생성한다. 본 단계에 대한 상세한 설명은 도 2에 대한 설명에서 구체적으로 설명하도록 한다.
도 2는 로봇에이전트가 상호작용동작을 학습하는 방법을 도시한 흐름도이다.
상기 도 1의 300 단계는 아래 310 단계 내지 330 단계를 포함할 수 있다.
310단계는 로봇에이전트가 휴먼에이전트의 동작을 모방하여 반복적으로 학습하는 단계이다.
도 1의 200단계에서 휴먼에이전트에 의해 학습된 동작을 로봇에이전트가 모방학습을 통해 학습하는 단계이다. 상기 동작은 기본적인 부분동작일 수 있다. 로봇에이전트는 로봇이 기본적으로 학습해야하는 동작들을 직접 인간으로부터 학습하는 것이 아니고, 상기 인간에 의해 입력된 동작을 학습한 휴먼에이전트로부터 학습한다. 본 단계에 대한 상세한 설명은 도 3에 대한 설명에서 구체적으로 설명하도록 한다.
330단계는 휴먼에이전트와 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 학습한 동작 중 하나의 동작 또는 둘 이상을 조합한 일련의 동작을 학습하는 단계이다.
휴먼에이전트와 로봇에이전트간의 가상학습공간상에서의 상호학습을 통해, 200단계에서 휴먼에이전트가 학습한 동작과 310단계에서 로봇에이전트가 학습한 동작에 기초하여, 상기 로봇에이전트가 학습한 동작 중 하나의 동작 또는 둘 이상을 조합하여 일련의 동작을 학습한다. 즉, 학습한 기본적인 부분동작을 이용하여 인간과의 상호작용에 필요한 일련의 동작을 학습한다. 본 단계는 인간이 직접적으로 참여하여 에이전트를 조작하여 학습이 이루어지는 것이 아니고, 휴먼에이전트와 로봇에이전트간의 상호학습에 의해 학습이 이루어진다. 본 단계에 대한 상세한 설명은 도 4에 대한 설명에서 구체적으로 설명하도록 한다.
도 3은 휴먼에이전트의 동작을 로봇에이전트가 학습하는 방법을 도시한 흐름도이다.
311단계는 휴먼에이전트의 동작을 입력받아 제 1 동작 제어값을 수집하면서, 마지막으로 양자화한 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 이상이면 상기 제1 동작 제어값을 양자화하여 양자화된 동작을 생성하는 단계이다.
로봇에이전트는 휴먼에이전트의 동작을 입력받아 제 1 동작 제어값을 수집한다. 동작 제어값은 로봇에이전트의 공간상의 좌표, 로봇신체 각부의 움직임 정도, 로봇신체 각부의 기울기 등을 제어하기 위한 값이다. 입력받은 제1 동작 제어값과 마지막으로 양자화한 제2 동작 제어값을 비교하여 두 값의 차이가 임계치 이상이면, 제1 동작 제어값을 양자화하여 양자화된 동작을 생성한다.
보다 구체적으로, 이 과정에서 마지막으로 입력받은 제2 동작 제어값과 비교하기 위해, 제1 동작 제어값과 제2 동작 제어값의 유클리드(Euclid) 거리를 계산하여 유클리드 거리가 임계치 이상인지 판단할 수 있다. 이를 상세히 설명하면 다음과 같다.
사용자가 조작한 시간 t의 캐릭터의 행동을 at라고 정의한다. 사용자가 조작해서 수행한 모든 행동 a의 집합이 A이고, 행동 ag는 집합 A의 g번째 행동일 때, 수학식 1과 같은 관계가 성립한다.
Figure 112011049753453-pat00001
여기서, 행동 aτ는 다수개의 동작(m)으로 정의된다(at = m1 τㆍm2 τㆍ... ). 두 개의 연속적인 값을 비교하기 위해 수학식 2와 같은 유클리드 거리(Euclid Distance) 연산이 사용될 수 있다.
Figure 112011049753453-pat00002
이를 본 발명에 적용하면 수학식 3과 같이 표현될 수 있다.
Figure 112011049753453-pat00003
여기서, 행동 an은 n번째로 비교할 행동이고 행동 an - 1는 (n-1)번째 전달한 행동이다. 모션 mi n n번째 행동 an을 구성하는 i번째 모션(m)이고, 비율 ri n는 모션 mi n의 반영 비율이다.
액션 필터의 구현 예의 하나로, 수학식 4와 같이, 두 행동의 함수값 차이가 임계치 ε을 넘어갈 때 동작 양자화를 시킨다고 정의할 수 있다.
Figure 112011049753453-pat00004
본 발명의 일 실시 예에서, 입력받은 제1 동작 제어값과 바로 이전에 입력받은 제2 동작 제어값을 비교하여 두 값의 차이가 임계치 미만이면, 해당 동작 제어값은 삭제하고, 새로운 동작 제어값을 입력받아 비교하는 과정을 반복한다.
양자화하는 과정의 구체적인 예는 다음과 같다. 행동 an은 수학식 5와 같이 delta time dn과 쌍으로 사용할 행동 fn을 정의할 수 있다.
Figure 112011049753453-pat00005
delta time dn는 수학식 6과 같이 마지막으로 전달한 행동 an -1의 시간 tn -1과 비교할 행동 an의 시간 tn의 시간 차이이다.
Figure 112011049753453-pat00006
집합 D가 delta time d의 집합(dn ∈ D, D = { d1, d2, … })일 때, 집합 F은 수학식 7과 같이 행동 fn의 집합을 정의할 수 있다.
Figure 112011049753453-pat00007
양자화하는 함수 T는 수학식 8과 같이 행동 fn를 양자화해서 행동 qn을 생성한다.
Figure 112011049753453-pat00008
행동 fn은 행동 an과 delta time dn으로 구성되기 때문에 양자화하는 각각의 함수 Ta와 함수 Td가 필요하다.
행동 an의 양자화 과정은 행동 an를 구성하는 다수개의 모션 m을 양자화하는 방식으로 구현할 수 있다. 모션 m을 양자화하기 위해서는 아날로그 신호를 디지털 신호로 변환하는 수학식 9를 응용할 수 있다.
Figure 112011049753453-pat00009
수학식 9에서 2M은 양자하한 결과의 총 개수, vMax와 vMin는 입력 값의 최대 및 최소값, vIn은 입력받은 값을 의미한다. 수학식 9를 이용하면, 수학식 10과 같이 n번째 행동의 i번째 모션 mi n을 양자화를 나타낼 수 있다.
Figure 112011049753453-pat00010
mMin는 모션의 최소 값이고 mMax는 모션의 최대값이다. mstep은 양자화한 값의 간격을 표현한다.
행동을 양자화하는 함수 Ta는 수학식 11과 같이 각각의 모션 m'n을 양자화해서 행동 a'n을 구한다.
Figure 112011049753453-pat00011
함수 Td는 시간을 양자화하기 위한 함수이고 수학식 12와 같이 d'n을 계산한다. 여기서 'ㆍ'는 함께 기재된 행동 또는 모션이 시간적으로 연속되어 있다는 의미이다.
Figure 112011049753453-pat00012
집합 Q를 qn ∈ Q, Q = { q1, q2, … }와 같이 행동 q의 집합이라고 정의한다.
결론적으로, 양자화된 행동 a'n과 delta time d'n은 수학식 13 및 14와 같이 나타낼 수 있다.
Figure 112011049753453-pat00013
여기서, 집합 A'는 양자화된 행동 a'의 집합이다.
Figure 112011049753453-pat00014
여기서, 집합 D'는 양자화한 delta time d'의 집합이다. 수학식 15와 같이 집합 Q의 원소 개수는 집합 F의 원소 개수보다 작거나 같아질 수 있다.
Figure 112011049753453-pat00015
313단계는 목표개수의 양자화된 동작이 시간순으로 배열되어 전체 행동이 구성되면, 상기 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성할 수 있는 모든 부분 행동들을 추출하는 단계이다.
목표개수의 양자화된 동작이 시간순으로 배열되어 전체 행동이 구성되면, 전체 행동으로부터 가능한 모든 부분 행동들을 추출한다. 보다 구체적으로, 부분 행동들은 전체 행동에서 시간 축 상의 임의 시간 지점부터 다음 임의 시간 지점까지의 양자화된 동작들의 배열이다. 시간적으로 연속한 "행동"의 어느 시점부터 연속된 행동을 임의의 길이로 잘라내어 부분 행동을 추출하는 것도 가능하다.
부분 행동들을 추출하는 구체적인 방법의 예는 다음과 같다.
행동 선택부에 전달된 행동이 q1ㆍq2ㆍ … ㆍqj 라면(j는 q의 마지막 인덱스이다), 행동 선택부는 입력받은 일렬의 행동으로부터 가능한 모든 후보를 정의한다. 부분 행동 sm은 수학식 16과 같이 수집한 일렬의 행동 q의 일부분이다.
Figure 112011049753453-pat00016
v, w은 임의의 자연수이다. 일렬의 행동 s의 집합을 수학식 17과 같이 집합 S로 정의할 수 있다.
Figure 112011049753453-pat00017
본 발명의 다른 실시 예에서는 이 과정에서 추출된 모든 부분 행동들 중 행동 길이가 임계 시간 이상인 부분 행동을 삭제하는 과정(지나치게 수행시간이 긴 부분 행동을 걸러냄)을 거치거나 임계 시간 미만인 부분 행동을 삭제하는 과정(지나치게 수행시간이 짧은 부분 행동을 걸러냄)을 거칠 수 있다.
315단계는 상기 부분 행동들 중 복수의 대표 행동을 추출하고, 상기 대표 행동을 기준으로 상기 부분 행동들을 분류하는 단계이다.
부분 행동들 중 복수의 대표 행동을 추출하고, 대표 행동을 기준으로 부분 행동들을 분류한다. 예를 들어, 이 과정에서 부분 행동들을 분류면서 기존의 대표 행동에 속하지 않는 부분 행동을 새로운 대표 행동으로 추가할 수도 있다.
본 발명의 다른 실시 예에서는 복수의 대표 행동을 추출하는 과정 및 부분 행동들을 분류하는 과정에 Maximin 선택 알고리즘, K-means 알고리즘 등의 알고리즘을 적용할 수도 있다.
Maximin 선택 알고리즘은 분류의 진행에 따라 트리를 생성하게 된다. 트리에는 각 레벨(예를 들어, 0, 1, 2, 3, 4 ...)이 있는데, Max, Min은 교대로 행해진다. 각 노드의 숫자는 평가 함수의 값을 Min 레벨에서는 Max값이 가장 작은 값을, Max레벨에서는 Min값이 가장 큰값을 돌려받는 식의 과정을 거치게 된다. 이러한 방식으로 모든 노드를 찾기 위해서는 방대한 연산을 필요로 한다. 따라서 적당한 깊이까지 탐색 노드의 제한을 두는 것이 바람직하다. Maximin 선택 알고리즘을 적용하면, 트리의 각 노드는 행동들을 나타내고 트리의 상위 노드가 대표 행동을 나타내게 된다. 부분 행동들을 분류하는 과정에는 Maximin 선택 알고리즘 대신에 K-means 알고리즘이 사용될 수도 있다. K-means 알고리즘은 n개의 객체들의 집합을 K개의 군집으로 분해하는 거리에 기반을 둔 클러스터링 기법이다. 군집 유사성은 군집에서 군집의 무게중심으로 볼 수 있는 객체들의 평균값을 측정하여 기준점에 가까운 곳의 데이터들을 하나의 군집으로 묶는 방법이다. 수행과정은 다음과 같다. 임의의 K개의 군집수를 결정하고, 각 군집에 초기치 또는 군집 중심을 1개씩 할당하여 위치 설정한다. 각각의 데이터에 대해 K개의 위치까지의 거리를 구하고 가장 가까운 군집에 소속시킨다. 군집으로 나누어진 데이터를 기준으로 새로운 군집 중앙의 위치를 최소가 되도록 재설정한다. 새롭게 구한 군집 중앙의 위치가 기존과 동일하면 알고리즘 종료하고 다르면 두 번째부터 재수행한다. 이 과정을 통하여 K개의 군집으로 데이터를 구분하고 K값에 따라 클러스터링에 많은 영향을 받는다.
도 4는 로봇에이전트가 일련의 동작을 학습하는 방법을 도시한 흐름도이다.
상기 도 2의 330 단계는 아래 331 단계 내지 333 단계를 포함할 수 있다.
331단계는 휴먼에이전트가 각 상태에서 발현 확률이 가장 높은 동작을 수행하는 단계이다.
휴먼에이전트는 현재 상태에서 발현 확률이 가장 높은 동작을 수행한다. 상기 발현 확률은 베이지안 확률을 이용하여, 인간이 로봇과 상호작용 할 때, 인간이 취할 수 있는 동작을 수행한다. 상기 발현 확률은 로봇의 용도에 따라 변화시킬 수 있고, 다양한 동작을 수행하도록 조정할 수도 있다.
333단계는 휴먼에이전트의 동작에 따라 로봇에이전트가 수행한 동작에 해당하는 보상값을 누적하는 단계이다.
331단계에서 상기 발현 확률에 의해 수행되는 휴먼에이전트의 동작에 따라 로봇에이전트가 310단계에서 학습한 동작을 수행한다. 상기 로봇에이전트가 동작을 수행하였을 때, 수행한 동작에 대해 피드백이 이루어진다. 상기 피드백을 통해 로봇에이전트가 수행한 동작에 해당하는 미리 설정된 보상값이 부여되고, 상기 보상값을 누적한다. 상기 보상값은 양수 또는 음수 일 수 있다. 상기 보상값은 로봇에이전트가 인간과의 상호작용에 적합한 동작을 수행할 경우 양수가 되고, 부적합한 동작을 수행한 경우에는 음수가 된다. 상기 보상값은 누적저장된다. 상기 저장된 보상값에 기초하여 로봇에이전트는 휴먼에이전트의 동작을 인식하고 예측하여 보상값을 최대화하는 방향으로 동작함으로써, 인간과의 상호작용동작을 학습한다. 본 단계는 Q-학습(Q-learning, 강화학습)에 의해 이루어질 수 있다.
로봇에이전트는 상기 누적된 보상값을 최대화하는 동작을 수행한다. 상기 331단계와 333단계를 반복함으로써 각 동작에 대한 보상값이 누적되고, 로봇에이전트는 상기 보상값을 최대화하는 동작을 인간과의 상호작용동작으로 학습한다.
로봇에이전트가 휴먼에이전트의 동작을 보다 정확하게 인식하고 예측하기 위해, 로봇에이전트는 휴먼에이전트의 현재 동작과 연결되는 과거의 일련의 동작을 고려하여 상기 보상값을 최대화하는 동작을 학습할 수 있다. 로봇에이전트가 휴먼에이전트의 현재 순간적인 상태에만 대응하여 동작하는 것이 아니고, 휴먼에이전트의 현재 동작과 연결되는 일련의 동작을 전체적으로 인식하여 휴먼에이전트의 다음 동작을 예측하여 동작함으로써, 인간과의 상호작용동작을 정확하게 학습할 수 있다.
도 5는 가상학습공간의 학습을 통해 생성한 인간과 상호작용하는 로봇 동작데이터를 로봇에 입력하는 방법을 도시한 흐름도이다.
100단계 내지 300단계는 도 1의 100단계 내지 300단계에 대응한다.
400단계는 300단계에서 생성한 동작데이터를 로봇에 입력하는 단계이다.
본 단계는 가상학습공간상의 휴먼에이전트와 로봇에이전트 상호학습을 통해 생성된 로봇의 동작데이터를 실제 인간과 상호작용을 하는 로봇에 입력하는 단계이다. 상기 로봇은 입력된 동작데이터에 의해 동작하게 된다. 본 단계에 대해 6에 대한 상세한 설명에서 구체적으로 설명하도록 한다.
도 6은 동작데이터를 로봇에 입력하는 방법을 도시한 흐름도이다.
410단계는 400단계에서 입력된 동작데이터에 기초하여 로봇이 인간과 상호작용할 때, 상기 로봇의 동작을 측정하는 단계이다.
가상학습공간은 로봇이 실제 동작하는 환경의 특징을 반영하고 있으나, 실제 중력이나 장력 등을 정확하게 반영하기 어려운 점이 있는바, 가상학습공간에서 생성된 동작데이터를 로봇에 적용하는데 있어서, 오차가 발생할 수 있다. 상기와 같은 오차는 인간과의 상호작용에 있어서 중요한바, 로봇의 움직임에 인간에 위험을 줄 수 있는 오차는 보정되어야 한다. 따라서 상기 오차를 보정하기 위하여 우선, 로봇의 동작을 측정한다. 로봇의 신체의 크기, 동작반경, 또는 장력 등을 측정한다.
430단계는 410단계에서 측정한 로봇의 실제 동작에 대한 측정값과 가상학습공간상의 동작데이터값을 비교하여 오차를 산출하는 단계이다.
가상학습공간상의 동작데이터 값과 로봇의 실제 동작에 대한 측정값이 어느정도 차이가 발생하는지 비교하여 오차를 산출한다. 오차의 범위는 인간에게 위험을 줄 수 있는 범위가 되도록 설정할 수 있다.
450단계는 430단계에서 산출한 오차를 보정하는 단계이다.
산출한 오차가 인간에게 위험을 줄 수 있는 범위 내이거나, 미리 설정된 목표오차범위를 벗어나는 경우, 실제 로봇의 오차를 보정한다. 상기 동작데이터를 수정하여 오차를 보정할 수 있다.
도 7은 가상학습공간의 학습을 통해 인간과 상호작용하는 캐릭터를 학습시키는 방법을 도시한 흐름도이다.
인간과의 상호작용하는 동작을 학습하는데 있어서, 가상학습공간의 학습은 로봇뿐만 아니라 가상공간상의 캐릭터에도 적용할 수 있다. 상기 캐릭터는 게임이나, 사이버교육 등의 캐릭터 일 수 있다. 가상학습공간의 학습을 통해 인간과 상호작용하는 캐릭터를 학습시키는 방법은 로봇을 학습시키는 방법에 대응된다.
710단계 내지 750단계는 도 1의 100단계 내지 300단계에 대응한다.
가상학습공간이 로봇이 동작하는 실제 공간이 아닌 캐릭터가 동작하는 가상공간의 특징을 반영하여 생성되며, 로봇에이전트가 아닌 캐릭터에이전트(Character Agent)를 생성하는 것이 상이하고, 기본적인 기술적 사상은 동일하다.
770단계는 750단계에서 생성된 동작데이터를 캐릭터가 동작하는 가상공간에 대응하는 포맷으로 변환하는 단계이다.
상기 가상학습공간은 상기 캐릭터가 동작하는 가상공간의 특징을 반영하여 생성되었으나, 상기 가상학습공간에서 생성된 동작데이터를 상기 캐릭터가 동작하는 가상공간에 직접 적용하는데 어려움이 있을 수 있다. 상기 가상학습공간과 상기 가상공간의 포맷이 상이할 수 있는바, 상기 동작데이터가 상기 캐릭터가 동작하는 가상공간에서 실행될 수 있도록 상기 캐릭터가 동작하는 가상공간에 대응하는 포맷으로 변환한다.
790단계는 770단계에서 캐릭터가 동작하는 가상공간에 대응하는 포맷으로 변환한 동작데이터를 캐릭터에 입력하는 단계이다.
캐릭터가 동작하는 가상공간에 대응하는 포맷으로 변환한 동작데이터를 캐릭터에 입력함으로써, 상기 동작데이터에 의해 캐릭터가 인간과 상호작용하는 동작을 수행할 수 있다.
로봇이나 가상공간의 캐릭터 이외에도 인간과 상호작용을 하는데 있어서, 학습이 필요한 대상에 대해 가상학습공간상의 학습을 적용할 수 있다.
도 8a 내지 도 8c는 가상학습공간의 학습을 통해 인간과 상호작용하는 로봇을 학습시키는 방법을 이용하여 로봇을 학습시키는 것을 예시한 도면이다.
본 발명은 가상학습공간의 학습을 통해 인간과 상호작용하는 로봇을 학습시키는 방법으로 학습한 로봇은 제공한다. 상기 로봇은 도 1 내지 도 7의 설명에 대응하는 방법의 실시예들에 의해 학습되는바, 상기 로봇에 대한 설명은 도 1 내지 도 7의 상세한 설명으로 대신한다.
인간과 상호작용하는 로봇을 학습시키기 위하여 사용자(830)는 가상학습공간(810) 상의 휴먼에이전트(850)를 학습시킨다. 상기 사용자(830)가 입력한 동작을 모방함으로써 인간의 동작을 학습한 휴먼에이전트(850)와 로봇에이전트(870)는 사용자(830)의 참여없이 상호학습을 수행한다. 상기 상호학습을 통해, 상기 로봇에이전트(870)는 상기 인간(830)과의 상호작용동작을 학습하고, 상기 로봇의 동작데이터를 생성한다. 상기 휴먼에이전트의 동작데이터는 휴먼에이전트 동작데이터베이스(851)에 저장될 수 있으며, 상기 로봇에이전트의 동작데이터는 로봇에이전트 동작데이터베이스(871)에 저장될 수 있다. 상기 로봇에이전트 동작데이터베이스(871)에 저장된 로봇의 동작데이터는 로봇(890)에 입력됨으로써 상기 로봇(890)은 인간(891)과의 상호작용동작 입력받아 인간(830)과 상호작용할 수 있게 된다.
본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
810 : 가상학습공간
830 : 인간
850 : 휴먼에이전트(Human Agent)
851 : 휴먼에이전트 동작데이터베이스
870 : 로봇에이전트(Robot Agent)
871 : 로봇에이전트 동작데이터베이스
890 : 로봇

Claims (16)

  1. 인간과 상호작용하는 로봇을 학습시키는 방법에 있어서,
    상기 로봇이 동작하는 실제 공간의 특징을 반영하는 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하는 단계;
    상기 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하는 단계; 및
    상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 로봇의 동작데이터를 생성하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 로봇에이전트가 상기 상호작용동작을 학습하는 단계는,
    상기 로봇에이전트가 상기 휴먼에이전트의 동작을 모방하여 반복적으로 학습하는 단계; 및
    상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 학습한 동작 중 하나의 동작 또는 둘 이상을 조합한 일련의 동작을 학습하는 단계를 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 휴먼에이전트의 동작을 상기 로봇에이전트가 학습하는 단계는,
    상기 휴먼에이전트의 동작을 입력받아 제 1 동작 제어값을 수집하면서, 마지막으로 양자화한 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 이상이면 상기 제1 동작 제어값을 양자화하여 양자화된 동작을 생성하는 단계;
    목표개수의 양자화된 동작이 시간순으로 배열되어 전체 행동이 구성되면, 상기 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성할 수 있는 모든 부분 행동들을 추출하는 단계; 및
    상기 부분 행동들 중 복수의 대표 행동을 추출하고, 상기 대표 행동을 기준으로 상기 부분 행동들을 분류하는 단계를 포함하는 방법.
  4. 제 3 항에 있어서,
    상기 양자화된 동작을 생성하는 단계는,
    상기 마지막으로 양자화한 제2 동작 제어값과 비교하기 위해, 상기 제1 동작 제어값과 상기 제2 동작 제어값의 유클리드(Euclid) 거리를 계산하여 유클리드 거리가 상기 임계치 이상인지 판단하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 2 항에 있어서,
    상기 로봇에이전트가 일련의 동작을 학습하는 단계는,
    상기 휴먼에이전트가 각 상태에서 발현 확률이 가장 높은 동작을 수행하는 단계; 및
    상기 휴먼에이전트의 동작에 따라 상기 로봇에이전트가 수행한 동작에 해당하는 보상값을 누적하는 단계를 반복하여 상기 보상값을 최대화하는 동작을 상기 인간과의 상호작용 동작으로 학습하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서,
    상기 로봇에이전트는,
    상기 휴먼에이전트의 현재 동작과 연결되는 과거의 일련의 동작을 고려하여 상기 보상값을 최대화하는 동작을 학습하는 것을 특징으로 하는 방법.
  7. 인간과 상호작용하는 로봇을 학습시키는 방법에 있어서,
    상기 로봇이 동작하는 실제 공간의 특징을 반영하는 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하는 단계;
    상기 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하는 단계;
    상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 로봇의 동작데이터를 생성하는 단계; 및
    상기 동작데이터를 상기 로봇에 입력하는 단계를 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 동작데이터를 상기 로봇에 입력하는 단계는,
    상기 입력된 동작데이터에 기초하여 상기 로봇이 상기 인간과 상호작용할 때, 상기 로봇의 동작을 측정하는 단계;
    상기 로봇의 실제 동작에 대한 측정값과 상기 가상학습공간상의 동작데이터값을 비교하여 오차를 산출하는 단계; 및
    상기 산출한 오차를 보정하는 단계를 포함하는 방법.
  9. 인간과 상호작용하는 캐릭터를 학습시키는 방법에 있어서,
    상기 캐릭터가 동작하는 가상공간의 특징을 반영하는 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 캐릭터에 대응하는 캐릭터에이전트(Character Agent)를 생성하는 단계;
    상기 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하는 단계;
    상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 캐릭터에이전트간의 상호학습을 통해, 상기 캐릭터에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 캐릭터의 동작데이터를 생성하는 단계;
    상기 생성된 동작데이터를 상기 캐릭터가 동작하는 가상공간에 대응하는 포맷으로 변환하는 단계; 및
    상기 캐릭터가 동작하는 가상공간에 대응하는 포맷으로 변환한 동작데이터를 상기 캐릭터에 입력하는 단계를 포함하는 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항의 방법을 컴퓨터 시스템에서 실행하기 위한 프로그램이 기록된 컴퓨터 시스템이 판독할 수 있는 기록매체.
  11. 인간과 상호작용하는 로봇에 있어서,
    상기 로봇은 가상학습공간의 학습 과정을 통해 학습되고,
    상기 학습 과정은,
    상기 로봇이 동작하는 실제 공간의 특징을 반영하는 상기 가상학습공간상에, 상기 인간에 대응하는 휴먼에이전트(Human Agent)와 상기 로봇에 대응하는 로봇에이전트(Robot Agent)를 생성하고,
    상기 가상학습공간상에서 상기 휴먼에이전트가 사용자로부터 상기 인간의 동작을 입력받고, 상기 입력받은 동작을 모방함으로써 상기 인간의 동작을 학습하며,
    상기 학습된 동작에 기초하여 상기 가상학습공간상에서, 상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 상기 인간과의 상호작용동작을 학습함으로써 상기 로봇의 동작데이터를 생성하는 것을 특징으로 하는 로봇.
  12. 제 11 항에 있어서,
    상기 로봇에이전트가 상기 상호작용동작을 학습하는 것은,
    상기 로봇에이전트가 상기 휴먼에이전트의 동작을 모방하여 반복적으로 학습하고,
    상기 휴먼에이전트와 상기 로봇에이전트간의 상호학습을 통해, 상기 로봇에이전트가 학습한 동작 중 하나의 동작 또는 둘 이상을 조합한 일련의 동작을 학습하는 것을 특징으로 하는 로봇.
  13. 제 12 항에 있어서,
    상기 휴먼에이전트의 동작을 상기 로봇에이전트가 학습하는 것은,
    상기 휴먼에이전트의 동작을 입력받아 제 1 동작 제어값을 수집하면서, 마지막으로 양자화한 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 이상이면 상기 제1 동작 제어값을 양자화하여 양자화된 동작을 생성하고,
    목표개수의 양자화된 동작이 시간순으로 배열되어 전체 행동이 구성되면, 상기 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성할 수 있는 모든 부분 행동들을 추출하며,
    상기 부분 행동들 중 복수의 대표 행동을 추출하고, 상기 대표 행동을 기준으로 상기 부분 행동들을 분류하는 것을 특징으로 하는 로봇.
  14. 제 13 항에 있어서,
    상기 양자화된 동작을 생성하는 것은,
    상기 마지막으로 양자화한 제2 동작 제어값과 비교하기 위해, 상기 제1 동작 제어값과 상기 제2 동작 제어값의 유클리드(Euclid) 거리를 계산하여 유클리드 거리가 상기 임계치 이상인지 판단하는 것을 특징으로 하는 로봇.
  15. 제 12 항에 있어서,
    상기 로봇에이전트가 일련의 동작을 학습하는 것은,
    상기 휴먼에이전트가 각 상태에서 발현 확률이 가장 높은 동작을 수행하고,
    상기 휴먼에이전트의 동작에 따라 상기 로봇에이전트가 수행한 동작에 해당하는 보상값을 누적하는 단계를 반복하여 상기 보상값을 최대화하는 동작을 상기 인간과의 상호작용 동작으로 학습하는 것을 특징으로 하는 로봇.
  16. 제 15 항에 있어서,
    상기 로봇에이전트는,
    상기 휴먼에이전트의 현재 동작과 연결되는 과거의 일련의 동작을 고려하여 상기 보상값을 최대화하는 동작을 학습하는 것을 특징으로 하는 로봇.
KR1020110063785A 2011-06-29 2011-06-29 인간과 상호작용하는 로봇을 가상학습공간에서 학습시키는 방법, 기록매체, 및 그 방법으로 학습된 로봇 KR101086671B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110063785A KR101086671B1 (ko) 2011-06-29 2011-06-29 인간과 상호작용하는 로봇을 가상학습공간에서 학습시키는 방법, 기록매체, 및 그 방법으로 학습된 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110063785A KR101086671B1 (ko) 2011-06-29 2011-06-29 인간과 상호작용하는 로봇을 가상학습공간에서 학습시키는 방법, 기록매체, 및 그 방법으로 학습된 로봇

Publications (1)

Publication Number Publication Date
KR101086671B1 true KR101086671B1 (ko) 2011-11-25

Family

ID=45398169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110063785A KR101086671B1 (ko) 2011-06-29 2011-06-29 인간과 상호작용하는 로봇을 가상학습공간에서 학습시키는 방법, 기록매체, 및 그 방법으로 학습된 로봇

Country Status (1)

Country Link
KR (1) KR101086671B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110405777A (zh) * 2018-04-28 2019-11-05 深圳果力智能科技有限公司 一种机器人的交互控制方法
KR20200087338A (ko) * 2018-12-31 2020-07-21 한국과학기술연구원 행동 인식 학습용 동적 데이터베이스 구축 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697707B2 (en) 2001-04-06 2004-02-24 Vanderbilt University Architecture for robot intelligence
US20100057255A1 (en) 2008-09-01 2010-03-04 Korea Institute Of Science And Technology Method for controlling motion of a robot based upon evolutionary computation and imitation learning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697707B2 (en) 2001-04-06 2004-02-24 Vanderbilt University Architecture for robot intelligence
US20100057255A1 (en) 2008-09-01 2010-03-04 Korea Institute Of Science And Technology Method for controlling motion of a robot based upon evolutionary computation and imitation learning

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110405777A (zh) * 2018-04-28 2019-11-05 深圳果力智能科技有限公司 一种机器人的交互控制方法
CN110405777B (zh) * 2018-04-28 2023-03-31 深圳果力智能科技有限公司 一种机器人的交互控制方法
KR20200087338A (ko) * 2018-12-31 2020-07-21 한국과학기술연구원 행동 인식 학습용 동적 데이터베이스 구축 장치 및 방법
KR102241287B1 (ko) 2018-12-31 2021-04-16 한국과학기술연구원 행동 인식 학습용 동적 데이터베이스 구축 장치 및 방법

Similar Documents

Publication Publication Date Title
Muratore et al. Robot learning from randomized simulations: A review
JP2020091922A (ja) 畳み込みニューラルネットワークにおける構造学習
CN110462644A (zh) 用于系统的自动化和控制的认知工程技术的系统和方法
Govindarajan et al. Dynamic learning path prediction—A learning analytics solution
EP2788924A2 (en) Particle methods for nonlinear control
Schillaci et al. Intrinsic motivation and episodic memories for robot exploration of high-dimensional sensory spaces
KR102293791B1 (ko) 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
Pöppel et al. Satisficing models of bayesian theory of mind for explaining behavior of differently uncertain agents: Socially interactive agents track
US20210065027A1 (en) Determination device, determination method, and recording medium with determination program recorded therein
Hu et al. Heterogeneous crowd simulation using parametric reinforcement learning
KR101086671B1 (ko) 인간과 상호작용하는 로봇을 가상학습공간에서 학습시키는 방법, 기록매체, 및 그 방법으로 학습된 로봇
KR20210054349A (ko) 환자의 상지 동작에 의해 도출되는 특징값을 이용한 임상평가척도 예측 방법
JP7283774B2 (ja) 人間の知能を人工知能に移植するための精密行動プロファイリングのための電子装置およびその動作方法、並びにコンピュータプログラム
Zhu et al. Model identification via physics engines for improved policy search
US20220305647A1 (en) Future prediction, using stochastic adversarial based sampling, for robotic control and/or other purpose(s)
Ren et al. InsActor: Instruction-driven Physics-based Characters
Lin et al. A recurrent neural fuzzy controller based on self‐organizing improved particle swarm optimization for a magnetic levitation system
US20220164659A1 (en) Deep Learning Error Minimizing System for Real-Time Generation of Big Data Analysis Models for Mobile App Users and Controlling Method for the Same
Javed et al. Random neural network learning heuristics
EP4035079A1 (en) Upside-down reinforcement learning
Galashov et al. Importance weighted policy learning and adaptation
Bisagno et al. Virtual crowds: An LSTM-based framework for crowd simulation
KR101193073B1 (ko) 모방 학습 기반의 캐릭터 행동 생성 장치, 그 방법 및 기록매체
CN110832511B (zh) 具有数据相关可用性的分布式设备上学习的系统和方法
KR102502441B1 (ko) 소수의 데이터를 이용하여 트레이닝되지 않은 상황에 적응하는 모바일 센싱장치 및 방법

Legal Events

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

Payment date: 20141117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151027

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171103

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191105

Year of fee payment: 9