KR20070061241A - Network-based robot control device, robot and robot control method - Google Patents

Network-based robot control device, robot and robot control method Download PDF

Info

Publication number
KR20070061241A
KR20070061241A KR1020060072691A KR20060072691A KR20070061241A KR 20070061241 A KR20070061241 A KR 20070061241A KR 1020060072691 A KR1020060072691 A KR 1020060072691A KR 20060072691 A KR20060072691 A KR 20060072691A KR 20070061241 A KR20070061241 A KR 20070061241A
Authority
KR
South Korea
Prior art keywords
content
robot
execution
file
executing
Prior art date
Application number
KR1020060072691A
Other languages
Korean (ko)
Inventor
정승욱
노명찬
장철수
김성훈
김중배
이경호
조영조
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US11/633,772 priority Critical patent/US20070135967A1/en
Publication of KR20070061241A publication Critical patent/KR20070061241A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets

Abstract

A network-based robot control device, a robot, and a robot control method are provided to enable more than one robot connected to the device through the network to synchronously execute contents and minimize a load of processing content in the connected robots while executing most of the content processing in the device. An approver(210) prepares communication by assigning a basic communication parameter including an ID to the robot if the robot is connected. A content file obtainer(230) obtains a content file including a content execution subject and time. A content file interpreter(220) transmits the contents, to be executed in the content execution time, to the content execution subject by interpreting the content file. A content execution controller(240) issues a command for stopping, suspending, or restarting the contents by monitoring a content execution state. A content executer(250) includes an audio or video output part for executing the contents if the content execution subject is the robot control device.

Description

네트워크 기반 로봇제어장치, 로봇 및 로봇제어방법{Network-based Robot Control Device, Robot and Robot Control Method}Network-based Robot Control Device, Robot and Robot Control Method}

도 1은 본 발명의 일 실시예에 의한 로봇제어장치 및 로봇의 개략적인 관계이다.1 is a schematic relationship between a robot control apparatus and a robot according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 의한 로봇제어장치이다.2 is a robot control apparatus according to an embodiment of the present invention.

도 3은 본 발명의 다른 일 실시예에 의한 로봇제어장치이다. 3 is a robot control apparatus according to another embodiment of the present invention.

도 4는 본 발명의 일 실시예에 의한 로봇이다.4 is a robot according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 의한 로봇 내부의 소프트웨어 구조이다. 5 is a software structure inside the robot according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 의한 로봇제어방법이다. 6 is a robot control method according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 의한 로봇제어방법이다.7 is a robot control method according to an embodiment of the present invention.

도 8은 본 발명의 다른 일 실시예에 의한 로봇제어방법이다. 8 is a robot control method according to another embodiment of the present invention.

도 9는 본 발명의 일 실시예에 의한 컨텐츠 파일이다. 9 is a content file according to an embodiment of the present invention.

도 10은 본 발명의 일 실시예에 의한 프레임 파일이다. 10 is a frame file according to an embodiment of the present invention.

본 발명은 네트워크 기반 로봇제어장치, 로봇 및 로봇제어방법에 관한 것으 로, 보다 상세하게는 다양한 컨텐츠를 하나 이상의 로봇과 개인용 컴퓨터에서 동기적으로 실행하기 위한 네트워크 기반 로봇제어장치, 로봇 및 로봇제어방법에 관한 것이다.The present invention relates to a network-based robot controller, a robot and a robot control method, and more particularly, to a network-based robot controller, a robot and a robot control method for synchronously executing various contents in one or more robots and a personal computer. It is about.

통상적으로 로봇에서 실행되는 기본 컨텐츠는 로봇의 스피커를 통한 음성 정보, 정지영상, 동영상 및 텍스트를 로봇에 장착된 디스플레이 장치를 통하여 실행하는 영상 정보, 로봇(팔, 목, 다리 또는 바퀴 등)의 움직임과 같은 로봇 동작 정보, 로봇에 장착된 LCD를 통한 출력등을 포함하여 다양하게 존재한다. 하지만, 종래의 컨텐츠는 하나의 로봇을 대상으로 해당 로봇에서 기본 컨텐츠를 연속적으로 출력하는 방식으로 실행되었다.In general, the basic contents executed by the robot include audio information, still image, video, and text through the robot's speaker, image information through the display device mounted on the robot, and movement of the robot (arm, neck, leg, wheel, etc.). Robot operation information such as, there is a variety, including the output through the LCD mounted on the robot. However, the conventional content has been executed in such a manner that the basic content is continuously output from the robot for one robot.

본 발명은 다양한 컨텐츠를 하나 이상의 로봇과 컴퓨터 상에서 동기적으로 실행하기 위한 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for synchronously executing various content on one or more robots and computers.

고가의 다기능 홈 서비스 로봇은 로봇 내부에 영상처리, 자율주행, 음성인식, 음성 합성, 모터 및 센서 제어, 컨텐츠 실행 등의 기능이 모두 포함되어, 모터나 센서를 제어하는 간단한 하드웨어에서부터 고기능을 처리하는 고사양의 하드웨어 및 소프트웨어를 필요로 하기 때문에 제작 단가 및 중량이 높아지는 문제가 있다. Expensive multi-functional home service robot includes all functions such as image processing, autonomous driving, voice recognition, voice synthesis, motor and sensor control, and content execution inside the robot to handle high functions from simple hardware that controls motors or sensors. Since a high specification of hardware and software is required, there is a problem in that manufacturing cost and weight are increased.

저가의 완구용 혹은 교육용 서비스 로봇의 경우에는 로봇 내부의 하드웨어 사양이 열악하여 고기능을 제공하지 못하고 정해진 단순한 기능만을 제공하고 있으며, 또한 새로운 기능이나 컨텐츠의 추가도 어렵다.In the case of a low-cost toy or educational service robot, the hardware specification inside the robot is poor, so it does not provide a high function, but provides only a simple function, and it is also difficult to add a new function or content.

최근 이러한 단점을 보완하고자 네트워크를 이용한 다양한 서비스 로봇이 등장하고 있다. 먼저, 가정내의 홈서버를 이용하여 로봇에서 처리해야 할 고기능을 처 리하여 로봇을 단순화한 경우이다.Recently, various service robots using a network have appeared to compensate for these shortcomings. First, the robot is simplified by processing the high-level functions to be processed by the robot using a home server in the home.

홈서버는 외부의 서비스 서버로부터 서비스를 위한 소프트웨어 모듈을 다운로드하여 구비하고, 로봇은 필요시 홈서버에 얼굴인식, 자율주행과 같은 고기능을 요청한다. 이러한 방식으로 로봇의 단가를 최소화한다. 그러나 이 방법은 로봇 하나 만을 대상으로 한 것이며, 로봇 내부에 어느 정도의 컨텐츠 실행을 위한 모듈이 존재하며 필요시 홈서버에게 요청하는 방식이다. The home server downloads a software module for a service from an external service server, and the robot requests a high function such as face recognition and autonomous driving from the home server if necessary. In this way, the cost of the robot is minimized. However, this method is aimed at only one robot, and there is a module for executing a certain content in the robot and requesting the home server if necessary.

다른 방법으로는, 로봇의 기능을 최소화하고 서비스 실행을 원격지에 위치한 수퍼 컴퓨터 혹은 서비스 서버에서 실행하는 방식이다. 이는 각 로봇이 홈게이트웨이를 통해 서비스 서버와 연결하는 것이다.Alternatively, you can minimize the robot's functionality and run the service on a remote supercomputer or service server. This means that each robot connects to the service server through the home gateway.

