KR20120072021A - Robot plug-in agent system and method thereof - Google Patents
Robot plug-in agent system and method thereof Download PDFInfo
- Publication number
- KR20120072021A KR20120072021A KR20100133783A KR20100133783A KR20120072021A KR 20120072021 A KR20120072021 A KR 20120072021A KR 20100133783 A KR20100133783 A KR 20100133783A KR 20100133783 A KR20100133783 A KR 20100133783A KR 20120072021 A KR20120072021 A KR 20120072021A
- Authority
- KR
- South Korea
- Prior art keywords
- plug
- robot
- remote
- relay
- function
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7864—Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
- Programmable Controllers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
본 발명은 로봇 플러그인(robot plug in) 중계 방법에 관한 것으로, 특히 분산환경하에서 두 로봇 플러그인간 상호작용에 관한 프로토콜(protocol)을 정의하고, 로봇 플러그인 프레임워크 엔진(frame work engine)이 두 로봇 플러그인간 통신을 중계하도록 구현하여 로봇 플러그인간 함수호출, 심볼참조 및 프레임워크 엔진과의 상호작용을 통한 이벤트(event), 타이머(timer) 등의 원격 실행이 가능하도록 하는 로봇 플러그인의 원격 실행을 위한 로봇 플러그인 중계 시스템 및 방법에 관한 것이다.
The present invention relates to a method for relaying a robot plug in. In particular, a protocol for interaction between two robot plug-ins in a distributed environment is defined, and a robot plug-in framework engine includes two robot plugs. A robot for remote execution of a robot plug-in that enables remote execution of events, timers, etc. through function calls, symbol references, and interaction with the framework engine by implementing human communication. A plug-in relay system and method.
통상적으로 로봇용 소프트웨어 플러그인은 로봇 응용을 구성하는 각종 기능을 재사용 및 교체가 가능한 모듈(module)로 모듈화한 것이다. 이러한 로봇용 소프트웨어 플러그인은 그 자체로서는 실행이 불가능하며 플러그인을 구동시키는 플러그인 프레임워크 엔진을 필요로 하게 된다.Typically, software plug-ins for robots are modularized modules that can reuse and replace various functions that make up a robot application. These robotic software plug-ins are not executable on their own and require a plug-in framework engine to run the plug-in.
기존에 로봇용 플러그인 프레임워크 엔진은 엔진이 탑재된 로컬 노드(local node)상에 존재하는 로컬 플러그인을 탑재하고, 탑재된 로컬 플러그인들끼리의 상호작용을 통하여 하나의 로봇 응용을 구성하였다. The existing plug-in framework engine for robots includes a local plug-in existing on a local node on which the engine is mounted, and constructs a robot application through interaction between the mounted plug-ins.
한편, 근래에 들어 로봇용 로컬 플러그인의 한계를 극복하고, 이를 분산환경에서 동작할 수 있는 원격 플러그인 프레임워크 엔진이 개발되었다. 이로써, 로봇 플러그인은 엔진이 탑재된 로컬 노드의 한계를 벗어나서 네트워크로 연결된 어느 노드에서도 동작 가능한 환경이 조성되었다.
On the other hand, in recent years, a remote plug-in framework engine has been developed that can overcome the limitations of the local plug-in for robots and operate it in a distributed environment. As a result, the robot plug-in has created an environment that can operate on any networked node beyond the limit of the local node on which the engine is mounted.
하지만, 종래의 기술에서는 로봇 플러그인 프레임워크 엔진의 중계를 통한 로봇 원격 플러그인간의 상호작용과 기능에 대하여는 규정하였지만, 이들의 상호작용을 가능하게 하여주는 프로토콜에 대하여는 정하여진 바가 없었기 때문에, 개발자마다 상이한 프로토콜을 사용함으로 인하여 플러그인간의 상호작용에 있어서 호환성을 확보하는데 문제가 발생하였다.However, in the related art, although the interaction and functions of the robot remote plug-in through the relay of the robot plug-in framework engine have been defined, the protocol for enabling the interaction has not been determined. The problem arises in ensuring the compatibility of the plug-in interaction.
따라서, 본 발명은 분산환경하에서 두 로봇 플러그인간 상호작용에 관한 프로토콜을 정의하고, 로봇 플러그인 프레임워크 엔진이 두 로봇 플러그인간 통신을 중계하도록 구현하여 로봇 플러그인간 함수호출, 심볼참조 및 프레임워크 엔진과의 상호작용을 통한 이벤트, 타이머 등의 원격 실행이 가능하도록 하는 로봇 플러그인의 원격 실행을 위한 로봇 플러그인 중계 시스템 및 방법을 제공하고자 한다.
Accordingly, the present invention defines a protocol for interaction between two robot plug-ins in a distributed environment, and implements the robot plug-in framework engine to relay communication between the two robot plug-ins so that the function calls, symbol references, and framework engines between the robot plug-ins The present invention provides a robot plug-in relay system and method for remote execution of a robot plug-in that enables remote execution of events, timers, and the like through interaction.
상술한 본 발명은 로봇 플러그인 중계 시스템으로서, 로봇에서 실행되는 애플리케이션을 구성하는 각종 기능을 수행하며, 통신망을 통해 다른 로봇 원격 플러그인과 통신을 수행하여 상기 기능의 수행을 위한 데이터를 송/수신하는 로봇 원격 플러그인과, 상기 로봇 원격 플러그인과 통신망으로 연결되어, 상기 로봇 원격 플러그인간 상호 통신을 중계하는 로봇 플러그인 프레임워크 엔진을 포함한다.The present invention described above is a robot plug-in relay system, which performs various functions configuring an application executed in a robot, and communicates with another robot remote plug-in through a communication network to transmit / receive data for performing the function. A remote plug-in and a robot plug-in framework engine connected to the robot remote plug-in and a communication network to relay mutual communication between the robot remote plug-ins.
또한, 상기 로봇 플러그인 프레임워크 엔진은, 상기 로봇 원격 플러그인간 상호 통신을 중계하여 상기 로봇 원격 플러그인으로부터 특정 함수의 호출 요청 시 상기 호출 요청을 상기 다른 로봇 원격 플러그인으로 전송하고, 상기 다른 로봇 원격 플러그인으로부터 상기 호출 요청에 응답한 상기 함수의 결과값을 전송받아 상기 로봇 원격 플러그인으로 전송하는 것을 특징으로 한다.In addition, the robot plug-in framework engine relays the mutual communication between the robot remote plug-ins to transmit the call request to the other robot remote plug-in when a call of a specific function is requested from the robot remote plug-in, and from the other robot remote plug-in. And receiving a result value of the function in response to the call request and transmitting the result value to the robot remote plug-in.
또한, 상기 로봇 원격 플러그인간 통신은, 텍스트 기반의 프로토콜을 통해 수행되는 것을 특징으로 한다.In addition, the robot remote plug-in communication, characterized in that performed via a text-based protocol.
또한, 상기 프로토콜을 통해 송신 또는 수신되는 패킷은, 헤더부와 바디부를 포함하는 것을 특징으로 한다.In addition, the packet transmitted or received through the protocol is characterized in that it comprises a header portion and a body portion.
또한, 상기 헤더부는, 프로토콜 이름, 버전, 패킷 아이디, 데이터 타입 또는 길이 중 하나 이상의 정보를 포함하는 것을 특징으로 한다.The header unit may include one or more information among a protocol name, a version, a packet ID, a data type, and a length.
또한, 상기 바디부는, 태그부와 데이터부를 포함하는 것을 특징으로 한다.The body portion may include a tag portion and a data portion.
또한, 상기 태그부는, 요청, 응답 또는 에러 중 어느 하나를 포함하는 것을 특징으로 한다.The tag unit may include any one of a request, a response, or an error.
또한, 상기 데이터부는, 실제 전송되는 데이터를 포함하는 것을 특징으로 한다.The data unit may include data that is actually transmitted.
또한, 본 발명은 로봇 플러그인 중계 방법으로서, 로봇 플러그인 중계 방법으로서, 통신망을 통해 다수의 로봇 원격 플러그인들과 연결되는 로봇 플러그인 프레임워크 엔진에서 하나의 로봇 원격 플러그인으로부터의 함수 호출 명령을 수신하는 단계와, 상기 로봇 플러그인 프레임워크 엔진에서 상기 함수 호출 명령을 수행할 타겟 로봇 원격 플러그인으로 상기 함수 호출 명령을 전송하는 단계와, 상기 로봇 플러그인 프레임워크 엔진에서 상기 타겟 로봇 원격 플러그인으로부터 상기 함수의 실행에 따른 결과값을 수신하는 단계와, 상기 로봇 플러그인 프레임워크 엔진에서 상기 결과값을 상기 함수 호출을 명령한 상기 로봇 원격 플러그인으로 전송하는 단계를 포함한다.In addition, the present invention is a robot plug-in relay method, a robot plug-in relay method, receiving a function call command from one robot remote plug-in in a robot plug-in framework engine connected to a plurality of robot remote plug-ins via a communication network; Transmitting, by the robot plug-in framework engine, the function call command to a target robot remote plug-in to perform the function call command, and the result of executing the function from the target robot remote plug-in in the robot plug-in framework engine. Receiving a value, and transmitting the result value from the robot plug-in framework engine to the robot remote plug-in commanding the function call.
또한, 상기 로봇 원격 플러그인간 통신은, 텍스트 기반의 프로토콜을 통해 수행되는 것을 특징으로 한다.In addition, the robot remote plug-in communication, characterized in that performed via a text-based protocol.
또한, 상기 프로토콜을 통해 송/수신되는 패킷은, 헤더부와 바디부를 포함하는 것을 특징으로 한다.The packet transmitted / received through the protocol may include a header part and a body part.
또한, 상기 헤더부는, 프로토콜 이름, 버전, 패킷 아이디, 데이터 타입 또는 길이 중 하나 이상의 정보를 포함하는 것을 특징으로 한다.The header unit may include one or more information among a protocol name, a version, a packet ID, a data type, and a length.
또한, 상기 바디부는, 태그부와 데이터부를 포함하는 것을 특징으로 한다.The body portion may include a tag portion and a data portion.
또한, 상기 태그부는, 요청, 응답 또는 에러 중 어느 하나를 포함하는 것을 특징으로 한다.The tag unit may include any one of a request, a response, or an error.
또한, 상기 데이터부는, 실제 전송되는 데이터를 포함하는 것을 특징으로 한다.
The data unit may include data that is actually transmitted.
본 발명에서는 로봇 플러그인 중계 시스템 및 방법에 있어서, 분산환경하에서 두 로봇 플러그인간 상호작용에 관한 프로토콜을 정의하고, 로봇 플러그인 프레임워크 엔진이 두 로봇 플러그인간 통신을 중계하도록 구현하여 로봇 플러그인간 함수호출, 심볼참조 및 프레임워크 엔진과의 상호작용을 통한 이벤트, 타이머 등의 원격 실행이 가능하도록 함으로써 로봇 플러그인간 호환성을 확보할 수 있는 이점이 있다.
In the present invention, in the robot plug-in relay system and method, a protocol relating to the interaction between the two robot plug-in in a distributed environment, and implements the robot plug-in framework engine to relay the communication between the two robot plug-in, calling the function between the robot plug-in, By enabling the remote execution of events and timers through symbol reference and interaction with the framework engine, there is an advantage of ensuring compatibility between robot plug-ins.
도 1은 본 발명의 실시 예에 따른 로봇 플러그인 중계 시스템의 구성도,
도 2는 본 발명의 실시 예에 따른 로봇 플러그인 중계 시스템의 프로토콜 패킷의 포맷도,
도 3은 본 발명의 실시 예에 따른 로봇 플러그인 중계 시스템에서 로봇 원격 플러그인간 신호 처리 흐름도,
도 4는 도 3의 과정에서 송/수신되는 프로토콜 패킷의 일예를 도시한 도면.1 is a block diagram of a robot plug-in relay system according to an embodiment of the present invention,
2 is a format diagram of a protocol packet of a robot plug-in relay system according to an exemplary embodiment of the present invention;
3 is a flowchart illustrating signal processing between robot remote plug-ins in a robot plug-in relay system according to an exemplary embodiment of the present invention;
4 is a diagram illustrating an example of a protocol packet transmitted and received in the process of FIG.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them will be apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present disclosure, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted, and the following terms are used in the embodiments of the present disclosure. Terms are defined in consideration of the function of the may vary depending on the user or operator's intention or custom. Therefore, the definition should be based on the contents throughout this specification.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.Combinations of each block of the block diagrams and respective steps of the flowcharts may be performed by computer program instructions (executable engines), which may be executed on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment. As such, instructions executed through a processor of a computer or other programmable data processing equipment create means for performing the functions described in each block of the block diagram or in each step of the flowchart. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. The instructions stored therein may also produce an article of manufacture containing instruction means for performing the functions described in each block of the block diagram or in each step of the flowchart.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.In addition, computer program instructions may be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to generate a computer or other program. Instructions for performing possible data processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing specific logical functions, and in some alternative embodiments referred to in blocks or steps It should be noted that the functions may occur out of order. For example, the two blocks or steps shown in succession may, in fact, be performed substantially concurrently, or the blocks or steps may be performed in the reverse order of the corresponding function, as required.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 로봇 플러그인 중계 시스템의 구성을 도시한 것이다.1 is a block diagram of a robot plug-in relay system according to an exemplary embodiment of the present invention.
도 1을 참조하면, 로봇 플러그인 프레임워크 엔진(plug-in framework engine)(102)은 제1로봇 원격 플러그인(100)과 제2로봇 원격 플러그인(104) 및 로봇 로컬 플러그인(106)간 상호작용을 중계하고, 이벤트(event) 및 타이머 서비스(timer service)를 제공하는 역할을 수행한다.Referring to FIG. 1, the robot plug-in
제1 로봇 원격 플러그인(100)은 로봇 플러그인 프레임워크 엔진(102)이 탑재된 컴퓨팅 노드(computing node)와는 다른 곳에 탑재될 수 있으며, 인터넷을 통하여 로봇 플러그인 프레임워크 엔진(102)의 중계를 통하여 원격지에 있는 다른 제2 로봇 원격 플러그인(104)과 상호작용한다. The first robot remote plug-in 100 may be mounted at a different place from a computing node equipped with the robot plug-in
로봇 로컬 플러그인(106)은 로봇 플러그인 프레임워크 엔진(102)과 같은 컴퓨팅 노드에 존재하여, 로봇 플러그인 프레임워크엔진(102)에 의해 탑재된다. Robot local plug-in 106 resides in a computing node, such as robot plug-in
제1 로봇 원격 플러그인(100)과 제2 로봇 원격 플러그인(104)간 상호작용은 로봇 플러그인 프레임워크 엔진(102)의 중계를 통하여 이루어진다. 제1, 제2 로봇 원격 플러그인(100, 104)간 또는 제1, 제2 로봇 원격 플러그인(100, 104)과 로봇 플러그인 프레임워크 엔진(102) 사이에는 함수호출, 심볼참조, 이벤트 및 타이머 기능과 각종 제어를 위한 상호작용이 포함된다.Interaction between the first robot remote plug-in 100 and the second robot remote plug-in 104 takes place through relaying of the robot plug-in
도 2는 본 발명의 실시 예에 따른 로봇 플러그인 중계 시스템에서의 프로토콜 패킷(protocol packet)의 포맷도이다. 본 발명의 프로토콜은 텍스트 기반 프로토콜(text based protocol)이며 텍스트(text)를 기반으로 하기 때문에 인코딩(encoding)과 디코딩(decoding)이 용이하다. 2 is a format diagram of a protocol packet in the robot plug-in relay system according to an exemplary embodiment of the present invention. The protocol of the present invention is a text based protocol and is easy to encode and decode since it is based on text.
도 2를 참조하면, 하나의 패킷은 헤더부(header)와 바디부(body)로 구성된다. 헤더부에는 프로토콜 이름(protocol name), 버전(version), 패킷 아이디(packet ID), 데이터 타입(data type), 길이(length)가 들어가는 총 24바이트(byte)로 구성된다. Referring to FIG. 2, one packet includes a header and a body. The header part includes a total of 24 bytes including a protocol name, version, packet ID, data type, and length.
프로토콜 이름은 'RPP'로 고정되며, 버전은 프로토콜의 현재 버전이 2.x와 같은 세 바이트 문자열로 구성된다. 패킷 아이디는 패킷에 부여되는 일련번호로서 하나의 플러그인에서 생성되는 각 패킷은 고유의 아이디를 지녀야 한다. The protocol name is fixed as 'RPP', and the version consists of a three-byte string where the current version of the protocol is 2.x. The packet ID is a serial number assigned to the packet. Each packet generated by a plug-in must have a unique ID.
데이터 타입은 바디의 데이터부에 있는 데이터의 타입을 나타내며 'S'혹은 'L' 값을 지니며 각각 문자열형 데이터 또는 리스트형 데이터를 나타낸다. 길이는 바디부의 총 길이를 나타낸다.The data type represents the type of data in the data portion of the body and has a value of 'S' or 'L', and represents string type data or list type data, respectively. The length represents the total length of the body portion.
도 2에서 보여지는 바와 같이, 바디는 태그부와 데이터부로 이루어진다. 태그부는 'request', 'reply', 'error' 문자열중의 하나이다. 'request'는 요청을 할 때 지정되며, 이 요청에 대한 응답이 필요할 경우 'reply' 또는 'error'를 이용한다. 데이터부는 실제 요청이나 응답의 내용을 기술하는 부분으로서 각각에 대하여는 아래에 기술한다. 바디부의 각 항목은 공백문자로 구분한다.As shown in FIG. 2, the body consists of a tag portion and a data portion. The tag part is one of the strings 'request', 'reply', and 'error'. 'request' is specified when making a request. If a response to this request is required, use 'reply' or 'error'. The data section describes the content of the actual request or response, and each is described below. Each item in the body part is separated by a space character.
아래의 [표 1]은 제1, 제2 로봇 원격 플러그인(100, 104)에서 로봇 플러그인 프레임워크 엔진(102)으로 심볼(symbol)을 등록(해지)할 때 사용되는 심볼등록(해지) 메시지에 대한 바디부의 구성을 보여준다. 태그로는 [request]를 지정하고, 명령부는 심볼을 등록하는지 또는 해지하는지에 따라 명령코드가 달라지며 [표 2]의 명령코드표를 참조한다. 심볼이름 항목에는 처리하고자 하는 심볼의 이름을 지정한다.[Table 1] below is a symbol registration (termination) message used when registering (cancel) a symbol from the first and second robot remote plug-ins (100, 104) to the robot plug-in
아래의 [표 3]는 제1, 제2 로봇 원격 플러그인(100, 104)에서 로봇 플러그인 프레임워크 엔진(102)으로 오브젝트(object)를 등록(해지)할 때 사용되는 오브젝트등록(해지) 메시지에 대한 바디부의 구성을 보여준다. 태그로는 [request]를 지정하고, 명령코드는 오브젝트를 등록하는지 또는 해지하는지에 따라 명령코드가 달라지며 [표 2]의 명령코드표를 참조한다. 오브젝트이름 항목에는 처리하고자 하는 오브젝트 이름을 지정한다.[Table 3] below shows the object registration (cancellation) message used when registering (canceling) an object from the first and second robot remote plug-
아래의 [표 4]은 제1, 제2 로봇 원격 플러그인(100, 104)에서 로봇 플러그인 프레임워크 엔진(102)으로 함수를 등록(해지)할 때 사용되는 함수등록(해지) 메시지에 대한 바디부의 구성을 보여준다. 태그로는 [request]를 지정하고, 명령코드는 함수를 등록하는지 또는 해지하는지에 따라 명령코드가 달라지며 [표 2]의 명령코드표를 참조한다. 함수이름 항목에는 처리하고자 하는 함수 이름을 지정한다.[Table 4] below shows the body part for the function registration (cancellation) message used when registering (canceling) a function from the first and second robot remote plug-
아래의 [표 5]은 제1, 제2 로봇 원격 플러그인(100, 104)의 특정 심볼값을 참조하고자 할 때 사용하는 심볼값 참조 명령에 대한 데이터부를 기술한다. 이 명령은 특정심볼의 값을 참조하는 것이기 때문에 이 요청에 대한 성공 또는 실패여부를 응답하여야 한다. Table 5 below describes a data unit for a symbol value reference command used when referring to specific symbol values of the first and second robot remote plug-
이 요청을 받은 로봇 플러그인 프레임워크 엔진(102)은 요청의 처리에 대한 성공 또는 실패여부를 요청한 예를 들어, 제1 로봇 원격 플러그인(100)에게 전달한다. 심볼값 참조 명령의 요청 시는 명령코드 항목, 심볼이름 항목을 갖는다. 명령코드는 심볼값 참조명령에 해당하는 코드를 가지며, 심볼이름값은 설정하고자 하는 심볼의 이름을 지정한다. 심볼값 참조 명령의 성공 시 'reply' 태그와 함께 심볼값을 전달하며 실패 시에는 'error'와 함께 오류메시지를 보낸다The robot plug-in
아래의 [표 6]은 제1, 제2 로봇 원격 플러그인(100, 104)의 특정 심볼값을 변경하고자 할 때 사용하는 심볼값 변경 명령에 대한 데이터부를 기술한다. 심볼변경 명령은 특정심볼의 값을 변경하는 것이기 때문에 이 요청에 대한 성공 또는 실패여부를 응답하여야 한다. Table 6 below describes a data unit for a symbol value change command used when a specific symbol value of the first and second robot remote plug-
이 요청을 받은 로봇 플러그인 프레임워크 엔진(102)은 요청의 처리에 대한 성공 또는 실패여부를 요청한 제1 로봇 원격 플러그인(100) 또는 제2 로봇 원격 플러그인(104)에게 전달한다. 심볼값 변경 요청 시는 태그, 명령코드, 심볼 이름부, 그리고 심볼값부를 갖는다. 명령코드는 심볼값 변경에 해당하는 명령코드값을 가지며, 심볼이름값은 설정하고자 하는 심볼의 이름을 지정한다. 심볼값은 밸류형의 타입의 값을 가지는데, 이 타입은 정수형, 실수형, 문자열, 이미지, 사운드, 리스트형 데이터를 담을 수 있다.The robot plug-in
아래의 [표 7]는 제1, 제2 로봇 원격 플러그인(100, 104)의 특정 함수를 호출하고자 할 사용하는 명령에 대한 메시지 포맷을 도시한다. Table 7 below shows a message format for a command to be used to call a specific function of the first and second robot remote plug-
함수호출 요청 시에는 태그로 '[request]'를 가지며, 명령코드로는 함수호출에 해당하는 명령코드를 지정한다. 함수이름 항목은 호출하고자 하는 함수이름을 지정하고 파라미터(parameter) 항목은 함수호출에 전달되는 파라미터를 지정한다. 이때, 파라미터는 리스트형(list type)이며 밸류형(value type) 데이터의 나열이다. 함수호출을 성공하면 로봇 플러그인 프레임워크 엔진(102)은 '[reply]' 태그와 함께 반환값을 반환하며, 실패 시에는 '[error]' 태그와 함께 오류 메시지를 전달한다.When calling a function call, it has '[request]' as a tag, and the command code corresponding to a function call is designated as a command code. The function name field specifies the function name to be called and the parameter field specifies the parameter passed to the function call. In this case, the parameter is a list type and a list of value type data. If the function call is successful, the robot plug-in
아래의 [표 8]은 로봇 플러그인 프레임워크 엔진(102)에 등록할 때 사용되는 메시지를 보여준다. 태그항목은 '[request]'라 지정하며, 명령코드는 [표 2]의 명령코드표를 참조한다. 이벤트이름 항목에는 알림요청을 등록할 대상 이벤트의 이름을 지정한다.Table 8 below shows messages used when registering with the robot plug-in
아래의 [표 9]는 로봇 플러그인 프레임워크 엔진(102) 또는 제1, 제2 로봇 원격 플러그인(100, 104)에서 발생한 이벤트를 로봇 플러그인 프레임워크 엔진(102) 또는 제1, 제2 로봇 원격 플러그인(100, 104)에게 전달할 때 쓰이는 메시지를 보여준다. [Table 9] below shows events generated by the robot plug-in
태그항목은 '[request]'라 지정하며, 명령코드는 [표 2]의 명령코드표를 참조한다. 이벤트이름 항목에는 발생한 이벤트의 이름을 지정한다.The tag item is designated as '[request]'. For the command code, refer to the command code table in [Table 2]. In the event name field, specify the name of the event that occurred.
아래의 [표 10]는 제1, 제2 로봇 원격 플러그인(100, 104)에서 일정한 주기로 특정 기능을 수행하고자할 때, 또는 로봇 플러그인 프레임워크 엔진(102)에게 특정 주기로 이벤트를 발생시켜 달라고 요청할 때 쓰이는 명령에 대한 메시지 포맷이다.[Table 10] below shows when the first and second robot remote plug-
태그항목은 '[request]'라 지정하며, 명령코드는 [표 2]의 명령코드표를 참조한다. 이벤트 이름 항목에는 발생한 이벤트의 이름을 지정한다. 주기 항목은 이벤트를 발생시킬 주기를 지정하며, 오브젝트 이름은 이 메시지를 보내는 오브젝트의 이름을 지정한다.The tag item is designated as '[request]'. For the command code, refer to the command code table in [Table 2]. The event name field specifies the name of the event that occurred. The cycle item specifies the frequency at which the event will be triggered, and the object name specifies the name of the object sending this message.
도 3은 본 발명의 실시 예에 따른 로봇 플러그인 중계 시스템에서 제1, 제2 로봇 원격 플러그인(100, 104)간 함수호출 동작을 위한 신호 처리 흐름을 도시한 것이다. 이하, 도 1 및 도 3을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.3 illustrates a signal processing flow for a function call operation between the first and second robot remote plug-
먼저, 제1 로봇 원격 플러그인(100) 안에 A라는 오브젝트가 로봇 플러그인 프레임워크 엔진(102)으로 제2 로봇 원격 플러그인(104)안의 B라는 오브젝트가 가지고 있는 특정 함수의 호출을 요청한다(S300).First, an object called A in the first robot remote plug-in 100 requests a call of a specific function possessed by an object called B in the second robot remote plug-in 104 to the robot plug-in framework engine 102 (S300).
이에 따라, 로봇 플러그인 프레임워크 엔진(102)은 제1 로봇 원격 플러그인(100)으로부터의 함수 호출 요청을 해당 함수를 가지고 있는 제2 로봇 원격 플러그인(104)으로 전송한다(S302).Accordingly, the robot plug-in
그러면, 제2 로봇 원격 플러그인(104)은 제1 로봇 원격 플러그인(100)으로부터 요청된 함수를 호출한다. 이때 예를 들어, 제2 로봇 원격 플러그인(104)안의 B라는 오브젝트가 가진 sum 함수가 호출된다고 가정하고, 또한, sum 함수는 두 개의 정수를 받아서 이를 합산한 후 그 결과를 반환하는 함수라고 가정한다.The second robot remote plug-in 104 then calls the requested function from the first robot remote plug-in 100. In this case, for example, it is assumed that the sum function of the object B in the second robot remote plug-in 104 is called, and the sum function is a function that takes two integers, sums them, and returns the result. .
이어, 제2 로봇 원격 플러그인(104)은 해당 sum함수를 호출하여(S304), 함수값을 계산한 후, 이러한 함수값을 함수 호출에 대한 결과값으로 로봇 플러그인 프레임워크 엔진(102)으로 전송한다(S308).Subsequently, the second robot remote plug-in 104 calls the corresponding sum function (S304), calculates a function value, and transmits the function value to the robot plug-in
이에 따라, 로봇 플러그인 프레임워크 엔진(102)은 제2 로봇 원격 플러그인(104)으로부터 전송받은 결과값을 제1 로봇 원격 플러그인(100)으로 전송한다(S310).Accordingly, the robot plug-in
도 4는 위 도 3의 과정에서 송/수신되는 프로토콜 패킷의 일예를 도시한 것이다.4 illustrates an example of a protocol packet transmitted / received in the process of FIG. 3.
도 4를 참조하면, 도 4의 '1'은 제1 로봇 원격 플러그인에서 로봇 플러그인 프레임워크 엔진으로 전송하는 함수 호출 요청의 패킷의 구성을 도시한 것이고, '2'는 로봇 플러그인 프레임워크 엔진에서 제2 로봇 원격 플러그인으로 전송하는 함수 호출 요청의 패킷의 구성을 도시한 것이다.Referring to FIG. 4, '1' of FIG. 4 illustrates a configuration of a packet of a function call request transmitted from a first robot remote plug-in to a robot plug-in framework engine, and '2' is a symbol of a robot plug-in framework engine. Figure 2 shows the structure of a packet of a function call request sent to a robot remote plug-in.
도 4의 '3'은 제2 로봇 원격 플러그인에서 로봇 플러그인 프레임워크 엔진으로 전송하는 결과값의 패킷 구성을 도시한 것이고, '4'는 로봇 플러그인 프레임워크 엔진에서 제1 로봇 원격 플러그인으로 전송하는 결과값의 패킷 구성을 도시한 것이다.'3' of FIG. 4 shows a packet configuration of a result value transmitted from the second robot remote plug-in to the robot plug-in framework engine, and '4' shows a result of transmission from the robot plug-in framework engine to the first robot remote plug-in. The packet configuration of the value is shown.
상기한 바와 같이, 본 발명에서는 로봇 플러그인 중계 시스템 및 방법에 있어서, 분산환경하에서 두 로봇 플러그인간 상호작용에 관한 프로토콜을 정의하고, 로봇 플러그인 프레임워크 엔진이 두 로봇 플러그인간 통신을 중계하도록 구현하여 로봇 플러그인간 함수호출, 심볼참조 및 프레임워크 엔진과의 상호작용을 통한 이벤트, 타이머 등의 원격 실행이 가능하도록 함으로써 로봇 플러그인간 호환성을 확보할 수 있다.As described above, in the robot plug-in relay system and method, the present invention defines a protocol related to interaction between two robot plug-ins in a distributed environment, and implements the robot plug-in framework engine to relay communication between two robot plug-ins. It is possible to secure compatibility between robot plug-ins by enabling remote execution of events, timers, etc. through function calls, symbol references, and interaction with the framework engine.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Accordingly, the scope of the invention should not be limited by the described embodiments but should be defined by the appended claims.
100 : 제1 로봇 원격 플러그인 102 : 로봇 플러그인 프레임워크 엔진
104 : 제2 로봇 원격 플러그인 106 : 로봇 로컬 플러그인100: first robot remote plug-in 102: robot plug-in framework engine
104: second robot remote plug-in 106: robot local plug-in
Claims (15)
로봇에서 실행되는 애플리케이션을 구성하는 각종 기능을 수행하며, 통신망을 통해 다른 로봇 원격 플러그인과 통신을 수행하여 상기 기능의 수행을 위한 데이터를 송/수신하는 로봇 원격 플러그인과,
상기 로봇 원격 플러그인과 통신망으로 연결되어, 상기 로봇 원격 플러그인간 상호 통신을 중계하는 로봇 플러그인 프레임워크 엔진
을 포함하는 로봇 플러그인 중계 시스템.
Robot plug-in relay system,
A robot remote plug-in that performs various functions of configuring an application running on the robot, and communicates with another robot remote plug-in through a communication network to transmit / receive data for performing the function;
A robot plug-in framework engine connected to the robot remote plug-in and a communication network to relay mutual communication between the robot remote plug-ins.
Robot plug-in relay system comprising a.
상기 로봇 플러그인 프레임워크 엔진은,
상기 로봇 원격 플러그인간 상호 통신을 중계하여 상기 로봇 원격 플러그인으로부터 특정 함수의 호출 요청 시 상기 호출 요청을 상기 다른 로봇 원격 플러그인으로 전송하고, 상기 다른 로봇 원격 플러그인으로부터 상기 호출 요청에 응답한 상기 함수의 결과값을 전송받아 상기 로봇 원격 플러그인으로 전송하는 로봇 플러그인 중계 시스템.
The method of claim 1,
The robot plug-in framework engine,
Relaying the mutual communication between the robot remote plug-ins to transmit the call request to the other robot remote plug-in upon request of a call of a specific function from the robot remote plug-in, and a result of the function responding to the call request from the other robot remote plug-in; Robot plug-in relay system for receiving a value and transmits to the robot remote plug-in.
상기 로봇 원격 플러그인간 통신은,
텍스트 기반의 프로토콜을 통해 수행되는 로봇 플러그인 중계 시스템.
The method of claim 1,
Communication between the robot remote plug-in,
Robot plug-in relay system performed via a text-based protocol.
상기 프로토콜을 통해 송신 또는 수신되는 패킷은,
헤더부와 바디부를 포함하는 로봇 플러그인 중계 시스템.
The method of claim 3, wherein
A packet transmitted or received through the protocol is
Robot plug-in relay system including a header portion and a body portion.
상기 헤더부는,
프로토콜 이름, 버전, 패킷 아이디, 데이터 타입 또는 길이 중 하나 이상의 정보를 포함하는 로봇 플러그인 중계 시스템.
The method of claim 4, wherein
The header unit,
Robot plug-in relay system containing information of one or more of protocol name, version, packet ID, data type or length.
상기 바디부는,
태그부와 데이터부를 포함하는 로봇 플러그인 중계 시스템.
The method of claim 4, wherein
The body portion,
Robot plug-in relay system including a tag unit and a data unit.
상기 태그부는,
요청, 응답 또는 에러 중 어느 하나를 포함하는 로봇 플러그인 중계 시스템.
The method according to claim 6,
The tag unit,
Robot plug-in relay system comprising any of a request, response or error.
상기 데이터부는,
실제 전송되는 데이터를 포함하는 로봇 플러그인 중계 시스템.
The method according to claim 6,
The data unit,
Robot plug-in relay system containing the actual transmitted data.
통신망을 통해 다수의 로봇 원격 플러그인들과 연결되는 로봇 플러그인 프레임워크 엔진에서 하나의 로봇 원격 플러그인으로부터의 함수 호출 명령을 수신하는 단계와,
상기 로봇 플러그인 프레임워크 엔진에서 상기 함수 호출 명령을 수행할 타겟 로봇 원격 플러그인으로 상기 함수 호출 명령을 전송하는 단계와,
상기 로봇 플러그인 프레임워크 엔진에서 상기 타겟 로봇 원격 플러그인으로부터 상기 함수의 실행에 따른 결과값을 수신하는 단계와,
상기 로봇 플러그인 프레임워크 엔진에서 상기 결과값을 상기 함수 호출을 명령한 상기 로봇 원격 플러그인으로 전송하는 단계
를 포함하는 로봇 플러그인 중계 방법.
As a robot plug-in relay method,
Receiving a function call command from one robot remote plug-in in a robot plug-in framework engine connected to a plurality of robot remote plug-ins through a communication network;
Transmitting the function call command from the robot plug-in framework engine to a target robot remote plug-in to perform the function call command;
Receiving a result of executing the function from the target robot remote plug-in in the robot plug-in framework engine;
Transmitting, by the robot plug-in framework engine, the result value to the robot remote plug-in commanding the function call.
Robot plug-in relay method comprising a.
상기 로봇 원격 플러그인간 통신은,
텍스트 기반의 프로토콜을 통해 수행되는 로봇 플러그인 중계 방법.
The method of claim 9,
Communication between the robot remote plug-in,
Robot plug-in relay method performed via text based protocol.
상기 프로토콜을 통해 송/수신되는 패킷은,
헤더부와 바디부를 포함하는 로봇 플러그인 중계 방법.
11. The method of claim 10,
A packet transmitted / received through the protocol is
Robot plug-in relay method comprising a header portion and a body portion.
상기 헤더부는,
프로토콜 이름, 버전, 패킷 아이디, 데이터 타입 또는 길이 중 하나 이상의 정보를 포함하는 로봇 플러그인 중계 방법.
The method of claim 11,
The header unit,
Robot plug-in relay method that includes one or more of the protocol name, version, packet ID, data type or length.
상기 바디부는,
태그부와 데이터부를 포함하는 로봇 플러그인 중계 방법.
The method of claim 11,
The body portion,
Robot plug-in relay method comprising a tag portion and a data portion.
상기 태그부는,
요청, 응답 또는 에러 중 어느 하나를 포함하는 로봇 플러그인 중계 방법.
The method of claim 13,
The tag unit,
Robot plug-in relay method comprising any of a request, response or error.
상기 데이터부는,
실제 전송되는 데이터를 포함하는 로봇 플러그인 중계 방법.The method of claim 13,
The data unit,
Robot plug-in relay method that includes the actual transmitted data.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20100133783A KR20120072021A (en) | 2010-12-23 | 2010-12-23 | Robot plug-in agent system and method thereof |
JP2011282009A JP2012131025A (en) | 2010-12-23 | 2011-12-22 | System and method for relaying robot plug-in |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20100133783A KR20120072021A (en) | 2010-12-23 | 2010-12-23 | Robot plug-in agent system and method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120072021A true KR20120072021A (en) | 2012-07-03 |
Family
ID=46647221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20100133783A KR20120072021A (en) | 2010-12-23 | 2010-12-23 | Robot plug-in agent system and method thereof |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2012131025A (en) |
KR (1) | KR20120072021A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3078178B1 (en) * | 2018-02-20 | 2020-02-28 | Universite De Reims Champagne-Ardenne | INTERCONNECTION PROCESS BETWEEN ROBOTS |
-
2010
- 2010-12-23 KR KR20100133783A patent/KR20120072021A/en not_active Application Discontinuation
-
2011
- 2011-12-22 JP JP2011282009A patent/JP2012131025A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2012131025A (en) | 2012-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102185901B (en) | Client message conversion method | |
Ye et al. | Toward the plug-and-produce capability for industry 4.0: An asset administration shell approach | |
Felser et al. | Coexistence standardization of operation technology and information technology | |
CN102297493B (en) | System and method for monitoring air conditioning unit | |
CN102780613B (en) | A kind of method and apparatus of distributed apparatus communication between plates | |
CN107621987B (en) | Unmanned aerial vehicle general ground station software architecture system based on message | |
CN109040171A (en) | A kind of emergency response system, method, equipment and storage medium | |
EP2429150A1 (en) | Apparatus, web service component and method based on web service | |
EP3654123A1 (en) | Method of comissioning a field in an industrial system network | |
CN104937896A (en) | Method for processing address resolution protocol message, forwarder and controller | |
CN105183452A (en) | Spring AOP based remote protocol service middleware for monitoring power distribution device | |
CN103188472A (en) | Controlling HDMI devices via intelligent emulation of consumer electronics control (CEC) protocol | |
CN106130991A (en) | A kind of data forwarding method and device | |
CN110557321A (en) | Information transmission method, network equipment and terminal | |
CN108449246A (en) | A kind of intelligent domestic system based on instant message applications Yu Internet of Things Network Communication | |
CN105279452A (en) | Method, device and system for managing intelligent equipment | |
CN105119969B (en) | A kind of exchange method for putting inspection data format and point inspection data | |
CN110177100A (en) | A kind of safety equipment data communication protocol of contract network defence | |
KR20120072021A (en) | Robot plug-in agent system and method thereof | |
CN110417875B (en) | Method, system, equipment and storage medium for docking between cloud servers | |
JP2009278451A (en) | Network equipment setting method | |
WO2014067319A1 (en) | Method, apparatus, and gateway for deregistering terminal peripheral in machine type communication system | |
CN114205842B (en) | Device cooperation synchronization method, system, device, terminal device and storage medium | |
CN115333943A (en) | Deterministic network resource configuration system, method, device and storage medium | |
KR20170093562A (en) | Smart factory connection module and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |