KR20070061241A - Network-based robot control device, robot and robot control method - Google Patents
Network-based robot control device, robot and robot control method Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Manipulator (AREA)
Abstract
Description
도 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
즉, 본 발명은 컴퓨터에 저장된 다양한 컨텐츠를 실행하는 로봇제어장치(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
네트워크(130)는 다양한 방식이 사용될 수 있으며, 속도가 빠르고 데이터 손실이 적은 무선 네트워크가 바람직하다. 사용 가능한 무선 네트워크로는 무선랜(IEEE 802.11x), 와이어리스 유에스비(Wireless USB), 블루투쓰, 직비(ZigBee), 유더블유비(Ultra Wide Bandwidth) 등 다양하다.The
로봇제어장치(110)와 로봇(120)은 네트워크(130)를 통해 서로 통신하기 위한 통신 장비를 장착해야 한다. 예를 들어 네트워크(130)가 무선 랜을 사용하는 경우 로봇제어장치(110)와 로봇(120)에는 무선 랜 카드가 장착되어야한다. 또한, 로봇제어장치(110)와 로봇(120)간의 무선 통신을 위해 네트워크(130) 장비로서 무선 액세스 포인트가 있어야 한다.The robot controller 110 and the
로봇제어장치(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
로봇제어장치(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
또한 로봇제어장치(110)는 컨텐츠를 실행할 때 해당 컨텐츠들이 원하는 순서 및 시간에 동기적으로 로봇제어장치(110) 및 로봇(120)에서 실행되도록 보장한다.In addition, the robot controller 110 ensures that the contents are executed in the robot controller 110 and the
또한, 로봇(120)은 로봇제어장치(110)에서 송신하는 컨텐츠를 실행하기 위한 스피커, 디스플레이 장치, 액추에이터 등의 기본 하드웨어 및 상기 하드웨어를 구동 및 제어하기 위한 소프트웨어를 장착하고 있어야 한다.In addition, the
도 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
승인부(210)는 둘 이상의 로봇에서 컨텐츠를 동기적으로 실행하기 위한 로봇제어장치에서, 로봇이 접속하면 각각의 로봇에 아이디를 포함하는 통신에 필요한 기본 파라미터를 할당하여 통신준비를 한다.The
컨텐츠 파일 획득부(220)는 컨텐츠의 수행 주체 및 수행 시기가 특정된 하나 이상의 컨텐츠를 가지는 컨텐츠 파일을 획득한다. 컨텐츠의 수행 주체는 로봇 또는 로봇제어장치 자신이다.The content
컨텐츠 파일 해석부(230)는 컨텐츠 파일을 해석하여 특정 시점에 수행되어야할 컨텐츠를 해당하는 컨텐츠 수행 주체에 전송한다. The
컨텐츠 실행 제어부(240)는 컨텐츠의 실행 상태를 모니터링하여 필요한 경우에 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 내린다.The content
컨텐츠 실행부(250)는 컨텐츠의 수행 주체가 로봇제어장치인 경우에 컨텐츠를 실행한다. 컨텐츠 실행부(250)는 영상 출력부, 오디오 출력부 등 각종 출력부를 가진다.The
도 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
컨텐츠 실행 엔진(310)은 컨텐츠 파일을 로딩하여 이를 실행한다.The
컴퓨터용 컨텐츠 실행 툴(320)은 컴퓨터에서 실행할 컨텐츠를 실행하고 화면에 출력한다.The computer
컨텐츠 실행 제어 툴(330)은 컨텐츠 실행 엔진(310)의 컨텐츠 실행 상황을 모니터링하며 필요시 컨텐츠 실행 엔진(310)에 명령을 전달한다.The content
컨텐츠 실행 엔진(310)은 통신 모듈(311), 패킷 해석기(312), 컨텐츠 실행 제어기(313), 컨텐츠 로더(315), 컨텐츠 실행기(316) 및 가상 로봇(3171-317n)으로 구성된다. The
통신 모듈(111)은 접속된 로봇들과 컴퓨터용 컨텐츠 실행 툴(320) 및 컨텐츠 실행 툴(330)과 통신하기 위한 것이다.The communication module 111 is for communicating with the connected robots, the computer
패킷 해석기(312)는 통신 모듈(311)에서 수신한 패킷을 해석하거나 컨텐츠를 송신 패킷으로 변환하여 로봇 및 컴퓨터용 실행 툴(320)에 전달한다. The
컨텐츠 실행 제어기(313)은 컨텐츠 실행 시작, 정지, 일시정지, 재시작 등의 컨텐츠 실행을 제어한다.The
컨텐츠 로더(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
컨텐츠 실행기(316)는 컨텐츠 실행 제어기(313)에서 전달된 컨텐츠를 실행한 다.The
가상 로봇(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
컴퓨터용 컨텐츠 실행 툴(320)은 화면에 정지 영상 및 동영상 컨텐츠를 출력하는 영상출력모듈(321), 그리고 음성이나 음악과 같은 오디오 정보를 스피커로 출력하는 오디오 출력 모듈(322), HTML을 화면에 출력하는 HTML 출력 모듈(323)등으로 구성된다.The computer
이외에도 필요시 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
도 4는 본 발명의 일 실시예에 의한 로봇이다. 도 4를 참조하면, 로봇(400)은 로봇용 컨텐츠 해석부(410), 로봇용 컨텐츠 실행부(420) 및 센서부(430)를 포함한다.4 is a robot according to an embodiment of the present invention. Referring to FIG. 4, the
로봇용 컨텐츠 해석부(410)는 네트워크를 통하여 전송된 파일에 수록된 컨텐츠를 실행하기 위하여 획득한 컨텐츠 파일을 해석하여 실행 순서에 따라 분류한다.The robot
로봇용 컨텐츠 실행부(420)는 실행순서에 따라 컨텐츠를 실행하거나 상기 네트워크를 통하여 전송된 컨텐츠의 실행중단, 일시정지, 또는 재시작을 포함하는 명령을 수행한다.The
센서부(430)는 로봇의 센서정보를 계측하여 네트워크를 통하여 사용자에게 전송한다.The
도 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
통신 모듈(501)은 로봇(500)이 로봇제어장치와 통신하기 위한 것이다.The
패킷 처리 모듈(502)은 로봇제어장치에서 전달된 패킷을 해석하고, 액추에이터 구동 패킷이면 상기 패킷을 액추에이터 구동 모듈(503)에 전달하고, 제어 패킷인 경우에는 제어 명령 처리 모듈(504)에 전달하여 처리하게 한다.The
센서 제어 모듈(505)는 로봇(500) 내부의 센서 정보를 감시하여 변화가 파악되면 이를 통신 모듈(501)을 통해 로봇제어장치에 전송한다.The
도 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
로봇(820)은 미리 정해진 사설 인터넷 주소와 포트를 이용하여 로봇제어장치(810)에 접속한 후 로봇(820)의 버퍼 크기와 함께 접속 요청 패킷을 로봇제어장치(810)에게 보낸다.The
로봇(820)으로부터 접속 요청 패킷(831)을 받은 로봇제어장치(810)은 해당 로봇(820)에게 아이디를 할당하고 할당된 아이디와 함께 접속 승인 패킷(832)을 로봇(820)에게 보낸다.The
접속 승인 패킷(832)을 받은 로봇(820)은 다시 로봇제어장치(810)에게 접속 승인 확인 패킷(833)을 보낸다.The
로봇(820)으로부터 접속 승인 확인 패킷(833)을 받은 로봇제어장치(810)는 해당 로봇(820)의 타입에 맞는 가상 로봇 객체를 생성한다. The
로봇제어장치(810)는 원하는 로봇(820)이 모두 접속되면 미리 설정된 컨텐츠를 로딩하고 실행한다.The
로봇제어장치(810)는 특정 시점에서 실행해야 할 컨텐츠를 결정하고 해당 컨텐츠 패킷(834)를 로봇제어장치(810)내의 컴퓨터용 컨텐츠 실행 툴 혹은 로봇(820)에게 전송한다.The
컨텐츠 패킷(834)를 전송받은 로봇제어장치(810)내의 컴퓨터용 컨텐츠 실행 툴 또는 로봇(820)은 전송받은 컨텐츠 패킷을 해석하고 실행한다(S835). The computer content execution tool or
어떤 로봇은 다른 로봇의 컨텐츠가 종료된 후 컨텐츠를 실행할 필요가 있다. 예를 들어, 서로 다른 두 로봇이 영어 회화를 수행하는 컨텐츠의 경우, 하나의 로봇이 먼저 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
컨텐츠 종료 여부 질의 패킷(836)을 수신한 로봇(820)은 컨텐츠 종료 여부 질의 패킷(836) 이전에 받은 컨텐츠 패킷(834)을 모두 실행한 후에 컨텐츠 종료 확인 패킷(837)을 로봇제어장치(810)에 전송한다.The
컨텐츠 종료 확인 패킷(837)을 수신한 로봇제어장치(810)는 컨텐츠 패킷(834)의 실행 완료를 확인하게 되고, 그 이후에 다음에 실행할 다음 컨텐츠 패킷(838)를 로봇(820)에게 전달한다.The
로봇제어장치(810)이 컨텐츠의 실행 완료를 확인하는 방법은 컨텐츠 종료 여부 질의 패킷9836)과 컨텐츠 종료 확인 패킷(837)을 사용하는 방법 이외에도 여러가지가 있을 수 있다.The
컨텐츠 패킷(834)을 수신한 로봇(820)이 컨텐츠 패킷(834)을 실행한 후 컨텐츠 실행 엔진(11)에게 해당 컨텐츠 패킷(834)의 수행 완료를 알려주는 방법이 있다.After the
또한 로봇(820)이 로봇제어장치(810)로부터 수신한 컨텐츠 패킷(834) 중에 현재 실행되지 않은 컨텐츠 패킷(834)의 수를 로봇제어장치에게 일정한 간격으로 계속 알려주어 로봇제어장치(810)가 이를 이용하여 컨텐츠 패킷(834)의 종료 여부를 판단하는 방법도 있다.In addition, the
도 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
도 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)
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)
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 |
-
2006
- 2006-08-01 KR KR1020060072691A patent/KR20070061241A/en not_active Application Discontinuation
Cited By (4)
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 | |
JP4712678B2 (en) | Robot server for robot control, content providing system including the same, and method thereof | |
US20180232174A1 (en) | Data Migration Between Cloud Storage Systems | |
US20120284696A1 (en) | Method, Apparatuses and a System for Compilation | |
US20120072927A1 (en) | Agent-based remote function execution | |
AU2017276254A1 (en) | Edge computing platform | |
US20140143672A1 (en) | System and method for function expandable collaboration screen system | |
KR20010053431A (en) | Meeting system and information storage medium | |
US20070078527A1 (en) | Interface for Sensor Query and Control | |
CN114629831B (en) | Network card performance test method, device, equipment and 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 | |
CN105607944B (en) | A kind of method and device of sharing application environment | |
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 | |
KR20070052641A (en) | Robot server, content providing system and method comprising the same | |
US20200041987A1 (en) | Decoupled load generation architecture | |
CN113014669B (en) | Proxy service method, system, server and storage medium based on RPA | |
CN110795156B (en) | Mobile memory loading method, thin client, storage medium and device | |
KR20150109217A (en) | Robot for controlling smart device and system for controlling smart device through robot | |
CN114615521B (en) | Video processing method and device, computer readable storage medium and electronic equipment | |
CN111917733B (en) | Equipment integration method, device, equipment and storage medium based on integration platform | |
CN110958143B (en) | Multi-thread cross-layer information processing platform architecture and information processing method | |
Hudák et al. | Peripheral devices support for LIRKIS CAVE | |
CN114979212A (en) | Agent service construction method, device and system for equipment to access Internet of things platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |