KR20210063132A - Device and method for providing motion data of action robot optimized for contents - Google Patents

Device and method for providing motion data of action robot optimized for contents Download PDF

Info

Publication number
KR20210063132A
KR20210063132A KR1020190151654A KR20190151654A KR20210063132A KR 20210063132 A KR20210063132 A KR 20210063132A KR 1020190151654 A KR1020190151654 A KR 1020190151654A KR 20190151654 A KR20190151654 A KR 20190151654A KR 20210063132 A KR20210063132 A KR 20210063132A
Authority
KR
South Korea
Prior art keywords
data
content
interpolation
motion data
motion
Prior art date
Application number
KR1020190151654A
Other languages
Korean (ko)
Inventor
박다은
김도년
최세헌
이호용
유수연
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020190151654A priority Critical patent/KR20210063132A/en
Publication of KR20210063132A publication Critical patent/KR20210063132A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0137Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes dependent on presence/absence of motion, e.g. of motion zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/003Manipulators for entertainment
    • B25J11/0035Dancing, executing a choreography
    • 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/06Safety devices
    • B25J19/061Safety devices with audible signals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/12Programme-controlled manipulators characterised by positioning means for manipulator elements electric
    • B25J9/126Rotary actuators
    • 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/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams

Abstract

An apparatus for providing motion data for an action robot according to an embodiment of the present invention comprises a communication unit, a memory, and a processor for obtaining data of content, which can be output through an action robot from the communication unit or the memory, obtaining interpolation data based on the characteristics of the content, and obtaining interpolated motion data by applying the interpolation data to motion data, which can be output through the action robot. The motion data comprises a plurality of snapshots indicating the pose of the action robot for each of different viewpoints. The interpolation data comprises at least one piece of interpolation characteristic information for setting the motion characteristics of the action robot for each of the sections between the plurality of snapshots. Accordingly, motion speed or pattern of the motion data may be set according to the characteristics of content so that reality on the motion provided by the action robot may be enhanced.

Description

콘텐츠에 최적화된 액션 로봇용 모션 데이터를 제공하는 장치 및 방법{DEVICE AND METHOD FOR PROVIDING MOTION DATA OF ACTION ROBOT OPTIMIZED FOR CONTENTS}DEVICE AND METHOD FOR PROVIDING MOTION DATA OF ACTION ROBOT OPTIMIZED FOR CONTENTS

본 발명은 출력될 콘텐츠에 최적화된 액션 로봇용 모션 데이터를 제공하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for providing motion data for an action robot optimized for content to be output.

로봇 기술이 발달함에 따라 관절이나 바퀴 등을 모듈화하여 로봇을 구축하는 방법이 사용되고 있다. 예컨대, 로봇을 구성하는 다수의 액츄에이터 모듈(actuator module)을 전기적, 기계적으로 연결 및 조립하여 강아지, 공룡, 인간, 거미 등 다양한 형태의 로봇을 만들 수 있도록 하고 있다.As robot technology develops, a method of building a robot by modularizing joints or wheels is being used. For example, by electrically and mechanically connecting and assembling a plurality of actuator modules constituting the robot, various types of robots such as dogs, dinosaurs, humans, and spiders can be made.

이러한 다수의 액츄에이터 모듈을 조립함으로써 제작될 수 있는 로봇을 통상적으로 모듈러 로봇(modular robot)이라 한다. 모듈러 로봇을 구성하는 각 액츄에이터 모듈은 내부에 모터가 구비되어 모터의 회전에 따라 로봇의 모션(motion)이 실행된다. 이러한 로봇의 모션은 동작, 춤 등과 같은 로봇의 움직임을 통칭하는 개념이다.A robot that can be manufactured by assembling a plurality of actuator modules is generally referred to as a modular robot. Each actuator module constituting the modular robot is provided with a motor inside, so that the motion of the robot is executed according to the rotation of the motor. The robot motion is a concept that collectively refers to the robot's movements, such as motion and dance.

최근에는 엔터테인먼트용 로봇이 두각을 나타내면서 오락이나 사람의 흥미를 돋우기 위한 로봇에 대한 관심이 높아지고 있다. 예컨대 음악에 맞춰 춤을 추거나 이야기(동화 등)에 맞춰 모션이나 표정을 취하도록 하는 기술들이 개발되고 있다. Recently, as entertainment robots stand out, interest in robots for entertainment or people's interest is increasing. For example, technologies are being developed that allow people to dance to music or to take motions or expressions according to stories (fairy tales, etc.).

이는 음악이나 동화에 맞는 다수의 모션들을 미리 설정해 두고 외부장치에서 음악이나 동화가 재생되면 그에 맞게 미리 설정된 모션을 실행시킴으로써 액션 로봇이 모션을 수행하는 것이다.In this case, the action robot performs the motion by presetting a number of motions suitable for music or fairy tales and executing the preset motions when music or a fairy tale is played from an external device.

본 발명이 해결하고자 하는 과제는, 콘텐츠의 특성에 따른 최적의 모션 데이터를 생성하는 장치 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide an apparatus and method for generating optimal motion data according to characteristics of content.

본 발명이 해결하고자 하는 다른 과제는, 액션 로봇을 통해 출력되는 모션에 대한 리얼리티를 향상시키는 모션 데이터를 생성하는 장치 및 방법을 제공하는 것이다.Another object to be solved by the present invention is to provide an apparatus and method for generating motion data for improving the reality of motion output through an action robot.

본 발명의 실시 예에 따른 액션 로봇용 모션 데이터를 제공하는 장치는, 액션 로봇을 통해 출력 가능한 콘텐츠의 특성에 기초한 interpolation 데이터를 획득하고, 상기 액션 로봇을 통해 출력가능한 모션 데이터에 대해 상기 interpolation 데이터를 적용하여 interpolation된 모션 데이터를 획득할 수 있다.The apparatus for providing motion data for an action robot according to an embodiment of the present invention obtains interpolation data based on characteristics of content outputable through the action robot, and obtains interpolation data for motion data outputable through the action robot. It can be applied to obtain interpolated motion data.

상기 모션 데이터는 서로 다른 시점들 각각에 대한 상기 액션 로봇의 포즈를 나타내는 복수의 스냅샷들을 포함할 수 있다. The motion data may include a plurality of snapshots representing the pose of the action robot for each of different viewpoints.

상기 interpolation 데이터는, 상기 복수의 스냅샷들 사이의 구간들 각각에 대한 상기 액션 로봇의 움직임 특성을 설정하는 적어도 하나의 interpolation 특성 정보를 포함할 수 있다.The interpolation data may include at least one piece of interpolation characteristic information for setting motion characteristics of the action robot for each of the sections between the plurality of snapshots.

실시 예에 따라, 상기 장치는 상기 콘텐츠의 데이터에 포함된 신호의 신호 특성에 기초한 적어도 하나의 특징점을 추출하고, 머신 러닝 기반으로 학습된 분석 모델을 이용하여 상기 적어도 하나의 특징점으로부터 상기 콘텐츠의 특성을 분석할 수 있다.According to an embodiment, the device extracts at least one feature point based on a signal characteristic of a signal included in the data of the content, and uses an analysis model learned based on machine learning to extract the characteristic of the content from the at least one feature point can be analyzed.

실시 예에 따라, 상기 콘텐츠는 음악 콘텐츠일 수 있고, 상기 장치는 상기 음악 콘텐츠의 구조, 무드, 및 장르 중 적어도 하나를 분석하고, 분석 결과에 기초하여 interpolation 데이터를 획득할 수 있다.According to an embodiment, the content may be music content, and the device may analyze at least one of a structure, a mood, and a genre of the music content, and obtain interpolation data based on the analysis result.

실시 예에 따라, 상기 콘텐츠는 모션 데이터에 포함된 스냅샷들 사이의 구간에 대해, 상기 interpolation 데이터에 기초한 적어도 하나의 가상 스냅샷을 생성함으로써 상기 interpolation된 모션 데이터를 획득할 수 있다.According to an embodiment, the content may acquire the interpolated motion data by generating at least one virtual snapshot based on the interpolation data for a section between snapshots included in the motion data.

실시 예에 따라, 상기 장치는 액션 로봇으로 구현될 수 있고, 상기 장치는 상기 콘텐츠를 스피커를 통해 출력하면서, 상기 interpolation된 모션 데이터에 기초하여 적어도 하나의 모터를 제어함으로써 피규어를 통한 모션을 제공할 수 있다.According to an embodiment, the device may be implemented as an action robot, and the device may provide motion through a figure by controlling at least one motor based on the interpolated motion data while outputting the content through a speaker. can

본 발명의 실시 예에 따르면, 액션 로봇용 모션 데이터를 제공하는 장치는 콘텐츠의 특성에 따라 모션 데이터의 스냅샷(포즈)들 간의 움직임 속도나 패턴을 설정함으로써, 액션 로봇을 통해 출력되는 콘텐츠에 대해 자연스러운 모션을 제공할 수 있다. 이에 따라 액션 로봇이 제공하는 모션에 대한 리얼리티가 향상될 수 있다.According to an embodiment of the present invention, an apparatus for providing motion data for an action robot sets a movement speed or pattern between snapshots (poses) of the motion data according to the characteristics of the content, so that the content output through the action robot is It can provide natural motion. Accordingly, the reality of the motion provided by the action robot may be improved.

또한, 상기 장치는 액션 로봇을 통해 출력되는 콘텐츠의 특성에 기초하여 설정되는 interpolation 특성에 따라 모션 데이터에 대한 interpolation을 수행함으로써, 동일한 모션 데이터를 이용한 다양한 형태의 모션을 제공하여 사용자의 만족도를 향상시킬 수 있다.In addition, the device performs interpolation on motion data according to interpolation characteristics set based on characteristics of content output through the action robot, thereby providing various types of motion using the same motion data to improve user satisfaction. can

도 1은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 장치를 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 로봇과 연결되는 AI 서버를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 시스템을 나타낸다.
도 4는 모션 데이터에 기초한 모션을 출력하는 액션 로봇의 예시적인 사시도이다.
도 5는 도 4에 도시된 액션 로봇의 제어 구성의 일례를 나타내는 블록도이다.
도 6은 본 발명의 실시 예에 따른 모션 데이터의 구조를 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 모션 데이터 제공 방법에 대한 일 실시 예를 설명하기 위한 플로우차트이다.
도 8 내지 도 12b는 도 7에 도시된 모션 데이터 제공 방법과 관련된 예시도들이다.
1 shows an AI device including a robot according to an embodiment of the present invention.
2 shows an AI server connected to a robot according to an embodiment of the present invention.
3 shows an AI system including a robot according to an embodiment of the present invention.
4 is an exemplary perspective view of an action robot that outputs a motion based on motion data.
Fig. 5 is a block diagram showing an example of a control configuration of the action robot shown in Fig. 4;
6 is a diagram for explaining the structure of motion data according to an embodiment of the present invention.
7 is a flowchart for explaining an embodiment of a method for providing motion data according to an embodiment of the present invention.
8 to 12B are exemplary views related to the method of providing motion data shown in FIG. 7 .

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명한다. 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings. The accompanying drawings are only for making it easier to understand the embodiments disclosed in the present specification, and the technical idea disclosed in the present specification is not limited by the accompanying drawings, and all changes and equivalents included in the spirit and scope of the present invention It should be understood to include water or substitutes.

로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.A robot may refer to a machine that automatically processes or operates a task given by its own capabilities. In particular, a robot having a function of recognizing the environment and performing an operation by self-determining may be referred to as an intelligent robot.

로봇은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.Robots can be classified into industrial, medical, household, military, etc. depending on the purpose or field of use.

로봇은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.The robot may be provided with a driving unit including an actuator or a motor to perform various physical operations such as moving a robot joint. In addition, the movable robot includes a wheel, a brake, a propeller, and the like in a driving unit, and can travel on the ground or fly in the air through the driving unit.

인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.Artificial intelligence refers to the field of researching artificial intelligence or the methodology that can create it, and machine learning (Machine Learning) refers to the field of studying methodologies to define and solve various problems dealt with in the field of artificial intelligence. do. Machine learning is also defined as an algorithm that improves the performance of a task through continuous experience.

인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.An artificial neural network (ANN) is a model used in machine learning, and may refer to an overall model with problem-solving capabilities, which is composed of artificial neurons (nodes) that form a network by combining synapses. The artificial neural network may be defined by a connection pattern between neurons of different layers, a learning process for updating model parameters, and an activation function for generating an output value.

인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다. The artificial neural network may include an input layer, an output layer, and optionally one or more hidden layers. Each layer includes one or more neurons, and the artificial neural network may include neurons and synapses connecting neurons. In an artificial neural network, each neuron can output a function of an activation function for input signals, weights, and biases input through synapses.

모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.Model parameters refer to parameters determined through learning, and include weights of synaptic connections and biases of neurons. In addition, the hyperparameter refers to a parameter that must be set before learning in a machine learning algorithm, and includes a learning rate, number of iterations, mini-batch size, and initialization function.

인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.The purpose of learning the artificial neural network can be seen as determining the model parameters that minimize the loss function. The loss function can be used as an index to determine an optimal model parameter in the learning process of the artificial neural network.

머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.Machine learning can be classified into supervised learning, unsupervised learning, and reinforcement learning according to the learning method.

지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.Supervised learning refers to a method of training an artificial neural network when a label for training data is given, and a label indicates the correct answer (or result value) that the artificial neural network must infer when training data is input to the artificial neural network. It can mean. Unsupervised learning may mean a method of training an artificial neural network in a state in which a label for training data is not given. Reinforcement learning may mean a learning method in which an agent defined in a certain environment learns to select an action or sequence of actions that maximizes the cumulative reward in each state.

인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.Among artificial neural networks, machine learning implemented as a deep neural network (DNN) including a plurality of hidden layers is sometimes referred to as deep learning (deep learning), and deep learning is a part of machine learning. Hereinafter, machine learning is used in the sense including deep learning.

도 1은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 장치를 나타낸다.1 shows an AI device including a robot according to an embodiment of the present invention.

AI 장치(100)는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다. The AI device 100 includes a TV, a projector, a mobile phone, a smartphone, a desktop computer, a notebook computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation system, a tablet PC, a wearable device, and a set-top box (STB). ), a DMB receiver, a radio, a washing machine, a refrigerator, a desktop computer, a digital signage, a robot, a vehicle, and the like.

도 1을 참조하면, AI 장치(100)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180) 등을 포함할 수 있다.Referring to FIG. 1 , the AI device 100 includes a communication unit 110 , an input unit 120 , a learning processor 130 , a sensing unit 140 , an output unit 150 , a memory 170 and a processor 180 , etc. may include.

통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치(100a 내지 100e)나 AI 서버(200) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.The communication unit 110 may transmit and receive data with external devices such as other AI devices 100a to 100e or the AI server 200 using wired/wireless communication technology. For example, the communication unit 110 may transmit and receive sensor information, a user input, a learning model, and a control signal with external devices.

이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.At this time, communication technologies used by the communication unit 110 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), and Wireless-Fidelity (Wi-Fi). ), Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), ZigBee, and Near Field Communication (NFC).

입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.The input unit 120 may acquire various types of data.

이때, 입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.In this case, the input unit 120 may include a camera for inputting an image signal, a microphone for receiving an audio signal, and a user input unit for receiving information from a user. Here, by treating a camera or a microphone as a sensor, a signal obtained from the camera or a microphone may be referred to as sensing data or sensor information.

입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.The input unit 120 may acquire training data for model training and input data to be used when acquiring an output by using the training model. The input unit 120 may obtain unprocessed input data, and in this case, the processor 180 or the running processor 130 may extract an input feature as a preprocess for the input data.

러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.The learning processor 130 may train a model composed of an artificial neural network by using the training data. Here, the learned artificial neural network may be referred to as a learning model. The learning model can be used to infer a result value for new input data other than the training data, and the inferred value can be used as a basis for a decision to perform a certain operation.

이때, 러닝 프로세서(130)는 AI 서버(200)의 러닝 프로세서(240)과 함께 AI 프로세싱을 수행할 수 있다.In this case, the learning processor 130 may perform AI processing together with the learning processor 240 of the AI server 200.

이때, 러닝 프로세서(130)는 AI 장치(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), AI 장치(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.In this case, the learning processor 130 may include a memory integrated or implemented in the AI device 100. Alternatively, the learning processor 130 may be implemented using the memory 170, an external memory directly coupled to the AI device 100, or a memory maintained in an external device.

센싱부(140)는 다양한 센서들을 이용하여 AI 장치(100) 내부 정보, AI 장치(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.The sensing unit 140 may acquire at least one of internal information of the AI device 100, information on the surrounding environment of the AI device 100, and user information by using various sensors.

이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.At this time, the sensors included in the sensing unit 140 include a proximity sensor, an illuminance sensor, an acceleration sensor, a magnetic sensor, a gyro sensor, an inertial sensor, an RGB sensor, an IR sensor, a fingerprint recognition sensor, an ultrasonic sensor, an optical sensor, a microphone, and a lidar. , Radar, etc.

출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다. The output unit 150 may generate output related to visual, auditory or tactile sensations.

이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.In this case, the output unit 150 may include a display unit outputting visual information, a speaker outputting auditory information, a haptic module outputting tactile information, and the like.

메모리(170)는 AI 장치(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.The memory 170 may store data supporting various functions of the AI device 100. For example, the memory 170 may store input data, learning data, a learning model, and a learning history acquired from the input unit 120.

프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(180)는 AI 장치(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.The processor 180 may determine at least one executable operation of the AI device 100 based on information determined or generated using a data analysis algorithm or a machine learning algorithm. In addition, the processor 180 may perform the determined operation by controlling the components of the AI device 100.

이를 위해, 프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(100)의 구성 요소들을 제어할 수 있다.To this end, the processor 180 may request, search, receive, or utilize data from the learning processor 130 or the memory 170, and perform a predicted or desirable operation among the at least one executable operation. The components of the AI device 100 can be controlled to run.

이때, 프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.In this case, when connection of an external device is required to perform the determined operation, the processor 180 may generate a control signal for controlling the corresponding external device and transmit the generated control signal to the corresponding external device.

프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.The processor 180 may obtain intention information for a user input and determine a user's requirement based on the obtained intention information.

이때, 프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다. In this case, the processor 180 uses at least one of a Speech To Text (STT) engine for converting a speech input into a character string or a Natural Language Processing (NLP) engine for obtaining intention information of a natural language. Intention information corresponding to the input can be obtained.

이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.At this time, at least one or more of the STT engine and the NLP engine may be composed of an artificial neural network, at least partially trained according to a machine learning algorithm. And, at least one of the STT engine or the NLP engine is learned by the learning processor 130, learning by the learning processor 240 of the AI server 200, or learned by distributed processing thereof. Can be.

프로세서(180)는 AI 장치(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.The processor 180 collects history information including user feedback on the operation content or operation of the AI device 100 and stores it in the memory 170 or the learning processor 130, or the AI server 200 Can be transferred to an external device. The collected history information can be used to update the learning model.

프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, AI 장치(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.The processor 180 may control at least some of the components of the AI device 100 in order to drive the application program stored in the memory 170. Further, in order to drive the application program, the processor 180 may operate by combining two or more of the components included in the AI device 100 with each other.

도 2는 본 발명의 일 실시 예에 따른 로봇과 연결되는 AI 서버(200)를 나타낸다.2 shows an AI server 200 connected to a robot according to an embodiment of the present invention.

도 2를 참조하면, AI 서버(200)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(200)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(200)는 AI 장치(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.Referring to FIG. 2, the AI server 200 may refer to a device that trains an artificial neural network using a machine learning algorithm or uses the learned artificial neural network. Here, the AI server 200 may be configured with a plurality of servers to perform distributed processing, or may be defined as a 5G network. In this case, the AI server 200 may be included as a part of the AI device 100 to perform at least a part of AI processing together.

AI 서버(200)는 통신부(210), 메모리(230), 러닝 프로세서(240) 및 프로세서(260) 등을 포함할 수 있다.The AI server 200 may include a communication unit 210, a memory 230, a learning processor 240, a processor 260, and the like.

통신부(210)는 AI 장치(100) 등의 외부 장치와 데이터를 송수신할 수 있다.The communication unit 210 may transmit and receive data with an external device such as the AI device 100.

메모리(230)는 모델 저장부(231)를 포함할 수 있다. 모델 저장부(231)는 러닝 프로세서(240)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.The memory 230 may include a model storage unit 231. The model storage unit 231 may store a model (or artificial neural network, 231a) being trained or trained through the learning processor 240.

러닝 프로세서(240)는 학습 데이터를 이용하여 인공 신경망(231a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(200)에 탑재된 상태에서 이용되거나, AI 장치(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.The learning processor 240 may train the artificial neural network 231a using the training data. The learning model may be used while being mounted on the AI server 200 of an artificial neural network, or may be mounted on an external device such as the AI device 100 and used.

학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(230)에 저장될 수 있다.The learning model can be implemented in hardware, software, or a combination of hardware and software. When part or all of the learning model is implemented in software, one or more instructions constituting the learning model may be stored in the memory 230.

프로세서(260)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.The processor 260 may infer a result value for new input data using the learning model, and generate a response or a control command based on the inferred result value.

도 3은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 시스템(1)을 나타낸다.3 shows an AI system 1 including a robot according to an embodiment of the present invention.

도 3을 참조하면, AI 시스템(1)은 AI 서버(200), 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상이 클라우드 네트워크(10)와 연결된다. 여기서, AI 기술이 적용된 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 등을 AI 장치(100a 내지 100e)라 칭할 수 있다.Referring to FIG. 3, the AI system 1 includes at least one of an AI server 200, a robot 100a, an autonomous vehicle 100b, an XR device 100c, a smartphone 100d, or a home appliance 100e. It is connected with this cloud network 10. Here, the robot 100a to which the AI technology is applied, the autonomous vehicle 100b, the XR device 100c, the smartphone 100d, or the home appliance 100e may be referred to as the AI devices 100a to 100e.

클라우드 네트워크(10)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(10)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다.The cloud network 10 may constitute a part of the cloud computing infrastructure or may mean a network that exists in the cloud computing infrastructure. Here, the cloud network 10 may be configured using a 3G network, a 4G or Long Term Evolution (LTE) network, or a 5G network.

즉, AI 시스템(1)을 구성하는 각 장치들(100a 내지 100e, 200)은 클라우드 네트워크(10)를 통해 서로 연결될 수 있다. 특히, 각 장치들(100a 내지 100e, 200)은 기지국을 통해서 서로 통신할 수도 있지만, 기지국을 통하지 않고 직접 서로 통신할 수도 있다.That is, the devices 100a to 100e and 200 constituting the AI system 1 may be connected to each other through the cloud network 10. In particular, the devices 100a to 100e and 200 may communicate with each other through a base station, but may directly communicate with each other without through a base station.

AI 서버(200)는 AI 프로세싱을 수행하는 서버와 빅 데이터에 대한 연산을 수행하는 서버를 포함할 수 있다.The AI server 200 may include a server that performs AI processing and a server that performs an operation on big data.

AI 서버(200)는 AI 시스템(1)을 구성하는 AI 장치들인 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상과 클라우드 네트워크(10)을 통하여 연결되고, 연결된 AI 장치들(100a 내지 100e)의 AI 프로세싱을 적어도 일부를 도울 수 있다.The AI server 200 includes at least one of a robot 100a, an autonomous vehicle 100b, an XR device 100c, a smartphone 100d, or a home appliance 100e, which are AI devices constituting the AI system 1 It is connected through the cloud network 10 and may help at least part of the AI processing of the connected AI devices 100a to 100e.

이때, AI 서버(200)는 AI 장치(100a 내지 100e)를 대신하여 머신 러닝 알고리즘에 따라 인공 신경망을 학습시킬 수 있고, 학습 모델을 직접 저장하거나 AI 장치(100a 내지 100e)에 전송할 수 있다. In this case, the AI server 200 may train an artificial neural network according to a machine learning algorithm in place of the AI devices 100a to 100e, and may directly store the learning model or transmit it to the AI devices 100a to 100e.

이때, AI 서버(200)는 AI 장치(100a 내지 100e)로부터 입력 데이터를 수신하고, 학습 모델을 이용하여 수신한 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성하여 AI 장치(100a 내지 100e)로 전송할 수 있다.At this time, the AI server 200 receives input data from the AI devices 100a to 100e, infers a result value for the received input data using a learning model, and generates a response or control command based on the inferred result value. It can be generated and transmitted to the AI devices 100a to 100e.

또는, AI 장치(100a 내지 100e)는 직접 학습 모델을 이용하여 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수도 있다.Alternatively, the AI devices 100a to 100e may infer a result value for input data using a direct learning model, and may generate a response or a control command based on the inferred result value.

이하에서는, 상술한 기술이 적용되는 AI 장치(100a 내지 100e)의 다양한 실시 예들을 설명한다. 여기서, 도 3에 도시된 AI 장치(100a 내지 100e)는 도 1에 도시된 AI 장치(100)의 구체적인 실시 예로 볼 수 있다.Hereinafter, various embodiments of the AI devices 100a to 100e to which the above-described technology is applied will be described. Here, the AI devices 100a to 100e illustrated in FIG. 3 may be viewed as a specific example of the AI device 100 illustrated in FIG. 1.

로봇(100a)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.The robot 100a is applied with AI technology and may be implemented as a guide robot, a transport robot, a cleaning robot, a wearable robot, an entertainment robot, a pet robot, an unmanned flying robot, and the like.

로봇(100a)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.The robot 100a may include a robot control module for controlling an operation, and the robot control module may refer to a software module or a chip implementing the same as hardware.

로봇(100a)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100a)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.The robot 100a acquires status information of the robot 100a by using sensor information acquired from various types of sensors, detects (recognizes) the surrounding environment and objects, generates map data, or moves and travels. You can decide on a plan, decide on a response to user interaction, or decide on an action.

여기서, 로봇(100a)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.Here, the robot 100a may use sensor information obtained from at least one sensor among a lidar, a radar, and a camera in order to determine a moving route and a driving plan.

로봇(100a)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100a)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100a)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다. The robot 100a may perform the above-described operations using a learning model composed of at least one artificial neural network. For example, the robot 100a may recognize a surrounding environment and an object using a learning model, and may determine an operation using the recognized surrounding environment information or object information. Here, the learning model may be directly learned by the robot 100a or learned by an external device such as the AI server 200.

이때, 로봇(100a)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.At this time, the robot 100a may perform an operation by generating a result using a direct learning model, but it transmits sensor information to an external device such as the AI server 200 and performs the operation by receiving the result generated accordingly. You may.

로봇(100a)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100a)을 주행시킬 수 있다. The robot 100a determines a movement route and a driving plan using at least one of map data, object information detected from sensor information, or object information obtained from an external device, and controls the driving unit to determine the determined movement path and travel plan. Accordingly, the robot 100a can be driven.

맵 데이터에는 로봇(100a)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.The map data may include object identification information on various objects arranged in a space in which the robot 100a moves. For example, the map data may include object identification information on fixed objects such as walls and doors and movable objects such as flower pots and desks. In addition, the object identification information may include a name, type, distance, and location.

또한, 로봇(100a)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100a)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.In addition, the robot 100a may perform an operation or run by controlling the driving unit based on the user's control/interaction. In this case, the robot 100a may acquire interaction intention information according to a user's motion or voice speech, and determine a response based on the acquired intention information to perform the operation.

도 4는 모션 데이터에 기초한 모션을 출력하는 액션 로봇의 예시적인 사시도이다.4 is an exemplary perspective view of an action robot that outputs a motion based on motion data.

도 4를 참조하면, 액션 로봇(400)은 피규어(401)와, 피규어(401)를 하측에서 지지하는 베이스(402)를 포함할 수 있다.Referring to FIG. 4 , the action robot 400 may include a figure 401 and a base 402 supporting the figure 401 from the lower side.

피규어(401)는 대략 사람의 신체와 유사한 형상을 가질 수 있다. The figure 401 may have a shape substantially similar to a human body.

피규어(401)는 헤드(403)와, 몸체(404, 406)와, 팔(arm)(405)를 포함할 수 있다. 피규어(401)는 발(407) 및 서브 베이스(408)를 더 포함할 수 있다.The figure 401 may include a head 403 , bodies 404 and 406 , and an arm 405 . The figure 401 may further include a foot 407 and a sub-base 408 .

헤드(403)는 사람의 머리와 대응되는 형상을 가질 수 있다. 헤드(403)는 몸체(404)의 상부에 연결될 수 있다.The head 403 may have a shape corresponding to a human head. The head 403 may be connected to an upper portion of the body 404 .

몸체(404, 406)는 사람의 몸에 대응되는 형상을 가질 수 있다. 몸체(404, 406)는 고정되어 움직이지 않을 수 있다. 몸체(404, 406)의 내부에는 각종 부품이 내장되는 공간이 형성될 수 있다.The bodies 404 and 406 may have a shape corresponding to a human body. The bodies 404 and 406 are fixed and may not move. Inside the body (404, 406), a space in which various parts are built may be formed.

몸체는 제1몸체(404)와 제2몸체(406)를 포함할 수 있다.The body may include a first body 404 and a second body 406 .

제1몸체(404)의 내부공간과 제2몸체(406)의 내부공간은 서로 연통될 수 있다.The inner space of the first body 404 and the inner space of the second body 406 may communicate with each other.

제1몸체(404)는 사람의 상반신에 대응되는 형상을 가질 수 있다. 제1몸체(404)는 상체로 명명될 수 있다. 제1몸체(404)에는 팔(405)이 연결될 수 있다. The first body 404 may have a shape corresponding to the upper body of a person. The first body 404 may be referred to as an upper body. An arm 405 may be connected to the first body 404 .

제2몸체(406)는 사람의 하반신에 대응되는 형상을 가질 수 있다. 제2몸체(406)는 하체로 명명될 수 있다. 제2몸체(406)는 한 쌍의 다리를 포함할 수 있다.The second body 406 may have a shape corresponding to the lower body of a person. The second body 406 may be referred to as a lower body. The second body 406 may include a pair of legs.

제1몸체(404)와 제2몸체(406)는 서로 분리 가능하게 체결될 수 있다. 이로써, 몸체의 조립이 간편해질 뿐만 아니라, 몸체의 내부에 배치된 부품들이 용이하게 유지 보수될 수 있다.The first body 404 and the second body 406 may be detachably fastened to each other. Accordingly, not only the assembly of the body is simplified, but also parts disposed inside the body can be easily maintained.

몸체의 양측에는 팔(405)이 연결될 수 있다. Arms 405 may be connected to both sides of the body.

좀 더 상세히, 한 쌍의 팔(405)은 제1몸체(404)의 양측에 위치한 어깨에 각각 연결될 수 있다. 어깨는 제1몸체(404)에 포함될 수 있다. 어깨는 제1몸체(404)의 양측 상부에 위치할 수 있다.In more detail, the pair of arms 405 may be respectively connected to shoulders located on both sides of the first body 404 . The shoulder may be included in the first body 404 . Shoulders may be located on both sides of the upper portion of the first body (404).

팔(405)은 제1몸체(404), 좀 더 상세히는 어깨에 대해 회동 가능할 수 있다. 따라서, 팔(405)은 가동부로 명명될 수 있다.The arm 405 may be rotatable with respect to the first body 404 , more specifically, the shoulder. Accordingly, the arm 405 may be referred to as a movable part.

한 쌍의 팔(405)은 오른팔과 왼팔을 포함할 수 있다. 오른팔과 왼팔은 각각 독립적으로 움직일 수 있다.The pair of arms 405 may include a right arm and a left arm. The right and left arms can move independently of each other.

발(407)은 제2몸체(406)의 하부, 즉 다리의 하단에 연결될 수 있다. 발(407)은 서브 베이스(408)에 의해 지지될 수 있다.The foot 407 may be connected to the lower part of the second body 406 , that is, the lower end of the leg. The foot 407 may be supported by a sub-base 408 .

서브 베이스(408)는 제2몸체(406) 및 발(407) 중 적어도 하나에 체결될 수 있다. 서브 베이스(408)는 베이스(402)의 상측에서 베이스(402)에 안착 및 결합될 수 있다.The sub-base 408 may be fastened to at least one of the second body 406 and the foot 407 . The sub-base 408 may be seated and coupled to the base 402 on the upper side of the base 402 .

서브 베이스(408)는 대략 원판형상을 가질 수 있다. 서브 베이스(408)는 베이스(402)에 대해 회전할 수 있다. 따라서, 피규어(401) 전체가 서브 베이스(408)에 대해 회전할 수 있다.The sub-base 408 may have a substantially disk shape. The sub-base 408 can rotate relative to the base 402 . Accordingly, the entire figure 401 can rotate with respect to the sub-base 408 .

베이스(402)는 피규어(401)을 하측에서 지지할 수 있다. 좀 더 상세히, 베이스(402)는 피규어(401)의 서브 베이스(408)를 하측에서 지지할 수 있다. 서브 베이스(408)는 베이스(402)에 분리 가능하게 결합될 수 있다.The base 402 may support the figure 401 from the lower side. In more detail, the base 402 may support the sub-base 408 of the figure 401 from the lower side. The sub-base 408 may be detachably coupled to the base 402 .

베이스(402)의 내부에는 액션 로봇(1)의 전반적인 동작을 제어하는 프로세서(480; 도 5 참조)와, 액션 로봇(1)의 동작에 필요한 전력이 저장되는 배터리(미도시)와, 피규어(401)를 동작시키는 피규어 구동부(460; 도 5 참조)가 내장될 수 있다. 또한, 베이스(402)의 내부에는 사운드가 방출되는 스피커(452; 도 5 참조)가 배치될 수 있다. 실시 예에 따라, 베이스(402)의 일 면에는 버튼 등의 입력부(420; 도 5 참조)나, 각종 정보를 시각적 형태로 출력하는 디스플레이(454; 도 5 참조)가 배치될 수 있다.Inside the base 402, a processor 480 (see FIG. 5) for controlling the overall operation of the action robot 1, a battery (not shown) for storing power required for the operation of the action robot 1, and a figure ( A figure driving unit 460 (refer to FIG. 5) that operates the 401 may be built-in. In addition, a speaker 452 (refer to FIG. 5 ) for emitting sound may be disposed inside the base 402 . According to an embodiment, an input unit 420 such as a button (refer to FIG. 5 ) or a display 454 (refer to FIG. 5 ) for outputting various information in a visual form may be disposed on one surface of the base 402 .

도 5는 도 4에 도시된 액션 로봇의 제어 구성의 일례를 나타내는 블록도이다.Fig. 5 is a block diagram showing an example of a control configuration of the action robot shown in Fig. 4;

도 5를 참조하면, 액션 로봇(400)은 통신부(410), 입력부(420), 출력부(450), 피규어 구동부(460), 메모리(470), 및 프로세서(480)를 포함할 수 있다. 도 5에 도시된 구성들은 설명의 편의를 위한 일례로서, 액션 로봇(400)은 도 5에 도시된 구성들보다 많거나 적은 구성들을 포함할 수 있다.Referring to FIG. 5 , the action robot 400 may include a communication unit 410 , an input unit 420 , an output unit 450 , a figure driving unit 460 , a memory 470 , and a processor 480 . The configurations shown in FIG. 5 are examples for convenience of description, and the action robot 400 may include more or fewer configurations than those shown in FIG. 5 .

도 5에 도시된 구성들은 액션 로봇(400)의 베이스(402)에 구비될 수 있다. 즉, 베이스(402)는 액션 로봇(400)의 본체를 구성하고, 피규어(401)는 베이스(402)에 탈착됨으로써, 액션 로봇(400)은 일종의 모듈러 로봇으로 구현될 수 있다.The components shown in FIG. 5 may be provided on the base 402 of the action robot 400 . That is, the base 402 constitutes the main body of the action robot 400 , and the figure 401 is detached from the base 402 , so that the action robot 400 can be implemented as a kind of modular robot.

한편, 도 1 내지 도 2의 AI 장치(100)와 관련된 내용은 본 발명의 액션 로봇(400)에도 유사하게 적용될 수 있다. 즉, 통신부(410), 입력부(420), 출력부(450), 메모리(470), 및 프로세서(480)는, 도 1에 도시된 통신부(110), 입력부(120), 출력부(150), 메모리(170), 및 프로세서(180)에 대응할 수 있다.Meanwhile, the contents related to the AI device 100 of FIGS. 1 to 2 may be similarly applied to the action robot 400 of the present invention. That is, the communication unit 410 , the input unit 420 , the output unit 450 , the memory 470 , and the processor 480 are the communication unit 110 , the input unit 120 , and the output unit 150 shown in FIG. 1 . , the memory 170 , and the processor 180 .

통신부(410)는 액션 로봇(400)을 네트워크를 통해 서버나 단말기 등과 연결하기 위한 통신 모듈들을 포함할 수 있다. 상기 통신 모듈들 각각은 도 1에서 상술한 통신 기술 중 어느 하나를 지원할 수 있다.The communication unit 410 may include communication modules for connecting the action robot 400 to a server or a terminal through a network. Each of the communication modules may support any one of the communication technologies described above with reference to FIG. 1 .

예컨대, 액션 로봇(400)은 공유기 등의 액세스 포인트를 통해 네트워크에 연결될 수 있다. 이에 따라, 액션 로봇(400)은 상기 네트워크를 통해 서버나 단말기 등으로부터 각종 정보, 데이터, 콘텐츠를 제공받을 수 있다.For example, the action robot 400 may be connected to a network through an access point such as a router. Accordingly, the action robot 400 may receive various information, data, and contents from a server or a terminal through the network.

입력부(420)는 액션 로봇(400)의 동작과 관련된 입력이나 명령을 획득하거나, 다양한 종류의 데이터를 획득하는 적어도 하나의 입력 수단을 포함할 수 있다. 예컨대, 상기 적어도 하나의 입력 수단은 버튼(422)이나 다이얼 등의 물리 입력 수단, 터치 패드나 터치 패널과 같은 터치 입력부(424), 사용자의 음성을 수신하는 마이크로폰(426) 등을 포함할 수 있다. The input unit 420 may include at least one input means for acquiring an input or command related to the operation of the action robot 400 or acquiring various types of data. For example, the at least one input means may include a physical input means such as a button 422 or a dial, a touch input unit 424 such as a touch pad or a touch panel, a microphone 426 for receiving a user's voice, and the like. .

한편, 프로세서(480)는 마이크로폰(426)을 통해 수신되는 사용자의 음성 데이터를 상기 통신부(410)를 통해 서버로 전송할 수 있다. 서버는 상기 음성 데이터를 분석하여 상기 음성 데이터 내의 시동어나 명령어, 요청 등을 인식하고, 인식 결과를 액션 로봇(400)으로 제공할 수 있다. Meanwhile, the processor 480 may transmit the user's voice data received through the microphone 426 to the server through the communication unit 410 . The server may analyze the voice data to recognize a startup word, a command, a request, etc. in the voice data, and provide the recognition result to the action robot 400 .

상기 서버는 도 2에서 상술한 AI 서버(200)로 구현될 수 있고, 이 경우 서버는 러닝 프로세서(240)를 통해 학습된 모델(인공신경망(231a))을 통해 상기 음성 데이터 내의 시동어, 명령어, 요청 등을 인식할 수 있다. 프로세서(480)는 상기 인식 결과에 기초하여 상기 음성에 포함된 명령어 또는 요청을 처리할 수 있다.The server may be implemented as the AI server 200 described above in FIG. 2 , and in this case, the server uses a model (artificial neural network 231a) learned through the learning processor 240. Startup words, commands, requests, etc. can be recognized. The processor 480 may process a command or request included in the voice based on the recognition result.

실시 예에 따라, 프로세서(480)는 액션 로봇(400) 내의 러닝 프로세서에 의해 학습된 모델을 통해, 상기 음성 데이터 내의 시동어, 명령어, 요청 등을 직접 인식할 수도 있다. 즉, 러닝 프로세서는 마이크로폰(426)을 통해 수신되는 음성 데이터를 학습 데이터로서 활용하여 인공신경망으로 구성된 모델을 학습시킬 수 있다.According to an embodiment, the processor 480 may directly recognize a startup word, a command, a request, etc. in the voice data through a model learned by the learning processor in the action robot 400 . That is, the learning processor may use the voice data received through the microphone 426 as training data to train the model composed of the artificial neural network.

또는, 프로세서(480)는 상기 서버로부터 상기 학습된 모델에 대응하는 데이터를 수신하여 메모리(470)에 저장하고, 저장된 데이터를 통해 상기 음성 데이터 내의 시동어, 명령어, 요청 등을 인식할 수도 있다.Alternatively, the processor 480 may receive data corresponding to the learned model from the server, store it in the memory 470 , and recognize a startup word, a command, a request, etc. in the voice data through the stored data.

출력부(450)는 액션 로봇(400)의 동작이나 상태, 액션 로봇(400)에서 실행되는 각종 서비스, 프로그램, 애플리케이션 등과 관련된 각종 정보나 메시지 또는 다양한 종류의 멀티미디어 콘텐츠(예컨대, 음악, 동화, 교육 콘텐츠 등)를 출력할 수 있다. 예컨대, 출력부(450)는 스피커(452) 및 디스플레이(454) 등을 포함할 수 있다.The output unit 450 includes various types of information or messages or various types of multimedia content (eg, music, children's stories, education) related to the operation or state of the action robot 400, various services, programs, applications, etc. executed in the action robot 400. content, etc.). For example, the output unit 450 may include a speaker 452 and a display 454 .

스피커(452)는 상기 각종 정보나 메시지, 또는 콘텐츠를 음성이나 음향 형태로 출력할 수 있다. The speaker 452 may output the various information, messages, or contents in the form of voice or sound.

디스플레이(454)는 상술한 각종 정보나 메시지를 그래픽 형태로 출력할 수 있다. 실시 예에 따라, 디스플레이(454)는 터치 입력부(424)와 함께 터치 스크린 형태로 구현될 수 있고, 이 경우 디스플레이(454)는 출력 수단뿐만 아니라 입력 수단으로서도 기능할 수 있다.The display 454 may output the above-described various information or messages in graphic form. According to an embodiment, the display 454 may be implemented in the form of a touch screen together with the touch input unit 424 . In this case, the display 454 may function not only as an output unit but also as an input unit.

피규어 구동부(460)는, 베이스(402)에 장착된 피규어(401)를 동작시켜 피규어(401)를 통해 모션(액션)을 제공할 수 있다.The figure driving unit 460 may provide motion (action) through the figure 401 by operating the figure 401 mounted on the base 402 .

예컨대, 피규어 구동부(460)는 서보 모터(Servo motor) 또는 복수의 모터들을 포함할 수 있다. 다른 예로, 피규어 구동부(460)는 액츄에이터를 포함할 수 있다.For example, the figure driving unit 460 may include a servo motor or a plurality of motors. As another example, the figure driving unit 460 may include an actuator.

프로세서(480)는 모션 데이터 제공 장치를 통해 피규어 구동부(460)의 제어를 위한 모션 데이터를 수신할 수 있다. 상기 모션 데이터 제공 장치는 서버, 단말기, 다른 액션 로봇 등의 각종 컴퓨팅 장치를 포함할 수 있다.The processor 480 may receive motion data for controlling the figure driving unit 460 through the motion data providing device. The motion data providing device may include various computing devices such as a server, a terminal, and other action robots.

프로세서(480)는 수신된 모션 데이터에 기초하여 피규어 구동부(460)를 제어함으로써, 상기 모션 데이터에 대응하는 피규어(401)의 모션(또는 액션)을 제공할 수 있다.The processor 480 may provide a motion (or action) of the figure 401 corresponding to the motion data by controlling the figure driver 460 based on the received motion data.

메모리(470)는 액션 로봇(400)에 포함된 구성 요소들의 동작을 제어하기 위한 제어 데이터, 입력부(420)를 통해 획득된 입력이나 통신부(410)를 통해 획득되는 명령이나 요청 등에 기초한 동작을 수행하기 위한 데이터 등의 각종 데이터가 저장될 수 있다.The memory 470 performs an operation based on control data for controlling the operation of the components included in the action robot 400 , an input obtained through the input unit 420 or a command or request obtained through the communication unit 410 , etc. Various data, such as data for the purpose, may be stored.

또한, 메모리(470)에는 프로세서(480)에 포함된 적어도 하나의 프로세서나 컨트롤러에 의해 실행되는 소프트웨어 모듈이나 애플리케이션 등의 프로그램 데이터가 저장될 수 있다.In addition, program data such as a software module or an application executed by at least one processor or controller included in the processor 480 may be stored in the memory 470 .

또한, 메모리(470)에는 적어도 하나의 멀티미디어 콘텐츠 및 적어도 하나의 모션 데이터가 저장될 수 있다. 실시 예에 따라, 메모리(470)에는 멀티미디어 콘텐츠 각각에 대해 맵핑된 모션 데이터에 대한 맵핑 정보가 더 저장될 수 있다. 이 경우, 프로세서(480)는 소정 멀티미디어 콘텐츠의 출력 요청이 수신된 경우, 상기 맵핑 정보에 기초하여 상기 멀티미디어 콘텐츠에 맵핑된 모션 데이터를 로드할 수 있다. 프로세서(480)는 로드된 모션 데이터에 기초하여 피규어 구동부(460)를 제어함으로써 상기 모션 데이터에 대응하는 모션을 제공할 수 있다. 즉, 상기 멀티미디어 콘텐츠 및 상기 맵핑된 모션 데이터는 상술한 액션 로봇 콘텐츠를 구성할 수 있다.In addition, at least one multimedia content and at least one motion data may be stored in the memory 470 . According to an embodiment, mapping information for motion data mapped to each multimedia content may be further stored in the memory 470 . In this case, when a request to output a predetermined multimedia content is received, the processor 480 may load motion data mapped to the multimedia content based on the mapping information. The processor 480 may provide a motion corresponding to the motion data by controlling the figure driver 460 based on the loaded motion data. That is, the multimedia content and the mapped motion data may constitute the above-described action robot content.

이러한 메모리(470)는 하드웨어적으로, ROM, RAM, EEPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기를 포함할 수 있다.The memory 470 may include various storage devices such as ROM, RAM, EEPROM, flash drive, and hard drive in terms of hardware.

프로세서(480)는 액션 로봇(400)의 전반적인 동작을 제어할 수 있다. 예컨대, 프로세서(480)는 적어도 하나의 CPU, AP(application processor), 마이크로컴퓨터(또는 마이컴), 집적 회로, ASIC(application specific integrated circuit) 등을 포함할 수 있다.The processor 480 may control the overall operation of the action robot 400 . For example, the processor 480 may include at least one CPU, an application processor (AP), a microcomputer (or microcomputer), an integrated circuit, an application specific integrated circuit (ASIC), and the like.

프로세서(480)는 멀티미디어 콘텐츠를 출력하도록 출력부(450)를 제어할 수 있다.The processor 480 may control the output unit 450 to output multimedia content.

또한, 프로세서(480)는 상기 멀티미디어 콘텐츠의 출력 중, 또는 상기 멀티미디어 콘텐츠의 출력과 관계없이, 피규어(401)가 소정 모션을 취하거나 액션을 수행하도록 피규어 구동부(460)를 제어할 수 있다.In addition, the processor 480 may control the figure driving unit 460 so that the figure 401 takes a predetermined motion or performs an action during the output of the multimedia content or regardless of the output of the multimedia content.

또한, 프로세서(480)는 피규어(401)가 베이스(402)에 장착되면, 장착된 피규어(401)를 인식하고 피규어(401)의 식별정보를 단말기나 서버로 전송할 수 있다. 이에 따라, 단말기 또는 서버는 모션 데이터의 제공 시, 상기 식별정보에 기초하여 인식된 피규어(401)의 종류에 대응하는 모션 데이터를 제공할 수 있다.In addition, when the figure 401 is mounted on the base 402, the processor 480 may recognize the mounted figure 401 and transmit identification information of the figure 401 to a terminal or a server. Accordingly, when providing the motion data, the terminal or the server may provide motion data corresponding to the type of the figure 401 recognized based on the identification information.

본 발명의 예에 따른 모션 데이터의 구조에 대해 이하 도 6을 참조하여 설명한다.A structure of motion data according to an example of the present invention will be described below with reference to FIG. 6 .

도 6은 본 발명의 실시 예에 따른 모션 데이터의 구조를 설명하기 위한 도면이다.6 is a diagram for explaining the structure of motion data according to an embodiment of the present invention.

예컨대, 제1 시점에 수행되는 제1 포즈와, 제1 시점으로부터 소정 시간이 경과한 제2 시점에 수행되는 제2 포즈(제1 포즈와 다름)가 존재한다고 가정한다. 이 경우, 사람 등이 제1 포즈와 제2 포즈를 취하기 위해서는 제1 시점에 제1 포즈를 취한 후, 제1 시점과 제2 시점 사이에 제1 포즈로부터 제2 포즈로 변화하기 위한 움직임을 수행함으로써, 제2 시점에 제2 포즈를 취할 수 있다. 즉, 모션은 복수의 포즈와, 복수의 포즈 간의 움직임을 포함할 수 있다.For example, it is assumed that a first pose performed at a first time point and a second pose performed at a second time point when a predetermined time has elapsed from the first time point (different from the first pose) exist. In this case, in order for a person or the like to take the first pose and the second pose, the first pose is taken at the first time point, and then a movement is performed to change from the first pose to the second pose between the first time point and the second time point. By doing so, the second pose can be taken at the second time point. That is, the motion may include a plurality of poses and movement between the plurality of poses.

이에 기초하여 도 6을 참조하면, 모션 데이터(MOTION_DATA)는 복수의 스냅샷들(Snapshot1, Snapshot2, Snapshot3, …)을 포함할 수 있다. 복수의 스냅샷들 각각은 어느 하나의 포즈에 대응할 수 있고, 서로 다른 어느 하나의 출력 시점에 매칭될 수 있다.Based on this, referring to FIG. 6 , the motion data MOTION_DATA may include a plurality of snapshots Snapshot1, Snapshot2, Snapshot3, …. Each of the plurality of snapshots may correspond to any one pose and may be matched to any one output time point.

실시 예에 따라, 모션 데이터(MOTION_DATA)는 복수의 부분 모션들(Template1, Template2, Template3, …)을 포함할 수 있다. 상기 복수의 부분 모션들은 복수의 스냅샷들을 포함할 수 있고, 상기 복수의 부분 모션들 중 일부는 모션 데이터(MOTION_DATA) 내에 복수 개가 포함될 수 있다.According to an embodiment, the motion data MOTION_DATA may include a plurality of partial motions Template1, Template2, Template3, ...). The plurality of partial motions may include a plurality of snapshots, and a plurality of some of the plurality of partial motions may be included in motion data MOTION_DATA.

즉, 액션 로봇(400)은 모션 데이터(MOTION_DATA)에 포함된 복수의 스냅샷들 각각의 출력 시점에 기초하여 모션을 제공할 수 있다. 프로세서(480)는 모션의 제공 시, 소정 출력 시점에 대응하는 스냅샷(포즈)이 제공되도록 피규어 구동부(460)를 제어할 수 있다.That is, the action robot 400 may provide motion based on the output timing of each of the plurality of snapshots included in the motion data MOTION_DATA. The processor 480 may control the figure driver 460 to provide a snapshot (pose) corresponding to a predetermined output time point when the motion is provided.

한편, 스냅샷들 간의 변경을 위한 액션 로봇(400)의 움직임 특성(속도, 패턴 등)은 다양할 수 있다. 다만, 종래의 경우 사용자가 상기 움직임 특성을 직접 설정하거나 변경해야 하므로 사용자의 번거로움을 초래하고, 일괄적으로 하나의 움직임 특성(예컨대 등속 움직임)이 자동 적용됨에 따라 사실감이 저하되고 콘텐츠와의 조화가 이루어지지 않는 문제가 있다.Meanwhile, motion characteristics (speed, pattern, etc.) of the action robot 400 for changing between snapshots may vary. However, in the conventional case, since the user has to directly set or change the movement characteristic, it causes inconvenience to the user, and as one movement characteristic (eg, constant velocity movement) is automatically applied in one batch, the sense of realism is reduced and harmony with the content There is a problem that is not done.

이를 해결하기 위해, 본 명세서에서 후술할 실시 예들은 액션 로봇(400)의 모션과 함께 제공되는 콘텐츠(예컨대 음악 등)의 특성에 따라 상기 움직임 특성을 설정하거나, 적절한 움직임 특성을 사용자에게 추천함으로써, 모션의 사실감(reality)을 향상시키고 사용자의 만족도를 극대화할 수 있을 것이다.To solve this, embodiments to be described later in this specification set the motion characteristics according to the characteristics of content (eg, music, etc.) provided with the motion of the action robot 400 or recommend appropriate motion characteristics to the user, It will be possible to improve the realism of motion and maximize user satisfaction.

이와 관련된 본 발명의 실시 예에 대해 이하 도 7 내지 도 12b를 참조하여 설명한다.Hereinafter, an embodiment of the present invention related thereto will be described with reference to FIGS. 7 to 12B.

도 7은 본 발명의 실시 예에 따른 모션 데이터 제공 방법에 대한 일 실시 예를 설명하기 위한 플로우차트이다.7 is a flowchart for explaining an embodiment of a method for providing motion data according to an embodiment of the present invention.

이하 본 명세서에 개시된 실시 예들은 모션 데이터를 제공하는 장치(이하, '모션 데이터 제공 장치' 라 기재함)에 의해 수행될 수 있다. 그리고, 모션 데이터를 처리하여 모션을 출력하고 콘텐츠를 출력하는 동작은 액션 로봇(400)에 의해 수행될 수 있다. Hereinafter, the embodiments disclosed in this specification may be performed by an apparatus providing motion data (hereinafter, referred to as a 'motion data providing apparatus'). And, the operation of processing the motion data to output the motion and output the content may be performed by the action robot 400 .

상기 모션 데이터 제공 장치는 서버, PC, 스마트폰, 태블릿 PC 등의 컴퓨팅 장치를 포함할 수 있다. The motion data providing device may include a computing device such as a server, a PC, a smart phone, or a tablet PC.

실시 예에 따라, 상기 모션 데이터 제공 장치는 액션 로봇(400)을 포함할 수도 있다. 이 경우, 본 발명의 실시 예에 따른 동작들은 액션 로봇(400)에 의해 모두 처리될 수도 있다.According to an embodiment, the motion data providing apparatus may include an action robot 400 . In this case, all operations according to an embodiment of the present invention may be processed by the action robot 400 .

한편, 모션 데이터 제공 장치는 도 1에 도시된 AI 장치(100) 또는 도 2에 도시된 AI 서버(200)로 구현될 수도 있다. 즉, 도 1 또는 도 2에서 상술한 AI 장치(100) 또는 AI 서버(200)와 관련된 특징들은 상기 모션 데이터 제공 장치에도 마찬가지로 적용될 수 있다.Meanwhile, the motion data providing device may be implemented as the AI device 100 shown in FIG. 1 or the AI server 200 shown in FIG. 2 . That is, the features related to the AI device 100 or the AI server 200 described above in FIG. 1 or FIG. 2 may be applied to the motion data providing device as well.

이에 기초하여 도 7을 참조하면, 모션 데이터 제공 장치는 콘텐츠의 데이터를 획득할 수 있다(S700).Based on this, referring to FIG. 7 , the motion data providing apparatus may acquire content data ( S700 ).

상기 콘텐츠는 액션 로봇(400)에 의해 모션과 함께 출력될 콘텐츠로서, 음악, 동화 등의 오디오 콘텐츠에 해당할 수 있고, 상기 데이터는 오디오 신호를 포함할 수 있다.The content is content to be output with motion by the action robot 400 , and may correspond to audio content such as music and a moving picture, and the data may include an audio signal.

상기 모션 데이터 제공 장치는 네트워크를 통해 상기 콘텐츠의 데이터(음원 파일 등)를 콘텐츠 제공자 등 다양한 컴퓨팅 장치로부터 획득할 수 있다. 또는, 모션 데이터 제공 장치의 프로세서(180, 260, 또는 480)는 메모리(170, 230, 또는 470)로부터 상기 콘텐츠의 데이터를 로드할 수도 있다.The motion data providing device may acquire data of the content (such as a sound source file) from various computing devices, such as a content provider, through a network. Alternatively, the processor 180 , 260 , or 480 of the motion data providing apparatus may load data of the content from the memory 170 , 230 , or 470 .

모션 데이터 제공 장치는 획득된 데이터로부터 콘텐츠의 특성을 분석할 수 있다(S710). 콘텐츠의 특성의 분석 결과에 기초하여, 모션 데이터 제공 장치는 콘텐츠에 대한 interpolation(인터폴레이션) 데이터를 획득할 수 있다(S720).The motion data providing apparatus may analyze the characteristics of the content from the acquired data (S710). Based on the analysis result of the characteristics of the content, the motion data providing apparatus may obtain interpolation data for the content ( S720 ).

프로세서(180, 260, 또는 480)는, 획득된 데이터에 포함된 오디오 신호의 신호 특성에 기초하여 상기 콘텐츠의 특성을 분석할 수 있다.The processor 180 , 260 , or 480 may analyze the characteristic of the content based on the signal characteristic of the audio signal included in the acquired data.

예컨대, 상기 콘텐츠가 음악 콘텐츠인 경우, 프로세서(180, 260, 또는 480)는 상기 데이터에 포함된 오디오 신호의 신호 특성에 기초하여 음악의 구조(또는 형식)를 분석하고, 음악의 무드 및 장르를 분석할 수 있다.For example, when the content is music content, the processor 180 , 260 , or 480 analyzes the structure (or format) of the music based on the signal characteristics of the audio signal included in the data, and determines the mood and genre of the music. can be analyzed.

프로세서(180, 260, 또는 480)는 분석 결과에 기초하여 interpolation 데이터를 획득할 수 있다. 상기 interpolation 데이터는, 콘텐츠의 구간들 각각에 대한 interpolation 특성에 대한 정보를 포함할 수 있다. 상기 구간에는 모션 데이터에 포함된 복수의 스냅샷들 중 적어도 일부가 대응할 수 있다.The processor 180 , 260 , or 480 may acquire interpolation data based on the analysis result. The interpolation data may include information on interpolation characteristics for each section of the content. At least some of the plurality of snapshots included in the motion data may correspond to the section.

상기 interpolation 특성은, 도 6에서 상술한 스냅샷들 간의 움직임 특성(속도 및/또는 패턴)을 나타낼 수 있다. The interpolation characteristic may indicate a motion characteristic (speed and/or pattern) between the snapshots described above with reference to FIG. 6 .

S710 단계 내지 S720 단계와 관련된 내용은 추후 도 8 내지 도 9b를 통해 보다 상세히 설명하기로 한다.Contents related to steps S710 to S720 will be described in more detail later with reference to FIGS. 8 to 9B .

프로세서(180, 260, 또는 480)는 상기 interpolation 데이터를 출력부(예컨대 디스플레이 등)를 통해 출력하거나, 통신부(110, 210, 또는 410)를 통해 사용자의 단말기로 전송함으로써, 사용자에게 상기 콘텐츠와 함께 제공될 모션 데이터에 대한 interpolation 특성을 추천할 수 있다. 사용자는 상기 interpolation 데이터에 기초하여 모션 데이터에 대한 interpolation 특성을 설정함으로써 interpolation된 모션 데이터를 획득할 수 있다.The processor 180, 260, or 480 outputs the interpolation data through an output unit (eg, a display, etc.) or transmits it to the user's terminal through the communication unit 110, 210, or 410, thereby providing the user with the content. Interpolation characteristics for motion data to be provided can be recommended. The user may obtain interpolated motion data by setting interpolation characteristics for the motion data based on the interpolation data.

실시 예에 따라, 모션 데이터 제공 장치는 획득된 interpolation 데이터를 이용하여 모션 데이터에 대한 interpolation을 자동으로 수행할 수 있다(S730).According to an embodiment, the motion data providing apparatus may automatically perform interpolation on the motion data using the obtained interpolation data (S730).

상술한 바와 같이, 상기 interpolation 데이터는 콘텐츠의 구간들 각각에 대한 interpolation 특성에 대한 정보를 포함하고, 상기 구간에는 모션 데이터에 포함된 복수의 스냅샷들 중 적어도 일부가 대응할 수 있다.As described above, the interpolation data includes information on interpolation characteristics for each section of the content, and at least some of a plurality of snapshots included in the motion data may correspond to the section.

프로세서(180, 260, 또는 480)는 상기 interpolation 데이터에 기초하여, 복수의 스냅샷들 사이의 구간들 각각에 대한 interpolation을 수행할 수 있다. 예컨대, 제1 스냅샷과 제2 스냅샷 사이의 구간(제1 구간), 및 제2 스냅샷과 제3 스냅샷 사이의 구간(제2 구간)에 대응하는 interpolation 특성이 제1 특성인 경우, 프로세서(180, 260, 또는 480)는 상기 제1 특성에 따라 상기 제1 구간 및 제2 구간에 대한 interpolation을 수행할 수 있다.The processor 180 , 260 , or 480 may perform interpolation on each of the sections between the plurality of snapshots based on the interpolation data. For example, when the interpolation characteristic corresponding to the interval between the first snapshot and the second snapshot (the first interval) and the interval between the second snapshot and the third snapshot (the second interval) is the first characteristic, The processor 180 , 260 , or 480 may perform interpolation on the first interval and the second interval according to the first characteristic.

일례로, 프로세서(180, 260, 또는 480)는 상기 interpolation 특성에 기초하여, 스냅샷들 사이의 구간 내의 적어도 하나의 시점 각각에 대응하는 가상 스냅샷을 생성함으로써, 상기 interpolation을 수행할 수 있다. 이 경우, interpolation된 모션 데이터는, 기 포함된 복수의 스냅샷들 및 복수의 가상 스냅샷들을 포함할 수 있다.For example, the processor 180 , 260 , or 480 may perform the interpolation by generating a virtual snapshot corresponding to each of at least one time point within a section between snapshots based on the interpolation characteristic. In this case, the interpolated motion data may include a plurality of previously included snapshots and a plurality of virtual snapshots.

모션 데이터 제공 장치가 액션 로봇(400)과 연결된 컴퓨팅 장치인 경우, 프로세서(180 또는 260)는 interpolation된 모션 데이터를 액션 로봇(400)으로 전송하도록 통신부(110 또는 210)를 제어할 수 있다. 실시 예에 따라, 모션 데이터 제공 장치는 S710 단계에서 상술한 콘텐츠의 데이터를 상기 액션 로봇(400)으로 전송할 수 있다.When the motion data providing device is a computing device connected to the action robot 400 , the processor 180 or 260 may control the communication unit 110 or 210 to transmit the interpolated motion data to the action robot 400 . According to an embodiment, the motion data providing apparatus may transmit the above-described content data to the action robot 400 in step S710 .

액션 로봇(400)은 수신된 interpolation된 모션 데이터를 처리하여 모션을 출력하고, 출력부(450; 예컨대 스피커(452))를 통해 콘텐츠를 출력함으로써, 모션 및 콘텐츠를 제공할 수 있다.The action robot 400 may provide motion and content by processing the received interpolated motion data, outputting a motion, and outputting the content through the output unit 450 (eg, the speaker 452).

한편, 모션 데이터 제공 장치가 액션 로봇(400)으로 구현된 경우, 모션 데이터 제공 장치는 interpolation된 모션 데이터를 처리하여 모션을 출력하고, 출력부(450; 예컨대 스피커(452))를 통해 콘텐츠를 출력할 수 있다.On the other hand, when the motion data providing device is implemented as the action robot 400, the motion data providing device processes the interpolated motion data to output a motion, and outputs the content through the output unit 450 (eg, the speaker 452). can do.

즉, 액션 로봇(400)은 모션 데이터 제공 장치에 의해 interpolation된 모션 데이터에 기초하여 모션을 출력함으로써, 함께 출력되는 콘텐츠에 대해 자연스러운 모션을 제공할 수 있다.That is, the action robot 400 may provide a natural motion for content output together by outputting a motion based on the motion data interpolated by the motion data providing device.

이하, 도 8 내지 도 12b를 참조하여 도 7의 실시 예를 보다 상세히 설명한다.Hereinafter, the embodiment of FIG. 7 will be described in more detail with reference to FIGS. 8 to 12B.

도 8 내지 도 12b는 도 7에 도시된 모션 데이터 제공 방법과 관련된 예시도들이다.8 to 12B are exemplary views related to the method of providing motion data shown in FIG. 7 .

이하, 모션 데이터 제공 장치는 도 1의 AI 장치(100)인 것으로 가정한다.Hereinafter, it is assumed that the motion data providing device is the AI device 100 of FIG. 1 .

도 8을 참조하면, 모션 데이터 제공 장치는 모션 데이터 제공 방법이 구현된 모듈(500)을 포함할 수 있다. 상기 모듈(500)은, 콘텐츠에 기초한 interpolation 데이터(IP_DATA)를 생성하고, 생성된 interpolation 데이터(IP_DATA)에 기초하여 모션 데이터(MOTION_DATA)에 대한 interpolation을 수행할 수 있다.Referring to FIG. 8 , an apparatus for providing motion data may include a module 500 in which a method for providing motion data is implemented. The module 500 may generate interpolation data IP_DATA based on content and perform interpolation on motion data MOTION_DATA based on the generated interpolation data IP_DATA.

상기 모듈(500)은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있고, 모션 데이터 제공 장치의 프로세서(180)는, 상기 모듈(500)의 구동을 제어함으로써 상술한 모션 데이터 제공 방법을 수행할 수 있다.The module 500 may be implemented by hardware, software, or a combination of hardware and software, and the processor 180 of the motion data providing apparatus performs the above-described motion data providing method by controlling the operation of the module 500 . can be done

실시 예에 따라, 상기 모듈(500)은 복수 개가 존재할 수 있고, 이 경우 복수의 모듈들 각각은 대응하는 종류의 콘텐츠에 대해 interpolation 데이터를 생성하고 모션 데이터에 대한 interpolation을 수행할 수 있다.According to an embodiment, a plurality of modules 500 may exist. In this case, each of the plurality of modules may generate interpolation data for a corresponding type of content and perform interpolation on motion data.

예컨대, 음악 콘텐츠에 대응하는 모듈(500)은, 콘텐츠 구조 분석기(510), 무드/장르 분석기(520), 및 Interpolation 데이터 생성기(530)를 포함할 수 있다.For example, the module 500 corresponding to the music content may include a content structure analyzer 510 , a mood/genre analyzer 520 , and an interpolation data generator 530 .

프로세서(180)는 음악 콘텐츠의 데이터(MUSIC_DATA)가 획득되면, 콘텐츠 구조 분석기(510)를 통해 상기 데이터(MUSIC_DATA)로부터 음악의 구조(또는 형식)를 분석할 수 있다.When the data MUSIC_DATA of the music content is obtained, the processor 180 may analyze the structure (or format) of the music from the data MUSIC_DATA through the content structure analyzer 510 .

음악의 구조(형식)은, 음악에 포함된 악절들 간의 관계에 따라 정의되는 것으로서, AA'BA, ABBA, ABCA 등 다양한 형식이 존재하며, 이는 이미 공지된 지식에 해당하는 바 추가적인 설명은 생략하기로 한다.The structure (form) of music is defined according to the relationship between the passages included in the music, and there are various types such as AA'BA, ABBA, ABCA, etc., which correspond to already known knowledge, so additional explanations will be omitted. do it with

프로세서(180)는 콘텐츠 구조 분석기(510)를 통해, 음악 콘텐츠의 데이터(MUSIC_DATA)에 대해 악절(예컨대 8마디의 큰악절) 단위로 유사 여부를 분석할 수 있다.The processor 180 may analyze whether the music content data (MUSIC_DATA) is similar in units of passages (eg, large passages of 8 bars) through the content structure analyzer 510 .

예컨대, 콘텐츠 구조 분석기(510)는 MFCC(Mel Frequency Cepstral Coefficient) 기법이 구현된 하드웨어 또는 소프트웨어를 포함할 수 있다. 이에 따라, 프로세서(180)는 상기 MFCC 기법에 따라 음악 콘텐츠의 데이터(MUSIC_DATA)로부터 특징점들(features)을 악절 단위(또는 프레임 단위)로 추출할 수 있다.For example, the content structure analyzer 510 may include hardware or software in which a Mel Frequency Cepstral Coefficient (MFCC) technique is implemented. Accordingly, the processor 180 may extract features from the music content data MUSIC_DATA in units of passages (or units of frames) according to the MFCC technique.

또한, 콘텐츠 구조 분석기(510)는 악절 단위로 추출된 특징점들의 유사도를 판단하기 위한 하드웨어 또는 소프트웨어를 더 포함할 수 있다. 예컨대, 상기 콘텐츠 구조 분석기(510)는 자기 유사성 매트릭스(self-similarity matrix) 등의 기법을 통해 상기 특징점들의 유사도를 판단할 수 있다.Also, the content structure analyzer 510 may further include hardware or software for determining the similarity of feature points extracted in units of passages. For example, the content structure analyzer 510 may determine the similarity of the feature points through a technique such as a self-similarity matrix.

프로세서(180)는 판단된 유사도에 기초하여 음악 콘텐츠의 구조(형식)에 대한 정보를 획득할 수 있다. The processor 180 may acquire information on the structure (format) of the music content based on the determined similarity.

예컨대, 제1 악절과 제2 악절의 유사도가 제1 기준 유사도 이상인 경우, 프로세서(180)는 제1 악절과 제2 악절이 동일한 것으로 판단할 수 있다. 또한, 제1 악절과 제2 악절의 유사도가 제1 기준 유사도보다 낮은 제2 기준 유사도 이상인 경우, 프로세서(180)는 제1 악절과 제2 악절이 유사한 것으로 판단할 수 있다. 반면, 제1 악절과 제2 악절의 유사도가 제2 기준 유사도보다 낮은 경우, 프로세서(180)는 제1 악절과 제2 악절이 상이한 것으로 판단할 수 있다. 프로세서(180)는 악절들 간의 유사도를 판단함으로써, 상기 음악 콘텐츠의 구조에 대한 정보를 획득할 수 있다.For example, when the degree of similarity between the first section and the second section is equal to or greater than the first reference degree of similarity, the processor 180 may determine that the first section and the second section are the same. Also, when the similarity between the first clause and the second clause is equal to or greater than the second reference similarity that is lower than the first reference similarity, the processor 180 may determine that the first clause and the second clause are similar. On the other hand, when the similarity between the first section and the second section is lower than the second reference degree of similarity, the processor 180 may determine that the first section and the second section are different. The processor 180 may obtain information on the structure of the music content by determining the similarity between passages.

또한, 프로세서(180)는 무드/장르 분석기(520)를 통해 상기 데이터(MUSIC_DATA)로부터 음악의 무드 및 장르를 분석할 수 있다.Also, the processor 180 may analyze the music mood and genre from the data MUSIC_DATA through the mood/genre analyzer 520 .

무드/장르 분석기(520)는 음악 콘텐츠의 데이터(MUSIC_DATA)로부터 복수의 특징점들(또는 특징 벡터)을 추출하기 위한 하드웨어 또는 소프트웨어(알고리즘 등)를 포함할 수 있다. 예컨대 상기 특징점들은 상술한 MFCC, RMSE(Root-Mean-Square Error), Zero Crossing Rate, Spectral Centroid, Chroma, Spectral Flux, Spectral Roll off point 등에 따라 추출될 수 있다.The mood/genre analyzer 520 may include hardware or software (such as an algorithm) for extracting a plurality of feature points (or feature vectors) from the data (MUSIC_DATA) of the music content. For example, the feature points may be extracted according to the above-described MFCC, Root-Mean-Square Error (RMSE), Zero Crossing Rate, Spectral Centroid, Chroma, Spectral Flux, Spectral Roll off point, and the like.

또한, 무드/장르 분석기(520)는 추출된 특징점들로부터 음악 콘텐츠의 무드 및 장르 각각에 대한 정보를 획득하기 위한 분석 모델을 더 포함할 수 있다. 상기 분석 모델은 머신 러닝(예컨대 딥 러닝) 기반으로 학습 및 구축된 인공신경망을 포함할 수 있다.Also, the mood/genre analyzer 520 may further include an analysis model for acquiring information on each mood and genre of the music content from the extracted feature points. The analysis model may include an artificial neural network trained and built based on machine learning (eg, deep learning).

실시 예에 따라, 프로세서(180)는 데이터(MUSIC_DATA)를 복수의 부분 데이터로 구분(예컨대, 악절 단위의 세그먼트들로 구분)하고, 구분된 세그먼트들 각각에 대해 무드/장르 분석기(520)를 통한 분석 프로세스를 수행할 수 있다. 이 경우, 음악 콘텐츠에 대한 무드 및 장르 정보는 악절 단위의 무드 정보 및 장르 정보를 포함할 수 있다.According to an embodiment, the processor 180 divides the data (MUSIC_DATA) into a plurality of partial data (eg, into segments of a section unit), and uses the mood/genre analyzer 520 for each of the divided segments. analysis process can be performed. In this case, the mood and genre information for the music content may include mood information and genre information in units of passages.

프로세서(180)는 Interpolation 데이터 생성기(530)를 통해 상기 음악 콘텐츠에 대한 Interpolation 데이터(IP_DATA)를 생성할 수 있다. Interpolation 데이터 생성기(530)는 음악 콘텐츠의 구조에 대한 정보, 무드 정보, 및 장르 정보 중 적어도 하나에 기초하여 상기 Interpolation 데이터(IP_DATA)를 생성할 수 있다.The processor 180 may generate interpolation data IP_DATA for the music content through the interpolation data generator 530 . The interpolation data generator 530 may generate the interpolation data IP_DATA based on at least one of information on the structure of music content, mood information, and genre information.

이와 관련하여 도 9a를 참조하면, 프로세서(180)는 음악 콘텐츠의 데이터(MUSIC_DATA)로부터, 음악 콘텐츠의 구조와 관련된 정보(예컨대 AA'BA 구조), 무드 정보(예컨대 Arousing, Angry, Exciting, Powerful), 및 장르 정보(예컨대 Hip-hop, Electronic)를 획득할 수 있다.In this regard, referring to FIG. 9A , the processor 180 receives music content data (MUSIC_DATA), information related to the structure of the music content (eg, AA'BA structure), and mood information (eg, Arousing, Angry, Exciting, Powerful). , and genre information (eg, Hip-hop, Electronic) may be acquired.

무드/장르 분석기(520)에 포함된 분석 모델(예컨대 제1 분석 모델)은, 데이터(MUSIC_DATA)로부터 추출된 특징점들에 기초하여, 도 9a에 도시된 무드 테이블(MOOD_TABLE)에 포함된 어느 하나의 무드 정보를 악절 단위로 출력할 수 있다. 또한, 무드/장르 분석기(520)에 포함된 분석 모델(예컨대 상기 제1 분석 모델과 같거나 다른 제2 분석 모델)은, 도 9a에 도시된 장르 테이블(GENRE_TABLE)에 포함된 적어도 하나의 장르 정보를 출력할 수 있다.The analysis model (eg, the first analysis model) included in the mood/genre analyzer 520 is any one included in the mood table MOOD_TABLE shown in FIG. 9A based on the feature points extracted from the data MUSIC_DATA. You can output mood information in units of passages. In addition, the analysis model included in the mood/genre analyzer 520 (eg, a second analysis model that is the same as or different from the first analysis model) includes at least one genre information included in the genre table GENRE_TABLE shown in FIG. 9A . can be printed out.

도 9b를 참조하면, 프로세서(180)는 Interpolation 데이터 생성기(530)를 통해, 상기 획득된 정보로부터 Interpolation 데이터(IP_DATA)를 획득할 수 있다.Referring to FIG. 9B , the processor 180 may obtain interpolation data IP_DATA from the obtained information through the interpolation data generator 530 .

프로세서(180)는 복수의 Interpolation 특성들 중, 음악 콘텐츠의 장르 정보에 대응하는 적어도 하나의 Interpolation 특성을 획득할 수 있다. 장르 정보에 대응하는 Interpolation 특성에 대한 정보는 메모리(170)에 저장되어 있을 수 있다.The processor 180 may acquire at least one interpolation characteristic corresponding to genre information of the music content from among the plurality of interpolation characteristics. Information on the interpolation characteristic corresponding to the genre information may be stored in the memory 170 .

예컨대 획득된 장르 정보가 “Hip-hop” 및 “Electronic”에 해당하는 경우, 프로세서(180)는 “Exponential”, “Constant”, “Logarithmic”, 및 “Beizer/ Continuous”에 해당하는 Interpolation 특성들을 획득할 수 있다. 상기 획득된 Interpolation 특성들의 형태는 도 11에서 후술한다.For example, when the acquired genre information corresponds to “Hip-hop” and “Electronic”, the processor 180 acquires interpolation characteristics corresponding to “Exponential”, “Constant”, “Logarithmic”, and “Beizer/Continuous” can do. The form of the obtained interpolation characteristics will be described later with reference to FIG. 11 .

프로세서(180)는 음악 콘텐츠의 구조에 대한 정보 및 무드 정보에 기초하여, 음악 콘텐츠의 악절들(세그먼트들) 각각에 대해 상기 획득된 Interpolation 특성들 중 어느 하나를 설정할 수 있다.The processor 180 may set any one of the obtained interpolation characteristics for each of the passages (segments) of the music content, based on the information on the structure of the music content and the mood information.

도시되지는 않았으나, 메모리(170)에는 음악 콘텐츠의 구조들 및 다양한 무드들 각각에 매칭되는 적어도 하나의 Interpolation 특성에 대한 정보가 저장될 수 있다.Although not shown, information on at least one interpolation characteristic matching each of the structures of music content and various moods may be stored in the memory 170 .

프로세서(180)는 상기 저장된 정보, 상기 구조 정보, 상기 무드 정보, 및 상기 장르 정보에 기초하여 획득된 Interpolation 특성들에 기초하여, 상기 악절들 각각에 대해 Interpolation 특성을 설정할 수 있다.The processor 180 may set an interpolation characteristic for each of the passages based on the interpolation characteristics obtained based on the stored information, the structure information, the mood information, and the genre information.

예컨대, 도 9b에 도시된 바와 같이 프로세서(180)는 “Exponential”, “Logarithmic”, “Bezier/Continuous”, “Constant” 순으로 Interpolation 특성이 설정되는 Interpolation 데이터(IP_DATA)를 획득할 수 있다.For example, as shown in FIG. 9B , the processor 180 may obtain the interpolation data IP_DATA in which the interpolation characteristics are set in the order of “Exponential”, “Logarithmic”, “Bezier/Continuous”, and “Constant”.

즉, 음악 콘텐츠의 악절들 중 제1 악절에는 “Exponential” 특성이 설정되고, 제2 악절에는 “Logarithmic” 특성이 설정되며, 제3 악절에는 “Bezier/Continuous” 특성이 설정되고, 제4 악절에는 “Constant” 특성이 설정될 수 있다.That is, among the sections of the music content, the “Exponential” property is set to the first section, the “Logarithmic” property is set to the second section, the “Bezier/Continuous” property is set to the third section, and the fourth section is set A “Constant” property may be set.

도 11의 (a)는 “Exponential” 특성을 나타내는 그래프의 예이다. “Exponential” 특성에 의할 경우, 액션 로봇(400)의 움직임 속도는 현재 스냅샷(Snapshot n)의 시점으로부터 다음 스냅샷(Snapshot n+1)의 시점으로 근접할수록 빨라질 수 있다.11 (a) is an example of a graph showing the “Exponential” characteristic. According to the “Exponential” characteristic, the movement speed of the action robot 400 may increase as it approaches the time of the next snapshot (Snapshot n+1) from the time of the current snapshot (Snapshot n).

도 11의 (b)는 “Logarithmic” 특성을 나타내는 그래프의 예이다. “Logarithmic” 특성에 의할 경우, 액션 로봇(400)의 움직임 속도는 현재 스냅샷(Snapshot n)의 시점으로부터 다음 스냅샷(Snapshot n+1)의 시점으로 근접할수록 느려질 수 있다.11 (b) is an example of a graph showing the “Logarithmic” characteristic. According to the “Logarithmic” characteristic, the movement speed of the action robot 400 may become slower as it approaches the time of the next snapshot (Snapshot n+1) from the time of the current snapshot (Snapshot n).

도 11의 (c)는 “Bezier/Continuous” 특성을 나타내는 그래프의 예이다. “Bezier/Continuous” 특성에 의할 경우, 액션 로봇(400)의 움직임 속도는 현재 스냅샷(Snapshot n)의 시점으로부터 현재 스냅샷(Snapshot n)과 다음 스냅샷(Snapshot n+1)의 중간 시점으로 갈수록 빨라지고, 상기 중간 시점으로부터 다음 스냅샷(Snapshot n+1)의 시점으로 갈수록 느려질 수 있다. 11 (c) is an example of a graph showing the “Bezier/Continuous” characteristic. According to the “Bezier/Continuous” characteristic, the movement speed of the action robot 400 is an intermediate point between the current snapshot n and the next snapshot n+1 from the point of the current snapshot n. , and may become slower from the intermediate time point to the time point of the next snapshot (Snapshot n+1).

도 11의 (d)는 “Constant” 특성을 나타내는 그래프의 예이다. “Constant” 특성에 의할 경우, 액션 로봇(400)은 현재 스냅샷(Snapshot n)의 포즈를 다음 스냅샷(Snapshot n+1)의 시점에 근접한 시점까지 유지한 후, 급격히 다음 스냅샷(Snapshot n+1)의 포즈로 변경할 수 있다.11 (d) is an example of a graph showing the “Constant” characteristic. According to the “Constant” characteristic, the action robot 400 maintains the pose of the current snapshot (Snapshot n) until a point close to the time of the next snapshot (Snapshot n+1), and then abruptly maintains the pose of the next snapshot (Snapshot n+1). It can be changed to pose n+1).

프로세서(180)는 획득된 Interpolation 데이터(IP_DATA)를 출력부(150)를 통해 출력하거나, 통신부(110)를 통해 사용자의 단말기 또는 액션 로봇(400) 등으로 전송할 수 있다.The processor 180 may output the obtained interpolation data IP_DATA through the output unit 150 or transmit it to the user's terminal or the action robot 400 through the communication unit 110 .

다시 도 8을 참조하면, 실시 예에 따라 모듈(500)은 Interpolation 데이터(IP_DATA)에 기초하여 모션 데이터(MOTION_DATA)에 대한 Interpolation을 수행하는 Interpolator(540)를 더 포함할 수 있다. 프로세서(180)는 상기 Interpolation의 수행 결과에 따라, Interpolation된 모션 데이터(IP_MOTION_DATA)를 획득할 수 있다.Referring back to FIG. 8 , according to an embodiment, the module 500 may further include an interpolator 540 that performs interpolation on the motion data MOTION_DATA based on the interpolation data IP_DATA. The processor 180 may acquire interpolated motion data IP_MOTION_DATA according to a result of the interpolation.

이와 관련하여 도 10 내지 도 11을 참조하면, 프로세서(180)(Interpolator(540))는 상기 Interpolation 데이터(IP_DATA)에 기초하여, 모션 데이터(MOTION_DATA)에 포함된 연속된 스냅샷들(Snapshot n, Snapshot n+1) 사이의 구간에 대한 적어도 하나의 가상 스냅샷(Snapshot x)을 생성할 수 있다.In this regard, referring to FIGS. 10 to 11 , the processor 180 (Interpolator 540 ) performs continuous snapshots included in the motion data MOTION_DATA based on the interpolation data IP_DATA, Snapshot n, At least one virtual snapshot (Snapshot x) for a section between snapshots n+1) may be generated.

즉, 프로세서(180)는 스냅샷 사이의 구간에 대한 Interpolation 특성을 반영하여 적어도 하나의 가상 스냅샷(Snapshot x)을 생성할 수 있다. 이에 따라 획득되는 Interpolation된 모션 데이터(IP_MOTION_DATA)는 모션 데이터(MOTION_DATA)의 스냅샷들 및 상기 생성된 가상 스냅샷들을 포함할 수 있다.That is, the processor 180 may generate at least one virtual snapshot (Snapshot x) by reflecting the interpolation characteristic of the interval between snapshots. Accordingly, the interpolated motion data IP_MOTION_DATA obtained may include snapshots of the motion data MOTION_DATA and the generated virtual snapshots.

액션 로봇(400)은 상기 Interpolation된 모션 데이터(IP_MOTION_DATA)에 포함된 스냅샷들 및 가상 스냅샷들에 기초하여 모션을 제공함으로써, Interpolation 데이터가 반영된 모션을 제공할 수 있다.The action robot 400 may provide a motion in which the interpolation data is reflected by providing a motion based on snapshots and virtual snapshots included in the interpolated motion data IP_MOTION_DATA.

도 12a 내지 도 12b를 참조하면, 도 12a는 “Bezier/Continuous” 특성에 따라 Interpolation된 모션 데이터를 이용한 모션 제공의 예를 나타내고, 도 12b는 “Constant” 특성에 따라 Interpolation된 모션 데이터를 이용한 모션 제공의 예를 나타낸다.12A to 12B, FIG. 12A shows an example of providing motion using interpolated motion data according to the “Bezier/Continuous” characteristic, and FIG. 12B shows motion using interpolated motion data according to the “Constant” characteristic. shows an example of

모션 데이터(MOTION_DATA)에 포함된 제1 스냅샷이 제1 시점(T1)에 대응하고, 제1 스냅샷의 다음 스냅샷인 제2 스냅샷이 제3 시점(T3)에 대응할 경우, 제1 시점(T1)과 제3 시점(T3) 사이의 제2 시점(T2)에는 Interpolation된 모션 데이터(IP_MOTION_DATA)의 제1 스냅샷과 제2 스냅샷 사이에 포함된 가상 스냅샷이 대응할 수 있다.When the first snapshot included in the motion data MOTION_DATA corresponds to the first time point T1 and the second snapshot that is the next snapshot of the first snapshot corresponds to the third time point T3, the first time point A virtual snapshot included between the first snapshot and the second snapshot of the interpolated motion data IP_MOTION_DATA may correspond to the second time point T2 between the T1 and the third time point T3 .

액션 로봇(400)의 프로세서(480)는 제1 스냅샷에 대응하는 포즈가 제1 시점(T1)에 출력되고, 가상 스냅샷에 대응하는 포즈가 제2 시점(T2)에 출력되며, 제2 스냅샷에 대응하는 포즈가 제3 시점(T3)에 출력되도록 피규어 구동부(460)를 제어할 수 있다.The processor 480 of the action robot 400 outputs a pose corresponding to the first snapshot at a first time point T1, a pose corresponding to the virtual snapshot at a second time point T2, and a second time point T2. The figure driver 460 may be controlled so that the pose corresponding to the snapshot is output at the third time point T3.

도 12a를 참조하면, “Bezier/Continuous” 특성에 따라 Interpolation된 경우, 상기 가상 스냅샷에 대응하는 포즈는 제1 스냅샷의 포즈와 제2 스냅샷의 포즈의 중간 포즈에 해당할 수 있다. 구체적으로, 제2 시점(T2)에서 피규어(401a)의 팔(405a)의 위치는, 제1 시점(T1)에서의 팔(405a)의 위치와 제3 시점(T3)에서의 팔(405a)의 위치의 중간 위치에 해당할 수 있다.Referring to FIG. 12A , in the case of interpolation according to the “Bezier/Continuous” characteristic, the pose corresponding to the virtual snapshot may correspond to an intermediate pose between the pose of the first snapshot and the pose of the second snapshot. Specifically, the position of the arm 405a of the figure 401a at the second time point T2 is the position of the arm 405a at the first time point T1 and the arm 405a at the third time point T3. may correspond to an intermediate position of the position of

반면, 도 12b를 참조하면, “Constant” 특성에 따라 Interpolation된 경우, 상기 가상 스냅샷의 포즈는 제1 스냅샷의 포즈와 동일할 수 있다. 구체적으로, 제2 시점(T2)에서 피규어(401a)의 팔(405a)의 위치는, 제1 시점(T1)에서의 팔(405a)의 위치와 동일할 수 있다.On the other hand, referring to FIG. 12B , in the case of interpolation according to the “Constant” characteristic, the pose of the virtual snapshot may be the same as the pose of the first snapshot. Specifically, the position of the arm 405a of the figure 401a at the second time point T2 may be the same as the position of the arm 405a at the first time point T1 .

즉, 출력되는 콘텐츠의 특성에 기초하여 설정되는 Interpolation 특성에 의해, 동일한 모션 데이터(MOTION_DATA)를 이용한 다양한 형태의 모션이 제공될 수 있다. That is, various types of motions using the same motion data MOTION_DATA may be provided by the interpolation characteristic set based on the characteristics of the output content.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments.

본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다. The scope of protection of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

Claims (18)

통신부;
메모리; 및
상기 통신부 또는 상기 메모리로부터, 액션 로봇을 통해 출력 가능한 콘텐츠의 데이터를 획득하고,
상기 콘텐츠의 특성에 기초한 interpolation 데이터를 획득하고,
상기 액션 로봇을 통해 출력가능한 모션 데이터에 대해 상기 interpolation 데이터를 적용하여 interpolation된 모션 데이터를 획득하는 프로세서를 포함하고,
상기 모션 데이터는 서로 다른 시점들 각각에 대한 상기 액션 로봇의 포즈(pose)를 나타내는 복수의 스냅샷들을 포함하고,
상기 interpolation 데이터는,
상기 복수의 스냅샷들 사이의 구간들 각각에 대한 상기 액션 로봇의 움직임 특성을 설정하는 적어도 하나의 interpolation 특성 정보를 포함하는 장치.
Communication department;
Memory; and
Obtaining data of content that can be output through the action robot from the communication unit or the memory,
Obtaining interpolation data based on the characteristics of the content,
A processor for obtaining interpolated motion data by applying the interpolation data to motion data outputable through the action robot,
The motion data includes a plurality of snapshots representing the pose of the action robot for each of different viewpoints,
The interpolation data is
An apparatus including at least one interpolation characteristic information for setting the motion characteristic of the action robot for each of the sections between the plurality of snapshots.
제1항에 있어서,
상기 콘텐츠는 오디오 콘텐츠를 포함하고,
상기 프로세서는,
상기 콘텐츠의 데이터에 포함된 오디오 신호의 신호 특성으로부터 상기 콘텐츠의 특성에 대한 정보를 획득하고,
상기 콘텐츠의 특성에 대한 정보에 기초하여 상기 interpolation 데이터를 획득하는 장치.
The method of claim 1,
The content includes audio content,
The processor,
obtaining information about the characteristics of the content from the signal characteristics of an audio signal included in the data of the content;
An apparatus for obtaining the interpolation data based on information on the characteristics of the content.
제2항에 있어서,
상기 프로세서는,
상기 오디오 신호의 신호 특성에 기초한 적어도 하나의 특징점을 추출하고,
머신 러닝 기반으로 학습된 분석 모델을 이용하여, 상기 추출된 적어도 하나의 특징점으로부터 상기 콘텐츠의 특성에 대한 정보를 획득하는 장치.
The method of claim 2,
The processor,
extracting at least one feature point based on the signal characteristic of the audio signal,
An apparatus for obtaining information on the characteristics of the content from the extracted at least one feature point using an analysis model learned based on machine learning.
제2항에 있어서,
상기 프로세서는,
상기 오디오 신호를 적어도 하나의 구간으로 구분하고, 구분된 구간 각각의 특성에 대한 상기 적어도 하나의 interpolation 특성 정보를 획득하는 장치.
The method of claim 2,
The processor,
An apparatus for dividing the audio signal into at least one section, and obtaining the at least one interpolation characteristic information for each of the divided sections.
제2항에 있어서,
상기 콘텐츠는 음악 콘텐츠를 포함하고,
상기 음악 콘텐츠의 특성에 대한 정보는 상기 음악 콘텐츠의 구조, 무드, 및 장르 중 적어도 하나를 포함하는 장치.
The method of claim 2,
The content includes music content,
The information on the characteristics of the music content includes at least one of a structure, a mood, and a genre of the music content.
제5항에 있어서,
상기 메모리는,
음악 콘텐츠의 구조, 무드, 및 장르 중 적어도 하나에 매칭되는 적어도 하나의 interpolation 특성 정보에 대한 매칭 데이터를 저장하고,
상기 프로세서는,
상기 매칭 데이터에 기초하여, 상기 음악 콘텐츠의 특성에 대한 정보에 매칭되는 상기 적어도 하나의 interpolation 특성 정보를 획득하는 장치.
The method of claim 5,
The memory is
storing matching data for at least one interpolation characteristic information matching at least one of a structure, a mood, and a genre of the music content;
The processor,
An apparatus for obtaining the at least one interpolation characteristic information matching the information on the characteristic of the music content, based on the matching data.
제1항에 있어서,
상기 움직임 특성은 상기 액션 로봇에 포함된 관절의 움직임 속도 및 패턴 중 적어도 하나를 포함하는 장치.
The method of claim 1,
The motion characteristic is an apparatus including at least one of a movement speed and a pattern of a joint included in the action robot.
제1항에 있어서,
상기 프로세서는,
상기 모션 데이터에 포함된 제1 스냅샷과 제2 스냅샷 사이의 구간에 대한 interpolation 특성 정보에 기초하여, 상기 구간에 포함되는 적어도 하나의 가상 스냅샷을 생성하고,
상기 모션 데이터 및 상기 생성된 적어도 하나의 가상 스냅샷을 포함하는 상기 interpolation된 모션 데이터를 획득하는 장치.
The method of claim 1,
The processor,
Based on interpolation characteristic information for a section between the first snapshot and the second snapshot included in the motion data, at least one virtual snapshot included in the section is generated,
An apparatus for acquiring the interpolated motion data including the motion data and the generated at least one virtual snapshot.
제8항에 있어서,
상기 프로세서는,
상기 interpolation된 모션 데이터를 상기 액션 로봇으로 전송하도록 상기 통신부를 제어하는 장치.
The method of claim 8,
The processor,
A device for controlling the communication unit to transmit the interpolated motion data to the action robot.
제8항에 있어서,
상기 장치는 상기 액션 로봇이고,
상기 액션 로봇은 적어도 하나의 관절을 포함하는 피규어, 및 상기 적어도 하나의 관절의 움직임을 위한 적어도 하나의 모터를 포함하고,
상기 프로세서는,
상기 콘텐츠를 스피커를 통해 출력하고,
상기 interpolation된 모션 데이터에 기초하여 상기 적어도 하나의 모터를 제어하는 장치.
The method of claim 8,
the device is the action robot;
The action robot includes a figure including at least one joint, and at least one motor for movement of the at least one joint,
The processor,
output the content through a speaker,
An apparatus for controlling the at least one motor based on the interpolated motion data.
적어도 하나의 관절을 갖는 피규어를 포함하는 액션 로봇의 모션 데이터를 제공하는 방법에 있어서,
상기 액션 로봇의 스피커를 통해 출력 가능한 오디오 콘텐츠의 데이터를 획득하는 단계;
상기 데이터에 기초하여 상기 오디오 콘텐츠에 대한 적어도 하나의 특성 정보를 획득하는 단계;
획득된 적어도 하나의 특성 정보에 기초한 interpolation 데이터를 획득하는 단계; 및
상기 액션 로봇의 피규어를 통해 제공되는 모션의 모션 데이터에 대해, 상기 interpolation 데이터를 적용하여 interpolation된 모션 데이터를 획득하는 단계를 포함하고,
상기 모션 데이터는 서로 다른 시점들 각각에 대한 상기 피규어의 포즈를 나타내는 복수의 스냅샷들을 포함하고,
상기 interpolation 데이터는,
상기 복수의 스냅샷들 사이의 구간들 각각에 대한 상기 피규어의 움직임 특성을 설정하는 적어도 하나의 interpolation 특성 정보를 포함하는 방법.
A method for providing motion data of an action robot including a figure having at least one joint, the method comprising:
acquiring data of audio content outputable through a speaker of the action robot;
obtaining at least one piece of characteristic information about the audio content based on the data;
obtaining interpolation data based on the obtained at least one piece of characteristic information; and
Comprising the step of obtaining interpolated motion data by applying the interpolation data to the motion data of the motion provided through the figure of the action robot,
The motion data includes a plurality of snapshots representing the pose of the figure for each of different viewpoints,
The interpolation data is
A method including at least one interpolation characteristic information for setting the movement characteristic of the figure for each of the sections between the plurality of snapshots.
제11항에 있어서,
상기 적어도 하나의 특성 정보를 획득하는 단계는,
상기 오디오 콘텐츠의 데이터에 포함된 오디오 신호의 신호 특성으로부터 상기 적어도 하나의 특성 정보를 획득하는 방법.
The method of claim 11,
The acquiring of the at least one characteristic information includes:
A method of obtaining the at least one characteristic information from a signal characteristic of an audio signal included in the data of the audio content.
제12항에 있어서,
상기 적어도 하나의 특성 정보를 획득하는 단계는,
상기 오디오 신호의 신호 특성에 기초한 적어도 하나의 특징점을 추출하는 단계; 및
머신 러닝 기반으로 학습된 분석 모델을 이용하여, 상기 추출된 적어도 하나의 특징점으로부터 상기 적어도 하나의 특성 정보를 획득하는 단계를 포함하는 방법.
The method of claim 12,
The acquiring of the at least one characteristic information includes:
extracting at least one feature point based on the signal characteristic of the audio signal; and
Using an analysis model learned based on machine learning, the method comprising the step of obtaining the at least one characteristic information from the extracted at least one characteristic point.
제12항에 있어서,
상기 적어도 하나의 특성 정보를 획득하는 단계는,
상기 오디오 신호를 적어도 하나의 구간으로 구분하는 단계; 및
구분된 구간 각각에 대해 적어도 하나의 특성 정보를 획득하는 단계를 포함하고,
상기 적어도 하나의 interpolation 특성 정보 각각은 상기 적어도 하나의 구간 중 어느 하나에 대응하는 방법.
방법.
The method of claim 12,
The acquiring of the at least one characteristic information includes:
dividing the audio signal into at least one section; and
Comprising the step of obtaining at least one piece of characteristic information for each of the divided sections,
Each of the at least one interpolation characteristic information corresponds to any one of the at least one section.
Way.
제12항에 있어서,
상기 콘텐츠는 음악 콘텐츠를 포함하고,
상기 음악 콘텐츠의 특성에 대한 정보는 상기 음악 콘텐츠의 구조, 무드, 및 장르 중 적어도 하나를 포함하는 방법.
The method of claim 12,
The content includes music content,
The information on the characteristics of the music content includes at least one of a structure, a mood, and a genre of the music content.
제11항에 있어서,
상기 피규어의 움직임 특성은 관절의 움직임 속도 및 패턴 중 적어도 하나를 포함하는 방법.
The method of claim 11,
The movement characteristic of the figure includes at least one of a movement speed and a pattern of a joint.
제11항에 있어서,
상기 interpolation된 모션 데이터를 획득하는 단계는,
상기 모션 데이터에 포함된 제1 스냅샷과 제2 스냅샷 사이의 구간에 대한 interpolation 특성 정보에 기초하여, 상기 구간에 포함되는 적어도 하나의 가상 스냅샷을 생성하는 단계; 및
상기 모션 데이터 및 상기 생성된 적어도 하나의 가상 스냅샷을 포함하는 상기 interpolation된 모션 데이터를 획득하는 단계를 포함하는 방법.
The method of claim 11,
The step of obtaining the interpolated motion data comprises:
generating at least one virtual snapshot included in the section based on interpolation characteristic information for a section between the first snapshot and the second snapshot included in the motion data; and
and acquiring the interpolated motion data including the motion data and the generated at least one virtual snapshot.
제17항에 있어서,
상기 오디오 콘텐츠를 상기 스피커를 통해 출력하는 단계; 및
상기 interpolation된 모션 데이터에 기초하여, 상기 적어도 하나의 관절의 움직임을 위한 적어도 하나의 모터를 제어하는 단계를 더 포함하는 방법.
The method of claim 17,
outputting the audio content through the speaker; and
Based on the interpolated motion data, the method further comprising the step of controlling at least one motor for the movement of the at least one joint.
KR1020190151654A 2019-11-22 2019-11-22 Device and method for providing motion data of action robot optimized for contents KR20210063132A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190151654A KR20210063132A (en) 2019-11-22 2019-11-22 Device and method for providing motion data of action robot optimized for contents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190151654A KR20210063132A (en) 2019-11-22 2019-11-22 Device and method for providing motion data of action robot optimized for contents

Publications (1)

Publication Number Publication Date
KR20210063132A true KR20210063132A (en) 2021-06-01

Family

ID=76376025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190151654A KR20210063132A (en) 2019-11-22 2019-11-22 Device and method for providing motion data of action robot optimized for contents

Country Status (1)

Country Link
KR (1) KR20210063132A (en)

Similar Documents

Publication Publication Date Title
KR20190100090A (en) Robot and method for recognizing mood using same
US11029803B2 (en) Robot
KR102281602B1 (en) Artificial intelligence apparatus and method for recognizing utterance voice of user
US11568239B2 (en) Artificial intelligence server and method for providing information to user
KR102220191B1 (en) Hand of robot and control method of the same
KR102306393B1 (en) Voice processing device and voice processing method
US11450326B2 (en) Device for recognizing voice content, server connected thereto, and method for recognizing voice content
KR102288658B1 (en) Robot and its control method
US20200019249A1 (en) Robot system and control method thereof
KR102297655B1 (en) Artificial intelligence device for controlling external device
KR20210020312A (en) Robot and method for controlling same
KR20190095193A (en) An artificial intelligence apparatus for managing operation of artificial intelligence system and method for the same
Röning et al. Minotaurus: A system for affective human–robot interaction in smart environments
KR20190096875A (en) Robot and contolling method thereof
KR20190107616A (en) Artificial intelligence apparatus and method for generating named entity table
US11478925B2 (en) Robot and method for controlling same
KR102231909B1 (en) Artificial intelligence device
KR102314385B1 (en) Robot and contolling method thereof
US20210137311A1 (en) Artificial intelligence device and operating method thereof
KR20210073001A (en) Robot and robot system
KR20210063132A (en) Device and method for providing motion data of action robot optimized for contents
US20200376655A1 (en) Action robot, authentication method therefor, and server connected thereto
US11358069B2 (en) Action robot
US11478697B2 (en) Terminal connected to action robot and operating method thereof
KR20210009991A (en) Action robot and operating method thereof