KR20080057400A - Motion and facial expression composing device and method in human type robot - Google Patents

Motion and facial expression composing device and method in human type robot Download PDF

Info

Publication number
KR20080057400A
KR20080057400A KR1020060130633A KR20060130633A KR20080057400A KR 20080057400 A KR20080057400 A KR 20080057400A KR 1020060130633 A KR1020060130633 A KR 1020060130633A KR 20060130633 A KR20060130633 A KR 20060130633A KR 20080057400 A KR20080057400 A KR 20080057400A
Authority
KR
South Korea
Prior art keywords
file
action
behavior
robot
motion
Prior art date
Application number
KR1020060130633A
Other languages
Korean (ko)
Other versions
KR100853424B1 (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 KR1020060130633A priority Critical patent/KR100853424B1/en
Publication of KR20080057400A publication Critical patent/KR20080057400A/en
Application granted granted Critical
Publication of KR100853424B1 publication Critical patent/KR100853424B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • B25J11/001Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means with emotions simulating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • 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
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)

Abstract

An apparatus and a method for synthesizing facial expressions and operations of a humanoid robot are provided to employ a motor mediator to mediate outputs made by at least one behavior and a behavior-based controller to select and perform desired operations and facial expressions with respect to a sensor input of a robot and an upper-level task output. An apparatus for synthesizing facial expression of a robot includes a sensor module(100), a recognition module(300), a scenario module(400), a task module(500), a behavior-based controller(600), and a motor mediator(700). The sensor module receives information about a real environment to convert the information into a voltage processed by the robot. The recognition module extracts necessary information from various types of information. The scenario module makes user commands into a scenario so that the robot sequentially performs the user commands. The task module processes tasks divided into unit operations. The controller selects and performs an adjustable operation and facial expression. The motor mediator mediates colliding outputs.

Description

인간형 로봇의 동작 및 표정 합성 장치 및 방법{Motion and facial expression composing device and method in human type robot}Motion and facial expression composing device and method in human type robot}

도 1은 본 발명의 일 실시예에 따른 로봇의 동작 및 표정을 표현하기 위한 블록 구조와 데이터 흐름을 도시한 도면.1 is a block diagram and data flow for expressing the operation and facial expression of a robot according to an embodiment of the present invention.

도 2a는 본 발명의 일 실시예에 따른 행위기반 제어기 내부의 동작 컨테이너의 상세 구조를 도시한 도면.2A illustrates a detailed structure of an operation container inside an action-based controller according to an embodiment of the present invention.

도 2b는 본 발명의 일 실시예에 따른 행위기반 제어기 내부의 표정 컨테이너의 상세 구조를 도시한 도면.2B is a diagram illustrating a detailed structure of an expression container inside an action-based controller according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 모터 중재기의 상세 구조를 도시한 도면.3 is a diagram illustrating a detailed structure of a motor arbiter according to an embodiment of the present invention.

도 4는 본 발명의 동작 파일을 동작 컨테이너에 적재하기 위한 순서도.4 is a flow chart for loading an action file of the present invention into an action container.

도 5는 본 발명의 동작 컨테이너에서 동작을 실행하기 위한 순서도.5 is a flow chart for executing an action in an action container of the present invention.

도 6은 도 5에서 선택된 동작 비헤이비어의 실행 순서도.6 is a flowchart illustrating execution of an operation behavior selected in FIG. 5.

본 발명은 로봇의 센서 입력과 상위 타스크의 출력에 대해 적절한 동작 및 표정을 선택하여 실행하는 행위기반 제어기와 한 개 이상의 비헤이비어가 동시에 수행되어 만들어내는 출력을 중재하는 모터 중재기를 이용하여 인간형 로봇의 동작 및 표정을 합성하는 장치 및 방법에 관한 것이다.The present invention uses an action-based controller that selects and executes an appropriate action and expression for the sensor input of the robot and the output of the upper task, and the motion of the humanoid robot using a motor arbiter that mediates the output generated by simultaneously performing one or more behaviors. And an apparatus and method for synthesizing facial expressions.

종래 산업용 로봇과는 달리 최근 로봇의 사용 범위은 인간이 생활하는 환경으로 넓어지고 있다. 이러한 추세에 맞추어 실제 환경에서 인간의 생활을 돕는 로봇에 대한 연구가 활발히 진행되고 있다.Unlike conventional industrial robots, the range of use of robots has recently been widened to an environment where humans live. In line with this trend, researches on robots that help human life in real environments are actively conducted.

이러한 로봇은 종래의 산업용 로봇과 달리 인간과의 상호작용이 무엇보다 중요하게 요구되고 있다. 상기 인간형 로봇의 대표적인 예로, 미국 MIT 인공지능 연구실에서 개발한 Kismet과 일본 오사카대 이시구로 교수가 개발한 Actroid를 들 수 있다.Unlike conventional industrial robots, such robots are required to interact with humans more importantly. Representative examples of the humanoid robots include Kismet developed at the MIT AI Lab and Actroid developed by Professor Ishiguro University of Osaka, Japan.

그러나 Kismet은 로봇과 인간과의 상호작용에 대한 다양한 연구가 진행중에 있으나 인간의 얼굴이 아닌 가공의 생명체에 대한 얼굴 형태이며 몸체가 없다는데 본 발명과 실질적인 차이가 있다. 한편 Actroid는 인간과 유사한 몸과 얼굴을 가지고 있으며 사람의 말을 알아듣고 동작과 표정으로 감정을 표현하지만 로봇의 개략적인 구조만을 공개하고 있다는 점에서 본 발명과 차이가 있다.However, Kismet has various researches on the interaction between robots and humans, but there is a substantial difference from the present invention in that it is not a human face but a face shape for a living creature and no body. On the other hand, Actroid has a body and face similar to humans, but it is different from the present invention in that it understands human speech and expresses emotions with motions and expressions, but discloses only the schematic structure of a robot.

따라서 인간형 로봇에 있어서,로봇의 동작 및 표정을 인간과 유사하게 표현하도록 모터를 제어하는 방법에 관한 연구가 선행되어야 한다.Therefore, in the humanoid robot, research on a method of controlling the motor to express the motion and expression of the robot similar to humans should be preceded.

상기 문제점을 해결하기 위하여 안출된 본 발명은 인간형 로봇이 인간과 유 사하게 얼굴 표정과 몸 동작으로 감정을 표현하고, 인간의 생리적 반응을 표현하고, 립싱크(Lip synchronization)를 표현할 수 있는 인간형 로봇의 동작 및 표정 합성 장치 및 방법을 제공하는 것을 목적으로 한다.The present invention devised to solve the above problems is a humanoid robot that can express emotions with facial expressions and body movements, human physiological responses, and lip sync, similar to humans. An object of the present invention is to provide a motion and facial expression synthesizing apparatus and method.

상기 목적을 달성하기 위한 본 발명은, 로봇에 장착된 센서로부터 실세계의 물리 정보를 입력받아 로봇이 처리할 수 있는 전압으로 바꾸어 주는 센서 모듈; 상기 센서로부터 수집된 다양한 정보로부터 필요한 정보를 추출하는 인지 모듈; 사용자 명령을 시나리오로 구성하여 순차적으로 수행하는 시나리오 모듈; 단위 동작으로 구분되는 타스크를 처리하는 타스크 모듈; 로봇의 센서 입력과 상위 타스크의 출력에 대해 적절한 동작 및 표정을 선택하여 실행하는 행위기반 제어기; 및 한 개 이상의 비헤이비어가 동시에 수행될 경우 상충하는 출력을 중재하는 모터 중재기를 포함하는 인간형 로봇의 동작 및 표정 합성 장치를 제공한다.The present invention for achieving the above object, the sensor module for receiving the physical information of the real world from the sensor mounted on the robot to convert the voltage into a voltage that can be processed by the robot; Recognition module for extracting the necessary information from the various information collected from the sensor; A scenario module configured to sequentially configure user commands into scenarios; A task module for processing a task classified into a unit operation; An action-based controller that selects and executes an appropriate action and facial expression for the sensor input of the robot and the output of the upper task; And a motor arbiter for mediating conflicting outputs when one or more behaviors are performed at the same time.

여기서, 상기 행위기반 제어기는 기본 비헤이비어, 생리적 반응 비헤이비어, 동작 컨테이너, 표정 컨테이너, 입술 동기화 비헤이비어, 눈 비헤이비어를 포함한다.Here, the behavior-based controller includes basic behaviors, physiological response behaviors, motion containers, facial expression containers, lip synchronization behaviors, and eye behaviors.

바람직하게는, 상기 동작 컨테이너는 로봇의 몸으로 표현할 수 있는 동작들이 비헤이비어로 적재되어 있고, 타스크의 명령에 의해 한 개 이상의 동작 비헤이비어가 중첩되어 실행될 수 있으며, 각 동작 비헤이비어의 출력을 중재하기 위하여 한 개의 모터 중재기를 포함한다.Preferably, the motion container is loaded with behaviors that can be represented by the body of the robot, one or more motion behaviors can be superimposed and executed by the command of the task, and to mediate the output of each motion behavior Two motor arbiters.

또한, 상기 표정 컨테이너는 로봇의 얼굴로 표현할 수 있는 표정들이 비헤이비어로 적재되어 있고, 타스크의 명령에 의해 한 개 이상의 표정 비헤이비어가 중첩되어 실행될 수 있으며, 각 표정 비헤이비어의 출력을 중재하기 위하여 한 개의 모터 중재기를 포함한다.In addition, the facial expression container is loaded with facial expressions that can be represented by the robot's face as a behavior, one or more facial expression behaviors can be executed by the task of the task superimposed, one motor to mediate the output of each facial behavior It includes an arbitrator.

한편, 상기 모터 중재기는, 각 비헤이비어의 출력 값을 각 비헤이비어에 할당된 모터 인터페이스의 기억 공간에 저장하고, 상기 값은 On the other hand, the motor arbiter stores the output value of each behavior in a storage space of the motor interface assigned to each behavior, and the value is

Figure 112006094332540-PAT00001
Figure 112006094332540-PAT00001

상기 식에 의하여 모터 출력 위치를 결정한다.The motor output position is determined by the above equation.

또한 본 발명은, 인간형 로봇의 동작 및 표정을 표현하기 위하여, 동작 파일을 동작 컨테이너에 적재하기 위한 단계; 상기 동작 컨테이너에서 동작 실행을 지시하기 위한 단계; 및 동작 비헤이비어의 실행 단계를 포함하는 인간형 로봇의 동작 및 표정 합성 방법을 제공한다.In another aspect, the present invention, the step of loading the motion file to the motion container in order to express the motion and facial expression of the humanoid robot; Instructing execution of an action in the action container; And it provides a method of synthesizing the motion and facial expression of the humanoid robot comprising the execution step of the behavior behavior.

또한 본 발명은 동작 파일을 동작 컨테이너에 적재하기 위한 방법에 있어서, (a) 동작 파일을 검색하는 단계; (b) 파일의 검색 여부를 판단하고, 상기 파일이 검색되지 않았다면 절차를 종료하고, 파일이 검색되었다면 궤적 파일인지 판단하는 단계; (c) 상기 파일이 궤적 파일이라면 궤적 파일을 읽고, 상기 궤적 파일을 동작 파일로 변환하는 단계; (d) 상기 (b) 단계에서 검색된 파일이 궤적 파일이 아니었 다면, 검색된 동작 파일을 읽는 단계; 및 (e) 상기 동작 파일을 동작 컨테이너에 등록하는 단계를 포함하는 동작 파일 적재 방법을 제공한다.The present invention also provides a method for loading an action file into an action container, comprising: (a) retrieving an action file; (b) determining whether a file is searched, ending the procedure if the file is not found, and determining if the file is a trajectory file; (c) reading the locus file and converting the locus file into an action file if the file is a locus file; (d) if the file searched in step (b) is not a trajectory file, reading the searched operation file; And (e) registering the action file with the action container.

바람직하게는, 상기 (c) 단계는, cubic spline 보간법을 사용하여 상기 궤적 파일을 동작 파일로 변환한다.Preferably, step (c) converts the trajectory file into a motion file using cubic spline interpolation.

