KR100901483B1 - Method and system for network-based speech processing in a robot - Google Patents

Method and system for network-based speech processing in a robot Download PDF

Info

Publication number
KR100901483B1
KR100901483B1 KR1020070081049A KR20070081049A KR100901483B1 KR 100901483 B1 KR100901483 B1 KR 100901483B1 KR 1020070081049 A KR1020070081049 A KR 1020070081049A KR 20070081049 A KR20070081049 A KR 20070081049A KR 100901483 B1 KR100901483 B1 KR 100901483B1
Authority
KR
South Korea
Prior art keywords
robot
voice
data
sound
network
Prior art date
Application number
KR1020070081049A
Other languages
Korean (ko)
Other versions
KR20090016800A (en
Inventor
김혜진
이재연
배경숙
곽근창
윤호섭
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020070081049A priority Critical patent/KR100901483B1/en
Publication of KR20090016800A publication Critical patent/KR20090016800A/en
Application granted granted Critical
Publication of KR100901483B1 publication Critical patent/KR100901483B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 네트워크 기반의 로봇용 음성 처리 기술에 관한 것으로, 서로 다른 복수의 마이크와 사운드보드가 설치된 로봇에 마이크 및 사운드보드들을 통하여 소리를 입력 받고, 마이크 및 사운드보드들 별로 입력된 소리 데이터를 프레임 버퍼에 저장하며 각 프레임마다 아이디(ID)를 할당하며, ID 별로 동일한 내용의 소리 데이터들을 동일한 위치의 스택에 임시 저장하여 동기화하고, 동기화된 소리 데이터로 로봇의 음성 관련 응용프로그램들을 구동하는 것을 특징으로 한다. 본 발명에 의하면, 중앙 컴퓨터로 다수의 로봇을 원격 조정하는 것이 가능하며, 이러한 네트워크 기반의 로봇은 로봇 자체의 가격을 낮출 수 있기 때문에 널리 사용될 수 있고, 동기화를 통하여 로봇의 음성 관련 응용 프로그램을 통합하여 수행할 수 있으므로, 로봇의 음성 인식 성능을 높일 수 있다.The present invention relates to a voice processing technology for a network-based robot, and receives sound through a microphone and a sound board to a robot provided with a plurality of different microphones and sound boards, and frames sound data input for each microphone and sound board. It stores in the buffer and assigns ID to each frame, and temporarily stores sound data with the same contents for each ID on the stack of the same location and synchronizes them, and drives voice related applications of the robot with the synchronized sound data. It is done. According to the present invention, it is possible to remotely control a number of robots with a central computer, and these network-based robots can be widely used because they can lower the price of the robots themselves, and integrate the voice-related applications of the robots through synchronization. Since it can be performed by, it can increase the voice recognition performance of the robot.

로봇(Robot), 음성처리(Speech processing), 동기화(Synchronization) Robot, Speech Processing, Synchronization

Description

네트워크 기반의 로봇용 음성 처리 방법 및 시스템{METHOD AND SYSTEM FOR NETWORK-BASED SPEECH PROCESSING IN A ROBOT}Network-based voice processing method and system for robots {METHOD AND SYSTEM FOR NETWORK-BASED SPEECH PROCESSING IN A ROBOT}

본 발명은 로봇용 음성처리 기술에 관한 것으로서, 특히 네트워크 기반에서 중앙 컴퓨터(server) 한 대로 다수의 로봇(client)을 조정할 수 있도록 하며, 로봇으로 입력된 데이터의 동기화를 통하여 음성 관련 응용 프로그램들끼리 결합하거나 음성과 영상 프로그램들을 통합하여 수행하는데 적합한 네트워크 기반의 로봇용 음성 처리 방법 및 시스템에 관한 것이다.The present invention relates to a voice processing technology for a robot, and in particular, a network-based control of a plurality of robots (clients) by one central computer (server), and voice-related application programs through synchronization of data input to the robot. The present invention relates to a network-based robot voice processing method and system suitable for combining or executing voice and video programs.

본 발명은 정보통신부의 URC를 위한 내장형 컴포넌트 기술개발 및 표준화 사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-033-03, 과제명: URC를 위한 내장형 컴포넌트 기술개발 및 표준화].The present invention is derived from research conducted as part of the development and standardization of embedded component technology for the URC of the Ministry of Information and Communication [Task Management Number: 2005-S-033-03, Task name: Development of embedded component technology for URC and standardization].

요즘 들어, 일반 가정용으로 사용되는 지능형 서비스 로봇의 상품화가 증가하고 있는 추세다. 가정용으로 사용되는 지능형 서비스 로봇은 카메라나 다중 어레이(multi-array) 마이크로폰 등의 각종 외부 센서가 탑재되어 있고 이들 외부 센서의 출력에 따라 상황을 인식하고 인간과 상호작용을 수행함으로써 지능적으로 행동하게 된다.Recently, the commercialization of intelligent service robots used for general households is increasing. Intelligent service robots for home use are equipped with various external sensors such as cameras and multi-array microphones, and act intelligently by recognizing the situation and interacting with humans according to the output of these external sensors. .

도 1은 일반적인 로봇의 구조를 도시한 블록도이다.1 is a block diagram showing the structure of a general robot.

도 1을 참조하면, 로봇은 주변기기(100), 제어유닛(120), 드라이버 모듈(140), 데이터 저장부(150)를 포함한다. 주변기기(100)는 로봇의 각종 기능을 구현하기 위한 기기들로서, 로봇의 몸체에 설치되어 주변을 촬영함으로써, 이미지 및 영상 데이터를 출력하는 카메라(102)와, 로봇 몸체의 여러 곳에 설치되어 각종 소리 및 사람의 목소리를 인식하는 다중 어레이 마이크(104), 제어명령에 따른 응답이나, 처리, 각종 이벤트에 대한 소리를 출력하는 스피커(106)와, 감지된 터치 신호를 입력 받아 전달하는 터치 센서(108)와, 로봇내의 각종 처리 상황 및 응답 신호를 디스플레이 하는 발광다이오드(Luminescent Diode, 이하 LED라 한다)(110)를 포함한다. Referring to FIG. 1, the robot includes a peripheral device 100, a control unit 120, a driver module 140, and a data storage unit 150. The peripheral device 100 is a device for implementing various functions of the robot. The peripheral device 100 is installed on the body of the robot to photograph the surroundings, and outputs images and image data. A multi-array microphone 104 for recognizing a human voice, a speaker 106 for outputting a sound for a response, processing, or various events according to a control command, and a touch sensor 108 for receiving and transmitting a sensed touch signal. And a light emitting diode (hereinafter referred to as LED) 110 for displaying various processing conditions and response signals in the robot.

로봇 제어부(120)는 드라이버(140)를 통해 연결된 주변기기(100)들을 제어하고, 주변기기(100)로부터 입력된 신호 및 데이터들을 데이터 저장부(150)로 전달하여 저장하는 것으로서, 로봇 내의 모든 프로세스를 처리한다. 데이터 저장부(150)는 로봇 구동 프로그램이 저장된 영역과 다운로드될 각종 데이터가 저장될 영역을 가지는 있으므로, 로봇 제어부(120)로부터 전달된 신호 및 데이터를 미리 설정된 영역에 저장한다.The robot controller 120 controls the peripheral devices 100 connected through the driver 140 and transmits and stores signals and data input from the peripheral device 100 to the data storage unit 150, and stores all processes in the robot. Process. Since the data storage unit 150 has an area in which the robot driving program is stored and an area in which various data to be downloaded are stored, the data storage unit 150 stores signals and data transmitted from the robot control unit 120 in a preset area.