이외에도 데스크탑 컴퓨터에서 컨텐츠 제작툴로 컨텐츠를 제작한 후 이를 로봇에 다운로드하여 로봇 내부에서 해당 컨텐츠를 실행하는 방식이 제시되고 있다.In addition, a method of creating a content using a content creation tool on a desktop computer and downloading it to a robot and executing the corresponding content inside the robot has been proposed.

그러나, 위에서 제시된 방식은 모두 원격지에 위치한 서비스 서버를 통해 하나의 로봇에서 컨텐츠를 실행하는 방법이다.However, the above-described methods are all methods for executing content in one robot through a service server located at a remote location.

본 발명이 이루고자하는 기술적 과제는 다양한 컨텐츠를 하나 이상의 로봇과 개인용 컴퓨터(이하 컴퓨터)상에서 동기적으로 실행하기 위한 네트워크 기반 로봇제어장치, 로봇 및 로봇제어방법을 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a network-based robot controller, a robot, and a robot control method for synchronously executing various contents on one or more robots and a personal computer (hereinafter, a computer).

상기 기술적 과제를 이루기 위한 로봇제어장치의 일 실시예는 둘 이상의 로봇에서 컨텐츠를 동기적으로 실행하기 위하여 로봇이 접속하면 각각의 로봇에 아이 디를 포함하는 통신에 필요한 기본 파라미터를 할당하여 통신준비를 하는 승인부, 컨텐츠의 수행 주체 및 수행 시기가 특정된 하나 이상의 컨텐츠를 가지는 컨텐츠 파일을 획득하는 컨텐츠 파일 획득부 및 컨텐츠 파일을 해석하여 특정 시점에 수행되어야할 컨텐츠를 해당하는 상기 컨텐츠 수행 주체에 전송하는 컨텐츠 파일 해석부를 가진다.One embodiment of the robot control apparatus for achieving the technical problem is to prepare the communication by assigning the basic parameters necessary for communication including the ID to each robot when the robot is connected to execute the content in two or more robots synchronously A content file acquiring unit for acquiring a content file having one or more contents whose content execution subject and execution time are specified, and a content file to be analyzed and transmitted to the corresponding content performing subject It has a content file analyzer.

상기 기술적 과제를 이루기 위한 로봇의 일 실시예는 네트워크를 통하여 전송된 파일에 수록된 컨텐츠를 실행하기 위하여, 획득한 컨텐츠 파일을 해석하여 상기 실행 순서에 따라 분류하는 로봇용 컨텐츠 해석부 및 실행 순서에 따라 상기 컨텐츠를 실행하거나 네트워크를 통하여 전송된 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 실행하는 로봇용 컨텐츠 실행부를 가진다.According to an embodiment of the robot for achieving the technical problem, in order to execute the content contained in the file transmitted through the network, the robot content analysis unit and the execution sequence for analyzing the obtained content file and classifying the file according to the execution order And a content execution unit for a robot that executes the content or executes a command including stopping, pausing, or restarting the content transmitted through the network.

본 발명을 통해 컨텐츠 개발자는 기본 컨텐츠를 이용하여 하나의 로봇이 음악을 플레이하는 것과 같이 기본 컨텐츠를 연속적으로 출력하는 단순한 컨텐츠에서부터, 다수의 로봇들이 서로 영어 회화나 역할극을 동기적으로 수행하는 복잡한 컨텐츠까지 다양하게 개발할 수 있다.According to the present invention, the content developer uses the basic content, from a simple content that continuously outputs the basic content such as one robot playing music, and a complex content in which a plurality of robots perform English conversation or role play synchronously with each other. It can be developed in various ways.

본 발명은 컴퓨터에 저장된 다양한 컨텐츠를 실행하는 로봇제어장치와 네트워크를 통해 로봇제어장치와 연결된 하나 이상의 로봇으로 구성된다.The present invention consists of a robot control device for executing various contents stored in a computer and at least one robot connected to the robot control device through a network.

로봇제어장치는 컴퓨터에 저장된 컨텐츠 파일을 로딩하고, 컨텐츠 파일 중 로봇제어장치내에서 실행할 컨텐츠와 로봇에서 실행할 컨텐츠를 분류한다. 그리고, 로봇제어장치내에서 수행해야 할 컨텐츠는 로봇제어장치 내의 모니터, 스피커 등의 자원을 이용하여 실행하고, 로봇에서 실행해야 할 컨텐츠는 네트워크를 통해 로봇 에 전달하여 수행하도록 한다.The robot controller loads a content file stored in the computer and classifies the content to be executed in the robot controller and the content to be executed in the robot. The contents to be executed in the robot controller are executed using resources such as a monitor and a speaker in the robot controller, and the contents to be executed in the robot are transmitted to the robot through a network.

본 발명은 로봇제어장치가 컨텐츠를 실행할 때, 컨텐츠들이 원하는 순서 및 시간에 동기적으로 실행시키도록 로봇제어장치가 보장하는 것을 특징으로 한다. The present invention is characterized in that when the robot controller executes the contents, the robot controller ensures that the contents are executed synchronously in a desired order and time.

이상과 같이 본 발명에 의하면, 컴퓨터와 다수의 로봇이 무선 네트워크로 연결된 환경에서, 상기 컴퓨터 내에서 실행되는 로봇제어장치가 로봇제어장치의 모니터, 스피커 등의 자원뿐만 아니라, 로봇제어장치에 네트워크로 접속된 다수의 로봇에게 컨텐츠를 동기적으로 실행시킨다. 이를 통하여, 종래에 컨텐츠가 로봇 하나에서만 실행되던 단점을 극복하였다. 뿐만 아니라 로봇제어장치가 컨텐츠 프로세싱이 많은 작업을 대부분 수행하고 접속된 로봇에서 수행해야 할 프로세싱을 최소화하여 로봇의 제조 단가를 최소화할 수 있도록 하였다. As described above, according to the present invention, in an environment in which a computer and a plurality of robots are connected by a wireless network, the robot control apparatus executed in the computer is connected to the robot control apparatus as a network as well as resources such as a monitor and a speaker of the robot control apparatus. A plurality of connected robots executes the content synchronously. This overcomes the disadvantage of conventional content being executed only in one robot. In addition, the robot controller can perform a lot of content processing tasks and minimize the processing to be performed in the connected robot, thereby minimizing the manufacturing cost of the robot.

또한, 로봇제어장치에서 실행되는 컨텐츠는 유에스비(USB)와 같은 다양한 휴대용 저장 장치 혹은 인터넷을 통해 다운받아, 로봇에 설치하는 복잡한 절차를 거치지 않고, 컴퓨터에 구동되는 로봇제어장치에서 바로 실행할 수 있다.In addition, the content executed in the robot control device can be downloaded directly from various portable storage devices such as USB (USB) or the Internet, and can be directly executed in the robot control device driven on the computer without going through a complicated procedure of installing the robot.

이하 첨부한 도면을 사용하여 네트워크 기반 로봇제어장치, 로봇 및 로봇제어방법을 상세히 설명한다.Hereinafter, a network-based robot control apparatus, a robot, and a robot control method will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 의한 로봇제어장치 및 로봇의 개략적인 관계이다. 도 1을 참조하면, 본 발명은 로봇제어장치(110), 로봇(120) 및 네트워크(130)로 구성된다.1 is a schematic relationship between a robot control apparatus and a robot according to an embodiment of the present invention. Referring to FIG. 1, the present invention includes a robot control apparatus 110, a robot 120, and a network 130.

즉, 본 발명은 컴퓨터에 저장된 다양한 컨텐츠를 실행하는 로봇제어장치(110)와 로봇제어장치(110)와 네트워크(130)를 통해 연결된 하나 이상의 로봇(120)으로 구성된다.That is, the present invention consists of a robot control apparatus 110 for executing various contents stored in a computer, and the robot control apparatus 110 and one or more robots 120 connected through a network 130.

네트워크(130)는 다양한 방식이 사용될 수 있으며, 속도가 빠르고 데이터 손실이 적은 무선 네트워크가 바람직하다. 사용 가능한 무선 네트워크로는 무선랜(IEEE 802.11x), 와이어리스 유에스비(Wireless USB), 블루투쓰, 직비(ZigBee), 유더블유비(Ultra Wide Bandwidth) 등 다양하다.The network 130 may be used in various ways, and a wireless network having a high speed and low data loss is preferable. Wireless networks available include WLAN (IEEE 802.11x), Wireless USB, Bluetooth, ZigBee, and Ultra Wide Bandwidth.

로봇제어장치(110)와 로봇(120)은 네트워크(130)를 통해 서로 통신하기 위한 통신 장비를 장착해야 한다. 예를 들어 네트워크(130)가 무선 랜을 사용하는 경우 로봇제어장치(110)와 로봇(120)에는 무선 랜 카드가 장착되어야한다. 또한, 로봇제어장치(110)와 로봇(120)간의 무선 통신을 위해 네트워크(130) 장비로서 무선 액세스 포인트가 있어야 한다.The robot controller 110 and the robot 120 should be equipped with communication equipment for communicating with each other via the network 130. For example, when the network 130 uses a wireless LAN, the robot controller 110 and the robot 120 should be equipped with a wireless LAN card. In addition, for the wireless communication between the robot controller 110 and the robot 120, there must be a wireless access point as the network 130 equipment.

로봇제어장치(110)는 휴대용 노트북, 랩탑 컴퓨터, 피디에이(PDA) 혹은 가정 내의 데스크탑 컴퓨터 상에서 실행될 수 있다.The robot controller 110 may be executed on a portable notebook, laptop computer, PDA, or desktop computer in the home.

로봇제어장치(110)는 컴퓨터에 저장된 컨텐츠를 로딩하고, 로딩된 컨텐츠 중 로봇제어장치(110) 내에서 실행할 컨텐츠와 로봇(120)에서 실행할 컨텐츠를 분류한다.The robot controller 110 loads content stored in the computer and classifies the content to be executed in the robot controller 110 and the content to be executed in the robot 120 among the loaded contents.

로봇제어장치(110)는 로봇제어장치(110)내에서 수행해야 할 컨텐츠는 로봇제어장치(110)내의 모니터, 스피커 등의 자원을 이용하여 실행하고, 상기 로봇(120)에서 실행해야 할 컨텐츠는 네트워크(130)를 통해 로봇(120)에 전달하여 수행하도록한다.The robot controller 110 executes the contents to be performed in the robot controller 110 using resources such as a monitor and a speaker in the robot controller 110, and the contents to be executed in the robot 120. Transfer to the robot 120 through the network 130 to perform.

또한 로봇제어장치(110)는 컨텐츠를 실행할 때 해당 컨텐츠들이 원하는 순서 및 시간에 동기적으로 로봇제어장치(110) 및 로봇(120)에서 실행되도록 보장한다.In addition, the robot controller 110 ensures that the contents are executed in the robot controller 110 and the robot 120 synchronously in a desired order and time when the contents are executed.

또한, 로봇(120)은 로봇제어장치(110)에서 송신하는 컨텐츠를 실행하기 위한 스피커, 디스플레이 장치, 액추에이터 등의 기본 하드웨어 및 상기 하드웨어를 구동 및 제어하기 위한 소프트웨어를 장착하고 있어야 한다.In addition, the robot 120 should be equipped with basic hardware such as a speaker, a display device, and an actuator for executing content transmitted from the robot controller 110, and software for driving and controlling the hardware.

도 2는 본 발명의 일 실시예에 의한 로봇제어장치이다. 도 2를 참조하면, 로봇제어 장치(200)는 승인부(210), 컨텐츠 파일 획득부(220), 컨텐츠 파일 해석부(230), 컨텐츠 실행 제어부(240) 및 컨텐츠 실행부(250)로 구성된다.2 is a robot control apparatus according to an embodiment of the present invention. Referring to FIG. 2, the robot control apparatus 200 includes an approval unit 210, a content file acquisition unit 220, a content file analysis unit 230, a content execution control unit 240, and a content execution unit 250. do.

승인부(210)는 둘 이상의 로봇에서 컨텐츠를 동기적으로 실행하기 위한 로봇제어장치에서, 로봇이 접속하면 각각의 로봇에 아이디를 포함하는 통신에 필요한 기본 파라미터를 할당하여 통신준비를 한다.The approval unit 210 prepares communication by allocating basic parameters necessary for communication including IDs to each robot when the robot is connected in the robot control apparatus for synchronously executing contents in two or more robots.

컨텐츠 파일 획득부(220)는 컨텐츠의 수행 주체 및 수행 시기가 특정된 하나 이상의 컨텐츠를 가지는 컨텐츠 파일을 획득한다. 컨텐츠의 수행 주체는 로봇 또는 로봇제어장치 자신이다.The content file obtaining unit 220 obtains a content file having one or more contents whose content performing subject and execution time are specified. The subject of the content is the robot or the robot controller itself.

컨텐츠 파일 해석부(230)는 컨텐츠 파일을 해석하여 특정 시점에 수행되어야할 컨텐츠를 해당하는 컨텐츠 수행 주체에 전송한다. The content file analyzer 230 interprets the content file and transmits the content to be performed at a specific time point to the corresponding content performing agent.

컨텐츠 실행 제어부(240)는 컨텐츠의 실행 상태를 모니터링하여 필요한 경우에 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 내린다.The content execution control unit 240 monitors the execution status of the content and issues a command including execution, pause, or restart of the content, if necessary.

컨텐츠 실행부(250)는 컨텐츠의 수행 주체가 로봇제어장치인 경우에 컨텐츠를 실행한다. 컨텐츠 실행부(250)는 영상 출력부, 오디오 출력부 등 각종 출력부를 가진다.The content execution unit 250 executes the content when the subject of the content is the robot control apparatus. The content execution unit 250 has various output units such as an image output unit and an audio output unit.

도 3은 본 발명의 다른 일 실시예에 의한 로봇제어장치이다. 도 3을 참조하면,로봇제어장치는 컨텐츠 실행 엔진(310), 컴퓨터용 컨텐츠 실행 툴(320) 및 컨텐츠 실행 제어 툴(330)로 구성된다.3 is a robot control apparatus according to another embodiment of the present invention. Referring to FIG. 3, the robot control apparatus includes a content execution engine 310, a computer content execution tool 320, and a content execution control tool 330.

컨텐츠 실행 엔진(310)은 컨텐츠 파일을 로딩하여 이를 실행한다.The content execution engine 310 loads the content file and executes it.

컴퓨터용 컨텐츠 실행 툴(320)은 컴퓨터에서 실행할 컨텐츠를 실행하고 화면에 출력한다.The computer content execution tool 320 executes the content to be executed on the computer and outputs it to the screen.

컨텐츠 실행 제어 툴(330)은 컨텐츠 실행 엔진(310)의 컨텐츠 실행 상황을 모니터링하며 필요시 컨텐츠 실행 엔진(310)에 명령을 전달한다.The content execution control tool 330 monitors the content execution status of the content execution engine 310 and transmits a command to the content execution engine 310 when necessary.

컨텐츠 실행 엔진(310)은 통신 모듈(311), 패킷 해석기(312), 컨텐츠 실행 제어기(313), 컨텐츠 로더(315), 컨텐츠 실행기(316) 및 가상 로봇(3171-317n)으로 구성된다. The content execution engine 310 is composed of a communication module 311, a packet interpreter 312, a content execution controller 313, a content loader 315, a content executor 316, and a virtual robot 3317-317n.

통신 모듈(111)은 접속된 로봇들과 컴퓨터용 컨텐츠 실행 툴(320) 및 컨텐츠 실행 툴(330)과 통신하기 위한 것이다.The communication module 111 is for communicating with the connected robots, the computer content execution tool 320 and the content execution tool 330.

패킷 해석기(312)는 통신 모듈(311)에서 수신한 패킷을 해석하거나 컨텐츠를 송신 패킷으로 변환하여 로봇 및 컴퓨터용 실행 툴(320)에 전달한다. The packet interpreter 312 interprets the packet received by the communication module 311 or converts the content into a transmission packet and transmits the content to the execution tool 320 for robots and computers.

컨텐츠 실행 제어기(313)은 컨텐츠 실행 시작, 정지, 일시정지, 재시작 등의 컨텐츠 실행을 제어한다.The content execution controller 313 controls content execution such as start, stop, pause, and restart of content execution.

컨텐츠 로더(115)는 각종 저장 장소에 저장된 컨텐츠 파일(314)들을 메모리에 로딩하여 컨텐츠 실행 제어기(313)에 전달한다.The content loader 115 loads content files 314 stored in various storage locations into a memory and delivers the content files 314 to the content execution controller 313.

컨텐츠 실행기(316)는 컨텐츠 실행 제어기(313)에서 전달된 컨텐츠를 실행한 다.The content executor 316 executes the content delivered from the content execution controller 313.

가상 로봇(3171-317n)은 접속된 로봇마다 생성되어 해당 로봇이 가지고 있는 센서, 마이크, 액츄에이터, 스피커 등의 디바이스 에 대한 정보 및 현재 상태 값을 저장한다. The virtual robots 3171-317n are generated for each connected robot and store information on the devices such as sensors, microphones, actuators, and speakers, and current state values of the robots.

컴퓨터용 컨텐츠 실행 툴(320)은 컨텐츠 실행 엔진(310)에서 전달된 컴퓨터용 컨텐츠를 실행하는 툴이다. The computer content execution tool 320 is a tool for executing the content for the computer delivered from the content execution engine 310.

컴퓨터용 컨텐츠 실행 툴(320)은 화면에 정지 영상 및 동영상 컨텐츠를 출력하는 영상출력모듈(321), 그리고 음성이나 음악과 같은 오디오 정보를 스피커로 출력하는 오디오 출력 모듈(322), HTML을 화면에 출력하는 HTML 출력 모듈(323)등으로 구성된다.The computer content execution tool 320 includes an image output module 321 for outputting still image and video content on the screen, an audio output module 322 for outputting audio information such as voice or music to a speaker, and HTML on the screen. HTML output module 323 to output.

이외에도 필요시 ActiveX와 같은 다른 형태의 컨텐츠 타입 및 이를 출력하는 모듈이 존재할 수 있다. In addition to this, there may be other types of content types such as ActiveX and modules for outputting them.

컨텐츠 실행 제어 툴(330)은 컨텐츠 실행 엔진(310)이 현재 어떤 컨텐츠를 실행하고 있는지 파악하고, 사용자의 요구에 따라 현재 실행되는 컨텐츠를 중지, 일시정지, 재시작하는 명령을 컨텐츠 실행 엔진(310)에 전달한다. The content execution control tool 330 determines what content the content execution engine 310 is currently executing, and executes a command to stop, pause, or restart the currently executed content according to a user's request. To pass on.

도 4는 본 발명의 일 실시예에 의한 로봇이다. 도 4를 참조하면, 로봇(400)은 로봇용 컨텐츠 해석부(410), 로봇용 컨텐츠 실행부(420) 및 센서부(430)를 포함한다.4 is a robot according to an embodiment of the present invention. Referring to FIG. 4, the robot 400 includes a robot content analyzer 410, a robot content execution unit 420, and a sensor unit 430.

로봇용 컨텐츠 해석부(410)는 네트워크를 통하여 전송된 파일에 수록된 컨텐츠를 실행하기 위하여 획득한 컨텐츠 파일을 해석하여 실행 순서에 따라 분류한다.The robot content analysis unit 410 analyzes the acquired content file to execute the content contained in the file transmitted through the network and classifies the content file according to the execution order.

로봇용 컨텐츠 실행부(420)는 실행순서에 따라 컨텐츠를 실행하거나 상기 네트워크를 통하여 전송된 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 수행한다.The content execution unit 420 for the robot executes the contents according to the execution order or executes a command including stopping, pausing or restarting the contents transmitted through the network.

센서부(430)는 로봇의 센서정보를 계측하여 네트워크를 통하여 사용자에게 전송한다.The sensor unit 430 measures sensor information of the robot and transmits the sensor information to the user through a network.

도 5는 본 발명의 일 실시예에 의한 로봇 내부의 소프트웨어 구조이다. 도 5를 참조하면, 로봇(500)은 통신 모듈(501), 패킷 처리 모듈(502),액추에이터 구동 모듈(503), 제어 명령 처리 모듈(504) 및 센서 제어 모듈(505)로 구성된다.5 is a software structure inside the robot according to an embodiment of the present invention. Referring to FIG. 5, the robot 500 includes a communication module 501, a packet processing module 502, an actuator driving module 503, a control command processing module 504, and a sensor control module 505.

통신 모듈(501)은 로봇(500)이 로봇제어장치와 통신하기 위한 것이다.The communication module 501 is for the robot 500 to communicate with the robot controller.

패킷 처리 모듈(502)은 로봇제어장치에서 전달된 패킷을 해석하고, 액추에이터 구동 패킷이면 상기 패킷을 액추에이터 구동 모듈(503)에 전달하고, 제어 패킷인 경우에는 제어 명령 처리 모듈(504)에 전달하여 처리하게 한다.The packet processing module 502 analyzes the packet transmitted from the robot controller, and transmits the packet to the actuator driving module 503 if it is an actuator driving packet, and delivers the packet to the control command processing module 504 if it is a control packet. Let's do it.

센서 제어 모듈(505)는 로봇(500) 내부의 센서 정보를 감시하여 변화가 파악되면 이를 통신 모듈(501)을 통해 로봇제어장치에 전송한다.The sensor control module 505 monitors sensor information inside the robot 500 and transmits it to the robot controller through the communication module 501 when a change is detected.

도 6은 본 발명의 일 실시예에 의한 로봇제어방법이다. 도 6을 참조하면, 하나 이상의 로봇에서 컨텐츠를 동기적으로 실행하기 위하여 로봇이 접속하면 각각의 로봇에 아이디를 포함하는 통신에 필요한 기본 파라미터를 할당하여 통신준비를 한다(S601).6 is a robot control method according to an embodiment of the present invention. Referring to FIG. 6, when robots are connected to execute contents in one or more robots synchronously, basic parameters necessary for communication including an ID are allocated to each robot to prepare for communication (S601).

컨텐츠의 수행 주체 및 수행 시기가 특정된 하나 이상의 컨텐츠를 가지는 컨텐츠 파일을 획득한다(S602). A content file having one or more contents whose content performing subject and execution timing are specified is obtained (S602).

컨텐츠 파일을 해석하여 특정 시점에 수행되어야할 컨텐츠를 해당하는 상기 컨텐츠 수행 주체에 전송한다(S603). 컨텐츠의 수행 주체가 상기 로봇제어장치인 경우에는, 컨텐츠를 실행하기 위한 영상 또는 오디오 등을 출력한다.The content file is analyzed and the content to be performed at a specific time point is transmitted to the corresponding content performing entity (S603). When the main agent of content is the robot control apparatus, an image or audio for executing content is output.

컨텐츠의 실행 상태를 모니터링하여 필요한 경우에 상기 컨텐츠의 실행중단, 일시정지 또는 재시작을 포함하는 명령을 내린다(S604).The execution state of the content is monitored and, if necessary, an instruction including stopping, pausing or restarting the content is issued (S604).

도 7은 본 발명의 일 실시예에 의한 로봇제어방법이다. 도 7을 참조하면, 로봇제어장치를 구동한다(S701). 로봇이 네트워크를 통해 로봇제어장치에 접속한다(S702).7 is a robot control method according to an embodiment of the present invention. Referring to FIG. 7, the robot control apparatus is driven (S701). The robot connects to the robot control apparatus through a network (S702).

로봇제어장치는 로봇제어장치에 접속된 로봇에 고유한 아이디를 할당하고 통신에 필요한 윈도우 버퍼 사이즈 등의 기본 파라미터를 할당하고 통신 준비를 완료한다(S703).The robot controller allocates a unique ID to a robot connected to the robot controller, allocates basic parameters such as a window buffer size necessary for communication, and completes communication preparation (S703).

로봇제어장치가 로봇제어장치 내의 컨텐츠 파일을 로딩하여 로봇제어장치내의 메모리에 적재한다(S704).The robot controller loads a content file in the robot controller and loads it into a memory in the robot controller (S704).

로봇제어장치가 적재된 컨텐츠를 해석하고, 접속된 상기 로봇들 중 어느 로봇에서 실행할 지 혹은 로봇제어장치 내에서 실행할지를 판단한다(S705).The robot controller analyzes the loaded contents, and determines which robot among the connected robots to execute or in the robot controller (S705).

로봇제어장치는 현재 시점에서 실행해야 할 컨텐츠들을 파악한다. 해당 컨텐츠가 로봇제어장치 내에서 실행해야 할 경우 이를 로봇제어장치 내에서 실행하고, 로봇에서 실행해야 할 경우 해당 컨텐츠를 패키징하여 로봇에게 전송한다(S706).The robot controller grasps the contents to be executed at the present time. If the content is to be executed in the robot control apparatus, it is executed in the robot controller, and if it is to be executed in the robot, the corresponding content is packaged and transmitted to the robot (S706).

로봇은 로봇제어장치에서 전달된 패킷을 해석하고 이를 실행한다(S707).The robot analyzes the packet transmitted from the robot controller and executes it (S707).

로봇제어장치는 로봇들에게 전송한 컨텐츠의 종료 시점을 파악하고 실행이 종 료되었으면 다음 컨텐츠를 전송한다(S701). The robot controller determines the end point of the content transmitted to the robots and transmits the next content when execution is finished (S701).

도 8은 본 발명의 다른 일 실시예에 의한 로봇제어방법이다. 도 8을 참조하면,로봇제어장치(810)는 미리 정해진 사설 인터넷 주소(예, 192.168.1.100)와 포트 번호(예, 2000)로 패킷 수신을 기다리고 있다.8 is a robot control method according to another embodiment of the present invention. Referring to FIG. 8, the robot controller 810 waits for packet reception at a predetermined private Internet address (eg, 192.168.1.100) and port number (eg, 2000).

로봇(820)은 미리 정해진 사설 인터넷 주소와 포트를 이용하여 로봇제어장치(810)에 접속한 후 로봇(820)의 버퍼 크기와 함께 접속 요청 패킷을 로봇제어장치(810)에게 보낸다.The robot 820 connects to the robot controller 810 using a predetermined private Internet address and port, and then sends a connection request packet to the robot controller 810 together with the buffer size of the robot 820.

로봇(820)으로부터 접속 요청 패킷(831)을 받은 로봇제어장치(810)은 해당 로봇(820)에게 아이디를 할당하고 할당된 아이디와 함께 접속 승인 패킷(832)을 로봇(820)에게 보낸다.The robot controller 810 receiving the connection request packet 831 from the robot 820 assigns an ID to the robot 820 and sends a connection approval packet 832 to the robot 820 together with the assigned ID.

접속 승인 패킷(832)을 받은 로봇(820)은 다시 로봇제어장치(810)에게 접속 승인 확인 패킷(833)을 보낸다.The robot 820 receiving the connection acknowledgment packet 832 again sends a connection acknowledgment packet 833 to the robot controller 810.

로봇(820)으로부터 접속 승인 확인 패킷(833)을 받은 로봇제어장치(810)는 해당 로봇(820)의 타입에 맞는 가상 로봇 객체를 생성한다. The robot controller 810 receiving the connection approval confirmation packet 833 from the robot 820 generates a virtual robot object suitable for the type of the robot 820.

로봇제어장치(810)는 원하는 로봇(820)이 모두 접속되면 미리 설정된 컨텐츠를 로딩하고 실행한다.The robot controller 810 loads and executes preset content when all the desired robots 820 are connected.

로봇제어장치(810)는 특정 시점에서 실행해야 할 컨텐츠를 결정하고 해당 컨텐츠 패킷(834)를 로봇제어장치(810)내의 컴퓨터용 컨텐츠 실행 툴 혹은 로봇(820)에게 전송한다.The robot controller 810 determines the content to be executed at a specific time point, and transmits the content packet 834 to the computer content execution tool or the robot 820 in the robot controller 810.

컨텐츠 패킷(834)를 전송받은 로봇제어장치(810)내의 컴퓨터용 컨텐츠 실행 툴 또는 로봇(820)은 전송받은 컨텐츠 패킷을 해석하고 실행한다(S835). The computer content execution tool or robot 820 in the robot control apparatus 810 receiving the content packet 834 analyzes and executes the received content packet (S835).

어떤 로봇은 다른 로봇의 컨텐츠가 종료된 후 컨텐츠를 실행할 필요가 있다. 예를 들어, 서로 다른 두 로봇이 영어 회화를 수행하는 컨텐츠의 경우, 하나의 로봇이 먼저 Hello, How are you ? 라는 음성을 발성한 후, 다른 로봇이 Fine, and you?라는 음성을 발성해야 하는 경우이다.Some robots need to execute content after the content of another robot is finished. For example, for content where two different robots are speaking English, one robot first shows Hello, How are you? This is the case when another robot needs to speak Fine, and you?

이러한 로봇 간 컨텐츠의 순서적(혹은 동기적) 실행을 로봇제어장치(810)가 제어하게 된다. 로봇제어장치(810)는 컨텐츠 패킷을 로봇(820)에게 보낸 후, 컨텐츠 패킷이 모두 실행되었는지를 질의하는 컨텐츠 종료 여부 질의 패킷(836)을 로봇(820)에게 보낸다.The robot controller 810 controls the sequential (or synchronous) execution of such inter-robot content. The robot controller 810 sends a content packet to the robot 820, and then sends a content termination query packet 836 to the robot 820 to query whether all of the content packets have been executed.

컨텐츠 종료 여부 질의 패킷(836)을 수신한 로봇(820)은 컨텐츠 종료 여부 질의 패킷(836) 이전에 받은 컨텐츠 패킷(834)을 모두 실행한 후에 컨텐츠 종료 확인 패킷(837)을 로봇제어장치(810)에 전송한다.The robot 820 receiving the content termination query packet 836 executes the content packet 834 received before the content termination query packet 836, and then sends the content termination confirmation packet 837 to the robot controller 810. To be sent).

컨텐츠 종료 확인 패킷(837)을 수신한 로봇제어장치(810)는 컨텐츠 패킷(834)의 실행 완료를 확인하게 되고, 그 이후에 다음에 실행할 다음 컨텐츠 패킷(838)를 로봇(820)에게 전달한다.The robot controller 810 receiving the content end confirmation packet 837 confirms that the content packet 834 has been executed, and then transfers the next content packet 838 to be executed next to the robot 820. .

로봇제어장치(810)이 컨텐츠의 실행 완료를 확인하는 방법은 컨텐츠 종료 여부 질의 패킷9836)과 컨텐츠 종료 확인 패킷(837)을 사용하는 방법 이외에도 여러가지가 있을 수 있다.The robot control apparatus 810 may verify the completion of execution of the content in addition to the method of using the content termination or not query packet 9936 and the content termination confirmation packet 837.

컨텐츠 패킷(834)을 수신한 로봇(820)이 컨텐츠 패킷(834)을 실행한 후 컨텐츠 실행 엔진(11)에게 해당 컨텐츠 패킷(834)의 수행 완료를 알려주는 방법이 있다.After the robot 820 receiving the content packet 834 executes the content packet 834, the robot 820 may notify the content execution engine 11 of the completion of the content packet 834.

또한 로봇(820)이 로봇제어장치(810)로부터 수신한 컨텐츠 패킷(834) 중에 현재 실행되지 않은 컨텐츠 패킷(834)의 수를 로봇제어장치에게 일정한 간격으로 계속 알려주어 로봇제어장치(810)가 이를 이용하여 컨텐츠 패킷(834)의 종료 여부를 판단하는 방법도 있다.In addition, the robot 820 continuously informs the robot controller about the number of content packets 834 that are not currently executed, among the content packets 834 received from the robot controller 810, so that the robot controller 810 can receive the contents. There is also a method for determining whether the content packet 834 is terminated using this.

도 9는 본 발명의 일 실시예에 의한 컨텐츠 파일이다. 도 9를 참조하면, 컨텐츠 파일은 XML 복합 컨텐츠가 가능하다. 9 is a content file according to an embodiment of the present invention. Referring to FIG. 9, the content file may be an XML composite content.

로봇제어장치에서 실행하는 컨텐츠는 기본 컨텐츠와 기본 컨텐츠의 조합으로 이루어지는 복합 컨텐츠로 이루어져 있다.The content executed by the robot control device is composed of complex content consisting of a combination of basic content and basic content.

기본 컨텐츠는 웨이브(Wave), 엠피쓰리(mp3)와 같은 음성 파일, 화면에 출력되는 정지영상, 동영상 파일, 텍스트 파일, 로봇 동작을 기술한 XML 파일, HTML 파일 등이며, 복합 컨텐츠는 기본 컨텐츠들을 조합하여 어떤 로봇에 어떤 기본 컨텐츠를 실행할 것인지에 대한 흐름을 기술한 XML 파일(이하, XML 복합 컨텐츠) 과 사용자가 직접 프로그래밍 언어로 작성한 클래스 라이브러리(이하, 클래스 복합 컨텐츠)가 존재한다.Basic content includes audio files such as Wave and MP3, still images, video files, text files, XML files describing robot movement, HTML files, etc. In combination, there is an XML file (hereinafter referred to as XML compound content) describing the flow of which basic content is executed on which robot, and a class library (hereinafter referred to as class compound content) written in a programming language by a user.

XML 복합 컨텐츠는 로봇제어장치가 해당 XML을 해석하여 이를 컨텐츠 실행기를 이용하여 실행하며, 클래스 복합 컨텐츠는 컨텐츠 실행 제어기가 해당 클래스를 메모리에 로딩하여 클래스의 인스턴스를 생성하고, 상기 클래스에 onStart() 함수를 호출하여 상기 복합 컨텐츠를 실행하게 된다. In the XML composite content, the robot controller interprets the corresponding XML and executes it using the content launcher. In the class composite content, the content execution controller loads the class into memory and creates an instance of the class. A function is called to execute the composite content.

클래스 복합 컨텐츠는 onStart(), onStop(), onSuspend(), onResume() 함수를 구현해야 하며, 컨텐츠 실행 제어기는 컨텐츠 시작시 onStart(), 컨텐츠 종료시 onStop(), 컨텐츠 일시정지 시 onSuspend(), 컨텐츠 재시작 시 onResume() 함수를 호출한다.Class composite content must implement the onStart (), onStop (), onSuspend (), and onResume () functions, and the content execution controller must be onStart () at content start, onStop () at content end, onSuspend (), at content pause, OnResume () function is called when content is restarted.

클래스 복합 컨텐츠는 특정 시점에 수행해야 할 컨텐츠를 컨텐츠 실행 제어기에게 계속 전달하고 컨텐츠 실행 제어기는 이를 실행한다.The class composite content keeps delivering content to be executed at a specific point of time to the content execution controller, which executes it.

컨텐츠 실행 파일은 다수의 frame 태그로 기술된 여러 개의 프레임으로 구성된다. frame 태그는 각 로봇 및 컴퓨터용 컨텐츠 실행 툴에서 동시에 실행할 컨텐츠의 묶음을 나타낸 것이다.The content executable file consists of several frames described by multiple frame tags. The frame tag represents a bundle of content to be executed simultaneously by each robot and computer content execution tool.

frame 태그 아래의 exec 태그에는 해당 컨텐츠를 로봇에서 실행해야 할지 로봇제어장치 내에서 실행해야 할지를 나타내는 type 태그와 해당 컨텐츠를 실행할 로봇(20-1, 20-2, 20-n)의 아이디, 그리고 실행할 기본 컨텐츠들을 기술한 XML 파일(이하 프레임 파일)의 이름을 담고 있는 src 태그로 구성된다. The exec tag below the frame tag contains the type tag indicating whether the contents should be executed in the robot or the robot controller, the ID of the robot (20-1, 20-2, 20-n) to execute the contents, and It consists of an src tag that contains the name of an XML file (hereafter a frame file) describing the basic contents.

예를 들어, id가 1인 프레임의 경우 아이디가 dog인 로봇에게 hi.xml 프레임 파일을 실행시키고, 컴퓨터에서는 pc_hi.xml 프레임 파일에 기술된 컨텐츠를 실행시키라는 의미가 된다. 컨텐츠 실행 제어기는 하나의 프레임이 끝나면 다음 프레임을 순차적으로 실행시킨다. For example, the frame with id 1 means that the robot with id dog will run the hi.xml frame file, and the computer will execute the content described in the pc_hi.xml frame file. The content execution controller executes the next frame sequentially after one frame ends.

도 10은 본 발명의 일 실시예에 의한 프레임 파일이다. 도 10을 참조하면, 프레임 파일은 로봇에서 실행된다.10 is a frame file according to an embodiment of the present invention. Referring to Figure 10, the frame file is executed in the robot.

프레임 파일의 scene 태그에 있는 action(로봇 동작), voice(음성), music(음악), pic(정지 영상), mpic(동영상)과 같은 태그를 이용하여 기본 컨텐츠의 파일 위치를 기술한다.The file location of the basic content is described using tags such as action, voice, music, pic, and mpic in the scene tag of the frame file.

컨텐츠 실행 제어기는 태그 정보를 이용하여 기본 컨텐츠를 로딩하고, 상기 기본 컨텐츠를 순서적으로 로봇 및 컴퓨터용 컨텐츠 실행 툴에 보낸다. 컨텐츠 실행 제어기는 각 로봇 및 컴퓨터용 컨텐츠 실행 툴에 보내질 프레임 파일들의 scene 들을 step 번호가 작은 것부터 순차적으로 수행한다. step 번호가 같은 것들은 동시에 로봇 및 컴퓨터용 컨텐츠 실행 툴에 보내져 해당 scene이 동시에 수행되도록 하여 컨텐츠 실행을 제어하고 동기화한다.The content execution controller loads basic content using tag information, and sequentially sends the basic content to a robot and computer content execution tool. The content execution controller sequentially executes scenes of the frame files to be sent to each robot and computer content execution tool, starting from the smallest step number. Those with the same step number are sent to the content execution tools for robots and computers at the same time, allowing the scene to run simultaneously to control and synchronize content execution.

컨텐츠 실행 제어기는 하나의 scene이 완전히 종료된 후 다음 scene를 수행하게 되는데, 컨텐츠 실행 제어기가 현재의 scene이 종료되었는지를 알기 위해 도 8에서 기술한 로봇제어방법을 이용한다.The content execution controller performs the next scene after one scene is completely terminated. The content execution controller uses the robot control method described in FIG. 8 to know whether the current scene has ended.

클래스 복합 컨텐츠도 컨텐츠 실행 제어기에게 프레임 정보 및 scene 정보를 전달하게 되며, 이후 수행과정은 상기 기술된 컨텐츠 실행 파일의 실행 과정과 유사하다. The class composite content also delivers frame information and scene information to the content execution controller, and the execution process is similar to the execution process of the content execution file described above.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

이상에서 설명한 바와 같이 본 발명에 의한 로봇제어장치, 로봇 및 로봇제어방법에 의하면 로봇제어장치내의 모니터, 스피커 등의 자원뿐만 아니라 로봇제어장치에 네트워크로 접속된 하나 이상의 로봇이 컨텐츠를 동기적으로 실행한다.As described above, according to the robot control apparatus, the robot, and the robot control method according to the present invention, not only resources such as a monitor and a speaker in the robot control apparatus but also one or more robots connected to the robot control apparatus through a network synchronously execute contents. do.

본 발명은 종래에 컨텐츠가 로봇 하나에서만 실행되던 단점을 극복하였다. 뿐만 아니라, 본 발명은 로봇제어장치에서 컨텐츠 프로세싱의 대부분을 수행하고 접속된 로봇에서 수행해야 할 프로세싱을 최소화하였다.The present invention overcomes the disadvantage that the content is executed only in one robot. In addition, the present invention performs most of the content processing in the robot controller and minimizes the processing to be performed in the connected robot.

본 발명은 로봇의 제조 단가를 최소화할 수 있다. 또한, 본 발명은 로봇에 설치하는 복잡한 절차를 거치지 않고 컨텐츠를 유에스비(USB)와 같은 다양한 휴대용 저장 장치 혹은 인터넷을 통해 다운받아 로봇제어장치에서 바로 실행할 수 있다. The present invention can minimize the manufacturing cost of the robot. In addition, the present invention can be downloaded directly from a variety of portable storage devices such as USB (USB) or the Internet without going through a complicated procedure to install on the robot can be directly executed in the robot control device.

Claims (13)

둘 이상의 로봇에서 컨텐츠를 동기적으로 실행하기 위한 로봇제어장치에 있어서,In the robot control apparatus for synchronously executing content in two or more robots, 상기 로봇이 접속하면 각각의 로봇에 아이디를 포함하는 통신에 필요한 기본 파라미터를 할당하여 통신준비를 하는 승인부; Approving unit for preparing the communication by allocating the basic parameters necessary for communication including the ID to each robot when the robot is connected; 상기 컨텐츠의 수행 주체 및 수행 시기가 특정된 하나 이상의 컨텐츠를 가지는 컨텐츠 파일을 획득하는 컨텐츠 파일 획득부; 및A content file obtaining unit obtaining a content file having at least one content whose execution subject and execution time are specified; And 상기 컨텐츠 파일을 해석하여 특정 시점에 수행되어야할 컨텐츠를 해당하는상기 컨텐츠 수행 주체에 전송하는 컨텐츠 파일 해석부를 포함하는 것을 특징으로 하는 로봇제어장치. And a content file analyzer for analyzing the content file and transmitting the content file to be performed at a specific point in time to the content executing agent. 제 1항에 있어서, The method of claim 1, 상기 컨텐츠의 실행상태를 모니터링하여 필요한 경우에 상기 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 내리는 컨텐츠 실행 제어부를 더 포함하는 것을 특징으로 하는 로봇제어장치.And a content execution control unit that monitors the execution state of the content and issues a command including execution, pause, or restart of the content, if necessary. 제 1항에 있어서,The method of claim 1, 상기 컨텐츠의 수행 주체는 상기 로봇 또는 상기 로봇제어장치 자신 인것을 특징으로 하는 로봇제어장치.The subject of performing the content is the robot or the robot controller itself. 제 1항 내지 제 3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 컨텐츠의 수행 주체가 상기 로봇제어장치 자신인 경우에는, 상기 컨텐츠를 실행하기 위한 영상 또는 오디오 출력부 중 적어도 어느 하나를 포함하는 컨텐츠 실행부를 더 포함하는 것을 특징으로 하는 로봇제어장치.If the subject of execution of the content is the robot control device itself, the robot control apparatus further comprises a content execution unit including at least one of an image or audio output unit for executing the content. 네트워크를 통하여 전송된 파일에 수록된 컨텐츠를 실행하는 로봇에 있어서,In a robot that executes content contained in a file transmitted through a network, 상기 획득한 컨텐츠 파일을 해석하여 상기 실행순서에 따라 분류하는 로봇용 컨텐츠 해석부; 및A robot content analysis unit for analyzing the obtained content file and classifying the acquired content file according to the execution order; And 상기 실행순서에 따라 상기 컨텐츠를 실행하거나 상기 네트워크를 통하여 전송된 상기 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 실행하는 로봇용 컨텐츠 실행부;를 포함하는 것을 특징으로 하는 로봇.And a content execution unit for a robot executing the content according to the execution order or executing a command including execution, pause, or restart of the content transmitted through the network. 제 5항에 있어서,The method of claim 5, 상기 로봇의 센서정보를 계측하여 상기 네트워크를 통하여 사용자에게 전송하는 센서부를 더 포함하는 것을 특징으로 하는 로봇.And a sensor unit for measuring sensor information of the robot and transmitting the sensor information to the user through the network. 둘 이상의 로봇에서 컨텐츠를 동기적으로 실행하기 위한 로봇제어방법에 있어서,In the robot control method for synchronously executing content in two or more robots, (a)상기 로봇이 접속하면 각각의 로봇에 아이디를 포함하는 통신에 필요한 기본 파라미터를 할당하여 통신준비를 하는 단계; (a) when the robots are connected, allocating basic parameters for communication including IDs to each robot to prepare for communication; (b)상기 컨텐츠의 수행 주체 및 수행 시기가 특정된 하나 이상의 컨텐츠를 가지는 컨텐츠 파일을 획득하는 단계; 및(b) acquiring a content file having one or more contents in which a subject and an execution time of the contents are specified; And (c)상기 컨텐츠 파일을 해석하여 특정 시점에 수행되어야할 컨텐츠를 해당하는 상기 컨텐츠 수행 주체에 전송하는 단계를 포함하는 것을 특징으로 하는 로봇제어방법 . (c) analyzing the content file and transmitting the content to be performed at a specific time point to the corresponding content performing entity. 제 7항에 있어서, The method of claim 7, wherein (d)상기 컨텐츠의 실행 상태를 모니터링하여 필요한 경우에 상기 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 내리는 단계를 더 포함하는 것을 특징으로 하는 로봇제어방법.(d) monitoring the execution state of the content, and if necessary, providing a command including execution, pause, or restart of the content. 제 7항에 있어서,The method of claim 7, wherein 상기 컨텐츠의 수행 주체는 상기 로봇 또는 상기 로봇제어장치 자신 인것을 특징으로 하는 로봇제어방법.The subject of performing the content is the robot or the robot control apparatus itself. 제 7항 내지 제 9항 중 어느 한 항에 있어서,The method according to any one of claims 7 to 9, 상기 컨텐츠의 수행 주체가 상기 로봇제어장치인 경우에는, 상기 컨텐츠를 실행하기 위한 영상 또는 오디오 출력부 중 적어도 어느 하나를 포함하는 컨텐츠 실행단계를 더 포함하는 것을 특징으로 하는 로봇제어방법.If the subject of execution of the content is the robot control apparatus, the robot control method further comprising a content execution step including at least one of an image or audio output unit for executing the content. 네트워크를 통하여 전송된 파일에 수록된 컨텐츠를 실행하는 로봇의 로봇제어방법에 있어서,In the robot control method of the robot for executing the contents contained in the file transmitted through the network, (a)상기 획득한 컨텐츠 파일을 해석하여 상기 실행순서에 따라 분류하는 단계; 및(a) analyzing the obtained content file and classifying the acquired content file according to the execution order; And (b)상기 실행순서에 따라 상기 컨텐츠를 실행하거나 상기 네트워크를 통하여 전송된 상기 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 실행하는 단계;를 포함하는 것을 특징으로 하는 로봇제어방법.(b) executing the contents according to the execution order or executing a command including execution, pause, or restart of the contents transmitted through the network. 제 11항에 있어서,The method of claim 11, (c)상기 로봇의 센서정보를 계측하여 상기 네트워크를 통하여 사용자에게 전송하는 단계를 더 포함하는 것을 특징으로 하는 로봇제어방법.and (c) measuring sensor information of the robot and transmitting the measured sensor information to a user through the network. 제 7항 내지 제 12항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method according to any one of claims 7 to 12.
KR1020060072691A 2005-12-08 2006-08-01 Network-based robot control device, robot and robot control method KR20070061241A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/633,772 US20070135967A1 (en) 2005-12-08 2006-12-05 Apparatus and method of controlling network-based robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050119288 2005-12-08
KR1020050119288 2005-12-08

Publications (1)

Publication Number Publication Date
KR20070061241A true KR20070061241A (en) 2007-06-13

Family

ID=38357177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060072691A KR20070061241A (en) 2005-12-08 2006-08-01 Network-based robot control device, robot and robot control method

Country Status (1)

Country Link
KR (1) KR20070061241A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101224266B1 (en) * 2011-04-25 2013-01-22 한국과학기술원 Contents aggregation apparatus and method for performing contents polling algorithm based network condition and contents attributes
WO2020105755A1 (en) * 2018-11-20 2020-05-28 (주)로보티즈 Device and method for controlling robot motion
US10969766B2 (en) 2009-04-17 2021-04-06 Teladoc Health, Inc. Tele-presence robot system with software modularity, projector and laser pointer
KR102266138B1 (en) * 2020-06-17 2021-06-17 (주)인티그리트 System and method for providing integrated multimedia and self-driving apparatus using the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10969766B2 (en) 2009-04-17 2021-04-06 Teladoc Health, Inc. Tele-presence robot system with software modularity, projector and laser pointer
KR101224266B1 (en) * 2011-04-25 2013-01-22 한국과학기술원 Contents aggregation apparatus and method for performing contents polling algorithm based network condition and contents attributes
WO2020105755A1 (en) * 2018-11-20 2020-05-28 (주)로보티즈 Device and method for controlling robot motion
KR102266138B1 (en) * 2020-06-17 2021-06-17 (주)인티그리트 System and method for providing integrated multimedia and self-driving apparatus using the same

Similar Documents

Publication Publication Date Title
US20070135967A1 (en) Apparatus and method of controlling network-based robot
US10613788B2 (en) Data migration between cloud storage systems
JP4712678B2 (en) Robot server for robot control, content providing system including the same, and method thereof
US8296786B2 (en) Agent-based remote function execution
AU2017276254A1 (en) Edge computing platform
US20140143672A1 (en) System and method for function expandable collaboration screen system
US20070150104A1 (en) Apparatus and method for controlling network-based robot
EP2517101A1 (en) A method, apparatuses and a system for compilation
KR20010053431A (en) Meeting system and information storage medium
CN113079216B (en) Cloud application implementation method and device, electronic equipment and readable storage medium
US10078609B1 (en) Virtualizing a non-USB device as a USB device
KR20070061241A (en) Network-based robot control device, robot and robot control method
CN114490383A (en) Remote debugging system, remote debugging method, computing device and readable medium
US10834164B2 (en) Virtualizing audio and video devices using synchronous A/V streaming
KR20070052641A (en) Robot server, content providing system and method comprising the same
CN113014669B (en) Proxy service method, system, server and storage medium based on RPA
US11720089B2 (en) Decoupled load generation architecture
CN110795156B (en) Mobile memory loading method, thin client, storage medium and device
JP2007157166A (en) Method and apparatus for providing xml-based service in server controlling mobile home service robot
CN114629831B (en) Network card performance test method, device, equipment and storage medium
CN116132340A (en) Node monitoring method and device
CN110958143B (en) Multi-thread cross-layer information processing platform architecture and information processing method
KR102411205B1 (en) A method and apparatus for transmitting time correlated signals
Hudák et al. Peripheral devices support for LIRKIS CAVE
US10661441B2 (en) Method for remotely accessing a remote device from a user device via an intermediate device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application