또한 본 발명은 동작 컨테이너에서 동작 실행을 지시하는 방법에 있어서, (a) 상기 동작 컨테이너에서 동작을 검색하는 단계; (b) 동작 검색의 성공 여부를 판단하고, 동작 검색에 실패하면 상기 절차는 종료하고, 동작 검색에 성공하면, 자세를 유지할 것인지를 판단하는 단계; (c) 자세를 유지할 필요가 없다면 마지막 동작을 기본 자세로 설정하는 단계; 및 (d) run_flag를 참으로 설정하여 타스크 모듈로부터 요구된 동작을 실행하는 단계를 포함하는 동작 파일 실행 지시 방법을 제공한다.The present invention also provides a method for instructing execution of an action in an action container, comprising: (a) searching for an action in the action container; (b) determining whether the motion search is successful, and if the motion search fails, the procedure ends, and if the motion search is successful, determining whether to maintain the posture; (c) setting the last action to the default posture if it is not necessary to maintain the posture; And (d) setting run_flag to true to execute the requested operation from the task module.

여기서, 상기 (c) 단계는, 타스크 모듈의 요구에 들어 있는 자세를 유지할 것인지를 결정하는 플래그가 참인 경우 기본 비헤이비어에서 마지막 동작을 기본 자세로 설정한다.Here, in step (c), if the flag for determining whether to maintain the posture included in the request of the task module is true, the default behavior is set to the default posture in the basic behavior.

또한 본 발명은 동작 비헤이비어를 실행하기 위한 방법에 있어서, (a) run_flag가 참인지 판단하고 상기 run_flag가 참이 아니라면 절차는 종료하는 단계; (b) 상기 run_flag가 참일 경우 index를 계산하여 동작 프레임배열의 참조 위치를 결정하는 단계; (c) 상기 index 값이 0보다 작은지 판단하고, 상기 index 값이 0보다 작다면 잠시 대기하였다가 상기 (b) 단계로 회귀하는 단계; (d) 상기 index 값이 0보다 작지 않다면 index 값이 fc보다 작은지 판단하는 단계; (e) 상기 index가 fc 보다 작지 않다면 run_flag를 거짓으로 전환하는 단계; (f) 상기 index가 fc 보다 작다면 사다리꼴을 제곱한 형태의 profile 값을 계산하는 단계; 및 (g) 축의 출력 위치와 가중치를 계산하는 단계를 포함하는 동작 파일 실행 방법을 제공한다.The present invention also provides a method for executing an operation behavior, comprising: (a) determining whether run_flag is true and if the run_flag is not true, ending the procedure; (b) determining a reference position of an operation frame array by calculating an index when the run_flag is true; (c) determining whether the index value is less than zero, and if the index value is less than zero, wait for a while and then return to step (b); (d) determining that the index value is less than fc if the index value is not less than zero; (e) converting run_flag to false if the index is not less than fc; (f) calculating a profile value in the form of a square trapezoid if the index is smaller than fc; And (g) calculating an output position and weight of the axis.

또한 본 발명은 상기 방법으로 실행 가능한 컴퓨터 판독가능 매체를 제공한다.The present invention also provides a computer readable medium executable by the above method.

본 발명과 본 발명의 동작성의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, the advantages of the operability of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 1은 본 발명의 일 실시예에 따른 로봇의 동작 및 표정을 표현하기 위한 블록 구조와 데이터 흐름을 도시한 도면이다.1 is a diagram illustrating a block structure and data flow for expressing an operation and facial expression of a robot according to an exemplary embodiment of the present invention.

도 1을 참조하면, 본 발명의 로봇의 동작 및 표정을 표현하기 위한 하드웨어 모듈은 센서 모듈(100)과 모터 모듈(200)로 구성되고, 로봇의 동작 및 표정을 표현하기 위한 소프트웨어 모듈은 인지 모듈(300), 시나리오 모듈(400), 타스크 모듈(500), 행위기반 제어기(600), 모터 중재기(700)로 구성된다.Referring to Figure 1, the hardware module for expressing the operation and expression of the robot of the present invention is composed of a sensor module 100 and the motor module 200, the software module for expressing the operation and expression of the robot is a recognition module 300, the scenario module 400, the task module 500, the behavior-based controller 600, and the motor arbiter 700 are configured.

상기 센서 모듈(100)은 로봇에 장착된 센서로부터 실세계의 물리 정보를 입력받아 로봇이 처리할 수 있는 전압으로 바꾸어준다. 상기 센서 모듈(100)로는 카메라, 근접 센서, 터치 센서, 레인지 파인더(range finder) 등이 사용될 수 있다.The sensor module 100 receives the physical information of the real world from a sensor mounted on the robot and converts it into a voltage that the robot can process. The sensor module 100 may be a camera, a proximity sensor, a touch sensor, a range finder, or the like.

상기 인지 모듈(300)은 여러 센서로부터 수집된 다양한 정보로부터 필요한 정보를 추출하여 동작 선택 모듈로 전달한다. 추출한 정보는 물체의 접근과 멀어짐, 움직임 감지, 동작 감지, 얼굴 인식 등이 해당된다.The recognition module 300 extracts necessary information from various information collected from various sensors and transmits the necessary information to the operation selection module. The extracted information includes the approach and distance of an object, motion detection, motion detection, and face recognition.

상기 시나리오 모듈(400)은 사용자 명령을 시나리오로 구성하여 순차적으로 수행한다. 일 예로, 시나리오 모듈(400)은 '302호에서 열쇠를 가져오시오'와 같은 사용자 명령이 될 것이다.The scenario module 400 sequentially configures user commands as scenarios. As an example, the scenario module 400 may be a user command such as 'Get a key from 302'.

상기 타스크 모듈(500)은 단위 동작으로 구분되는 타스크를 처리한다. 타스크는 한 개 이상의 비헤이비어를 수행한다. 일 예로, 타스크는 '이동', '물건인식', '물건잡기' 등이 될 것이다.The task module 500 processes tasks that are divided into unit operations. The task performs one or more behaviors. For example, the task may be 'move', 'stuff recognition', or 'stuff catching'.

상기 행위기반 제어기(600)는 로봇이 실행할 동작을 일정한 종류와 수의 비헤이비어들로 나누어 설계하여 각각의 상황에서 곧바로 비헤이비어들이 선택, 수행되어 로봇의 동작을 결정한다.The behavior-based controller 600 is designed by dividing an operation to be executed by the robot into a certain kind and number of behaviors, and immediately selecting and performing the behaviors in each situation to determine the operation of the robot.

보다 상세히, 상기 행위기반 제어기(600)는 기본 비헤이비어(610), 생리적 반응 비헤이비어(620), 동작 컨테이너(630), 표정 컨테이너(640), 입술 동기화 비헤이비어(650), 눈 비헤이비어(660)로 구성된다. 각 비헤이비어의 역할은 다음과 같다.In more detail, the behavior-based controller 600 is composed of a basic behavior 610, a physiological response behavior 620, an operation container 630, an expression container 640, a lip synchronization behavior 650, and an eye behavior 660. do. The role of each behavior is as follows:

상기 기본 비헤이비어(610)는 로봇 몸체의 기본 자세와 얼굴의 기본 감정 상 태를 표현한다. 몸체의 기본 자세 상태는 잠자기, 졸기, 깨어있기 상태를 연속적으로 표현한다. 깨어있는 상태에서는 로봇 다양한 자세를 취할 수 있다. 일 예로, 왼팔을 들고 있거나 고개를 숙이고 있는 자세를 취할 수 있다. 얼굴은 감정 상태에 따라 평상, 기쁨, 슬픔, 행복, 불쾌 등을 표시하며 몇 개의 감정이 동시에 일어날 수 있다. 일 예로, 조금 기쁜 경우에는 평상 40%, 기쁨 60%를 동시에 표현하여 표시할 수 있다.The basic behavior 610 expresses the basic posture of the robot body and the basic emotional state of the face. The basic posture state of the body continuously represents the state of sleeping, dozing, and waking. In the waking state, the robot can take various postures. For example, it may take a position of holding the left arm or bowing down. The face may show normal, joy, sadness, happiness, or displeasure depending on the emotional state, and several emotions may occur at the same time. For example, in the case of a little joyful, 40% of normal and 60% of joy may be expressed and displayed at the same time.

상기 생리적 반응 비헤이비어(620)는 호흡, 맥박, 딸꾹질, 하품, 눈 깜박임과 같은 인체의 교감신경이 활성화되어 나타나는 반응을 표현하다. 일 예로, 눈꺼풀을 뜨고 감는 동작, 불규칙한 주기로 눈을 깜박이는 동작을 취할 수 있다.The physiological response behavior 620 represents a response in which the sympathetic nerve of the human body is activated, such as breathing, pulse, hiccup, yawn, and eye blink. For example, the eyelid may be opened and closed, and an eye may blink in an irregular cycle.

상기 동작 컨테이너(630)는 몸체의 의도된 동작을 한 개 이상 중첩하여 표현한다. 이는 하기 도 2a와 함께 상세하게 설명한다.The motion container 630 overlaps one or more intended motions of the body. This is described in detail with reference to FIG. 2A.

상기 표정 컨테이너(640)는 얼굴의 의도된 표정을 한 개 이상 중첩하여 표현한다. 이는 하기 도 2b와 함께 상세하게 설명한다.The facial expression container 640 overlaps one or more intended facial expressions of a face. This is described in detail with reference to FIG. 2B below.

상기 입술 동기화 비헤이비어(650)는 말에 입술 모양을 동기화 한다.The lip synchronization behavior 650 synchronizes the shape of the lips with the horse.

상기 눈 비헤이비어(660)는 눈의 주시 방향을 표현한다.The eye behavior 660 represents a direction of eye gaze.

한편, 상기 모터 중재기(700)는 한 개 이상의 비헤이비어가 동시에 수행되어 만들어내는 상충하는 출력을 중재(arbitration)한다.On the other hand, the motor arbiter 700 arbitrates conflicting outputs generated by one or more behaviors simultaneously.

상기 모터 모듈(200)은 모터 중재기의 출력을 모터로 출력하여 로봇의 동작과 표정을 표현한다.The motor module 200 outputs the output of the motor arbiter to the motor to express the operation and facial expression of the robot.

도 2a는 본 발명의 일 실시예에 따른 행위기반 제어기 내부의 동작 컨테이너의 상세 구조를 도시한 도면이다.2A illustrates a detailed structure of an operation container inside an action-based controller according to an embodiment of the present invention.

도 2a를 참조하면, 상기 동작 컨테이너(630)에는 로봇 몸체로 표현할 수 있는 동작들이 비헤이비어로 적재되어 있고, 상기 타스크 모듈(500)의 명령에 의해 한 개 이상의 동작 비헤이비어가 중첩되어 실행될 수 있다. 상기 동작 컨테이너(630)는 각 동작 비헤이비어의 출력을 중재하기 위하여 한 개의 모터 중재기를 포함한다. 동작 비헤이비어의 예로는 인사, 손 흔들기, 악수와 같은 것들을 들 수 있다.Referring to FIG. 2A, the operations container 630 may be loaded with behaviors that can be represented by a robot body, and one or more operation behaviors may be superimposed and executed by a command of the task module 500. The operation container 630 includes one motor arbiter to mediate the output of each operation behavior. Examples of behavioral behaviors include greetings, waving hands, and shaking hands.

도 2b는 본 발명의 일 실시예에 따른 행위기반 제어기 내부의 표정 컨테이너의 상세 구조를 도시한 도면이다.2B is a diagram illustrating a detailed structure of the facial expression container inside the behavior-based controller according to an embodiment of the present invention.

도 2b를 참조하면, 상기 표정 컨테이너(640)에는 로봇 얼굴로 표현할 수 있는 표정들이 비헤이비어로 적재되어 있고, 상기 타스크 모듈(500)의 명령에 의해 한 개 이상의 표정 비헤이비어가 중첩되어 실행될 수 있다. 상기 표정 컨테이너(640)는 각 표정 비헤이비어의 출력을 중재하기 위하여 한 개의 모터 중재기를 포함한다. 표정 비헤이비어의 예로는 웃음, 울음, 찡그림, 외면과 같은 것들을 들 수 있다.Referring to FIG. 2B, facial expressions that can be represented by a robot face are loaded in the facial expression container 640 as one or more facial expressions, and one or more facial expression behaviors may be overlapped and executed by a command of the task module 500. The facial expression container 640 includes one motor arbiter to mediate the output of each facial behavior. Examples of facial behaviors include laughter, crying, frowning, and appearance.

도 3은 본 발명의 일 실시예에 따른 모터 중재기의 상세 구조를 도시한 도면이다.3 is a diagram illustrating a detailed structure of a motor arbiter according to an embodiment of the present invention.

도 3을 참조하면, 인간형 로봇에서 상기 모터 중재기(700)는 상기 행위기반 제어기(600)와 모터 모듈(200) 사이에 존재하여 한 개 이상의 비헤이비어가 동시에 수행되어 만들어내는 상충하는 출력을 중재한다. 비헤이비어가 생성되면서 비헤이비어는 상기 모터 중재기(700)로부터 모터의 출력 정보를 저장하기 위한 모터 인터페이스(MotorInterface)의 기억 공간을 생성하여 포인터를 참조한다. 각 비헤이비어의 출력 값은 각 비헤이비어에 할당된 모터 인터페이스의 기억 공간에 저장되고, 이 값은 아래의 수학식 1에 의하여 모터 출력 위치를 결정한다.Referring to FIG. 3, in the humanoid robot, the motor arbiter 700 is present between the behavior-based controller 600 and the motor module 200 to mediate conflicting outputs generated by one or more behaviors performed simultaneously. . As the behavior is generated, the behavior creates a storage space of a motor interface for storing output information of the motor from the motor arbiter 700 to refer to a pointer. The output value of each behavior is stored in the storage space of the motor interface assigned to each behavior, and this value determines the motor output position according to Equation 1 below.

[수학식 1][Equation 1]

Figure 112006094332540-PAT00002
Figure 112006094332540-PAT00002

여기서 n은 행위기반 제어기에 등록된 비헤이비어의 개수를, priorityi는 i번째 비헤이비어의 가중치를, maski는 i번째 비헤이비어의 축 별 가중치를, posturei는 i번째 비헤이비어의 축 별 출력 위치를, Position은 각 축에 연결된 모터의 제어 위치를 의미한다.Where n is the number of behaviors registered in the behavior-based controller, priority i is the weight of the i-th behavior, mask i is the weight of each axis of the i-th behavior, and posture i is the output position of each axis of the i-th behavior, Position Means the control position of the motor connected to each axis.

도 4는 본 발명의 동작 파일을 동작 컨테이너에 적재하기 위한 순서도이다.4 is a flowchart for loading an operation file of the present invention into an operation container.

도 4를 참조하면, 인간형 로봇의 응용프로그램이 시작되면서 로봇의 저장매 체를 검색하여 동작과 궤적 파일을 읽어 동작 컨테이너에 동작 비헤이비어로 등록하는 과정이 수행된다. 보다 상세히, 동작 파일을 검색한다(S100). 상기 파일의 검색 여부를 판단하고(S110), 상기 파일이 검색되지 않았다면 절차를 종료하고, 파일이 검색되었다면 궤적 파일인지 판단한다(S120). 상기 파일이 궤적 파일이라면 궤적 파일을 읽고(S130), 상기 궤적 파일을 동작 파일로 변환한다(S140). 상기 S120 단계에서 검색된 파일이 궤적 파일이 아니었다면, 동작 파일을 읽는다(S150). 상기 S140 단계와 S150 단계를 통하여 궤적 파일을 동작 파일로 변환하는 단계와, 동작 파일을 읽는 단계가 수행되면 상기 동작 파일을 동작 컨테이너에 등록한다(S160).Referring to FIG. 4, as the application program of the humanoid robot is started, a process of searching for a storage medium of the robot and reading a motion and a trajectory file and registering the motion behavior in the motion container is performed. In more detail, the operation file is searched for (S100). It is determined whether the file is searched (S110). If the file is not found, the procedure is terminated. If the file is found, it is determined whether the file is a trajectory file (S120). If the file is a locus file, the locus file is read (S130), and the locus file is converted into an operation file (S140). If the file retrieved in step S120 is not a trajectory file, the operation file is read (S150). When the step of converting the trajectory file into an action file and the reading of the action file are performed through steps S140 and S150, the action file is registered in the action container (S160).

상기 동작 파일에는 일정한 간격의 이산 시간에 로봇의 각 축이 지나가야 할 위치 값이 저장되어 있다. 상기 동작 파일의 첫 프레임에는 로봇의 모든 축에 대한 가중치가 0에서 1 사이의 값으로 저장되어 있고, 다음 프레임부터는 매 순간 로봇의 모든 축에 대한 위치 값이 저장되어 있다. 동작 파일과 달리 궤적 파일은 특정 시간에 로봇의 각 축이 지나가야 할 위치 값이 저장되어 있다. 궤적 파일은 cubic spline 보간법을 사용하여 동작 데이터로 변환된 후 동작 컨테이너에 등록된다. 파일이 검색된 후 동작 파일과 궤적 파일은 파일의 확장자로 구분가능하다.The motion file stores position values for each axis of the robot to pass at discrete time intervals. In the first frame of the motion file, weights for all axes of the robot are stored as values between 0 and 1, and position values for all axes of the robot are stored every second from the next frame. Unlike the motion file, the trajectory file stores position values that each axis of the robot must pass at a specific time. The trajectory file is converted into motion data using cubic spline interpolation and then registered in motion container. After the file is searched, the motion file and the trajectory file can be distinguished by the file extension.

도 5는 본 발명의 동작 컨테이너에서 동작을 실행하기 위한 순서도이다.5 is a flowchart for executing an operation in an operation container of the present invention.

도 5를 참조하면, 타스크 모듈(500)에서 특정 동작의 수행을 동작 컨테이너(630)에 요구하면, 동작 컨테이너(630)에서는 요구한 동작에 대하여 동작 비헤이이버를 검색하여 성공한 경우, 검색된 동작 비헤이비어의 run_flag를 true로 설정 하여 동작의 실행을 지시하게 된다. 타스크 모듈(500)의 요구에는 자세를 유지할 것인지를 결정하는 플래그가 있으며, 이 플래그가 참인 경우 기본 비헤이비어에서 마지막 동작을 기본 자세로 설정한다.Referring to FIG. 5, when the task module 500 requests the action container 630 to perform a specific action, the action container 630 searches for an action behavior with respect to the requested action and succeeds. Set run_flag to true to instruct the execution of the action. The request of the task module 500 includes a flag for deciding whether to maintain a posture. If this flag is true, the basic behavior sets the last action to the default posture.

이를 단계별로 기술하면, 먼저 상기 타스크 모듈(500)을 통하여 특정 동작의 수행이 요구되면 상기 동작 컨테이너(630)에서 동작을 검색한다(S200). 동작 검색의 성공 여부를 판단하고(S210), 동작 검색에 실패하면 상기 절차는 종료하고, 동작 검색에 성공하면, 자세를 유지할 것인지를 판단한다(S220). 자세를 유지할 필요가 없다면 마지막 동작을 기본 자세로 설정한다(S230). 상기 S220 단계와 S230 단계를 수행한 후에는 상기 타스크 모듈(500)로부터 요구된 동작을 실행한다(S240).In order to describe this step by step, first, when the execution of a specific operation is requested through the task module 500, the operation container 630 searches for an operation (S200). It is determined whether the motion search is successful (S210). If the motion search fails, the procedure is terminated. If the motion search is successful, it is determined whether to maintain the posture (S220). If it is not necessary to maintain the posture, the last operation is set as the basic posture (S230). After performing steps S220 and S230, an operation requested by the task module 500 is executed (S240).

도 6은 도 5에서 선택된 동작 비헤이비어의 실행 순서도이다.6 is a flowchart illustrating execution of an operation behavior selected in FIG. 5.

도 6을 참조하면, 동작 비헤이비어의 run_flag가 true인 경우 수행이 계속된다. 동작 프레임 배열의 참조 위치는 index를 계산하여 결정된다. st와 magnitude는 타스크 모듈(500)에서 설정한다. st가 ct보다 큰 경우 index는 0보다 작은 값을 가지게 되어 다음 단계를 수행하지 않고 잠시 대기한다. index가 fc보다 같거나 큰 경우 실행이 종료된다. profile은 시간의 흐름에 따른 동작의 가중치로서 사다리꼴 프로파일을 제곱한 형태이다.Referring to FIG. 6, if run_flag of an operation behavior is true, execution continues. The reference position of the motion frame array is determined by calculating the index. st and magnitude are set in the task module 500. If st is greater than ct, index has a value less than 0, and waits for a while without performing the next step. Execution terminates when index is greater than or equal to fc. profile is the weight of motion over time, which is the square of the trapezoidal profile.

이를 단계별로 기술하면, 먼저 run_flag가 true인지 판단한다(S300). 상기 run_flag가 true가 아니라면 절차는 종료하며, true 일 경우 index를 계산한다. index를 계산하는 식은 index=v*(ct-st)/tr 이다(S310). 여기서, index는 동작 파 일에 저장된 프레임의 색인을, v는 동작 파일의 수행 속도를, ct는 현재 시간을, st는 동작을 시작하기 위한 시간을, tr은 시간 분해능을 의미한다. 다음 index 값이 0보다 작은지 판단한다(S320). index 값이 0보다 작다면 잠시 대기하였다가(S330) S310 단계로 돌아간다. index 값이 0보다 작지 않다면 index 값이 fc보다 작은지 판단한다(S340). 여기서 fc는 동작 파일에 저장된 프레임의 총 개수를 의미한다. 상기 index가 fc 보다 작지 않다면 run_flag를 false 로 전환한다(S350). 한편, 상기 index가 fc 보다 작다면 profile 값을 계산하게 된다. 상기 profile을 계산하는 식은 profile=min(index/a)2,((fc-index)2,1)과 같다(S360). 여기서 a는profile의 증가와 감소 기울기를 결정하는 가속도를 의미한다. 다음 weight, Mask[axis], Position[axis]를 계산한다. 보다 상세히, weight=profile*w[axis]로 구해지고, Mask[axis]+=weight로 구해진다. Position[axis]+=weight*magnitude*p[index][axis]로 구해진다. 여기서 Mask[axis]는 axis로 참조되는 축의 출력 가중치를, Position[axis]는 axis로 참조되는 축의 출력 위치를 의미하고, w[axis]는 동작 파일에서 axis로 참조되는 축의 가중치를, magnitude는 동작의 강도를, p[index][axis]는 동작 파일에서 index로 참조되는 프레임과 axis로 참조되는 축의 위치를 의미한다.If this is described step by step, it is first determined whether run_flag is true (S300). If the run_flag is not true, the procedure ends, and if true, the index is calculated. The expression for calculating the index is index = v * (ct-st) / tr (S310). Where index is an index of a frame stored in an operation file, v is an execution speed of an operation file, ct is a current time, st is a time for starting an operation, and tr is a time resolution. It is determined whether the next index value is smaller than 0 (S320). If the index value is less than 0, the process waits for a while (S330) and returns to step S310. If the index value is not less than zero, it is determined whether the index value is smaller than fc (S340). Here, fc means the total number of frames stored in the action file. If the index is not less than fc, run_flag is switched to false (S350). On the other hand, if the index is less than fc to calculate the profile value. The formula for calculating the profile is equal to profile = min (index / a) 2 , (fc-index) 2 , 1) (S360). Where a is the acceleration that determines the slope of the increase and decrease of the profile. Calculate the next weight, Mask [axis] and Position [axis]. More specifically, it is obtained by weight = profile * w [axis] and Mask [axis] + = weight. It is found as Position [axis] + = weight * magnitude * p [index] [axis]. Where Mask [axis] is the output weight of the axis referenced by axis, Position [axis] is the output position of the axis referenced by axis, w [axis] is the weight of the axis referenced by axis in the motion file, and magnitude is motion Where p [index] [axis] is the location of the frame referenced by index and the axis referenced by axis in the motion file.

표정 파일을 표정 컨테이너에 적재하기 위한 단계와, 표정 컨테이너에서 표정을 실행하기 위한 단계, 및 표정 비헤이비어의 실행 단계는 상기 도 4, 도 5, 도 6에서 제시한 방법과 비교하여 축이 다를 뿐 수행 방법은 같기에 상세한 설명은 생 락한다.The steps for loading the expression file into the expression container, the step for executing the expression in the expression container, and the execution of the facial expression behavior are performed by different axes as compared to the methods shown in FIGS. 4, 5, and 6. The method is the same, so detailed description is omitted.

본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. . Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

본 발명은 인간형 로봇이 인간과 유사하게 얼굴 표정과 몸 동작으로 감정을 표현하고, 인간의 생리적 반응을 표현하고, 립싱크(Lip synchronization)를 표현할 수 있는 인간형 로봇의 동작 및 표정 합성 장치 및 방법을 제공한다.The present invention provides an apparatus and method for synthesizing and expressing a humanoid robot capable of expressing emotions with facial expressions and body motions, expressing human physiological responses, and lip syncing similarly to humans. do.

Claims (12)