드라이버(140)는 주변기기(100)들을 로봇 제어부(120)에 연결하기 위한 인터페이스로서, 스피커(106)와 다중 어레이 마이크(104)를 연결하여 인코딩을 수행하는 사운드 드라이버(142)와, 카메라와 연결되어 인코딩을 수행한 후, 인코딩된 이미지 및 영상 데이터를 로봇 제어부(120)로 전달하는 카메라 드라이버(144)와, 로 봇의 이동 및 관절 동작, 움직임을 수행하는 모터를 연결하여, 전체 구동을 제어하는 모터 드라이버 등을 포함한다. The driver 140 is an interface for connecting the peripheral devices 100 to the robot controller 120. The driver 140 connects the speaker 106 and the multi-array microphone 104 to perform encoding and connects the camera to the camera. After the encoding is performed, the camera driver 144 for transmitting the encoded image and image data to the robot controller 120 and the motor for moving, jointing, and moving the robot are controlled to control the overall driving. Motor drivers and the like.

이와 같은 지능형 서비스 로봇에 대해서는 이미 다수의 특허가 출원되어 있다. 특히, 대한민국출원번호 10-2004-0051548 호는 대화하기 위한 기능을 가지는 음성 대화 장치에 대하여 대화 제어 수단, 화상 인식 수단, 대화 상대의 존재를 추적하는 트래킹 제어 수단에 대해 나타내고 있으며, 대한민국특허등록번호 0301070호는 로봇 완구에 있어서 사용자의 음성 신호를 인식하기 위한 제어 방법을 보여주고 있다. 또한 미국 특허등록번호 7065490호는 감정을 컨트롤하기 위한 음성 처리 방법에 대해 기술하고 있다. A number of patents have already been applied for such an intelligent service robot. In particular, Korean Patent Application No. 10-2004-0051548 discloses a conversation control means, an image recognition means, and a tracking control means for tracking the presence of a conversation partner with respect to a voice conversation apparatus having a function for conversation. 0301070 shows a control method for recognizing a voice signal of a user in a robot toy. US Patent No. 7065490 also describes a speech processing method for controlling emotion.

상기와 같이 다양한 음성 처리 방법 및 로봇 제어 방법들에 관한 특허가 출원되었으나, 로봇에 장착되어 있는 다양한 사운드 카드(혹은 사운드보드)에 달린 다양한 타입의 마이크에 대한 처리 방법인 동기화에 대한 연구 및 특허에 대해서는 미흡한 실정이다.Patents regarding various voice processing methods and robot control methods have been filed as described above. However, research and patents on synchronization, which are processing methods for various types of microphones mounted on various sound cards (or sound boards) mounted on a robot, have been applied. The situation is insufficient.

상기한 바와 같이 동작하는 종래 기술에 의한 로봇 및 로봇의 음성처리 시스템에 있어서는, 다중 어레이 마이크로부터 수신한 신호들 중 중복된 신호들을 동기화해야 하나 그에 대한 별다른 방안이 없었으며, 로봇을 제어하기 위한 프로그램이 로봇 자체에 저장된 상태이므로, 사용자가 로봇을 제어하기 위해서는 미리 설정된 방식의 단어로서 명령을 전달하거나, 터치 센서와 같은 입력부를 이용하여 로봇을 직접 제어해야만 하는 문제점이 있었다.In the conventional robot and the voice processing system of the robot operating as described above, it is necessary to synchronize the overlapping signals among the signals received from the multiple array microphones, but there is no alternative. Since the state is stored in the robot itself, there is a problem that the user must control the robot using an input unit such as a touch sensor or a command in a preset manner in order to control the robot.

이에 본 발명은, 유무선 네트워크 기반에서 중앙 컴퓨터(server) 한 대로 다수의 로봇(client)을 조정할 수 있도록 하며, 로봇용 음성 관련 응용 프로그램들을 통합하여 수행할 수 있는 네트워크 기반의 로봇용 음성 처리 방법 및 시스템을 제공한다. Accordingly, the present invention provides a network-based robot voice processing method that can control a plurality of robots (clients) as a central computer (server) in a wired and wireless network, and can be performed by integrating robot voice related applications. Provide a system.

또한 본 발명은 유무선 네트워크 환경에서 중앙 컴퓨터를 통하여 다수의 로봇을 제어하며, 다양한 타입의 마이크 및 사운드보드가 달린 로봇의 음성 관련 응용 프로그램들을 동기화할 수 있는 네트워크 기반의 로봇용 음성 처리 방법 및 시스템을 제공한다.The present invention also provides a network-based robot voice processing method and system for controlling a plurality of robots through a central computer in a wired / wireless network environment and synchronizing voice related applications of robots with various types of microphones and soundboards. to provide.

본 발명의 일 실시예 방법은, 복수의 마이크와 사운드보드가 설치된 로봇서 음성 처리 방법에 있어서, 상기 복수의 마이크 및 사운드보드를 통하여 소리를 입력받는 과정과, 상기 입력된 소리 데이터를 프레임 버퍼에 저장하며 각 프레임마다 아이디(ID)를 할당하는 과정과, 상기 ID 별로 동일한 내용의 소리 데이터들을 동일한 위치의 스택에 임시 저장하는 동기화 과정과, 상기 동기화된 소리 데이터로 상기 로봇의 음성 관련 응용프로그램들을 구동하는 과정 을 포함한다.According to one embodiment of the present invention, a method of processing a voice in a robot equipped with a plurality of microphones and a sound board includes: receiving a sound through the plurality of microphones and the sound board, and inputting the input sound data into a frame buffer. Storing and allocating IDs for each frame, synchronizing temporarily storing sound data having the same contents for each ID in a stack at the same location, and synchronizing the voice-related applications of the robot with the synchronized sound data. Driving process.

본 발명의 일 실시예 장치는, 로봇용 음성처리 시스템에 있어서, 다수의 주변기기와, 상기 다수의 주변기기와 연결되어 상기 로봇을 제어하는 로봇 제어부와, 상기 로봇 제어부와 연결되어 상기 로봇 제어를 위한 프로그램, 음성관련 응용프로그램과, 상기 다수의 주변기기로부터 전달된 데이터를 저장하는 저장부와, 상기 로 봇과 유무선 네트워크로 연결되어 상기 로봇 제어부에서 자체적으로 처리가 불가능하거나 부하가 많이 걸리는 데이터를 전달받아 처리하는 서버를 포함한다.In one embodiment of the present invention, in a voice processing system for a robot, a plurality of peripheral devices, a robot control unit connected to the plurality of peripheral devices to control the robot, and a program for controlling the robot connected to the robot control unit A voice related application, a storage unit for storing data transmitted from the plurality of peripheral devices, and the robot are connected to the wired / wireless network so that the robot controller can receive and process data that cannot be processed by itself or that is heavily loaded. It includes a server.

본 발명의 다른 실시예 장치는, 로봇용 음성처리 시스템에 있어서, 다수의 주변기기와, 상기 다수의 주변기기와 연결되어 상기 로봇을 제어하는 로봇 제어부와, 상기 로봇 제어부와 연결되어 상기 로봇 제어를 위한 프로그램, 음성관련 응용프로그램과, 상기 다수의 주변기기로부터 전달된 데이터를 저장하는 저장부와, 상기 로봇과 유무선 네트워크로 연결되어 상기 로봇 제어부에서 자체적으로 처리가 불가능하거나 부하가 많이 걸리는 데이터를 전달받아 처리하는 중앙 컴퓨터 서버와, 상기 중앙 컴퓨터 서버로부터 입력된 제어명령을 상기 로봇 제어부의 제어 명령 방식으로 변환한 후, 상기 변환된 제어 명령을 상기 로봇 제어부로 전달하는 가상 로봇 제어부를 포함한다.According to another embodiment of the present invention, in a voice processing system for a robot, a plurality of peripheral devices, a robot control unit connected to the plurality of peripheral devices to control the robot, and a program for controlling the robot connected to the robot control unit And a storage unit for storing data transmitted from the voice-related application program, the plurality of peripheral devices, and the robot and the wired / wireless network so that the robot controller receives and processes data that cannot be processed by itself or takes a lot of load. A central computer server, and a virtual robot control unit for converting the control command input from the central computer server to the control command method of the robot control unit, and then transfers the converted control command to the robot control unit.

본 발명에 있어서, 개시되는 발명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.In the present invention, the effects obtained by the representative ones of the disclosed inventions will be briefly described as follows.

본 발명은, 네트워크 기반의 로봇용 음성 처리 시스템을 구현함으로써, 중앙 컴퓨터로 다수의 로봇을 원격 조정하는 것이 가능하며, 이러한 네트워크 기반의 로봇은 로봇 자체의 가격을 낮출 수 있기 때문에 널리 사용될 수 있다는 장점이 있다.The present invention, by implementing a network-based voice processing system for the robot, it is possible to remotely control a number of robots with a central computer, the network-based robot can be widely used because it can lower the price of the robot itself There is this.

또한, 무선 네트워크 환경에서 동기화를 통하여 로봇의 음성 관련 응용 프로그램들을 통합하여 수행할 수 있으므로, 로봇의 음성 인식 성능을 높일 수 있는 효 과가 있다. In addition, since the voice-related application programs of the robot can be integrated and executed through synchronization in a wireless network environment, there is an effect of improving the voice recognition performance of the robot.

이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, the operating principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.

본 발명은 유무선 네트워크 기반에서 중앙 컴퓨터(server) 한 대로 다수의 로봇(client)을 조정할 수 있도록 하며, 로봇용 음성 관련 응용 프로그램들의 통합을 수행하는 것이다.The present invention enables to control a number of robots (clients) as one central computer (server) on a wired or wireless network, and to perform the integration of voice-related application programs for the robot.

네트워크 기반 서비스용 로봇에 있어서는 기존 방식처럼 입력 음성에 대해 수동적으로 대처하지 않아도 된다. 즉, 음원 추적 방법을 통해 입력 음성이 들어오는 방향으로 로봇이 움직여 그쪽의 음성을 증폭시켜 입력을 받거나 특정 음원 예를 들어 "웨버"와 같은 로봇이름에 대해서만 음원 추적을 수행하거나, 혹은 특정 화자 로봇 주인의 음성만 추출하여 음성 인식을 수행하는 등 적극적인 음성 처리 방식이 사용될 수 있다.In the network-based service robot, there is no need to passively deal with the input voice as in the conventional method. That is, the robot moves in the direction of the input voice through the sound source tracking method to amplify the voice and receives the input, or performs sound source tracking only for a specific sound source, for example, a robot name such as "webber", or the owner of a specific speaker robot. An active speech processing method may be used, such as extracting only the speech of speech and performing speech recognition.

이러한 작업은 동일한 음성에 대하여 여러 음성 처리가 수행되며, 각 음성 처리는 병렬적 혹은 순차적 방식으로 이루어질 수 있고 이때 음성신호의 동기화(synchronization)가 가장 큰 이슈가 될 수 있으며, 음성신호의 동기화를 통해 음성인식에 대한 처리 성능을 높일 수 있다. This operation is performed several voice processing for the same voice, each voice processing can be performed in a parallel or sequential manner, the synchronization of the voice signal may be the biggest issue, through the synchronization of the voice signal The processing performance for speech recognition can be improved.

또한, 음성과 영상이 동일한 목적으로 문제를 해결해 나가야 할 경우도 있다. 예를 들어, 음성을 이용해 음원 추적을 하였으나 음원의 위치에 다양한 사람이 있다고 가정한다면 발화자를 향해 다가가기 위해서는 음원 이외에 다른 기능 즉, 발화자의 음성에 대한 화자 인식을 통해 발화자를 알아내고 영상으로부터 발화자의 얼굴 인식을 통하여 보다 정확한 발화자에게 다가 갈 수 있다.In addition, audio and video may need to be solved for the same purpose. For example, if the sound source is tracked using voice but there are various people in the location of the sound source, in order to approach the talker, other functions besides the sound source, such as speaker recognition of the talker's voice, are used to find out the talker. Face recognition can help you reach a more accurate speaker.

이와 같이 본 발명의 로봇이 수동적으로 음성/영상 관련 컴포넌트들이 처리되는 방식에서 탈피하여 보다 능동적으로 움직이며 서버를 통한 데이터 처리를 통하여 로봇 제어부에 단순 처리 프로세서만 구비된 경우에도 사람과 상호 작용할 수 있는 기본 시스템을 구현할 수 있으며, 응용 프로그램들의 동기화를 통하여 제어명령에 대한 처리 성능을 높이기 위한 것이다.As described above, the robot of the present invention moves away from the passive voice / video related components and moves more actively, and can interact with a person even when the robot controller is provided with a simple processing processor through data processing through a server. It is possible to implement basic system and to improve the processing performance of control commands through synchronization of application programs.

도 2는 본 발명의 바람직한 실시예에 따른 네트워크 기반 서버-클라이언트 타입의 로봇 구조를 도시한 블록도이다.2 is a block diagram illustrating a robot structure of a network-based server-client type according to a preferred embodiment of the present invention.

도 2를 참조하면, 로봇은 주변기기(200)와, 로봇 제어부(230), 드라이버(240), 데이터 저장부(250)를 포함한다. 중앙컴퓨터인 서버(220)는 유무선 네트워크 기반으로 로봇과 명령 신호 및 데이터 송수신을 수행하며, 로봇을 제어한다. 2, the robot includes a peripheral device 200, a robot controller 230, a driver 240, and a data storage 250. The server 220, which is a central computer, transmits and receives command signals and data with a robot based on a wired or wireless network, and controls the robot.

로봇의 주변기기(200)는 로봇에 각종 기능을 부여하고 그에 따른 동작을 수행시키기 위한 기기들로서, 카메라(202), 다중 어레이 마이크(204), 스피커(206), 터치센서(208), LED(210)를 포함하며, 각 기기들로부터 수신한 신호 및 센서 데이 터들을 로봇 제어부(230)로 전달한다. 드라이버(240)는 주변기기(200)들을 로봇 제어부(230)와 연결하기 위한 인터페이스로서, 사운드 드라이버(242), 카메라 드라이버(244), 모터 드라이버(246) 등을 포함한다.The peripheral device 200 of the robot is a device for imparting various functions to the robot and performing operations according to the robot, and includes a camera 202, a multiple array microphone 204, a speaker 206, a touch sensor 208, and an LED 210. ), And transmits the signals and sensor data received from each device to the robot controller 230. The driver 240 is an interface for connecting the peripheral devices 200 to the robot controller 230, and includes a sound driver 242, a camera driver 244, a motor driver 246, and the like.

로봇 제어부(230)는 드라이버(240)를 통해 연결된 주변기기(200)들을 제어하고, 주변기기(200)로부터 입력된 신호 및 데이터들을 데이터 저장부(250)로 전달하여 저장하는 것으로서, 로봇 내의 모든 프로세스를 처리한다. 데이터 저장부(250)는 로봇 구동 프로그램이 저장된 영역과 다운로드 될 각종 데이터가 저장될 영역을 가지는 있으므로, 로봇 제어부(230)로부터 전달된 신호 및 데이터를 미리 설정된 영역에 저장한다. 또한, 주변기기(200)들로부터 입력된 신호 및 데이터에 대한 응용 프로그램들을 수행하며, 특히 입력된 소리 및 음성 데이터에 대한 처리 시 음성 데이터에 대한 동기화를 수행하여 음성 관련 응용프로그램들을 구동한다.The robot controller 230 controls the peripheral devices 200 connected through the driver 240 and transmits and stores signals and data input from the peripheral device 200 to the data storage unit 250, and stores all processes in the robot. Process. Since the data storage unit 250 has an area in which the robot driving program is stored and an area in which various data to be downloaded are stored, the data storage unit 250 stores signals and data transmitted from the robot control unit 230 in a preset area. In addition, the application programs for the signals and data input from the peripherals 200 are executed, and in particular, the voice-related applications are driven by synchronizing the voice data when processing the input sound and voice data.

서버(220)는 기존에 로봇 제어부(230)에서 처리하던 응용프로그램 데이터를 전달받아 서버(200)상에서 처리함으로써, 네트워크 기반 로봇의 장점인, 로봇 자체의 컴퓨팅 파워를 줄이고, 저사양의 프로세서로도 로봇의 구동을 가능하게 한다.The server 220 receives the application program data previously processed by the robot controller 230 and processes the data on the server 200, thereby reducing the computing power of the robot itself, which is an advantage of the network-based robot, and using a low-end processor as a robot. Enables driving of

이에 로봇 제어부(230)는 주변기기(200)의 각 센서로부터 받은 정보 데이터를 서버(220)로 전송하고 서버(220)는 수신한 정보 데이터에 대한 응용프로그램을 구동하여 처리하고, 정보 처리의 결과를 다시 로봇 제어부(230)로 전달함으로써, 로봇을 제어하게 된다. 그러나 응용 프로그램에 따라 중앙 컴퓨터인 서버(220)에 보내지 않고 로봇 자체에서 처리 해야만 하는 데이터가 있을 수 있다. 예를 들어, 컴퓨팅 파워가 많이 요구되는 음성 인식은 서버(220)에서 처리하도록 하며, 다 채 널 음원을 사용함으로써, 네트워크 부하를 많이 요구하며 항상 실행되어야만 하는 응용 프로그램인 음원 추적은 로봇 자체에서 처리하는 것이 바람직할 경우도 있다.The robot controller 230 transmits the information data received from each sensor of the peripheral device 200 to the server 220, and the server 220 drives and processes an application program on the received information data, and processes the result of the information processing. By transmitting back to the robot controller 230, the robot is controlled. However, depending on the application, there may be data that must be processed by the robot itself without being sent to the server 220 which is a central computer. For example, voice recognition, which requires a lot of computing power, is handled by the server 220, and by using a multichannel sound source, sound source tracking, an application that requires a lot of network load and must always be executed, is processed by the robot itself. It may be desirable to do so.

한편, 앞서 이야기 한 바와 같이 음성 인식 및 음원 추적을 위한 응용 프로그램들은 각각 서로 동기화 된 데이터로 구현되어야 시너지 효과를 볼 수 있으며, 이러한 데이터 동기화를 위해 로봇 제어부(230)의 역할이 중요하다. 이에 로봇 제어부(230)는 서버(220)에서 처리되는 데이터들과 로봇 자체적으로 처리되는 데이터들의 동기화를 위한 구조를 가져야 하며, 동기화를 위한 구조에 대해서는 도 4에 대한 설명 시 구체적으로 설명하도록 한다.On the other hand, as mentioned above, the application programs for voice recognition and sound source tracking can be synergistic to be implemented with data synchronized with each other, and the role of the robot controller 230 is important for such data synchronization. The robot controller 230 should have a structure for synchronizing data processed by the server 220 and data processed by the robot itself, and the structure for synchronization will be described in detail with reference to FIG. 4.

이와 같이 종래의 도 1에 도시된 로봇이 로봇 자체 내에서 모든 프로세스를 처리하는 방식임에 비해, 도 2에 도시된 로봇은 중앙 컴퓨터를 서버(220)로 두어 서버(220)가 직접 로봇을 통제하며, 정보처리를 수행하는 방식으로 구현된다.As described above, the conventional robot shown in FIG. 1 processes all processes in the robot itself, whereas the robot shown in FIG. 2 has a central computer as the server 220 so that the server 220 directly controls the robot. It is implemented by performing information processing.

다만, 도 2와 같은 로봇의 구조는 로봇 제어부(230)의 통제 시스템을 서버(220)가 알고 있어야 한다. 즉, 각 로봇의 로봇 제어부(230)는 프로그래밍된 언어 형식, 사용 가능한 제어 명령 및 제어 절차 등이 서로 다르게 설계될 수 있기 때문에 서버(220)가 특정 로봇들을 제어하기 위해서는 각 로봇마다의 특징을 알고 있어야 한다는 단점이 있다However, the structure of the robot as shown in FIG. 2 requires the server 220 to know the control system of the robot controller 230. That is, since the robot controller 230 of each robot can be designed differently in a programmed language format, available control commands and control procedures, the server 220 knows the characteristics of each robot in order to control specific robots. Disadvantage

도 3은 본 발명의 바람직한 실시예에 따른 네트워크 기반의 통합 서비스 타입의 로봇 구조를 도시한 블록도이다.3 is a block diagram illustrating a robot structure of a network-based integrated service type according to a preferred embodiment of the present invention.

먼저 도 3은 도 2와 유사한 구조를 가진다. 즉, 도 3의 로봇은 로봇에 각종 기능을 부여하고 그에 따른 동작을 수행시키기 위한 기기들로서, 카메라(302), 지 향성이 없는 무지향성 다중 어레이 마이크(304), 스피커(308), 터치센서(310), LED(312)를 포함하는 주변기기(300)와, 주변기기(300)들을 로봇 제어부(350)와 연결하기 위한 인터페이스로서, 사운드 드라이버(362), 카메라 드라이버(364), 모터 드라이버(366) 등을 포함하는 드라이버(360)와, 드라이버(360)를 통해 연결된 주변기기(300)들을 제어하고, 주변기기(300)로부터 입력된 신호 및 데이터들을 데이터 저장부(370)로 전달하여 저장하는 것으로서, 로봇 내의 모든 프로세스를 처리하는 로봇 제어부(350)와, 로봇 구동 프로그램이 저장된 영역과 다운로드 될 각종 데이터가 저장될 영역을 가지는 데이터 저장부(370)를 포함한다.First, FIG. 3 has a structure similar to that of FIG. 2. That is, the robots of FIG. 3 are devices for providing various functions to the robots and performing operations according to the robot, and include a camera 302, a nondirectional omnidirectional multiple array microphone 304, a speaker 308, a touch sensor ( 310, a peripheral device 300 including an LED 312, and a sound driver 362, a camera driver 364, and a motor driver 366 as an interface for connecting the peripheral devices 300 to the robot controller 350. Control the driver 360, and the peripheral device 300 connected through the driver 360, and transmits and stores the signals and data input from the peripheral device 300 to the data storage unit 370, the robot And a data controller 370 having a robot controller 350 for processing all processes therein and an area in which a robot driving program is stored, and an area in which various data to be downloaded are stored.

여기에 추가적으로 주변기기(300)에 무지향성 다중 어레이 마이크(304)외에 특정 방향에 대한 지향성을 갖는 지향성 마이크(306)를 구비함으로써, 무지향성 다중 어레이 마이크(304)와 지향성 마이크(306)를 이용한 음성 인식 및 음원 추적, 영상 응용프로그램과 음성 인식 프로그램을 이용한 화자 인식에 대한 성능을 높이도록 하며, 중앙 컴퓨터인 서버(320) 뿐만 아니라 가정 컴퓨터를 이용하는 서버(330)가 구현될 수 있다. 이때, 가정 컴퓨터 서버(330)는 중앙 컴퓨터인 서버(320)와 연계하여 한정된 공간에 위치한 로봇들을 제어하기 위한 것으로서, 가상 로봇 제어부(340)로부터 로봇 자체 내에서 처리가 불가능하거나 부하가 많이 걸리는 데이터를 전달받아 이에 대한 데이터 처리를 수행하며, 각각의 서버(320, 330) 간의 제어 신호 및 데이터 송수신을 수행한다.In addition to the peripheral 300, in addition to the omnidirectional multiple array microphone 304, a directional microphone 306 having a directivity in a specific direction, so that the voice using the omnidirectional multiple array microphone 304 and the directional microphone 306 To improve the performance of the recognition and sound source tracking, speaker recognition using the image application and the voice recognition program, the server 330 using the home computer as well as the server 320 may be implemented. In this case, the home computer server 330 is for controlling robots located in a limited space in connection with the server 320 which is a central computer, and data that cannot be processed or loads heavily in the robot itself from the virtual robot controller 340. Receives the data and performs the data processing for this, and performs the control signal and data transmission and reception between each server (320, 330).

즉, 중앙 컴퓨터 서버(320)는 복수의 공간에 위치한 로봇들을 제어하며, 이를 위해 가정 컴퓨터 서버(330)를 접속 포인트(Access Point)와 같이 사용할 수 있으며, 가정 컴퓨터 서버(330)는 일반적으로 가정(한정된 공간 및 영역)에서 사용될 수 있는 컴퓨터로 가정에서 사용되는 로봇들을 유무선으로 연결하여 정보처리 및 로봇제어를 수행하며, 가정 컴퓨터 서버(330)와 연계하여 서로 간에 데이터를 송수신하는 중앙 컴퓨터 서버(320)는 각 가정 컴퓨터 서버(330)를 통해 각 로봇을 제어하거나 각 로봇의 가상 로봇 제어부(340)와 직접 연결하여 정보처리 및 로봇 제어를 수행하도록 한다.That is, the central computer server 320 controls robots located in a plurality of spaces, and for this purpose, the home computer server 330 can be used as an access point, and the home computer server 330 is generally a home computer. A computer that can be used in (limited space and area) is a central computer server that performs information processing and robot control by connecting robots used in the home by wire or wireless, and transmits and receives data to and from each other in connection with the home computer server 330 ( 320 may control each robot through each home computer server 330 or directly connect with the virtual robot controller 340 of each robot to perform information processing and robot control.

또한, 도 3의 로봇에는 각기 다른 특성을 가지는 로봇 제어부(350)를 제어하며, 데이터를 주고받는 가상 로봇 제어부(340)가 추가된다. 가상 로봇 제어부(340)는 로봇의 표준 제어 방식을 설정한 것으로서, 각 로봇은 로봇 제어부의 프로그래밍 언어 형식, 사용가능한 제어 명령 및 제어 절차 등이 다르게 설계 될 수 있으므로, 서로 다르게 설계된 제어방식을 포함하는 로봇 제어부와 연계된 가상 로봇 제어부는 로봇 제어부에 맞는 제어 방식으로 입력된 명령을 변환하여 로봇 제어부로 전달하게 된다.In addition, the robot of FIG. 3 controls a robot controller 350 having different characteristics, and a virtual robot controller 340 for transmitting and receiving data is added. The virtual robot controller 340 is a standard control scheme of the robot, and each robot includes a control scheme that is designed differently because the programming language format of the robot controller, available control commands, and control procedures may be designed differently. The virtual robot controller linked with the robot controller converts a command input in a control method suitable for the robot controller and transmits the command to the robot controller.

예를 들어, 가정 내에 A, B, C 로봇이 있으며, A, B, C 로봇에 내장된 가상 로봇 제어부의 제어 명령은 모두 a방식으로 수행되고, A, B, C 로봇에 내장된 로봇 제어부는 각각 a-1, b-1, c-1의 제어 방식으로 설계되어 있으므로, 각각 a-1, b-1, c-1 방식의 제어 명령을 입력받을 경우에만, 그에 따른 동작을 수행한다면, 먼저 가정 컴퓨터 서버는 a방식의 제어 명령을 A, B, C 로봇으로 동시에 전달한다. For example, there are A, B, and C robots in the home, and the control commands of the virtual robot controllers embedded in the A, B, and C robots are all performed in a method, and the robot controllers embedded in the A, B, and C robots are Since it is designed with the control method of a-1, b-1, and c-1, respectively, if only the control commands of a-1, b-1, and c-1 are received, The home computer server simultaneously transmits control methods of a method to the A, B, and C robots.

이에 A 로봇에 내장된 가상 로봇 제어부는 입력 받은 a방식의 제어 명령을 로봇 제어부의 제어방식인 a-1 방식의 제어 명령으로 변환하여 로봇 제어부로 전달하고, A 로봇의 로봇 제어부는 전달받은 a-1방식의 제어 명령으로 로봇을 구동하는 것이다. 이는 B ,C 로봇도 마찬가지 방식으로서, B, C 로봇에 내장된 가상 로봇 제어부는 a방식의 제어 명령을 각 로봇 제어부의 제어방식인 b-1, c-1 방식의 제어 명령으로 변환한 후 각 로봇 제어부로 전달함으로써, 각 로봇의 로봇 제어부는 전달받은 b-1 및 c-1 방식의 제어 명령으로 로봇을 구동하게 된다. Accordingly, the virtual robot controller embedded in the robot A converts the control method of the input method a to the control command of the method a-1, which is the control method of the robot controller, and transmits the control command to the robot controller. The robot controller of the robot A receives the received a- The robot is driven by one type of control command. The same applies to the B and C robots, and the virtual robot controller built in the B and C robots converts the control method of the a method into the control commands of the b-1 and c-1 methods, which are the control methods of the respective robot controllers. By transferring to the robot control unit, the robot control unit of each robot drives the robot with the received b-1 and c-1 control commands.

이와 같이 도 3의 로봇 구조는 중앙 컴퓨터 서버(320) 또는 가정 컴퓨터 서버(330)가 로봇마다 구비된 공통의 가상 로봇 제어부(340)를 통해 로봇의 특징과 형태, 구조와 상관없이 공통의 제어 방식에 따른 제어 명령으로 가상 로봇 제어부(340)와 정보를 주고받음으로써, 중앙 컴퓨터 서버(320)에 있는 응용 프로그램들은 가상 로봇 제어부(340)에 정의된 로봇 제어 방법을 사용하면 어떠한 로봇이라도 제어할 수 있게 된다.As described above, the robot structure of FIG. 3 is a common control method regardless of the feature, form, and structure of the robot through the common virtual robot control unit 340 provided with the central computer server 320 or the home computer server 330 for each robot. By exchanging information with the virtual robot controller 340 with a control command according to the above, application programs in the central computer server 320 can control any robot using the robot control method defined in the virtual robot controller 340. Will be.

이를 위해 가상 로봇 제어부(340)는 중앙 컴퓨터 서버(320)와의 의사소통을 위한 응용 프로그램 인터페이스(Application Programming Interfaces, 이하 API라 한다) 및 개개의 로봇과의 의사소통을 위한 API, 그리고 이 두 API를 연결시킴으로써, 동기화를 수행하게 된다.To this end, the virtual robot controller 340 uses an application programming interface (API) for communicating with the central computer server 320, an API for communicating with individual robots, and these two APIs. By connecting, synchronization is performed.

도 4는 본 발명의 바람직한 실시예에 따른 로봇과 서버와의 API 형태를 도시한 도면이다.4 is a diagram illustrating an API form between a robot and a server according to a preferred embodiment of the present invention.

도 4의 API 구조(400)는, 도 2의 로봇 제어부(230)와, 도 3의 로봇 제어부(350)에 포함되며, 중앙 컴퓨터와 정보를 주고받는 API(Robot API Layer)(405)와 로봇들의 각종 센서를 포함하는 주변기기 및 드라이버들과 정보를 주고받는 API(Robot API Presentation Layer)(425) 사이에 API 동기 레이어(API Sync Layer, 이하 ASL이라 한다)(410)를 두어 데이터 사이에 동기화를 수행하도록 구현한다.The API structure 400 of FIG. 4 is included in the robot controller 230 of FIG. 2 and the robot controller 350 of FIG. 3, and the robot (API) 405 and the robot that exchange information with a central computer. An API Sync Layer (hereinafter referred to as an ASL) 410 is provided between an API (Robot API Presentation Layer) 425 that exchanges information with peripheral devices and drivers including various sensors of the PC. Implement to do

여기서 ASL(410)은 데이터 디코더(415)와 데이터 인코더(420)를 포함하며, 데이터 디코더(415)와 데이터 인코더(420)를 통하여 동기화된 데이터를 Robot API Layer(405) 또는 Robot API Presentation Layer(425)에 제공한다.Here, the ASL 410 includes a data decoder 415 and a data encoder 420, and the data synchronized through the data decoder 415 and the data encoder 420 may be transferred to the Robot API Layer 405 or the Robot API Presentation Layer ( 425).

동기화를 수행하는 방식에 대해 설명하면, 서로 다른 마이크, 서로 다른 사운드보드에서 들어오는 데이터는 공통 클래스 타입에 저장된다. 이 타입의 이름을 웨이브 프레임 버퍼(WaveFrameBuffer)라 하고 웨이브 프레임 버퍼에는 각 프레임마다 ID를 주어 서로 다른 마이크 및 다른 사운드보드에서 들어오는 데이터들이 공통적으로 웨이브 프레임 버퍼에 들어가 ID 별로 동일한 위치의 스택에 임시 저장되도록 한다. 즉, ID 1번의 10번째 스택에 저장된 데이터와 ID 3번의 10번째 스택의 데이터는 마이크 혹은 사운드보드만 다를 뿐, 동일한 소리 데이터 또는 발화 내용을 담게 된다. 이 때, 사운드 프레임에 대하여 각 프레임당 카운트 ID를 따라 할당해 두어 앞, 뒤 프레임의 연속성을 보장한다.The method of performing synchronization is described. Data coming from different microphones and different soundboards is stored in a common class type. This type is called a WaveFrameBuffer and the Wave Frame Buffer is given an ID for each frame, so that data from different microphones and different soundboards are commonly stored in the Wave Frame Buffer and stored temporarily on the same stack for each ID. Be sure to That is, the data stored in the 10th stack of ID 1 and the data of the 10th stack of ID 3 differ only in the microphone or sound board and contain the same sound data or utterance. At this time, the sound frames are allocated along with the count ID per frame to ensure continuity of the front and rear frames.

한편, 네트워크 기반의 로봇에 있어 음성 관련 응용 프로그램들은 서로의 프로그램을 이용하여 더 나은 결과를 도출 할 수 있도록 한다. 예를 들어, 음성 인식이나 화자 인식은 지향성 마이크를 사용하는 것이 보다 효과적이나, 만일 발화자가 지향성 마이크가 향하고 있지 않은 상태에서 발성하고 있다면 지향성 마이크로부터 얻은 데이터로 인해 더 좋지 않은 성능을 보일 수 있다. On the other hand, in network-based robots, voice-related applications can use each other's programs to produce better results. For example, speech recognition or speaker recognition may be more effective using a directional microphone, but if the talker is speaking without the directional microphone pointing, the performance from the directional microphone may be worse.

이때, 무지향성 다중 어레이의 마이크를 이용하는 음원 추적의 결과를 통해 발화자의 방향과 지향성 마이크를 일치 시켜주거나 발화자의 방향에서 얻은 음성 데이터를 음성 인식 혹은 화자 인식에 대한 응용프로그램의 구동 시에 데이터를 전송 시켜 주면 보다 나은 결과를 얻을 수 있게 된다. 이에 상기와 같은 ASL(410)을 통하여 발성된 데이터가 음성 관련 응용 프로그램끼리 동기화 될 수 있도록 할 수 있다.At this time, through the result of sound source tracking using omnidirectional multiple array microphones, the direction of the talker is matched with the directional microphone or the voice data obtained from the talker's direction is transmitted when the application program for speech recognition or speaker recognition is driven. You can get better results. Accordingly, the data spoken through the ASL 410 as described above may be synchronized with voice-related application programs.

도 5는 본 발명의 바람직한 실시예에 따른 음성 데이터의 동기화 절차를 도시한 흐름도이다.5 is a flowchart illustrating a synchronization procedure of voice data according to a preferred embodiment of the present invention.

도 5를 참조하면, 하나의 로봇에는 각기 다른 마이크와 사운드보드가 구비 될 수 있으며, 복수의 마이크가 로봇의 각 방향 별로 설치될 수 있다. 이에 500단계에서 서로 다른 마이크를 통하여 소리를 입력 받게 되고, 502단계에서 로봇내의 로봇 제어부는 입력된 소리 데이터를 공통 클래스 타입인 웨이브 프레임 버퍼에 저장하며, 각 마이크 또는 사운드보드 별로 입력된 소리 데이터에 ID를 할당한다.Referring to FIG. 5, one robot may be provided with different microphones and sound boards, and a plurality of microphones may be installed in each direction of the robot. In step 500, the sound is input through different microphones, and in step 502, the robot controller in the robot stores the input sound data in a wave frame buffer of a common class type, and inputs the sound data input for each microphone or sound board. Assign an ID.

여기서 ID 는 각 마이크 또는 사운드보드 별로 미리 설정된 ID로서, 각 마이크 또는 사운드보드로 입력된 소리 데이터는 입력된 마이크 또는 사운드보드의 아이디를 할당 받게 되는 것이다. Here, ID is a preset ID for each microphone or sound board, and sound data input to each microphone or sound board is assigned an ID of the input microphone or sound board.

이후 504단계에서 동일한 소리 데이터에 대해서는 ID 별로 동일한 위치의 스택에 쌓도록 하는 동기화를 수행함으로써, 506단계에서 로봇의 제어부를 통해 수행하는 음원 추적 응용프로그램을 구동하는 경우, 지향성 무지향성 다중 어레이 마이크로부터 수신되어 동기화된 소리 데이터들을 통해 음원에 대한 방향을 추적하게 된다. 또한, 506단계에서 서버를 이용한 소리 데이터 처리 방식의 경우는, 동기화된 데이터를 가상 로봇 제어부를 통해 서버로 전송하며, 서버에서 동기화된 소리 데이터를 통해 음성 인식 응용프로그램을 구동함으로써, 음성 인식을 수행하게 된다.Thereafter, in step 504, the same sound data is synchronized to stack on the same position for each ID. When driving a sound source tracking application performed through the control unit of the robot in step 506, the directional omnidirectional multi-array microphone is used. The received and synchronized sound data tracks the direction of the sound source. In addition, in the case of the sound data processing method using the server in step 506, the synchronized data is transmitted to the server through the virtual robot controller, and the voice recognition application is driven through the sound data synchronized by the server to perform voice recognition. Done.

이를 통하여 동일한 음성에 대해 여러 음성 처리가 수행되며, 각 음성 데이터 별로 응용프로그램을 구동하던 것을 동일한 음성에 대해서는 병렬적 동기화를 통하여 음성 인식 및 음원 추적 시의 각 마이크 및 사운드보드 또는 각 마이크가 설치된 방향 별 표본 데이터를 통하여 음성 인식 및 음원 추적 시의 성능을 높일 수 있으며, 동일한 음성 외에 추가적인 음성들을 구별하여 순차적 방식으로 처리하는 것이 가능하다.Through this process, multiple voice processing is performed for the same voice, and each microphone and sound board or direction in which the microphones are installed at the time of voice recognition and sound source tracking through parallel synchronization for the same voice. The performance of voice recognition and sound source tracking can be improved through the sample data, and it is possible to distinguish additional voices in addition to the same voice and process them in a sequential manner.

이상 설명한 바와 같이, 본 발명은 로봇이 수동적으로 음성/영상 관련 컴포넌트들이 처리되는 방식에서 탈피하여 보다 능동적으로 움직이며 서버를 통한 데이터 처리를 통하여 로봇 제어부에 단순 처리 프로세서만 구비된 경우에도 사람과 상호 작용할 수 있는 기본 시스템을 구현할 수 있으며, 응용 프로그램들의 동기화를 통하여 제어명령에 대한 처리 성능을 높이도록 한다.As described above, the present invention moves more actively in a manner in which the robot passively processes audio / video related components and interacts with a person even when only a simple processing processor is provided in the robot controller through data processing through a server. A basic system that can operate can be implemented, and synchronization of application programs can improve the processing performance of control commands.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by those equivalent to the scope of the claims.

도 1은 일반적인 로봇의 구조를 도시한 블록도,1 is a block diagram showing the structure of a general robot;

도 2는 본 발명의 바람직한 실시예에 따른 네트워크 기반 서버-클라이언트 타입의 로봇 구조를 도시한 블록도,2 is a block diagram showing a network structure of a network-based server-client type according to a preferred embodiment of the present invention;

도 3은 본 발명의 바람직한 실시예에 따른 네트워크 기반의 통합 서비스 타입의 로봇 구조를 도시한 블록도, 3 is a block diagram showing a robot structure of a network-based integrated service type according to an embodiment of the present invention;

도 4는 본 발명의 바람직한 실시예에 따른 로봇과 서버와의 API 형태를 도시한 도면,4 is a diagram illustrating an API form between a robot and a server according to a preferred embodiment of the present invention;

도 5는 본 발명의 바람직한 실시예에 따른 음성 데이터의 동기화 절차를 도시한 흐름도.5 is a flowchart illustrating a synchronization procedure of voice data according to a preferred embodiment of the present invention.

Claims (19)

복수의 마이크와 사운드보드가 설치된 로봇용 음성 처리 방법에 있어서, In the voice processing method for a robot provided with a plurality of microphones and a sound board, 상기 복수의 마이크 및 사운드보드를 통하여 소리를 입력받는 과정과, Receiving sound through the plurality of microphones and soundboards; 상기 입력된 소리 데이터를 프레임 버퍼에 저장하며 각 프레임마다 아이디(ID)를 할당하는 과정과, Storing the input sound data in a frame buffer and assigning an ID to each frame; 상기 ID 별로 동일한 내용의 소리 데이터들을 동일한 위치의 스택에 임시 저장하는 동기화 과정과, A synchronization process of temporarily storing sound data having the same contents for each of the IDs on a stack of the same location; 상기 동기화된 소리 데이터로 상기 로봇의 음성 관련 응용프로그램들을 구동하는 과정 Driving voice-related applications of the robot using the synchronized sound data 을 포함하는 로봇용 음성 처리 방법. Voice processing method for a robot comprising a. 제 1항에 있어서, The method of claim 1, 상기 마이크는, The microphone, 지향성 마이크 또는 무지향성 다중 어레이 마이크인 것을 특징으로 하는 로봇용 음성 처리 방법. A voice processing method for a robot, characterized in that it is a directional microphone or an omnidirectional multiple array microphone. 제 1항에 있어서, The method of claim 1, 상기 ID는, The ID is, 상기 소리 데이터가 입력된 마이크 및 사운드보드 별로 할당되는 것을 특징 으로 하는 로봇용 음성 처리 방법. The sound processing method for the robot, characterized in that the sound data is assigned to each input microphone and soundboard. 제 1항에 있어서, The method of claim 1, 상기 음성 관련 응용프로그램은, The voice related application, 음성 인식, 음원 추적 및 화자인식 프로그램을 포함하는 것을 특징으로 하는 로봇용 음성 처리 방법. A voice processing method for a robot comprising a voice recognition, sound source tracking and speaker recognition program. 로봇용 음성처리 시스템에 있어서,In the voice processing system for a robot, 다수의 주변기기와, Many peripherals, 상기 다수의 주변기기와 드라이버로 연결되어 상기 로봇을 제어하고, 마이크 및 사운드보드로부터 입력된 소리 데이터에 프레임별 아이디(ID)를 할당하여 프레임 버퍼에 저장하고, 상기 ID 별로 동일한 내용의 소리 데이터들을 동일한 위치의 스택에 임시 저장하는 동기화를 수행하고, 상기 동기화된 소리 데이터로 로봇의 음성 관련 응용프로그램을 구동하는 로봇 제어부와,It is connected to the plurality of peripheral devices and drivers to control the robot, allocates IDs per frame to sound data input from a microphone and a soundboard, and stores them in a frame buffer, and stores sound data having the same content for each ID. A robot controller which performs synchronization for temporarily storing the stack of positions and drives a robot related application program with the synchronized sound data; 상기 로봇 제어부와 연결되어 상기 로봇 제어를 위한 프로그램, 상기 음성관련 응용프로그램과, 상기 다수의 주변기기로부터 전달된 데이터를 저장하는 저장부와,A storage unit connected to the robot control unit to store a program for controlling the robot, the voice related application program, and data transmitted from the plurality of peripheral devices; 상기 로봇과 유무선 네트워크로 연결되어 상기 로봇 제어부에서 자체적으로 처리가 불가능하거나 부하가 많이 걸리는 데이터를 전달받아 처리하는 서버 The server is connected to the robot and the wired and wireless network to receive and process data that cannot be processed by the robot controller itself or takes a lot of load. 를 포함하는 네트워크 기반의 로봇용 음성 처리 시스템. Speech processing system for a network-based robot comprising a. 제 5항에 있어서, The method of claim 5, 상기 서버는, The server, 상기 로봇 제어부로부터 음성인식을 위한 음성데이터를 수신한 경우, When the voice data for voice recognition is received from the robot controller, 상기 음성관련 응용프로그램을 구동하여 음성인식을 수행하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. Speech processing system for a network-based robot, characterized in that for performing voice recognition by driving the speech-related application program. 제 5항에 있어서, The method of claim 5, 상기 로봇 제어부는, The robot control unit, 상기 주변기기로부터 음원 추적을 위한 음성 데이터를 입력받은 경우, When receiving voice data for sound source tracking from the peripheral device, 상기 음성관련 응용프로그램을 구동하여 음원의 방향을 추적하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. The voice processing system for a network-based robot, characterized in that for tracking the direction of the sound source by driving the voice-related application program. 삭제delete 제 6항 내지 7항중 어느 한 항에 있어서, The method according to any one of claims 6 to 7, 상기 음성 관련 응용프로그램은, The voice related application, 음성 인식, 음원 추적 및 화자인식 프로그램을 포함하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. Voice processing system for a network-based robot, characterized in that it comprises a voice recognition, sound source tracking and speaker recognition program. 제 5항에 있어서, The method of claim 5, 상기 주변기기는, The peripheral device, 카메라 수단과, 마이크, 스피커, 터치센서, 디스플레이부 중 적어도 하나를 포함하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. Voice processing system for a network-based robot, comprising at least one of a camera means, a microphone, a speaker, a touch sensor, a display. 제 5항에 있어서, The method of claim 5, 상기 드라이버는, The driver, 상기 주변기기를 상기 로봇 제어부와 연결하여 구동시키기 위한 인터페이스를 제공하고, 상기 주변기기로부터 신호 및 센서 데이터들을 전달받아 상기 로봇 제어부로 전달하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. And providing an interface for driving the peripheral device with the robot controller, and receiving signals and sensor data from the peripheral device and transmitting the signal to the robot controller. 로봇용 음성처리 시스템에 있어서,In the voice processing system for a robot, 다수의 주변기기와, Many peripherals, 상기 다수의 주변기기와 드라이버로 연결되어 상기 로봇을 제어하는 로봇 제어부와,A robot controller connected to the plurality of peripheral devices and a driver to control the robot; 상기 로봇 제어부와 연결되어 상기 로봇 제어를 위한 프로그램, 음성관련 응용프로그램과, 상기 다수의 주변기기로부터 전달된 데이터를 저장하는 저장부와,A storage unit connected to the robot control unit to store a program for controlling the robot, an application program related to voice, and data transmitted from the plurality of peripheral devices; 상기 로봇과 유무선 네트워크로 연결되어 상기 로봇 제어부에서 자체적으로 처리가 불가능하거나 부하가 많이 걸리는 데이터를 전달받아 처리하는 중앙 컴퓨터 서버와, A central computer server connected to the robot via a wired / wireless network to receive and process data that cannot be processed by the robot controller itself or takes a lot of load; 상기 중앙 컴퓨터 서버로부터 입력된 제어명령을 상기 로봇 제어부의 제어 명령 방식으로 변환한 후, 상기 변환된 제어 명령을 상기 로봇 제어부로 전달하는 가상 로봇 제어부 The virtual robot controller converts the control command input from the central computer server into the control command method of the robot controller and then transfers the converted control command to the robot controller. 를 포함하는 네트워크 기반의 로봇용 음성 처리 시스템. Speech processing system for a network-based robot comprising a. 제 12항에 있어서, The method of claim 12, 상기 시스템은, The system, 상기 중앙 컴퓨터 서버 및 상기 가상 로봇 제어부와 유무선 네트워크로 연결되어 상기 중앙 컴퓨터 서버와 데이터 및 제어신호를 송수신하고 상기 가상 로봇 제어부로부터 전송된 데이터를 처리하는 가정 컴퓨터 서버를 더 포함하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. And a home computer server connected to the central computer server and the virtual robot controller through a wired / wireless network to transmit and receive data and control signals with the central computer server and to process data transmitted from the virtual robot controller. Based voice processing system for robots. 제 12항에 있어서, The method of claim 12, 상기 서버는, The server, 상기 로봇 제어부로부터 음성인식을 위한 음성데이터를 수신한 경우, When the voice data for voice recognition is received from the robot controller, 상기 음성관련 응용프로그램을 구동하여 음성인식을 수행하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. Speech processing system for a network-based robot, characterized in that for performing voice recognition by driving the speech-related application program. 제 12항에 있어서, The method of claim 12, 상기 로봇 제어부는, The robot control unit, 상기 주변기기로부터 음원 추적을 위한 음성 데이터를 입력받은 경우, When receiving voice data for sound source tracking from the peripheral device, 상기 음성 관련 응용프로그램을 구동하여 음원의 방향을 추적하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. The voice processing system for a network-based robot, characterized in that for tracking the direction of the sound source by driving the voice-related application program. 제 12항에 있어서, The method of claim 12, 상기 로봇 제어부는, The robot control unit, 복수의 마이크 및 사운드보드로부터 소리 데이터를 입력받아, 상기 마이크 및 사운드보드 별로 입력된 소리 데이터를 프레임 버퍼에 저장하며 프레임별 아이디(ID)를 할당하고, 상기 ID 별로 동일한 내용의 소리 데이터들을 동일한 위치의 스택에 임시 저장하는 동기화를 수행하고, 상기 동기화된 소리 데이터로 로봇의 음성 관련 응용프로그램들을 구동하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. Receives sound data from a plurality of microphones and soundboards, stores sound data input for each microphone and soundboard in a frame buffer, assigns IDs for each frame, and assigns sound data having the same contents for each ID to the same location. Performing a synchronization to temporarily store in a stack of, and driving the voice-related applications of the robot with the synchronized sound data. 제 14항 내지 16항중 어느 한 항에 있어서, The method according to any one of claims 14 to 16, 상기 음성 관련 응용프로그램은, The voice related application, 음성 인식, 음원 추적 및 화자인식을 포함하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템. Speech processing system for a network-based robot, characterized in that it includes speech recognition, sound source tracking and speaker recognition. 제 12항에 있어서, The method of claim 12, 상기 주변기기는, The peripheral device, 카메라 수단과, 마이크, 스피커, 터치센서, 디스플레이부 중 적어도 하나를 포함하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템.Voice processing system for a network-based robot, comprising at least one of a camera means, a microphone, a speaker, a touch sensor, a display. 제 12항에 있어서, The method of claim 12, 상기 드라이버는, The driver, 상기 주변기기를 상기 로봇 제어부와 연결하여 구동시키기 위한 인터페이스를 제공하고, 상기 주변기기로부터 신호 및 센서 데이터들을 전달받아 상기 로봇 제어부로 전달하는 것을 특징으로 하는 네트워크 기반의 로봇용 음성 처리 시스템.And providing an interface for driving the peripheral device with the robot controller, and receiving signals and sensor data from the peripheral device and transmitting the signal to the robot controller.
KR1020070081049A 2007-08-13 2007-08-13 Method and system for network-based speech processing in a robot KR100901483B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070081049A KR100901483B1 (en) 2007-08-13 2007-08-13 Method and system for network-based speech processing in a robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070081049A KR100901483B1 (en) 2007-08-13 2007-08-13 Method and system for network-based speech processing in a robot

Publications (2)

Publication Number Publication Date
KR20090016800A KR20090016800A (en) 2009-02-18
KR100901483B1 true KR100901483B1 (en) 2009-06-08

Family

ID=40685710

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070081049A KR100901483B1 (en) 2007-08-13 2007-08-13 Method and system for network-based speech processing in a robot

Country Status (1)

Country Link
KR (1) KR100901483B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073112B (en) * 2018-01-19 2024-02-20 冠捷电子科技(福建)有限公司 Intelligent service type robot with role playing function
KR102100703B1 (en) * 2019-11-25 2020-04-14 정원석 Voice recognition kiosk with multiple input means
KR102100704B1 (en) * 2019-12-09 2020-04-14 정원석 Kiosk with speech recognition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003111981A (en) 2001-10-09 2003-04-15 Sony Corp Robot device and its controlling method, information providing system and information providing method for robot and storing media
KR100499770B1 (en) 2004-12-30 2005-07-07 주식회사 아이오. 테크 Network based robot control system
KR20070061056A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 Sound localization apparatus for robot environment and method there of
KR20070061075A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 Apparatus for controlling robot by network-based robot control system and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003111981A (en) 2001-10-09 2003-04-15 Sony Corp Robot device and its controlling method, information providing system and information providing method for robot and storing media
KR100499770B1 (en) 2004-12-30 2005-07-07 주식회사 아이오. 테크 Network based robot control system
KR20070061056A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 Sound localization apparatus for robot environment and method there of
KR20070061075A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 Apparatus for controlling robot by network-based robot control system and method thereof

Also Published As

Publication number Publication date
KR20090016800A (en) 2009-02-18

Similar Documents

Publication Publication Date Title
US10381003B2 (en) Voice acquisition system and voice acquisition method
JP4718987B2 (en) Interface device and mobile robot equipped with the same
US10529360B2 (en) Speech enhancement method and apparatus for same
CN102903362B (en) Integrated this locality and the speech recognition based on cloud
US10438588B2 (en) Simultaneous multi-user audio signal recognition and processing for far field audio
WO2006047615A3 (en) Identity verification system with interoperable and interchangeable input devices
US10388325B1 (en) Non-disruptive NUI command
KR102478393B1 (en) Method and an electronic device for acquiring a noise-refined voice signal
WO2018190507A1 (en) Method and system for multimodal interaction with sound device connected to network
CN103685783A (en) Information processing system and storage medium
KR102374054B1 (en) Method for recognizing voice and apparatus used therefor
WO2021244056A1 (en) Data processing method and apparatus, and readable medium
KR100901483B1 (en) Method and system for network-based speech processing in a robot
JP2009166184A (en) Guide robot
CN108942941A (en) A kind of educational robot voice interactive system
JP5206151B2 (en) Voice input robot, remote conference support system, and remote conference support method
JP2021177418A (en) Method of providing electronic device with interpretation function and ear set device
JP2002120184A (en) Robot operation control system on network
Jat et al. Voice activity detection-based home automation system for people with special needs
JP2005202075A (en) Speech communication control system and its method and robot apparatus
CN108806675A (en) Voice input-output device, wireless connection method, speech dialogue system
KR102393112B1 (en) Method and apparatus for function of translation using earset
WO2021147583A1 (en) Method, apparatus and system for determining relative angle between smart devices, and smart device
WO2021112391A1 (en) Electronic device and control method therefor
US20090125640A1 (en) Ultrasmall portable computer apparatus and computing system using the same

Legal Events

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

Payment date: 20130527

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee