[go: up one dir, main page]

KR20070004268A - How to use script generator and commercialization tool for robot control of various platforms - Google Patents

How to use script generator and commercialization tool for robot control of various platforms Download PDF

Info

Publication number
KR20070004268A
KR20070004268A KR1020050059737A KR20050059737A KR20070004268A KR 20070004268 A KR20070004268 A KR 20070004268A KR 1020050059737 A KR1020050059737 A KR 1020050059737A KR 20050059737 A KR20050059737 A KR 20050059737A KR 20070004268 A KR20070004268 A KR 20070004268A
Authority
KR
South Korea
Prior art keywords
robot
content
script
control
authoring tool
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020050059737A
Other languages
Korean (ko)
Other versions
KR100738258B1 (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 KR1020050059737A priority Critical patent/KR100738258B1/en
Publication of KR20070004268A publication Critical patent/KR20070004268A/en
Application granted granted Critical
Publication of KR100738258B1 publication Critical patent/KR100738258B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23373Interactive guidance by voice message
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23386Voice, vocal command or message
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31085Application scripts; in web server, not sent to client
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37453Simulate measuring program, graphical interactive generation of program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39254Behaviour controller, robot have feelings, learns behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

A method for utilizing a script generator and a commercial authoring tool for robot control of diverse platforms is provided to solve restriction related to synchronization and a problem for developing again the authoring tool and contents for each new robot development by offering an authoring environment to conveniently develop robot contents and supporting a content playback/simulation function. Content data having a specific format is loaded. Playback of the loaded content data is performed and the played content data is edited. All robot command scripts such as operation control, voice recognition, user attention, face recognition, navigation, and conversation technologies of the robot are set and simulated through communication with a robot by defining the command related to the robot control for the loaded content data in a script type. A user selects a display time point for the edited and set content data. In case that the edited and set contents are displayed through resources of the robot, the contents are displayed to the outside based on a selection time point.

Description

다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법 {Robot Contents Authoring Method using Script Generator and Commercially-Off-the-Shelf Multimedia Authoring Tool for Control of Various Robot Platforms}{Robot Contents Authoring Method using Script Generator and Commercially-Off-the-Shelf Multimedia Authoring Tool for Control of Various Robot Platforms}

도 1은 본 발명이 적용되는 개략적인 시스템 환경을 도시한 예시도1 is an exemplary view showing a schematic system environment to which the present invention is applied

도 2는 본 발명에서 적용되는 범용 저작툴의 구조를 개략적으로 나타낸 예시도Figure 2 is an exemplary view schematically showing the structure of a universal authoring tool applied in the present invention

도 3은 로봇에서 컨텐츠를 재생하는 플레이어에 대한 구조를 나타낸 예시도3 is an exemplary diagram showing a structure of a player playing content in a robot;

도 4는 PC에서 컨텐츠를 재생하는 플레이어에 대한 구조를 나타낸 예시도4 is an exemplary view showing a structure of a player playing content on a PC;

도 5는 본 발명에 따른 범용 저작툴의 편집화면을 보여주는 예시도5 is an exemplary view showing an edit screen of the general authoring tool according to the present invention.

도 6은 범용 저작툴의 클래스 구조 예시도6 is a diagram illustrating a class structure of a general authoring tool

도 7 내지 도 10은 본 발명의 스크립트 자동 생성기의 화면을 보여주는 스크린 샷7 to 10 are screen shots showing the screen of the automatic script generator of the present invention.

도 11은 본 발명에 따라 구동하는 부분을 나타내기 위한 로봇의 전후면 예시도Figure 11 is an illustration of the front and back of the robot for showing the part driving in accordance with the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100 : 로봇 200 : PC100: robot 200: PC

210 : 플래쉬 컨텐츠 로딩모듈 220 : 컨텐츠 재생 모듈210: flash content loading module 220: content playback module

230 : 플래쉬 파일 조정모듈 240 : 로봇 제어 모듈230: flash file adjustment module 240: robot control module

310 : 재생 모듈 320 : 소켓 통신 모듈310: playback module 320: socket communication module

330 : 음성관련 모듈부 410 : 스크립트 생성 모듈330: voice related module unit 410: script generation module

420 : 재생 모듈 430 : 시뮬레이션 모듈420: playback module 430: simulation module

440 : 소켓 통신 모듈 460 : 데이터베이스440: socket communication module 460: database

본 발명은 스크립트 자동화 생성기를 이용한 범용 로봇의 제어를 위한 멀티미디어 저작툴 활용 방법에 관한 것으로 특히, 로봇 개발자의 추가적인 프로그래밍 작업 없이 컨텐츠 개발자가 빠르고 편리하게 로봇용 컨텐츠를 개발할 수 있는 저작환경을 제공하고, 컨텐츠 재생과 시뮬레이션 기능을 지원함으로써 로봇 컨텐츠 제작시의 오류를 최소화 하는 기존 로봇 저작툴의 장점을 살리면서, 컨텐츠 정보를 갖고 있는 파일과, 로봇제어 명령을 갖고 있는 파일로 분리된 제작 및 재생 구조를 한 개의 컨텐츠 파일로 통합하여 동기화 관련 제약을 해소하고, 새로운 로봇을 개발할 때 마다 저작툴과 컨텐츠를 재개발해야 하는 문제점을 개선하기 위한 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법에 관한 것이다.The present invention relates to a method of utilizing a multimedia authoring tool for controlling a general-purpose robot using a script automation generator. In particular, the present invention provides an authoring environment in which a content developer can quickly and conveniently develop content for a robot without additional programming work by a robot developer. By utilizing the advantages of the existing robot authoring tool, which minimizes errors in robot content creation by supporting playback and simulation functions, it is possible to create a production and playback structure separated into a file with content information and a file with robot control commands. The present invention relates to a method of using a script generator and a commercially available authoring tool for controlling robots of various platforms to solve the problem of synchronizing by integrating into a content file and reproducing the authoring tool and contents each time a new robot is developed.

일반적으로, 현재의 로봇제어 방법은 대부분 필요시 마다 개발자가 프로그래밍을 해서 로봇에서 직접 실행을 해보고 결과의 오류를 찾아 몇 차례의 디버깅을 거치는 일련의 과정을 거친다.In general, most of the current robot control methods go through a series of processes where a developer executes programming when needed and runs directly on the robot, finds an error in the result, and goes through several debugging.

그리고, 디스플레이 되는 화면과 실제 로봇과의 동작을 연결하여 동기화 시키는 것도 비교적 간단치 않은 작업이었다.  In addition, it was a relatively simple task to connect and synchronize the displayed screen with the actual robot.

이러한 기술적 한계로 인해, 실생활에 유익한 다양한 컨텐츠를 제공하는 로봇을 상품화 하는 것에 어려움이 있었다. Due to these technical limitations, it was difficult to commercialize a robot that provides various contents beneficial to real life.

위의 문제를 개선하기 위하여 로봇용 컨텐츠를 개발하는 저작툴이 국내특허출원 제 10-2003-0067691호의 '지능형 로봇의 컨텐츠 제작용 저작툴 및 이를 이용한 지능형 로봇의 컨텐츠 제작 방법' 이 개발되었다. In order to improve the above problems, the authoring tool for developing contents for robots has been developed in the Korean Patent Application No. 10-2003-0067691, 'authoring tool for contents production of intelligent robots and contents production method for intelligent robots using the same'.

상술한 선행발명은 로봇을 사용한 경험이 없거나, 로봇제어에 대한 지식이 전혀 없는 컨텐츠 개발자가 로봇용 컨텐츠를 제작할 수 있는 환경을 제공하였다는 장점이 있었으나, 화면에 디스플레이 되는 멀티미디어 파일과 실제 액션정보를 전달하는 로봇용 컨텐츠 파일을 별도로 관리해야 했으며 , 멀티미디어 파일과 동기화에 제약이 많아 다소 불편함이 있었다. The above-mentioned invention has the advantage of providing an environment in which a content developer having no experience in using a robot or having no knowledge of robot control can produce contents for a robot, but the multimedia file displayed on the screen and actual action information Content files for robots had to be managed separately, and there were some inconveniences due to limitations in synchronization with multimedia files.

또한, 로봇마다 플랫폼과 제어가 필요한 부분이 각기 다른 이유로 특정 로봇의 제어 목적으로 개발된 저작툴과 컨텐츠는 다른 로봇에는 적용하기 어려운 상황이 발생하게 되었다. In addition, the authoring tool and contents developed for the purpose of controlling a specific robot are difficult to apply to other robots because the platform and the control portion are different for each robot.

예를 들어, 초기에 개발된 로봇의 경우 팔이 없어 제어할 필요가 없었으나, 차기에 개발된 로봇의 경우 팔이 추가되어 제어가 필요하게 되었는데, 기존에 개발된 구조의 저작툴로는 새로 추가된 기능을 사용할 수 없어 매번 새로운 로봇이 개발될 때 마다 그에 종속적인 새로운 저작툴과 컨텐츠를 개발해야 한다는 문제가 발생하게 되었다. For example, the robot developed in the early days did not need to be controlled because there was no arm, but the robot developed in the future needed to be controlled with the addition of an arm. Because of the lack of functionality, each time a new robot is developed, a new authoring tool and content must be developed.

또한, 로봇만의 특화된 얼굴인식, 대화기술, 네비게이션, 사용자 응시 등의 기능을 컨텐츠에 적용하기 어려워 PC용으로 개발된 컨텐츠와 차별화된 컨텐츠를 개발하는데 있어 매우 한계가 있었다. In addition, since it is difficult to apply functions such as robot's specialized face recognition, conversation technology, navigation, and user gaze to contents, there was a limit in developing contents differentiated from contents developed for PC.

따라서 로봇의 컨텐츠를 지켜본 많은 사용자들은 일반 PC를 위해 개발된 컨 텐츠와 차별점을 찾기 어렵다고 지적했다. 로봇의 독창적인 컨텐츠 개발을 위하여 로봇관련 개발기술을 컨텐츠에 접목시키는 기능이 필요하게 되었다. Therefore, many users who watched the contents of the robot pointed out that it is difficult to find the difference from the contents developed for the general PC. In order to develop the original contents of the robot, the function of integrating the robot-related development technology into the contents is required.

상술한 문제점을 해소하기 위한 본 발명의 목적은 로봇 개발자의 추가적인 프로그래밍 작업 없이 컨텐츠 개발자가 빠르고 편리하게 로봇용 컨텐츠를 개발할 수 있는 저작환경을 제공하고, 컨텐츠 재생과 시뮬레이션 기능을 지원함으로써 로봇 컨텐츠 제작시의 오류를 최소화 하는 기존 로봇 저작툴의 장점을 살리면서, 컨텐츠 정보를 갖고 있는 파일과, 로봇제어 명령을 갖고 있는 파일로 분리된 제작 및 재생 구조를 한 개의 컨텐츠 파일로 통합하여 동기화 관련 제약을 해소하고, 새로운 로봇을 개발할 때 마다 저작툴과 컨텐츠를 재개발해야 하는 문제점을 개선하기 위한 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법을 제공하는 데 있다.An object of the present invention for solving the above problems is to provide an authoring environment in which a content developer can quickly and conveniently develop content for a robot without additional programming work by the robot developer, and to support the content playback and simulation function at the time of robot content production By taking advantage of the existing robot authoring tool that minimizes the error of the system, the content-related file and the production and playback structure separated into the file containing the robot control command are combined into one content file to remove the synchronization-related restrictions. In order to improve the problem of redeveloping the authoring tool and contents each time a new robot is developed, the present invention provides a method for using a script generator and a commercially available authoring tool for robot control of various platforms.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법의 특징은, 로봇액션, 음성인식, 음성합성 등의 전체 로봇제어와 멀티미디어 기반의 저작기능, 그리고 로봇이 없는 사용자도 로봇과 동일한 형태의 시뮬레이션이 가능하도록 하는 컨텐츠 플레이어 및 3차원 시뮬레이션을 포함하여 구성하되 로봇액션 정보 및 음성합성, 음 성인식 등록을 위한 정적객체 정보 윈도가 있는 저작환경을 포함하는 로봇의 컨텐츠 제작용 저작툴의 운영방법에 있어서: 특정 양식을 갖는 임의의 컨텐츠 자료를 로딩하는 제 1과정과; 상기 제 1과정에서 로딩되어진 컨텐츠 자료에 대한 재생동작을 수행하고 재생되는 컨텐츠 자료에 대한 편집을 수행하는 제 2과정과; 상기 제 1과정에서 로딩되어진 컨텐츠 자료에 대하여 로봇제어와 관련된 명령을 스크립트 방식으로 정의하여 로봇의 동작제어 및 음성인식과 음성합성, 사용자 응시, 얼굴인식, 네비게이션, 대화기술 등 모든 로봇명령 스크립트를 로봇과 통신하여 로봇액션에 대한 설정 및 시뮬레이션을 수행하는 제 3과정과; 상기 제 2과정과 제 3과정을 통해 편집 및 설정되어진 컨텐츠 자료에 대하여 표출시점을 사용자 임의로 선택하는 제 4과정; 및상기 로봇의 자원을 통해 상기 제 2과정과 제 3과정을 통해 편집 및 설정되어진 컨텐츠를 표출하는 경우 상기 제 4과정에서 선택되어진 시점을 기준으로 외부로 표출되는 제 5과정을 포함하는 것을 특징으로 한다.In order to achieve the above object, the script generator for the control of various platforms according to the present invention and the method of utilizing a commercial authoring tool are characterized by the robot control, voice recognition, speech synthesis, etc. And authoring environment including content player and 3D simulation that enables users without robots to simulate the same form as robots, but includes authoring environment window for robot action information, voice synthesis, and static object information registration A method of operating a content creation authoring tool for a robot, comprising: a first step of loading arbitrary content material having a specific form; A second step of performing a reproducing operation on the content material loaded in the first step and editing the reproduced content material; By defining the commands related to robot control in the script method for the content material loaded in the first step, all robot command scripts such as robot motion control, voice recognition, voice synthesis, user gaze, face recognition, navigation, and conversation technology are robots. A third step of communicating with and performing setting and simulation of the robot action; A fourth process of arbitrarily selecting a presentation time point for the content material edited and set through the second process and the third process; And a fifth process that is displayed to the outside based on a time point selected in the fourth process when the content edited and set through the second process and the third process is displayed through the resources of the robot. do.

또한, 상기 제 3과정에서의 통신은 소켓통신을 사용하는 것을 특징으로 한다.       In addition, the communication in the third process is characterized by using the socket communication.

아울러, 상기 제 3과정에서 로봇제어와 관련된 명령을 스크립트의 정의과정은 로봇제어에 필요한 다양한 액션종류를 제공하고 있으며 로봇에 따라서 저작자가 로봇 액션을 추가 할 수 있는 로봇액션 스크립트 조정 모드와; 각각 특정 로봇 컨텐츠 파일과 특정 파일의 전역적으로 사용되는 파일 인식어와 특정 범위의 시작과 종료 프레임 구간에서만 인식이 활성화 되는 프레임 인식어로 구분되는 로봇의 음성인식 정보를 조정할 수 있도록 하는 음성인식 스크립트 조정모드와; 음성의 피치 와 속도 파라미터 값의 속성을 활용하여 다양한 감정 변화에 따른 적합한 로봇의 목소리를 표현하도록 하는 음성합성 조정모드; 및 얼굴인식 및 대화기술 등과 같이 로봇의 주요 기능으로 구현되어 있는 기술요소를 설계자의 필요에 의해 상기 제 1과정에서 로딩되어진 컨텐츠 자료에 부가시키는 특성화 객체 추가모드를 포함하는 것을 특징으로 한다.       In addition, in the third process, the process of defining a script for a command related to robot control provides a variety of action types required for robot control, and a robot action script adjustment mode in which the author can add a robot action according to the robot; Voice recognition script control mode that enables to adjust the voice recognition information of the robot, which is divided into a specific robot content file, a file recognition word used globally for a specific file, and a frame recognition word that is activated only in the start and end frame sections of a specific range. Wow; Speech synthesis adjustment mode to express the voice of the robot according to various emotion changes by using the properties of the pitch and velocity parameter value of the voice; And a characterization object adding mode for adding a technical element implemented as a main function of the robot, such as face recognition and conversation technology, to the content material loaded in the first step according to the needs of the designer.

또한, 상기 제 3과정은 멀티미디어 컨텐츠 저작도구를 활용하여 로봇의 동작 및 음성인식과 합성 등을 로봇제어와 관련된 명령을 스크립트 방식으로 정의하고 로봇과 통신하되, 로봇제어와 관련된 함수를 이용하여 스크립트를 자동으로 생성하고, 이를 컨텐츠 저작도구에 자동으로 입력하며, 로봇제어 명령을 다양한 플랫폼의 범용 로봇에 적용할 수 있도록 하는 것을 특징으로 한다.       In addition, the third process uses a multimedia content authoring tool to define the robot's motion, voice recognition and synthesis, etc. in a script manner, and communicates with the robot, using a function related to the robot control. It generates automatically, and automatically inputs it to the content authoring tool, it characterized in that the robot control commands can be applied to general purpose robots of various platforms.

아울러, 상기 로봇에 특성화 된 컨텐츠 개발을 위하여, 얼굴인식 판단 여부 등의 입출력 결과에 따라 액션을 하도록 하는 과정을 더 포함하는 것을 특징으로 한다.       In addition, for the development of the content characterized in the robot, characterized in that it further comprises the step of performing the action according to the input and output results, such as whether the face recognition judgment.

또한, 상기 로봇에 특성화 된 컨텐츠 개발을 위하여, 대화기술을 접목시켜 로봇과 사용자의 인터랙션을 효과적으로 구현할 수 있도록 하는 과정을 더 포함하는 것을 특징으로 한다.       In addition, in order to develop a specialized content to the robot, it is characterized in that it further comprises a process to effectively implement the interaction between the robot and the user by incorporating a dialogue technology.

아울러, 상기 사용자의 인터페이스를 개선하기 위하여 로봇제어와 관련된 함수를 이용하여 스크립트를 자동으로 생성하고, 이를 상용 저작툴에 자동으로 입력하여 주는 것을 특징으로 한다.       In addition, in order to improve the user interface, a script is automatically generated using a function related to robot control, and is automatically input to a commercial authoring tool.

또한, 상기 다양한 플랫폼과 제어 부위를 가진 로봇에 적용할 수 있는 확장 성을 위하여 로봇제어와 관련된 모든 명령을 외부 파일로 정의하는 것을 특징으로 한다.       In addition, in order to be applicable to the robot having various platforms and control parts, all commands related to robot control are defined as external files.

본 발명의 상술한 목적과 여러 가지 장점은 이 기술 분야에 숙련된 사람들에 의해, 첨부된 도면을 참조하여 후술되는 본 발명의 바람직한 실시 예로부터 더욱 명확하게 될 것이다.The above object and various advantages of the present invention will become more apparent from the preferred embodiments of the present invention described below with reference to the accompanying drawings by those skilled in the art.

이하, 본 발명의 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of a method for utilizing a script generator and a commercialization authoring tool for robot control of various platforms of the present invention will be described in detail.

첨부한 도 1은 본 발명이 적용되는 개략적인 시스템 환경을 도시한 것으로, 제어대상인 로봇(100)과, 스크립트 자동화 생성기를 이용한 범용 로봇의 제어를 위한 멀티미디어 저작툴이 탑재되어 있으며 제어대상인 로봇(100)에 임의의 멀티미디어 컨텐츠를 운영할 수 있도록 하는 PC(200)로 구성된다.1 is a schematic system environment to which the present invention is applied, and a robot 100 as a control object and a multimedia authoring tool for controlling a general purpose robot using a script automation generator are mounted and a robot 100 as a control object. It consists of a PC 200 to operate any multimedia content.

첨부한 도 1에 도시되어 있는 바와 같은 시스템의 구현은 로봇(100)에 임의의 멀티미디어 컨텐츠를 세팅하거나 기존의 컨텐츠를 변경하기 위한 과정에서 이루어지면, 로봇(100)은 그 외의 과정에서는 PC(200)와 연결이 차단된 상태에서 개별적으로 운영되어진다.When the implementation of the system as shown in FIG. 1 is performed in the process of setting arbitrary multimedia content on the robot 100 or changing existing content, the robot 100 is otherwise configured as a PC 200. ) Is operated separately with disconnected connections.

따라서 상기 PC(200)에 탑재되어진 멀티미디어 저작툴은 PC용 멀티미디어 저작툴을 이용하여 로봇을 제어할 수 있는 컨텐츠의 제작을 목적으로 개발된 프로그램으로써, 기존의 저작도구를 사용할 줄 아는 컨텐츠 개발자가 손쉽게 로봇용 컨텐츠를 개발 할 수 있도록 구현되며, 본 발명에서 사용되는 스크립트 생성기는 매크 로미디어사의 플래쉬를 지원하는 스크립트 생성기를 통해 로봇제어와 음성인식, 음성합성, TTS, 얼굴인식 및 대화기술 객체 등을 정의할 수 있도록 구현되어 있다.Therefore, the multimedia authoring tool mounted on the PC 200 is a program developed for the purpose of producing contents capable of controlling the robot using a multimedia authoring tool for a PC, and a content developer who can use an existing authoring tool can easily use the robot. The script generator used in the present invention can be used to define contents such as robot control, voice recognition, voice synthesis, TTS, face recognition, and dialog technology objects through a script generator that supports flash of Macromedia. It is implemented so that

첨부한 도 2는 본 발명에서 적용되는 범용 저작툴의 구조를 개략적으로 나타낸 것으로, 외부에서 생성되었거나 또는 데이터베이스에 저장되어 있는 플래쉬 컨텐츠를 억세스하는 플래쉬 컨텐츠 로딩모듈(210)과, 상기 플래쉬 컨텐츠 로딩모듈(210)을 통해 로딩되어진 플래쉬 컨텐츠를 입력받아 재생하도록 하는 컨텐츠 재생모듈(220)과, 임의의 컨텐츠를 제공받는 경우 로봇의 제한된 자원을 운영하여 제공된 컨텐츠를 로봇이 활용하도록 하는 로봇제어모듈(240), 및 상기 컨텐츠 재생모듈(220)을 통해 재생되는 컨텐츠를 상기 로봇제어모듈(240)측으로 전달하며 상기 로봇제어모듈(240)의 운영동작에 대한 결과를 통해 최적의 컨텐츠의 생성을 수행하도록 하는 플래쉬파일 조정모듈(230)로 구성되어진다.2 is a schematic view illustrating a structure of a general authoring tool applied to the present invention, and includes a flash content loading module 210 for accessing flash content generated externally or stored in a database, and the flash content loading module ( Content playback module 220 to receive and play the flash content loaded through the 210, and the robot control module 240 to operate the limited resources of the robot when the arbitrary content is provided to the robot to utilize the provided content And flash to transmit the content played through the content playing module 220 to the robot control module 240 and to generate an optimal content through a result of the operation of the robot control module 240. The file adjustment module 230 is configured.

이때 상기 로봇제어모듈(240)과 플래쉬파일 조정모듈(230)간에는 소켓통신을 통해 데이터의 교환이 이루어진다.At this time, the robot control module 240 and the flash file adjustment module 230 is exchanged data through the socket communication.

첨부한 도 3은 로봇에서 컨텐츠를 재생하는 플레이어에 대한 구조를 나타낸 예시도로서, 로봇에서는 컨텐츠를 재생모듈(310)인 플레이어(ERobotPlayer.exe)를 통해 구동을 시킨다. Attached FIG. 3 is an exemplary view illustrating a structure of a player playing content in a robot, and the robot drives the content through a player (ERobotPlayer.exe), which is a playback module 310.

이때 소켓통신모듈(320)인 "ERPPlayer.dll"이 재생모듈(310)인 플레이어(ERobotPlayer.exe)와 로봇간의 통신을 담당하게 된다. At this time, the socket communication module 320 "ERPPlayer.dll" is responsible for communication between the player (ERobotPlayer.exe) that is the playback module 310 and the robot.

첨부한 도 3은 음성인식과 관련한 컨텐츠를 활용하기 위한 경우의 예로써, 참조번호 330으로 지칭되는 음성관련 모듈부는 플레이어와의 인터페이스를 위한 하 드웨어제어모듈과 음성합성모듈 및 음성인식모듈을 구비한다.Attached FIG. 3 is an example of utilizing contents related to voice recognition, and a voice related module unit referred to by reference numeral 330 includes a hardware control module, a voice synthesis module, and a voice recognition module for interfacing with a player. .

따라서, 하드웨어제어모듈(Player Interface)이 서버 모드로 소켓통신을 오픈(Open)하여 구동되고 있는 상태이며, 재생모듈(310)은 음성관련 명령을 처리하기 위해 클라이언트 모드로 소켓통신을 오픈(Open)하여 하드웨어제어모듈(Player Interface)과 접속이 되어 있는 상태이다.Accordingly, the hardware control module (Player Interface) is driven by opening the socket communication in the server mode (Open), and the playback module 310 opens the socket communication in the client mode to process voice-related commands. Connected to the hardware control module (Player Interface).

상기 재생모듈(310)이 컨텐츠를 구동하면서 "FSCommand Event"를 통해 명령을 "ERPPlayer.dll"로 소켓(Socket)을 통해 전달하게 된다. "ERPPlayer.dll"은 플레이어로부터 전달받은 명령을 하드웨어제어모듈(Player Interface)을 통해 로봇을 제어하고 또한 음성인식 관련 처리를 하고, 다시 "ERPPlayer.dll"을 통해 다시 플레이어에게 전달하게 된다.The playback module 310 delivers a command to the "ERPPlayer.dll" through a socket through the "FSCommand Event" while driving the content. "ERPPlayer.dll" controls the robot through a hardware control module (Player Interface) and also processes voice recognition related commands received from the player, and again to the player through "ERPPlayer.dll".

즉, 로봇에서는 컨텐츠를 재생모듈을 통해 구동을 시킨다. 이때 소켓통신모듈(320)은 재생모듈(310)과 로봇간의 통신을 담당하게 된다. 이때 이미 소켓 통신 모듈(320)은 서버 모드로 소켓을 열어 구동되고 있는 상태이며, 재생모듈(310)은 클라이언트 모드로 소켓을 열어 소켓 통신 모듈과 접속한다. That is, the robot drives the content through the playback module. At this time, the socket communication module 320 is responsible for the communication between the playback module 310 and the robot. At this time, the socket communication module 320 is already driven by opening the socket in the server mode, and the playback module 310 opens the socket in the client mode to connect with the socket communication module.

재생모듈(310)은 컨텐츠를 구동하면서 확장기능 이벤트가 발생할 때 마다 로봇제어 명령을 소켓으로 로봇에 전달하게 된다. 로봇은 전달된 명령에 따라 로봇을 제어하고 또는 음성인식/합성 등 관련 처리를 하고, 그 결과를 소켓 통신 모듈(320)을 통해 다시 재생모듈(310)에게 전달하게 된다.The playback module 310 delivers a robot control command to the robot through a socket whenever an extension function event occurs while driving content. The robot controls the robot according to the transmitted command or performs related processing such as voice recognition / synthesis, and transfers the result back to the playback module 310 through the socket communication module 320.

첨부한 도 4는 PC에서 컨텐츠를 재생하는 플레이어에 대한 구조를 나타낸 예시도로서, 크게 음성인식과 시뮬레이션을 동시에 하는 경우이며, 다른 하나는 시뮬 레이션 또는 음성인식 엔진만을 작동하는 경우이다.4 is an exemplary view showing a structure of a player playing content on a PC, which is a case where a voice recognition and a simulation are performed simultaneously, and the other is a case where only a simulation or a voice recognition engine is operated.

전자의 경우 스크립트 생성모듈(Script Editor; 410)에서 미리보기를 하였을 때 재생모듈(ERobotPlayer.exe; 420)이 구동을 하면서 하드웨어제어모듈(Player Interface)과 시뮬레이션모듈(SimulatorProcess.exe; 430)이 재생모듈(420)에 의해 구동을 하게 된다.In the former case, when previewing in the script generation module (Script Editor) 410, the playback module (ERobotPlayer.exe) 420 is driven and the hardware control module (Player Interface) and the simulation module (SimulatorProcess.exe; 430) are played. Driven by module 420.

이때, 하드웨어제어모듈(Player Interface)이 서버 모드로 소켓통신을 오픈(Open)하여 구동되고 있는 상태이며, 재생모듈(420)은 음성관련 명령을 처리하기 위해 클라이언트 모드로 소켓통신을 오픈(Open)하여 하드웨어제어모듈(Player Interface)과 접속이 되어 있는 상태이다.At this time, the hardware control module (Player Interface) is operating by opening the socket communication in the server mode (Open), the playback module 420 opens the socket communication in the client mode to process the voice-related commands (Open) Connected to the hardware control module (Player Interface).

또한, 시뮬레이션모듈(430) 역시 실행되면서 서버모드로 소켓통신을 오픈(Open)하여 구동되고 있는 상태이며, 재생모듈(420)은 클라이언트 모드로 접속을 하여 통신을 하게 된다.In addition, while the simulation module 430 is also running, the socket communication in the server mode (Open) is open and driven, the playback module 420 is connected to the client mode to communicate.

이때부터 실제로 재생모듈(420)에서 컨텐츠가 재생되면서 "FsCommand 이벤트"가 발생을 할 때 마다 이를 소켓통신을 통해 하드웨어제어모듈 또는 시뮬레이션모듈(430)에 전달을 하게 된다.From this time, whenever the "FsCommand event" occurs while the content is played in the playback module 420, it is transmitted to the hardware control module or the simulation module 430 through socket communication.

상술한 전자의 경우가 아닌 경우 즉, 후자의 경우로 시뮬레이션모듈(430) 또는 음성인식모듈만을 작동 시켰을 때, 전반적인 동작은 상술한 전자의 경우와 동일하며 단지 시뮬레이션모듈(430) 또는 음성인식모듈 중 어느 하나만 동작을 한다는 것이 차이점이다.In the case of not the former case, that is, when only the simulation module 430 or the voice recognition module is operated in the latter case, the overall operation is the same as that of the former case, and only the simulation module 430 or the voice recognition module The difference is that only one of them works.

부연하여 설명하면 스크립트 생성 모듈(410)에서 미리 보기를 하였을 때, 재 생모듈(420)을 구동 하면서 소켓 통신 모듈(440)과 시뮬레이션 모듈(430)이 구동된다. 이때 소켓 통신 모듈(440)이 서버 모드로 소켓을 열고, 재생모듈(420)이 음성관련 명령을 처리하기 위해 클라이언트 모드로 소켓을 열어 서로 접속을 하게 된다. 시뮬레이션 모듈(430) 역시 프로그램이 실행되면서 서버모드로 소켓을 열고, 재생모듈(420)이 이에 클라이언트 모드로 접속을 하여 서로 통신을 하게 된다. 이때부터 실제로 재생모듈(420)에서 컨텐츠가 돌아가면서 확장기능이벤트가 발생을 할 때 마다 이를 소켓 통신을 통해 소켓 통신 모듈(440) 또는 시뮬레이션 모듈(430)에 전달을 하게 된다.In detail, when the preview is performed in the script generation module 410, the socket communication module 440 and the simulation module 430 are driven while the regeneration module 420 is driven. At this time, the socket communication module 440 opens the socket in the server mode, and the playback module 420 opens the socket in the client mode in order to process voice-related commands, thereby connecting to each other. The simulation module 430 also opens a socket in server mode while the program is executed, and the playback module 420 connects to the client mode to communicate with each other. At this time, whenever an extension function event occurs while the contents are rotated in the playback module 420, the content is transmitted to the socket communication module 440 or the simulation module 430 through socket communication.

첨부한 도 5는 본 발명에 따른 범용 저작툴의 편집화면 및 스크립트 생성기를 보여주는 예시도로서, 플래쉬 저작툴이 실행되어 있는 상태에서 로봇 액션 정보 및 음성인식 등록을 위한 범용 저작툴 (로봇 액션정보) 윈도가 있다.5 is an exemplary view showing an edit screen and a script generator of a general authoring tool according to the present invention, and there is a general authoring tool (robot action information) window for registering robot action information and voice recognition in a state where a flash authoring tool is executed. .

즉, 플래쉬 저작툴이 실행되어 있는 상태에서 우측에 로봇 액션 정보 및 음성인식 등록을 위한 스크립트 생성기 윈도가 함께 실행되어 있다. 새로운 로봇 액션의 패턴등록 및 음성합성, 음성인식 단어를 실제 등록하는 작업은 모두 로봇 액션정보 윈도우에서 이루어진다.That is, a script generator window for registering robot action information and voice recognition is executed on the right side while the flash authoring tool is executed. The pattern registration, voice synthesis, and voice recognition word registration of the new robot action are all performed in the robot action information window.

또한, 사용자 정의 액션의 추가도 스크립트 생성기에서 제공하는 기능을 통해 추가하게 된다. 스크립트 생성기는 스크립트를 붙여넣을 포커스 영역을 지정하는 기능을 통해 선택된 명령을 자동으로 추가한다. 플래쉬 함수인 fscommand 스크립트를 플래쉬의 해당하는 부분에 삽입한다.You can also add custom actions through the functionality provided by the script generator. The script generator automatically adds the selected command with the ability to specify the focus area to paste the script into. Insert the flash function fscommand script into the corresponding part of the flash.

명령어 종류는 머리, 바퀴, 눈, 입, 가슴, 팔 등의 로봇 제어 부위를 구분하 는 것이다. 로봇에 따라 팔이 추가되거나 또는 추가적인 관절 제어가 필요한 경우, 로봇제어와 관련된 정보를 담고 있는 외부 파일에 규정된 프로토콜을 이용하여 명령어 코드와 파라미터를 정의하면 컨텐츠 개발자가 스크립트 생성기 실행시 목록에 동적으로 로딩하도록 되어 있다. 따라서 스크립트 생성기는 특정 목적과 용도에 맞는 로봇을 위한 컨텐츠를 만들 수 있게 되어 있다.The command type distinguishes robot control parts such as head, wheels, eyes, mouth, chest and arms. If an arm is added or additional joint control is required depending on the robot, the command code and parameters are defined using a protocol defined in an external file that contains information related to the robot control. It is supposed to load. Therefore, the script generator can create contents for the robot for a specific purpose and purpose.

각 명령 패턴에 대한 파라미터 또한 동적으로 로딩되는 구조를 갖고 있다. 예를 들어 기존의 로봇의 경우, 파라미터 종류가 5개로 모든 제어가 가능했으나, 더 복잡한 팔과 다리 관절을 가진 로봇을 제어하려면 10개 이상의 파라미터가 필요하게 될지 알 수 없다. The parameters for each command pattern also have a dynamically loaded structure. For example, in the case of conventional robots, all control was possible with 5 parameter types, but it is not known whether more than 10 parameters would be required to control a robot with more complicated arm and leg joints.

따라서, 로봇정보를 담고 있는 외부 파일에는 패턴정보 뿐 아니라 파라미터의 종류 및 기본적인 값도 갖고 있다. 이때, 다른 파라미터의 값의 변동에 상하한값 제한 등이 바뀌는 수식도 독립적인 외부 파일로 갖고 있어 특정 로봇에 종속적이지 않기 때문에 확장이 가능하다. Therefore, the external file containing the robot information has not only pattern information but also parameter types and basic values. At this time, it is possible to expand the formula that changes the upper and lower limit values due to the change of the value of other parameters as an independent external file and is not dependent on a specific robot.

첨부한 도 5에서 스크립트 생성영역에 대한 상세한 설명은 후술하는 도 7 내지 도 10에 상세히 언급하도록 한다.Detailed description of the script generation region in FIG. 5 will be described in detail later with reference to FIGS. 7 to 10.

새로운 로봇 액션의 패턴등록 및 음성합성, 음성인식 단어를 실제 등록하는 작업은 모두로봇 액션정보 윈도우에서 이루어진다. 또한, 사용자 정의 액션객체 추가도 범용 저작툴에서 제공하는 마법사 기능을 통해 추가하게 된다. 저작툴에서 생성된 fscommand 을 플래쉬의 타임라인 상의 해당하는 부분에 삽입한다.The pattern registration, voice synthesis, and voice recognition word registration of the new robot action are all performed in the robot action information window. In addition, custom action objects can be added through the wizard function provided by the general authoring tool. Insert the fscommand generated by the authoring tool into the corresponding part of the Flash timeline.

이때, 명령어 종류는 머리, 바퀴, 눈, 입, 가슴, 팔 등의 로봇 제어 부위를 구분하는 것이며, 명령어 코드는 제어되는 부위별로 가능한 액션패턴에 대해 고유의 코드로 정의한 것이다. At this time, the type of command is to distinguish the robot control parts such as the head, wheel, eyes, mouth, chest, and arms, and the command code is defined as a unique code for possible action patterns for each controlled part.

예를 들어, 머리를 상하로 흔드는 액션의 경우 H(Head) U(Up) D(Down)를 조합하여 "HDU0"으로 정의 되어 있다. 팔의 경우 A(Arm) U(Up) D(Down)를 조합한 "AUD0", 바퀴를 좌우로 회전하는 액션 코드는 W(Wheel) L(Left) R(Right)을 조합한 "WLR0"으로 정의되어 있다.For example, the action of shaking the head up and down is defined as "HDU0" by combining H (Head) U (Up) D (Down). In case of arm, "AUD0" combining A (Arm) U (Up) D (Down) and the action code to rotate the wheel left and right are "WLR0" combining W (Wheel) L (Left) R (Right). It is defined.

그리고, 로봇에 따라 팔이 추가되거나 또는 관절과 같은 추가적인 제어가 필요할 경우, 이를 위와 같이 미리 정의된 명령어 코드와 파라미터를 정의하여 사용자 정의 액션을 추가한 후 해당하는 로봇에 맞는 컨텐츠를 만들 수 있게 되어 있어, 로봇의 특성에 맞게 임의적으로 새로운 로봇 액션을 추가할 수 있는 범용성을 가지고 있다.In addition, when an arm is added or additional control such as a joint is required according to the robot, the user can create a content suitable for the robot after adding a user-defined action by defining predefined command codes and parameters as above. Therefore, it has the universality to add a new robot action arbitrarily according to the characteristics of the robot.

파라미터는 로봇액션에 대해 세부적인 제어를 할 수 있도록 발명된 것으로 파라미터 값의 타입과 값이 쌍으로 등록이 된다. 현재 개발 중인 로봇 기준으로 모든 로봇 액션은 1초의 유지시간과 1회의 반복횟수 파라미터 값을 가진다. 유지시간과 반복횟수는 로봇 컨텐츠 제작자가 임의로 설정할 수 있으며, 액션의 특성별로 이동각도, 이동거리, 이동길이, 이동끝점, 이동방향 등의 파라미터 종류가 다양하다. Parameters are invented to allow detailed control of the robot action, and the parameter values are registered in pairs. Based on the robots currently under development, all robot actions have a 1 second hold time and one iteration parameter value. The retention time and the number of repetitions can be arbitrarily set by the robot content creator, and the types of parameters such as the moving angle, the moving distance, the moving length, the moving end point, and the moving direction vary depending on the characteristics of the action.

만일 제작자가 컨텐츠 제작시 TTS로 나레이션 사운드 등의 동기를 위해 유지시간을 길게 하거나, 액션의 반복횟수를 변경하거나, 이동각도나 이동거리 등의 파라미터 값을 변경하고자 하면 스크립트 생성 유틸리티를 통하여 파라미터 값을 변 경하고 스크립트 생성을 하게 되면 자동적으로 로봇 제어와 관련된 "FsCommand"명령어가 생성된다.If the creator wants to increase the holding time, change the number of repetitions of the action, or change the parameter values such as the moving angle or the moving distance, etc., to synchronize the narration sound with the TTS during the content production, the parameter value can be changed through the script generation utility. After changing and generating script, “FsCommand” command related to robot control is automatically generated.

이때, 로봇액션의 반복횟수는 유지시간 및 이동거리 또는 각도 등에 의해 영향을 받으며 모든 파라미터는 상하한 값 제한 범위가 존재한다. At this time, the repetition frequency of the robot action is influenced by the holding time and the moving distance or angle, and all parameters have an upper and lower limit value range.

상하한 값은 로봇의 하드웨어에서 처리할 수 있는 한계 범위를 나타내는 것으로 사용자가 입력한 파라미터 값에 대해 내부적으로 상하한 값을 체크하여 범위 초과시 메시지로 알려주도록 한다. The upper and lower limit values indicate the limit range that can be processed by the hardware of the robot. The upper and lower limit values are checked internally for the parameter values entered by the user and informed by a message when the upper limit is exceeded.

모든 로봇액션에서 기본적으로 제공되는 값은 모두 초당 1회이며, 컨텐츠 제작자는 상하한 값 범위 내에서 임으로 값을 정의할 수 있다. The default values for all robot actions are once per second, and the content creator can define the values within the upper and lower limits.

예를 들어, 로봇 머리의 상하이동 최대 각도는 10도 인데, 이동각도 파라미터를 11도 이상 입력하면 파라미터 상하한 값 초과 메시지가 발생하게 된다. 또는, 1초의 유지시간에 로봇의 머리를 상하로 100회 이상 수행하는 등의 무리한 하드웨어 제어를 할 수 없도록 방지하고 있다.For example, the maximum head angle of the robot head is 10 degrees. If the moving angle parameter is entered more than 11 degrees, a parameter upper and lower limit exceeded message will occur. Alternatively, excessive hardware control, such as performing the head of the robot up and down 100 times in a holding time of 1 second, is prevented.

또한, 로봇 제작자에 의해 새로운 로봇 액션과 파라미터의 추가가 용이하게 되어 있다. 간단한 마법사 기능을 통해 명령어 코드와, 파라미터의 타입과, 종류, 상하한 값을 마법사 각 단계마다 순차적으로 입력하여 새로운 로봇액션을 추가할 수 있다.In addition, the robot manufacturer makes it easy to add new robot actions and parameters. Through simple wizard function, new robot action can be added by inputting command code, parameter type, type, and high / lower limit value sequentially for each step of wizard.

도 6은 범용 저작툴의 클래스 구조 예시도로서, 범용 저작툴의 재생구조는 "CSwfControl"에서 컨텐츠 관련 제어(Play, Pause, Stop)를 담당하게 된다. 여기서 로봇 관련 제어, 음성 인식, LED 관련 제어, 네비게이션 관련 제어에 따라 각각 담 당하는 부분이 나누어지게 되어 있다. 6 is a diagram illustrating a class structure of a general authoring tool, and a playback structure of the general authoring tool is responsible for content related control (Play, Pause, Stop) in "CSwfControl". In this case, the respective parts are divided according to robot-related control, voice recognition, LED-related control, and navigation-related control.

또한, "CRobotCommand"는 로봇 명령과 관련된 제어를 담당하는 부분으로 로봇의 머리 움직임, 바퀴 움직임, 팔 움직임 제어명령을 실제 제어 프로세서로 전달하는 역할을 담당한다. In addition, "CRobotCommand" is a part in charge of the control related to the robot command is responsible for transferring the head movement, wheel movement, arm movement control command of the robot to the actual control processor.

또한, "CRecognitionControl"은 컨텐츠 제작시 등록한 음성인식 단어를 관리하는 부분으로 "CRecogWordList"가 음성 인식 단어를 관리하고, "CRecogObject"에는 컨텐츠에 등록되어 있는 음성인식 단어 객체에 해당한다. In addition, "CRecognitionControl" is a part that manages voice recognition words registered at the time of content creation, and "CRecogWordList" manages voice recognition words, and "CRecogObject" corresponds to a voice recognition word object registered in the content.

또한, "CRecognitionControl"에서는 로봇의 음성제어 부분으로부터 전달 받은 음성인식 단어를 받아 이를 컨텐츠에 등록되어 있는 음성 인식 단어와 비교하여 해당하는 액션을 취하게 된다.In addition, the "CRecognitionControl" receives a speech recognition word received from the voice control part of the robot and compares it with the speech recognition word registered in the content to take a corresponding action.

마지막으로 "CInterfaceProtocol"은 제어부분과의 통신을 담당하게 된다. Finally, "CInterfaceProtocol" is in charge of communication with the control part.

첨부한 도 7 내지 도 10은 본 발명의 스크립트 자동 생성기의 화면을 보여주는 스크린 샷으로, 첨부한 도 7은 로봇액션 스크립트 윈도우로서 실제 로봇 제어와 관련된 정의를 할 수 있는 윈도우로서, 스크립트 자동 생성기의 표시 형태를 확장상태와 축소상태로 표시한 것이다.7 to 10 are screen shots showing the screen of the automatic script generator according to the present invention. FIG. 7 is a robot action script window and a window for defining the actual robot control. The form is shown in the expanded state and the reduced state.

로봇 제어에 필요한 다양한 액션종류를 제공하고 있으며, 로봇에 따라서 저작자가 로봇 액션을 추가 할 수 있다. 명령어와 파라미터를 정의 하여 새로운 로봇 액션을 등록 하여 사용할 수 있다. 또한, 자주 사용하는 로봇 액션을 등록하여 간단한 조작으로 액션 스크립트를 플래쉬 컨텐츠에 삽입할 수 있다. 로봇 액션은 명령어 종류, 명령어 코드, 명령어 이름, 파라미터의 데이터 타입, 파라미터의 종류, 상하한 값으로 구성되어 있다.Various action types are provided for robot control, and authors can add robot actions depending on the robot. New robot action can be registered and used by defining commands and parameters. In addition, a robot action that is frequently used can be registered to insert an action script into the flash content with a simple operation. Robot action consists of command type, command code, command name, parameter data type, parameter type and upper and lower limit values.

새롭게 추가된 확장성이란, 로봇에 따른 새로운 명령어를 추가할 수 있는 기능을 말한다. 새로운 관절 제어를 필요로 할 경우 해당 로봇에 들어가는 컨텐츠에서도 이를 활용하여 제어하는 컨텐츠를 개발하게 된다. 이와 같이 추가적으로 제어가 필요하게 되는 명령어를 등록 및 수정할 수 있는 기능을 지원한다. 이를 이용하면 거미와 같은 형태의 많은 다리를 제어해야 하는 로봇을 위한 컨텐츠도 개발이 가능할 것이다.Newly added extensibility means the ability to add new commands according to the robot. If a new joint control is needed, the content that enters the robot will be developed using the content. As such, it supports the function to register and modify the commands that need additional control. It will also be possible to develop content for robots that need to control many legs, such as spiders.

예를 들어 바퀴제어, LED 제어, 머리 제어를 동시에 해야 하는 경우 이를 매번 반복적으로 액션 객체를 추가하기 보다는 자주 사용하는 액션으로 등록을 하여 사용자가 손쉽게 이전에 등록했던 액션 템플릿을 통해 등록할 수 있도록 했다. For example, if the wheel control, LED control, and head control must be performed at the same time, instead of adding an action object repeatedly each time, it is registered as a frequently used action so that the user can easily register it through the previously registered action template. .

또한, 다른 플랫폼의 로봇에 적용할 수 있는 확장성을 위한 기능을 가지고 있다. 여기서 확장성은 범용 저작툴을 사용하여 로봇에 따른 새로운 명령어를 추가할 수 있는 기능을 말한다. 예를 들어, 로봇이 관절 제어를 필요로 할 경우 해당 로봇에 들어가는 컨텐츠에서도 로봇제어를 위하여 관절제어 관련 명령어를 필요로 하게 된다. 범용 저작툴에 이와 같이 추가적으로 필요하게 되는 로봇제어 명령어를 등록, 수정할 수 있는 기능을 지원한다.In addition, it has a function for extensibility applicable to robots of other platforms. Extensibility refers to the ability to add a new command for a robot using a general authoring tool. For example, when a robot needs joint control, the contents entering the robot also require commands related to joint control in order to control the robot. It supports the function of registering and modifying robot control commands that are additionally needed in this general authoring tool.

도 8은 음성인식 스크립트 윈도우로서, 로봇의 음성인식 정보를 갖고 있는 음성인식 윈도이다. 음성인식에는 인식형태에 따라 단일 인식어와 구간 인식어 두 가지 종류가 있는데, 단일 인식어에 해당하는 것은 파일 인식어이고, 구간 인식어에는 프레임 인식어가 있다. 그 특징은 살펴보면 대략 다음과 같다. 8 is a voice recognition script window, which is a voice recognition window containing voice recognition information of a robot. There are two types of speech recognition depending on the recognition type. A single recognition word and a section recognition word are two types. A single recognition word corresponds to a file recognition word and a section recognition word includes a frame recognition word. The characteristics are roughly as follows.

파일 인식어는 각각 특정 로봇 컨텐츠 파일과 특정 파일의 전역적으로 사용되는 인식어를 정의하는 기능이고, 구간 인식어는 특정 범위의 시작과 종료 프레임 구간에서만 인식이 활성화 되는 프레임 인식어를 정의할 수 있는 기능이다. The file recognizer is a function to define the globally used identifier of a specific robot content file and a specific file, and the section recognizer can define a frame identifier that can be recognized only at the start and end frame sections of a specific range. to be.

프레임 인식어는 동일한 컨텐츠 페이지 내에서 두개 이상의 동일한 인식어의 서로 다른 링크경로를 정의할 수 있는 장점이 있다. The frame identifier has the advantage of defining different link paths of two or more identical identifiers within the same content page.

그러나, 동일 구간에는 동일한 인식어를 중복하여 서로 다른 링크경로를 처리할 수 없도록 되어 있다.However, in the same section, different link paths cannot be processed by overlapping the same recognized word.

도 9는 음성합성 스크립트 윈도우로서, 로봇의 음성합성(TTS)을 정의하는 윈도우이다. 저작툴에서 로봇과 동일한 한글과 영문 음성합성 엔진이 내장되어 있는데, 저작툴에서 컨텐츠를 제작할 때 한영 모드를 선택하여 등록할 수 있다. 음성합성을 등록할 때는 음성합성 등록 윈도에서 로봇 음성합성의 피치와 속도 파라미터 값의 속성을 활용하여 다양한 감정 변화에 따른 적합한 로봇의 목소리를 표현할 수 있다.9 is a voice synthesis script window, which defines the voice synthesis (TTS) of the robot. In the authoring tool, the same Korean and English speech synthesis engine as the robot is built-in. When authoring content in the authoring tool, the Korean-English mode can be selected and registered. When registering a voice synthesis, the voice of the robot can be expressed according to various emotion changes by using the pitch and velocity parameter values of the robot voice synthesis in the voice synthesis registration window.

도 10은 로봇에 특성화 된 객체를 추가할 수 있는 윈도우로서, 얼굴인식 및 대화기술 등과 같이 로봇의 주요 기능으로 구현되어 있는 기술요소를 컨텐츠에 적용할 수 있도록 함으로써 PC와는 차별화된 컨텐츠를 개발할 수 있도록 지원하는 기능이다. FIG. 10 is a window in which a specialized object can be added to a robot, so that technology elements implemented as main functions of the robot, such as face recognition and conversation technology, can be applied to the content, so that the contents can be developed differently from the PC. This function is supported.

PC와 차별화된 컨텐츠의 개발을 위하여 추가된 기능으로 로봇의 새로운 부가가치를 창출할 수 있도록 발명되었다. 얼굴인식, 사용자 응시, 네비게이션, 대화기술 등과 같은 로봇의 주요 기능으로 이미 구현되어 있는 기술요소를 컨텐츠에 적용 할 수 있도록 함으로써 다양한 컨텐츠를 개발할 수 있도록 하는데 중점을 두었다.It was invented to create new added value of robot with added function for developing contents different from PC. The main functions of the robot, such as face recognition, user gaze, navigation, and conversation technology, are focused on developing various contents by applying the technical elements already implemented to the contents.

HRI 객체 적용 예시를 간략히 정리하면 아래의 표 1과 같다.An example of applying the HRI object is summarized in Table 1 below.

Figure 112005036113889-PAT00001
Figure 112005036113889-PAT00001

얼굴인식 객체의 경우, 인식된 사용자에 따라서 특정 액션을 취하는 컨텐츠를 제작할 수 있는데, 예를 들어 "~님 안녕하세요." 라는 문장을 컨텐츠 상에서 구현해야 할 경우, 얼굴인식을 통해 현재 인식된 사용자를 알아낼 수 있으며, 이 정보를 전달 받아서 컨텐츠에서는 인식된 사람에 따라 각기 반응의 정도를 다르게 구현할 수 있다.In the case of a face recognition object, content that takes a specific action according to a recognized user can be produced, for example, "Hello ~." If the sentence is to be implemented on the content, it is possible to find out the currently recognized user through face recognition, and by receiving this information, the content can be implemented differently according to the recognized person.

대화 객체의 경우 컨텐츠에 특정 시나리오로 구성된 컴포넌트 형태의 대화기술 객체를 추가하게 되면, 컨텐츠 재생시 대화기술을 접목시킨 특성화 된 컨텐츠를 개발할 수 있다. 예를 들어, 어린이용 동화 한편을 제작할 경우 단순히 일방적으로 들려주는 이야기가 아니라 각각의 등장인물과의 대화를 통해 사고력을 증진시켜 주는 PC용 컨텐츠와 차별화 되는 로봇에 적합한 컨텐츠를 제작할 수 있을 것이다. 이와 같은 로봇에 특성화된 객체를 추가함으로써 인식 및 대화객체의 입출력 결과에 따라 판단하는 알고리즘을 컨텐츠에 구성하여 반영할 수 있는 장점이 있다.In the case of a conversation object, when a conversation technology object of a component type composed of a specific scenario is added to the content, it is possible to develop specialized content incorporating the conversation technology when playing the content. For example, if one of the children's fairy tales is produced, it will not be a mere one-sided story, but will be able to produce content suitable for robots that are differentiated from the contents for PCs that enhance thinking through dialogue with each character. By adding a specialized object to such a robot, there is an advantage in that an algorithm for judging based on an input and output result of recognition and conversation object can be configured and reflected in content.

그 외에도 사용자의 얼굴을 응시하거나, 컨텐츠 재생중 지정된 특정 장소로 이동하는 등의 네비게이션을 수행할 수 있어 로봇 관련 기술을 컨텐츠에 접목시킬 수 있도록 하였다.In addition, navigation can be performed such as staring at the user's face or moving to a specific place while playing content.

발명의 실시예로 상용화된 저작툴 중 매크로미디어사의 플래쉬와 스크립트 생성기를 이용하여 로봇제어와 음성인식, 음성합성, TTS, 얼굴인식 및 대화기술 객체 등을 정의하는 방법에 대해 설명한다. As an embodiment of the present invention, a method for defining robot control, voice recognition, voice synthesis, TTS, face recognition, and conversation technology object using the flash and script generator of Macromedia Inc. among commercial authoring tools will be described.

상술한 바와 같은 스크립트 생성기에서 제공하는 "FsCommand" 명령어를 정의하면 아래의 표 2와 같다.Define the "FsCommand" command provided by the script generator as described above is shown in Table 2 below.

Figure 112005036113889-PAT00002
Figure 112005036113889-PAT00002

상기 표 2는, "FsCommand" 및 파라미터를 정의한 것으로, 플래쉬에서 제공하는 함수를 이용하여 로봇을 제어하는 명령을 정의한 것으로 아래에서 그 작성 예를 들어 설명한다.In Table 2, "FsCommand" and parameters are defined. Commands for controlling the robot using a function provided by the flash are defined.

실제 제작시에는 개발자의 정보를 입력 받아 스크립트 생성기가 자동으로 코드를 생성한다.In actual production, the script generator receives the developer's information and automatically generates the code.

○ 머리액션 스크립트 : ○ Head Action Script:

ex 1) fscommand( "robotcmd", "#HUD0#1#1#10" );ex 1) fscommand ("robotcmd", "# HUD0 # 1 # 1 # 10");

로봇의 머리를 상하로 1초간 1회 10도 만큼 흔든다. Shake the robot's head up and down once a second for 10 degrees.

ex 2) fscommand( "robotcmd", "#HSK0#1#1#10#1#30" );ex 2) fscommand ("robotcmd", "# HSK0 # 1 # 1 # 10 # 1 # 30");

로봇의 머리를 좌우로 1초간 1회 흔들면서 숙인다. 이때, 숙임 각도는 10, 흔들 횟수는 1, 흔들 각도는 30 이다.Shake and lean the head of the robot once a second for 1 second. At this time, the lean angle is 10, the number of shakes is 1, and the shake angle is 30.

ex 3) fscommand( "robotcmd", "#HCL0#1#1#10#1#0#0#0#10#30" ) ;ex 3) fscommand ("robotcmd", "# HCL0 # 1 # 1 # 10 # 1 # 0 # 0 # 0 # 10 # 30");

로봇의 머리를 왼쪽 위로 시작해서 1초간 1회 원을 그린다. 이때, 수평과 수직의 장단의 길이는 30, 10 이다. Start the robot's head in the upper left corner and draw a circle once per second. At this time, the length of the horizontal and vertical long and short is 30, 10.

○ 바퀴액션 스크립트 :○ Wheel Action Script:

ex 1) fscommand( "robotcmd", "#WFB0#1#1" ) ;ex 1) fscommand ("robotcmd", "# WFB0 # 1 # 1");

로봇의 바퀴를 앞뒤로 1초간 1회 움직인다. Move the wheel of the robot back and forth once for 1 second.

○ 팔 액션 스크립트 :○ 8 action scripts:

ex 1) fscommand( "robotcmd", "#AUD0#1#1#10#1" ) ;ex 1) fscommand ("robotcmd", "# AUD0 # 1 # 1 # 10 # 1");

로봇의 왼쪽 팔을 상하로 1초간 1회 움직인다. Move the left arm of the robot up and down once for 1 second.

○ 네비게이션 스크립트 ○ navigation script

ex1) fscommand( "navigation", "#prev" ) ;ex1) fscommand ("navigation", "#prev");

페이지 전환시 히스토리 기능을 사용하여 이전에 본 페이지로 이동한다. When switching pages, use the history function to move to the previously viewed page.

○ 얼굴표정 LED 스크립트 :○ Facial Expression LED Script:

ex1) fscommand( "ledcmd", "#LEH0#RED#1#5#1" ) ;ex1) fscommand ("ledcmd", "# LEH0 # RED # 1 # 5 # 1");

얼굴에 기쁜 표정을 Red 색상으로 약5초간 1회 반복한다. Repeat on the face for 5 seconds with red color.

ex 2) fscommand( "ledcmd", "#LEG0#GREEN#2#5#1" ) ;ex 2) fscommand ("ledcmd", "# LEG0 # GREEN # 2 # 5 # 1");

얼굴에 슬픈 표정을 Green 색상으로 약5초간 1회 반복한다.Repeat the sad expression on your face once for 5 seconds in green color.

○ 음성인식 스크립트 :○ Voice recognition script:

ex 1) fscommand( "asr", "#KOR#안녕하세요#ex 1) fscommand ("asr", "# KOR # Hello #

http://www.irobi.co.kr/contents/exam.swf#FILE_LINK#10#HistoryType" ) ;http://www.irobi.co.kr/contents/exam.swf#FILE_LINK#10#HistoryType ");

음성인식 단어중 "안녕하세요"가 인식되면, 해당 경로의 파일로 이동한다. If "hello" is recognized among the voice recognition words, it moves to the file of the corresponding path.

○ 음성합성 스크립트 :○ Speech Synthesis Script:

ex1 ) fscommand( "tts", "#KOR#안녕하세요#1#1#1");ex1) fscommand ("tts", "# KOR # Hello # 1 # 1 # 1");

"안녕하세요" 라는 음성합성 TTS를 높이1, 속도 1, 볼륨 1 로 송출한다. A voice synthesis TTS called "Hello" is transmitted at height 1, speed 1, and volume 1.

○ 링크정보 스크립트 :○ Link Information Script:

ex 1) fscommand( "linkinfo", http://www.irobi.co.kr/contents/exam.swf#ex 1) fscommand ("linkinfo", http://www.irobi.com/contents/exam.swf#

FILE_LINK#10#HistoryType" ) ;FILE_LINK # 10 # HistoryType ");

특정 객체가 선택되면, 해당 경로의 파일로 이동한다.When a particular object is selected, it will go to the file in that path.

로봇제어에 관련한 스크립트를 간략히 정리하여 살펴보면 아래의 표 3과 같다.A brief summary of the scripts related to robot control is shown in Table 3 below.

Figure 112005036113889-PAT00003
Figure 112005036113889-PAT00003

상기 표 3에 나타나 있는 구분에서 머리에 관련한 머리액션 명령 및 파라미터를 간략히 정리하면 아래의 표 4와 같다.The head action commands and parameters related to the head in the division shown in Table 3 are summarized in Table 4 below.

Figure 112005036113889-PAT00004
Figure 112005036113889-PAT00004

표 4는 로봇의 머리제어를 위한 명령 및 파라미터를 정의한 표이다.Table 4 is a table that defines the commands and parameters for robot head control.

머리 제어에 관련된 액션 패턴으로 총 7가지 종류가 있다. 액션 코드별로 정의된 액션명과 각 파라미터의 기본값, 최소값, 최대값이 정의되어 있다. 유지시간은 해당 액션을 계속 유지하는 시간을 말하는 것으로 단위는 초(sec)이다. 최대 3,600초 즉, 1시간까지 정의할 수 있다.There are seven types of action patterns related to head control. Action name defined by action code and default value, minimum value and maximum value of each parameter are defined. The holding time refers to the time to keep the action. The unit is seconds. You can define up to 3,600 seconds, or 1 hour.

반복횟수는 유지시간에 대해 액션을 반복하는 속성으로 반복횟수의 최대값은 유지시간 및 이동각도, 회전각도, 흔들기 횟수 등의 영향을 받는다. 머리 액션의 파라미터의 종류는 동작시 제어되는 특성별로 각기 다르며 다양하다.The number of repetitions is an attribute that repeats the action with respect to the holding time. The maximum value of the number of repetitions is affected by the holding time, the moving angle, the rotation angle, and the number of shaking times. The types of head action parameters vary and vary depending on the characteristics controlled during operation.

머리를 상하로 이동하는 액션코드 HDN0의 경우 파라미터 종류는 유지시간과 반복횟수를 제외하면 이동각도 뿐이지만, 흔들면서 숙이기 액션코드 HSK0의 경우는 흔들기 횟수, 흔들기 각도, 숙임 각도 등으로 정의해야 할 파라미터 종류가 HDN0 보다 다양하다.In case of action code HDN0, which moves head up and down, parameter type is only movement angle except holding time and repetition frequency, but in case of action code HSK0, parameter that should be defined as the number of shaking, shaking angle, bow angle There are more varieties than HDN0.

Figure 112005036113889-PAT00005
Figure 112005036113889-PAT00005

표 5는 로봇의 바퀴제어를 위한 명령 및 파라미터를 정의한 표이다.Table 5 is a table that defines the commands and parameters for the wheel control of the robot.

바퀴 제어에 관련된 액션 패턴으로 총 4가지 종류가 있다. 액션코드 WFB0는 앞뒤로 이동하는 것으로, 초당 1회의 속도로 10cm의 이동거리를 왕복한 후 시작위치로 복귀하는 것으로 정의되어 있다. 이때, 바퀴의 최대 이동거리는 10cm 이며, 11cm 이상의 파라미터 값을 입력하면 상한값 초과 메시지가 발생하게 된다.There are four types of action patterns related to wheel control. The action code WFB0 moves back and forth, and it is defined as returning to the starting position after reciprocating a movement distance of 10 cm at a speed of once per second. At this time, the maximum movement distance of the wheel is 10cm, if a parameter value of 11cm or more is input, a message exceeding the upper limit occurs.

Figure 112005036113889-PAT00006
Figure 112005036113889-PAT00006

표 6은 로봇의 팔 제어를 위한 명령 및 파라미터를 정의한 표이다.Table 6 is a table that defines the commands and parameters for the robot's arm control.

팔 제어에 관련되어 정의된 패턴은 총 3가지 종류가 있다. 액션코드 AUD2는 양팔을 상하로 흔드는 동작을 하는 것으로, 기본적인 파라미터 값은 1초의 유지시간 동안 1회의 행동을 하는 것으로 되어 있으며, 파라미터 수치를 변경하여 원하는 새로운 액션을 생성하여 추가할 수 있다. There are a total of three types of patterns defined in relation to arm control. Action code AUD2 is to shake both arms up and down. The basic parameter value is one action for 1 second holding time. You can create new action by changing the parameter value.

Figure 112005036113889-PAT00007
Figure 112005036113889-PAT00007

표 7은 로봇의 얼굴표정 표현을 위한 명령 및 파라미터를 정의한 표이다.Table 7 is a table defining commands and parameters for the expression of the facial expression of the robot.

로봇의 머리에 있는 Face LED에 대한 얼굴표정을 제어하는 명령으로 현재 총 10가지 정의된 패턴이 있다.Commands to control facial expressions for the Face LED on the robot's head. There are currently 10 defined patterns.

도 11은 본 발명에 따라 구동하는 부분을 나타내기 위한 로봇의 전후면 예시도로서, 플래쉬 편집화면의 타임라인에서 해당 프레임 부분에 "fscommand" 스크립트를 삽입을 통해 머리, 바퀴, 팔 의 동작을 제어 할 수 있으며, 머리 LED, 가슴 LED, 눈 LED, 입 LED, 팔 LED, 귀 LED 제어를 통해 효과적인 감정의 표현을 할 수 있다.Figure 11 is a front and rear view of the robot for showing the driving part according to the present invention, the control of the head, wheel, arm operation by inserting the "fscommand" script in the frame portion of the timeline of the flash editing screen In addition, the head LED, chest LED, eye LED, mouth LED, arm LED, and ear LED control can be used to express effective emotions.

이때 LED 는 감정별로 각각의 색으로 정의 되어 있어 색상을 통해 로봇의 기분 상태를 표현할 수 있도록 되어 있다. 예를 들어, 얼굴 LED가 오렌지(Orange)색 일 때는 기쁜 감정을 표현하는 것이고, 녹색(Green)의 얼굴 LED 일 때는 슬픔의 감정을 나타내며, 적색(RED)을 띄고 있을 때는 불안한 감정을 표현하는 것으로 볼 수 있다.At this time, the LED is defined by each color for each emotion to express the mood of the robot through the color. For example, when face LED is orange color, it expresses joyful feeling, when green face LED expresses emotion of sadness, when it shows red color, it expresses anxiety feeling. can see.

따라서, 첨부한 도 5에 도시되어 있는 바와 같은 본 발명에 따른 범용 저작툴의 편집화면을 통해, 로봇용 컨텐츠는 멀티미디어 저작도구인 플래쉬에서 제공하는 "FsCommand" 함수를 이용하여 제작을 하게 되는데, 타임라인 영역에서 특정 액션의 시작점을 지정할 수 있다.Therefore, through the edit screen of the general authoring tool according to the present invention as shown in Figure 5, the content for the robot is produced using the "FsCommand" function provided by Flash, a multimedia authoring tool, timeline You can specify the starting point of a specific action in an area.

또한, 컨텐츠 편집영역은 로봇에 장착된 디스플레이 장치에서 보이게 되는 화면을 제작하는 영역이다.In addition, the content editing area is an area for producing a screen that is displayed on the display device mounted on the robot.

또한, 액션 스크립트 영역은 실질적으로 로봇제어에 관련되는 "FsCommand" 함수를 스크립트 형식으로 등록하는 화면이다. In addition, the action script area is a screen for registering a "FsCommand" function substantially related to robot control in the form of a script.

이때, "FsCommand" 명령은 직접 입력이 가능하지만, 일반 제작자들이 사용함에 있어 어려움이 있기 때문에 인터페이스를 개선하여 첨부한 도 7 내지 도10에 도시되어 있는 바와 같은 스크립트 생성기에서 명령을 선택하면 자동적으로 플래쉬의 액션 스크립트 영역에 등록되는 방식이다.At this time, the "FsCommand" command can be directly input, but since it is difficult for general producers to use, the interface is improved and the flash is automatically selected when the command is selected in the script generator as shown in FIGS. 7 to 10. It is registered in the ActionScript script area of.

범용 저작툴은 저작 환경으로 화면에서와 같이 매크로 미디어 플래쉬와 같은 컨텐츠 저작툴과 범용 저작툴을 윈도 상에 띄워서 작업을 하게 된다. 범용 저작툴에서 스크립트를 생성하여 해당 컨텐츠의 원하는 부분에 이를 삽입하는 형태를 취한다.The universal authoring tool is an authoring environment, which allows content authoring tools such as macromedia flash and general authoring tools to be displayed on a window. Create a script in the general authoring tool and insert it into the desired part of the content.

컨텐츠 개발자가 수작업으로 스크립트를 입력하는 방식에서 범용 툴을 사용하여 자동으로 스크립트가 생성이 되어 이를 컨텐츠에 입력하는 형식을 취해 컨텐츠 개발의 편의를 제공한다.In the way that a content developer inputs a script manually, a script is automatically generated using a general-purpose tool, and the content developer takes the form of inputting the content to provide convenience of content development.

이상의 설명에서 본 발명은 특정의 실시 예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 당 업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.While the invention has been shown and described in connection with specific embodiments thereof, it is well known in the art that various modifications and changes can be made without departing from the spirit and scope of the invention as indicated by the claims. Anyone who owns it can easily find out.

이상에서 설명한 바와 같은 본 발명에 따른 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법을 제공하면, 복잡한 파라미터를 가진 로봇의 세부적인 제어를 상용화된 멀티미디어 저작툴의 액션 스크립트를 이용하여 추가할 수 있으며, 스크립트 함수를 자동으로 작성하는 스크립트 생성기를 통하여 로봇 컨텐츠 제작자가 로봇이나 특정 함수에 대한 특별한 지식이 없더라도 편리하게 개발할 수 있는 인터페이스를 제공하고 있어 로봇을 상품화함에 있어 부가 가치 높은 컨텐츠를 개발할 수 있는 기술을 제공한다.As described above, if a script generator and a commercialization authoring method for controlling robots of various platforms according to the present invention are provided, detailed control of a robot having complex parameters can be added using an action script of a commercialized multimedia authoring tool. Also, through the script generator that automatically creates the script function, it provides a convenient interface for robot contents creators to develop even if they do not have special knowledge about the robot or specific functions. To provide technology.

또한 국내외에서 개발 중인 다양한 형태의 다른 로봇 플랫폼에 적용할 수 있도록 발명되어 있어 중복 개발의 부담을 경감시키는 효과가 있으며 비교적 단기간에 완성도 높은 로봇 컨텐츠를 개발할 수 있다.In addition, it is invented to be applied to various robot platforms of various types that are being developed at home and abroad, thereby reducing the burden of redundant development and developing robot contents with high completion in a relatively short period of time.

그리고 사용자 응시, 네비게이션, 얼굴인식 등을 적용한 객체를 추가하여 PC와 차별화 되고, 로봇의 특성을 살린 컨텐츠를 개발할 수 있는 기능을 제공하고 있다.In addition, it adds an object that applies user gaze, navigation, and face recognition to differentiate it from the PC and provides a function to develop contents utilizing the characteristics of the robot.

뿐만 아니라, 로봇이 개발 중이거나 컨텐츠 개발자가 실제 로봇을 소유하고 있지 않더라도 PC 환경에서 완벽한 시뮬레이션 기능을 제공하므로 검수단계에서 기간 및 비용을 최소화 할 수 있는 효과가 있다. In addition, even if the robot is under development or the content developer does not own the actual robot, it provides a complete simulation function in the PC environment, thereby minimizing the period and cost during the inspection phase.

Claims (8)

로봇액션, 음성인식, 음성합성 등의 전체 로봇제어와 멀티미디어 기반의 저작기능, 그리고 로봇이 없는 사용자도 로봇과 동일한 형태의 시뮬레이션이 가능하도록 하는 컨텐츠 플레이어 및 3차원 시뮬레이션을 포함하여 구성하되 로봇액션 정보 및 음성합성, 음성인식 등록을 위한 정적객체 정보 윈도가 있는 저작환경을 포함하는 로봇의 컨텐츠 제작용 저작툴의 운영방법에 있어서:Robot action information, including robot action, voice recognition, and voice synthesis, including robot control, multimedia-based authoring functions, and content players and 3D simulations that allow users without robots to simulate the same type of robots. And an authoring environment having a static object information window for speech synthesis and speech recognition registration. 특정 양식을 갖는 임의의 컨텐츠 자료를 로딩하는 제 1과정과;Loading any content material with a particular format; 상기 제 1과정에서 로딩되어진 컨텐츠 자료에 대한 재생동작을 수행하고 재생되는 컨텐츠 자료에 대한 편집을 수행하는 제 2과정과;A second step of performing a reproducing operation on the content material loaded in the first step and editing the reproduced content material; 상기 제 1과정에서 로딩되어진 컨텐츠 자료에 대하여 로봇제어와 관련된 명령을 스크립트 방식으로 정의하여 로봇의 동작제어 및 음성인식과 음성합성, 사용자 응시, 얼굴인식, 네비게이션, 대화기술 등 모든 로봇명령 스크립트를 로봇과 통신하여 로봇액션에 대한 설정 및 시뮬레이션을 수행하는 제 3과정과;By defining the commands related to robot control in the script method for the content material loaded in the first step, all robot command scripts such as robot motion control, voice recognition, voice synthesis, user gaze, face recognition, navigation, and conversation technology are robots. A third step of communicating with and performing setting and simulation of the robot action; 상기 제 2과정과 제 3과정을 통해 편집 및 설정되어진 컨텐츠 자료에 대하여 표출시점을 사용자 임의로 선택하는 제 4과정; 및A fourth process of arbitrarily selecting a presentation time point for the content material edited and set through the second process and the third process; And 상기 로봇의 자원을 통해 상기 제 2과정과 제 3과정을 통해 편집 및 설정되어진 컨텐츠를 표출하는 경우 상기 제 4과정에서 선택되어진 시점을 기준으로 외부로 표출되는 제 5과정을 포함하는 것을 특징으로 하는 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법.In the case of displaying the content edited and set through the second process and the third process through the resources of the robot, characterized in that it comprises a fifth process that is displayed to the outside based on the time selected in the fourth process How to use script generator and commercial authoring tool for robot control of various platforms. 제 1항에 있어서,The method of claim 1, 상기 제 3과정에서의 통신은 소켓통신을 사용하는 것을 특징으로 하는 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법.The communication in the third process is a method for using a script generator and commercialized authoring tool for robot control of various platforms, characterized in that using the socket communication. 제 1항에 있어서,The method of claim 1, 상기 제 3과정에서 로봇제어와 관련된 명령을 스크립트의 정의과정은 로봇제어에 필요한 다양한 액션종류를 제공하고 있으며 로봇에 따라서 저작자가 로봇 액션을 추가 할 수 있는 로봇액션 스크립트 조정 모드와;The process of defining a script for command related to robot control in the third process provides a variety of action types required for robot control, and a robot action script adjustment mode in which the author can add a robot action according to the robot; 각각 특정 로봇 컨텐츠 파일과 특정 파일의 전역적으로 사용되는 파일 인식어와 특정 범위의 시작과 종료 프레임 구간에서만 인식이 활성화 되는 프레임 인식어로 구분되는 로봇의 음성인식 정보를 조정할 수 있도록 하는 음성인식 스크립트 조정모드와;Voice recognition script control mode that enables to adjust the voice recognition information of the robot, which is divided into a specific robot content file, a file recognition word used globally for a specific file, and a frame recognition word that is activated only in the start and end frame sections of a specific range. Wow; 음성의 피치와 속도 파라미터 값의 속성을 활용하여 다양한 감정 변화에 따른 적합한 로봇의 목소리를 표현하도록 하는 음성합성 조정모드; 및 A voice synthesis adjustment mode for expressing a suitable robot voice according to various emotion changes by using properties of pitch and speed parameter values of the voice; And 얼굴인식 및 대화기술 등과 같이 로봇의 주요 기능으로 구현되어 있는 기술요소를 설계자의 필요에 의해 상기 제 1과정에서 로딩되어진 컨텐츠 자료에 부가시키는 특성화 객체 추가모드를 포함하는 것을 특징으로 하는 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법.Robots of various platforms, including a characterization object addition mode for adding technical elements implemented as main functions of the robot, such as face recognition and dialogue technology, to the content data loaded in the first step according to the designer's needs. How to use script generator and commercial authoring tool for control. 제 1항에 있어서,The method of claim 1, 상기 제 3과정은 멀티미디어 컨텐츠 저작도구를 활용하여 로봇의 동작 및 음성인식과 합성 등을 로봇제어와 관련된 명령을 스크립트 방식으로 정의하고 로봇과 통신하되, 로봇제어와 관련된 함수를 이용하여 스크립트를 자동으로 생성하고, 이를 컨텐츠 저작도구에 자동으로 입력하며, 로봇제어 명령을 다양한 플랫폼의 범용 로봇에 적용할 수 있도록 하는 것을 특징으로 하는 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법.The third process uses a multimedia content authoring tool to define the robot's motion, voice recognition and synthesis, etc. in a script manner and to communicate with the robot, but to automatically communicate the script using a function related to the robot control. A method of utilizing a script generator and commercialization authoring tool for robot control on various platforms, characterized in that for generating, automatically inputting it to a content authoring tool, and applying robot control commands to general purpose robots on various platforms. 제 3항에 있어서,The method of claim 3, wherein 상기 로봇에 특성화 된 컨텐츠 개발을 위하여, 얼굴인식 판단 여부 등의 입출력 결과에 따라 액션을 하도록 하는 과정을 더 포함하는 것을 특징으로 하는 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법.Method for utilizing the script generator and commercialized authoring tool for controlling the robot on a variety of platforms, characterized in that for further developing the content characterized in the robot, the action according to the input and output results such as whether the face recognition judgment. 제 3항에 있어서,The method of claim 3, wherein 상기 로봇에 특성화 된 컨텐츠 개발을 위하여, 대화기술을 접목시켜 로봇과 사용자의 인터랙션을 효과적으로 구현할 수 있도록 하는 과정을 더 포함하는 것을 특징으로 하는 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법.Method for utilizing a script generator and commercialization authoring tool for robot control of various platforms, further comprising the step of effectively implementing the interaction between the robot and the user by incorporating a dialogue technology for the development of the specialized content on the robot. . 제 1항에 있어서,The method of claim 1, 상기 사용자의 인터페이스를 개선하기 위하여 로봇제어와 관련된 함수를 이용하여 스크립트를 자동으로 생성하고, 이를 상용 저작툴에 자동으로 입력하여 주는 것을 특징으로 하는 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법.In order to improve the user interface, a script is automatically generated using a function related to robot control, and the script generator and commercialization authoring tool for robot control of various platforms are automatically inputted to a commercial authoring tool. Way. 제 1항에 있어서,The method of claim 1, 상기 다양한 플랫폼과 제어 부위를 가진 로봇에 적용할 수 있는 확장성을 위하여 로봇제어와 관련된 모든 명령을 외부 파일로 정의하는 것을 특징으로 하는 다양한 플랫폼의 로봇 제어를 위한 스크립트 생성기 및 상용화 저작툴의 활용방법.Method of using a script generator and commercialization authoring tool for robot control on various platforms, characterized in that all commands related to robot control are defined as external files in order to be applicable to robots having various platforms and control parts.
KR1020050059737A 2005-07-04 2005-07-04 How to use commercial authoring tool for robot control of various platforms using script generator Expired - Fee Related KR100738258B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050059737A KR100738258B1 (en) 2005-07-04 2005-07-04 How to use commercial authoring tool for robot control of various platforms using script generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050059737A KR100738258B1 (en) 2005-07-04 2005-07-04 How to use commercial authoring tool for robot control of various platforms using script generator

Publications (2)

Publication Number Publication Date
KR20070004268A true KR20070004268A (en) 2007-01-09
KR100738258B1 KR100738258B1 (en) 2007-07-12

Family

ID=37870538

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050059737A Expired - Fee Related KR100738258B1 (en) 2005-07-04 2005-07-04 How to use commercial authoring tool for robot control of various platforms using script generator

Country Status (1)

Country Link
KR (1) KR100738258B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738052B1 (en) * 2006-12-26 2007-07-12 주식회사 이디 Intelligent Robot Control Simulation System
KR100889918B1 (en) * 2007-05-10 2009-03-24 주식회사 케이티 Contents / Service Scenario Development Chart Modeling Method for Intelligent Robots
KR100893758B1 (en) * 2007-10-16 2009-04-20 한국전자통신연구원 Emotional Expression Control System and Method of Robot
KR100928417B1 (en) * 2009-04-01 2009-11-26 주식회사 로보메이션 Processing Method of Content Development System for Producing Multimedia Contents with Motion for Robot System
KR100988597B1 (en) * 2008-01-14 2010-10-18 주식회사 유진로봇 User-friendly Robot Contents Authoring System in Web Environment
US8265789B2 (en) 2007-12-03 2012-09-11 Electronics And Telecommunications Research Institute Network-based robot system and method for action execution of robot
CN108238396A (en) * 2017-11-07 2018-07-03 北京翰宁智能科技有限责任公司 A kind of action command learning method of mobile transfer robot based on FPD card

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495788B2 (en) 2013-03-22 2016-11-15 Kt Corporation Apparatus and method for developing robot contents
KR20200097896A (en) 2019-02-11 2020-08-20 경희대학교 산학협력단 Apparatus and method for generating manipulator URDF file

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100576171B1 (en) * 2002-12-31 2006-05-03 이지로보틱스 주식회사 Modular robotic device, system and control method thereof
KR100572683B1 (en) * 2003-09-30 2006-04-19 주식회사유진로보틱스 Authoring tool for content creation of intelligent robot and content creation method of intelligent robot using the same

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738052B1 (en) * 2006-12-26 2007-07-12 주식회사 이디 Intelligent Robot Control Simulation System
KR100889918B1 (en) * 2007-05-10 2009-03-24 주식회사 케이티 Contents / Service Scenario Development Chart Modeling Method for Intelligent Robots
KR100893758B1 (en) * 2007-10-16 2009-04-20 한국전자통신연구원 Emotional Expression Control System and Method of Robot
US8265789B2 (en) 2007-12-03 2012-09-11 Electronics And Telecommunications Research Institute Network-based robot system and method for action execution of robot
KR100988597B1 (en) * 2008-01-14 2010-10-18 주식회사 유진로봇 User-friendly Robot Contents Authoring System in Web Environment
KR100928417B1 (en) * 2009-04-01 2009-11-26 주식회사 로보메이션 Processing Method of Content Development System for Producing Multimedia Contents with Motion for Robot System
CN108238396A (en) * 2017-11-07 2018-07-03 北京翰宁智能科技有限责任公司 A kind of action command learning method of mobile transfer robot based on FPD card
CN108238396B (en) * 2017-11-07 2019-04-12 北京翰宁智能科技有限责任公司 Mobile action command learning method of the transfer robot based on FPD card

Also Published As

Publication number Publication date
KR100738258B1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
Noble Programming Interactivity: A Designer's Guide to Processing, Arduino, and Openframeworks
US5111409A (en) Authoring and use systems for sound synchronized animation
US6879862B2 (en) Selection and control of motion data
JP6319772B2 (en) Method and system for generating contextual behavior of a mobile robot performed in real time
Jochum et al. Sequence and chance: Design and control methods for entertainment robots
JP2010530286A (en) Response cut scenes in video games
KR100738258B1 (en) How to use commercial authoring tool for robot control of various platforms using script generator
CN101411948A (en) Electronic toys
CN111939558A (en) Method and system for driving virtual character action by real-time voice
Zeglin et al. HERB's Sure Thing: A rapid drama system for rehearsing and performing live robot theater
KR102095951B1 (en) A system for coding education using generating an application for robot control
KR100572683B1 (en) Authoring tool for content creation of intelligent robot and content creation method of intelligent robot using the same
Ribeiro et al. The practice of animation in robotics
US20040054519A1 (en) Language processing apparatus
Huang The design of a generic framework for integrating ECA components
Jeong et al. AutomataStage: An AR-mediated creativity support tool for hands-on multidisciplinary learning
KR20200003437A (en) A system for coding education using generating an application for robot control
KR20130093186A (en) Apparatus for making a moving image with interactive character
Hanser et al. Scenemaker: Intelligent multimodal visualisation of natural language scripts
Fernandez et al. Theatrebot: A software architecture for a theatrical robot
KR101160409B1 (en) Apparatus and method for marionette performance
CN115455230A (en) Dance generation method and system
JP2007272375A (en) Method and program for generating script
KR20220146790A (en) Coding training system using robot control app
KR102251102B1 (en) Apparatus for simulating program using imaginary board and electronic components

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

N231 Notification of change of applicant
PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20130529

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20140704

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20150706

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20180706

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20180706

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301