로봇에 장착된 센서로부터 실세계의 물리 정보를 입력받아 로봇이 처리할 수 있는 전압으로 바꾸어 주는 센서 모듈;A sensor module that receives physical information of the real world from a sensor mounted on the robot and converts the physical information into a voltage that the robot can process; 상기 센서로부터 수집된 다양한 정보로부터 필요한 정보를 추출하는 인지 모듈;Recognition module for extracting the necessary information from the various information collected from the sensor; 사용자 명령을 시나리오로 구성하여 순차적으로 수행하는 시나리오 모듈;A scenario module configured to sequentially configure user commands into scenarios; 단위 동작으로 구분되는 타스크를 처리하는 타스크 모듈;A task module for processing a task classified into a unit operation; 로봇의 센서 입력과 상위 타스크의 출력에 대해 적절한 동작 및 표정을 선택하여 실행하는 행위기반 제어기; 및An action-based controller that selects and executes an appropriate action and facial expression for the sensor input of the robot and the output of the upper task; And 한 개 이상의 비헤이비어가 동시에 수행될 경우 상충하는 출력을 중재하는 모터 중재기를 포함하는 인간형 로봇의 동작 및 표정 합성 장치.An apparatus for synthesizing motions and facial expressions of a humanoid robot comprising a motor arbiter that mediates conflicting outputs when more than one behavior is performed simultaneously. 제 1항에 있어서,The method of claim 1, 상기 행위기반 제어기는 기본 비헤이비어, 생리적 반응 비헤이비어, 동작 컨테이너, 표정 컨테이너, 입술 동기화 비헤이비어, 눈 비헤이비어를 포함하는 인간형 로봇의 동작 및 표정 합성 장치.The behavior-based controller may include a basic behavior, a physiological response behavior, an operation container, an expression container, a lip synchronization behavior, and an eye behavior apparatus. 제 2항에 있어서,The method of claim 2, 상기 동작 컨테이너는 로봇의 몸으로 표현할 수 있는 동작들이 비헤이비어로 적재되어 있고, 타스크의 명령에 의해 한 개 이상의 동작 비헤이비어가 중첩되어 실행될 수 있으며,The motion container is loaded with behaviors that can be expressed by the body of the robot, one or more motion behaviors can be executed by the task command superimposed, 각 동작 비헤이비어의 출력을 중재하기 위하여 한 개의 모터 중재기를 포함하는 인간형 로봇의 동작 및 표정 합성 장치.An apparatus for synthesizing motions and facial expressions of a humanoid robot including a motor arbiter for mediating the output of each motion behavior. 제 2항에 있어서,The method of claim 2, 상기 표정 컨테이너는 로봇의 얼굴로 표현할 수 있는 표정들이 비헤이비어로 적재되어 있고, 타스크의 명령에 의해 한 개 이상의 표정 비헤이비어가 중첩되어 실행될 수 있으며,The facial expression container is loaded with facial expressions that can be expressed by the face of the robot as a behavior, one or more facial expression behaviors can be executed by the task command superimposed, 각 표정 비헤이비어의 출력을 중재하기 위하여 한 개의 모터 중재기를 포함하는 인간형 로봇의 동작 및 표정 합성 장치.An apparatus for synthesizing motions and facial expressions of a humanoid robot including a motor arbiter for mediating the output of each facial behavior. 제 1항에 있어서, The method of claim 1, 상기 모터 중재기는, 각 비헤이비어의 출력 값을 각 비헤이비어에 할당된 모터 인터페이스의 기억 공간에 저장하고, 상기 값은 The motor arbiter stores an output value of each behavior in a storage space of a motor interface assigned to each behavior, and the value is
Figure 112006094332540-PAT00003
Figure 112006094332540-PAT00003
상기 식에 의하여 모터 출력 위치를 결정하는 인간형 로봇의 동작 및 표정 합성 장치.An apparatus for synthesizing motions and facial expressions of a humanoid robot for determining a motor output position by the above equation.
인간형 로봇의 동작 및 표정을 표현하기 위하여,In order to express the motion and expression of the humanoid robot, 동작 파일을 동작 컨테이너에 적재하기 위한 단계;Loading an action file into an action container; 상기 동작 컨테이너에서 동작 실행을 지시하기 위한 단계; 및Instructing execution of an action in the action container; And 동작 비헤이비어의 실행 단계를 포함하는 인간형 로봇의 동작 및 표정 합성 방법.A method of synthesizing motions and facial expressions of a humanoid robot comprising an execution step of a motion behavior. 동작 파일을 동작 컨테이너에 적재하기 위한 방법에 있어서,A method for loading an action file into an action container, (a) 동작 파일을 검색하는 단계;(a) retrieving an action file; (b) 파일의 검색 여부를 판단하고, 상기 파일이 검색되지 않았다면 절차를 종료하고, 파일이 검색되었다면 궤적 파일인지 판단하는 단계;(b) determining whether a file is searched, ending the procedure if the file is not found, and determining if the file is a trajectory file; (c) 상기 파일이 궤적 파일이라면 궤적 파일을 읽고, 상기 궤적 파일을 동작 파일로 변환하는 단계;(c) reading the locus file and converting the locus file into an action file if the file is a locus file; (d) 상기 (b) 단계에서 검색된 파일이 궤적 파일이 아니었다면, 검색된 동작 파일을 읽는 단계; 및(d) if the file searched in step (b) is not a trajectory file, reading the searched motion file; And (e) 상기 동작 파일을 동작 컨테이너에 등록하는 단계를 포함하는 동작 파일 적재 방법.(e) registering the action file with an action container. 제 7항에 있어서,The method of claim 7, wherein 상기 (c) 단계는, cubic spline 보간법을 사용하여 상기 궤적 파일을 동작 파일로 변환하는 동작 파일 적재 방법.In the step (c), the motion file loading method of converting the trajectory file into a motion file using cubic spline interpolation. 동작 컨테이너에서 동작 실행을 지시하는 방법에 있어서,In a method for instructing execution of an action in an action container, (a) 상기 동작 컨테이너에서 동작을 검색하는 단계;(a) searching for an action in the action container; (b) 동작 검색의 성공 여부를 판단하고, 동작 검색에 실패하면 상기 절차는 종료하고, 동작 검색에 성공하면, 자세를 유지할 것인지를 판단하는 단계;(b) determining whether the motion search is successful, and if the motion search fails, the procedure ends, and if the motion search is successful, determining whether to maintain the posture; (c) 자세를 유지할 필요가 없다면 마지막 동작을 기본 자세로 설정하는 단계; 및(c) setting the last action to the default posture if it is not necessary to maintain the posture; And (d) run_flag를 참으로 설정하여 타스크 모듈로부터 요구된 동작을 실행하는 단계를 포함하는 동작 파일 실행 지시 방법.(d) setting run_flag to true to execute the requested action from the task module. 제 9항에 있어서, The method of claim 9, 상기 (c) 단계는,In step (c), 타스크 모듈의 요구에 들어 있는 자세를 유지할 것인지를 결정하는 플래그가 참인 경우 기본 비헤이비어에서 마지막 동작을 기본 자세로 설정하는 동작 파일 실행 지시 방법.The action file execution instruction that sets the last action in the default behavior to the default attitude if the flag that determines whether to keep the attitude contained in the task module's request is true. 동작 비헤이비어를 실행하기 위한 방법에 있어서,In the method for executing an operation behavior, (a) run_flag가 참인지 판단하고 상기 run_flag가 참이 아니라면 절차는 종료하는 단계;(a) determining if run_flag is true and if the run_flag is not true, ending the procedure; (b) 상기 run_flag가 참일 경우 index를 계산하여 동작 프레임배열의 참조 위치를 결정하는 단계;(b) determining a reference position of an operation frame array by calculating an index when the run_flag is true; (c) 상기 index 값이 0보다 작은지 판단하고, 상기 index 값이 0보다 작다면 잠시 대기하였다가 상기 (b) 단계로 회귀하는 단계;(c) determining whether the index value is less than zero, and if the index value is less than zero, wait for a while and then return to step (b); (d) 상기 index 값이 0보다 작지 않다면 index 값이 fc보다 작은지 판단하는 단계;(d) determining that the index value is less than fc if the index value is not less than zero; (e) 상기 index가 fc 보다 작지 않다면 run_flag를 거짓으로 전환하는 단계;(e) converting run_flag to false if the index is not less than fc; (f) 상기 index가 fc 보다 작다면 사다리꼴을 제곱한 형태의 profile 값을 계산하는 단계; 및(f) calculating a profile value in the form of a square trapezoid if the index is smaller than fc; And (g) 축의 출력 위치와 가중치를 계산하는 단계를 포함하는 동작 파일 실행 방법.(g) calculating an output position and weight of the axis. 제 6항 내지 제 11항 중 어느 한 항의 방법으로 실행 가능한 컴퓨터 판독가능 매체.A computer readable medium executable by the method of claim 6.
KR1020060130633A 2006-12-20 2006-12-20 Motion and facial expression composing device and method in human type robot KR100853424B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060130633A KR100853424B1 (en) 2006-12-20 2006-12-20 Motion and facial expression composing device and method in human type robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060130633A KR100853424B1 (en) 2006-12-20 2006-12-20 Motion and facial expression composing device and method in human type robot

Publications (2)

Publication Number Publication Date
KR20080057400A true KR20080057400A (en) 2008-06-25
KR100853424B1 KR100853424B1 (en) 2008-08-21

Family

ID=39803180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060130633A KR100853424B1 (en) 2006-12-20 2006-12-20 Motion and facial expression composing device and method in human type robot

Country Status (1)

Country Link
KR (1) KR100853424B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200135431A (en) * 2018-03-22 2020-12-02 재팬 사이언스 앤드 테크놀로지 에이전시 Processing unit, processing method, data processing unit, data processing system, data processing method and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003230770A (en) 2002-02-12 2003-08-19 Chubu Kagaku Gijutsu Center Robot showing expression
KR100639068B1 (en) * 2004-09-06 2006-10-30 한국과학기술원 apparatus and method of emotional expression for a robot
KR20060079832A (en) * 2005-04-15 2006-07-06 정재영 Humanoid robot using emotion expression based on the embedded system
KR100825719B1 (en) * 2005-12-09 2008-04-29 한국전자통신연구원 Method for generating emotions and emotions generating robot

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200135431A (en) * 2018-03-22 2020-12-02 재팬 사이언스 앤드 테크놀로지 에이전시 Processing unit, processing method, data processing unit, data processing system, data processing method and program
US11983309B2 (en) 2018-03-22 2024-05-14 Japan Science And Technology Agency Device and method to acquire timing of blink motion performed by a dialogue device

Also Published As

Publication number Publication date
KR100853424B1 (en) 2008-08-21

Similar Documents

Publication Publication Date Title
JP6929366B2 (en) Driver monitoring and response system
EP3491493B1 (en) Gesture based control of autonomous vehicles
US8571714B2 (en) Robot with automatic selection of task-specific representations for imitation learning
CN103207670A (en) Touch free operation of devices by use of depth sensors
CN104520849A (en) Search user interface using outward physical expressions
US20050197739A1 (en) Behavior controlling system and behavior controlling method for robot
WO2004080665A1 (en) Robot device, behavior control method thereof, and program
CN103207671A (en) Touch free operation of ablator workstation by use of depth sensors
CN102990670A (en) Robot control apparatus, robot system, and robot control method
KR101567995B1 (en) Method, appratus and computer-readable recording medium for providing user interface which enalbes interaction
JP2006110707A (en) Robot device
Belardinelli Gaze-based intention estimation: principles, methodologies, and applications in HRI
Li et al. Intelligent control strategy for robotic arm by using adaptive inertia weight and acceleration coefficients particle swarm optimization
KR100853424B1 (en) Motion and facial expression composing device and method in human type robot
Lopez Pulgarin et al. Drivers’ Manoeuvre classification for safe HRI
JP2019202354A (en) Robot control device, robot control method, and robot control program
Ho et al. An HMM-based temporal difference learning with model-updating capability for visual tracking of human communicational behaviors
JP4193098B2 (en) TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE
Dong et al. Sensory Motor System: Modeling the process of action execution
Hart An intrinsic reward for affordance exploration
Harrison et al. Cognition for action: an architectural account for “grounded interaction”
US20230305644A1 (en) Methods and systems for multimodal hand state prediction
JP4379052B2 (en) Moving object detection apparatus, moving object detection method, and robot apparatus
Goerick et al. Interactive online multimodal association for internal concept building in humanoids
JP2021523472A (en) How to control multiple robot effectors

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: 20110623

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20120710

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee