KR101381753B1 - Method and device for loading service application of robot based on Ubiquitous Robotic Companion(URC) environment - Google Patents
Method and device for loading service application of robot based on Ubiquitous Robotic Companion(URC) environment Download PDFInfo
- Publication number
- KR101381753B1 KR101381753B1 KR1020100043869A KR20100043869A KR101381753B1 KR 101381753 B1 KR101381753 B1 KR 101381753B1 KR 1020100043869 A KR1020100043869 A KR 1020100043869A KR 20100043869 A KR20100043869 A KR 20100043869A KR 101381753 B1 KR101381753 B1 KR 101381753B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- code
- robot
- loading
- urc
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
지능형 서비스 로봇 환경에서 서비스를 로봇에 적재하는 로봇 서비스 적재 방법이 제공된다. 서비스 적재 방법은, 하나 이상의 디스크립터로부터 로봇이 구현할 수 있는 서비스에 대한 서비스 코드를 생성하는 단계 및 생성된 서비스 코드에 기초하여 하나 이상의 서비스 객체를 생성하고, 생성된 하나 이상의 서비스 객체를 로봇에 적재하는 단계를 포함한다.In the intelligent service robot environment, a robot service loading method for loading a service to a robot is provided. The service loading method includes generating a service code for a service that can be implemented by a robot from one or more descriptors, generating one or more service objects based on the generated service code, and loading the generated one or more service objects into the robot. Steps.
Description
본 발명은 지능형 서비스 로봇(Ubiquitous Robotic Companion; URC) 기술에 관한 것으로, 보다 상세하게는 지능형 서비스 로봇 환경에서 다수의 지능형 로봇들에 서비스를 동적으로 적재할 수 있는 로봇 서비스 적재 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a Ubiquitous Robotic Companion (URC) technology, and more particularly, to a robot service loading method and apparatus for dynamically loading a service to a plurality of intelligent robots in an intelligent service robot environment. It is about.
본 발명은 지식경제부의 IT성장동력기술개발 사업 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: , 과제명:RUPI-클라이언트 기술 개발].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy [Task management number:, Task name: RUPI-client technology development].
최근에 서비스 로봇의 기술 발전에 힘입어 사용자가 로봇에게 특정한 서비스를 제공받을 수 있게 되었다. 또한, URC(Ubiquitous Robotic Companion; URC)라는 개념의 도입으로 로봇뿐만 아니라 집안에서 사용되는 가전, 보안 장치 등과 같은 환경 장치로부터 서비스를 제공받을 수 있었다.Recently, with the development of service robots, users can receive specific services from robots. In addition, with the introduction of the concept of URC (Ubiquitous Robotic Companion (URC)), it was able to receive services from environmental devices such as home appliances and security devices used in homes as well as robots.
종래에는 로봇 또는 환경 장치가 수행할 수 있는 서비스를 프로그래밍 언어를 이용하여 작성하고, 작성된 서비스를 로봇 또는 환경 장치에 저장하는 방식을 통해 서비스 로봇을 구현하였다. In the related art, a service robot is implemented by using a programming language to create a service that can be performed by a robot or an environment device, and storing the created service in the robot or the environment device.
그러나, 서비스라는 것은 매우 가변적이기 때문에 새로운 서비스가 생성되거나 또는 이미 저장된 서비스가 제거되는 등의 가변성은 개발자가 서비스를 프로그래밍하여 구현하는데 문제를 발생시킨다.However, services are so variable that variability, such as creating new services or removing already stored services, causes problems for developers to program and implement.
특히, 종래에는 개발자가 C++ 등을 이용하여 서비스를 프로그래밍 하고 있으며, C++의 특성상 새로운 서비스를 탑재하기 위해서는 프로그래밍 코드에 서비스 정보를 작성해 넣어 컴파일 및 링크 과정이 거쳐야 하는 과정이 필요하게 된다. In particular, in the related art, a developer is programming a service using C ++, and in order to mount a new service, a process of compiling and linking the service information is required by writing service information in programming code.
이는, 개발자에게 번거로움을 주며, 서비스를 개발하는데 많은 시간이 소모되게 된다. 또한, 로봇 이나 환경 장치에 컴파일 기능이 갖추어지지 않은 경우에는 추후에 프로그래밍된 서비스를 제거하는 작업 수행 등에서 문제가 발생하였다.
This is cumbersome for developers, and much time is spent developing services. In addition, when the robot or the environment device is not equipped with a compilation function, a problem occurs in performing a task of removing a programmed service later.
본 발명이 해결하고자 하는 과제는, 서비스 개발자의 편의를 증대시키며 서비스의 동적 적재가 가능한 로봇 서비스 적재 방법을 제공하고자 하는데 있다.The problem to be solved by the present invention is to provide a robot service loading method that can increase the convenience of the service developer and the dynamic loading of the service.
본 발명이 해결하고자 하는 다른 과제는, 로봇 서비스를 적재하기 위한 서비스 적재 장치를 제공하고자 하는데 있다.Another object of the present invention is to provide a service loading device for loading a robot service.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 로봇 서비스 적재 방법은, 하나 이상의 디스크립터로부터 로봇이 구현할 수 있는 서비스에 대한 서비스 코드를 생성하는 단계 및 생성된 서비스 코드에 기초하여 하나 이상의 서비스 객체를 생성하고, 생성된 하나 이상의 서비스 객체를 로봇에 적재하는 단계를 포함한다.Robot service loading method according to an embodiment of the present invention for solving the above problems, generating a service code for a service that can be implemented by the robot from one or more descriptors and at least one service object based on the generated service code Generating and loading the generated one or more service objects into the robot.
상기 다른 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 로봇 서비스 적재 장치는, 입력된 하나 이상의 디스크립터로부터 로봇이 구현할 수 있는 서비스에 대한 서비스 코드를 생성하고, 생성된 서비스 코드에 기초하여 하나 이상의 서비스 객체를 생성하여 출력하는 서비스 매니저 및 하나 이상의 서비스 객체를 적재하고, 사용자로부터 입력된 서비스 요청 명령에 따라 적재된 하나 이상의 서비스 객체 중에서 해당되는 서비스 객체를 추출하여 출력하는 서비스 에이전트를 포함한다.Robot service loading apparatus according to another embodiment of the present invention for solving the other problem, generates a service code for the service that can be implemented by the robot from one or more input descriptor, and based on the generated service code It includes a service manager for generating and outputting a service object and one or more service objects, and a service agent for extracting and outputting a corresponding service object from one or more service objects loaded according to a service request command input from a user.
본 발명의 로봇 서비스 적재 방법 및 서비스 적재 장치에 의하면, 개발자가 XML 기반의 디스크립터를 기술하여 로봇 또는 환경 장치에 저장시킨 후, 이를 이용하여 로봇 또는 환경 장치가 구현할 수 있는 서비스를 생성함으로써, 개발자에게 서비스 개발에 대한 편의성을 제공할 수 있는 효과가 있다.According to the robot service loading method and the service loading device of the present invention, a developer describes an XML-based descriptor and stores it in a robot or an environment device, and then generates a service that can be implemented by the robot or the environment device by using the same. There is an effect that can provide convenience for service development.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 따른 지능형 서비스 로봇 환경을 구현할 수 있는 URC 시스템의 구성도이다.
도 2는 도 1에 도시된 다수의 URC 장치들 중에서 하나의 URC 장치의 구성도이다.
도 3은 본 발명에 따른 URC 시스템을 이용한 서비스 구현 동작에 대한 흐름도이다.
도 4는 URC 장치에서 서비스 객체를 생성하는 동작에 대한 흐름도이다.
도 5는 개발자로부터 입력되는 디스크립터의 일 실시예를 나타내는 도면이다.
도 6은 디스크립터로부터 생성되는 서비스 코드의 일 실시예를 나타내는 도면이다.BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a block diagram of a URC system capable of implementing an intelligent service robot environment according to the present invention.
FIG. 2 is a configuration diagram of one URC device among the plurality of URC devices shown in FIG. 1.
3 is a flowchart illustrating a service implementation operation using the URC system according to the present invention.
4 is a flowchart illustrating an operation of creating a service object in a URC device.
5 is a diagram illustrating an embodiment of a descriptor input from a developer.
6 is a diagram illustrating an embodiment of a service code generated from a descriptor.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시 예에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 실시 예를 예시하는 첨부도면 및 첨부도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the embodiments of the present invention, reference should be made to the accompanying drawings that illustrate embodiments of the present invention.
본 발명에서는 설명의 편의를 위하여 가정이나 사무실에 배치된 다양한 지능형 서비스 로봇 또는 환경 장치들을 이용하여 사용자가 원하는 서비스를 구현할 수 있는 URC(Ubiquitous Robotic Companion; URC) 시스템을 예로써 설명한다.In the present invention, for convenience of description, an Ubiquitous Robotic Companion (URC) system that can implement a service desired by a user using various intelligent service robots or environmental devices disposed in a home or office will be described as an example.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.
도 1은 본 발명에 따른 지능형 서비스 로봇 환경을 구현할 수 있는 URC 시스템의 구성도이다.1 is a block diagram of a URC system capable of implementing an intelligent service robot environment according to the present invention.
도 1을 참조하면, URC 시스템(10)은 다수의 URC 장치들(101, 102, 103), 통신망(300) 및 URC 서버(200)를 포함할 수 있다.Referring to FIG. 1, the URC system 10 may include a plurality of
다수의 URC 장치들(101, 102, 103) 각각은 지능형 서비스를 구현할 수 있는 로봇 장치일 수 있고, 또는 가전 장치나 보안 장치 등과 같은 환경 장치일 수 있다.Each of the plurality of URC
다수의 URC 장치들(101, 102, 103) 각각은 통신망(300)을 통해 URC 서버(200)에 접속되거나 또는 통신망(300)을 통해 각각이 서로 접속될 수 있다.Each of the plurality of
이러한 URC 장치들(101, 102, 103) 각각은 사용자(또는, 서비스 이용자)로부터 입력된 서비스 요청 명령(RQ)에 따라 그 동작이 제어되어 사용자에게 서비스를 제공할 수 있다.Each of the
예컨대, 사용자는 URC 서버(200)에 서비스 요청 명령(RQ)을 입력할 수 있으며, URC 서버(200)는 사용자로부터 입력된 서비스 요청 명령(RQ)을 통신망(300)을 통하여 다수의 URC 장치들(101, 102, 103) 중에서 해당되는 하나 또는 그 이상의 URC 장치(101, 102, 103)에 전송할 수 있다.For example, a user may input a service request command (RQ) to the
그리고, URC 서버(200)로부터 서비스 요청 명령(RQ)을 수신한 URC 장치(101, 102, 103)는 저장된 하나 이상의 서비스 객체 중에서 서비스 요청 명령(RQ)에 해당되는 하나 이상의 서비스 객체를 이용하여 사용자에게 서비스를 제공할 수 있다.In addition, the URC
여기서, URC 장치(101, 102, 103)에 저장된 서비스 객체는 개발자(또는, 관리자)에 의해 프로그래밍되어 저장될 수 있다.Here, the service object stored in the URC
이때, 사용자로부터 입력된 서비스 요청 명령(RQ)에 따라 서비스를 제공하기 위하여 적어도 두 개의 URC 장치(101, 102, 103)를 이용하는 경우에, 두 개 또는 그 이상의 URC 장치(101, 102, 103)는 통신망(300)을 통해 서로 연동될 수 있다.At this time, when using at least two URC devices (101, 102, 103) to provide a service according to the service request command (RQ) input from the user, two or more URC devices (101, 102, 103) May be interlocked with each other through the
그리고, 두 개 이상의 URC 장치(101, 102, 103)는 수신된 서비스 요청 명령(RQ)에 해당하는 서비스 객체를 이용하여 서비스를 구현하되, 각각에서 구현되는 서비스가 서로 동기되어 구현되도록 제어할 수 있다.The two or
여기서, 통신망(300)은 유/무선 통신망일 수 있으며, 본 발명에서는 가정이나 사무실 등과 같은 실내 공간에서 사용되는 근거리 무선 통신망의 예를 들어 설명한다.Here, the
URC 서버(200)는 다수의 URC 장치들(101, 102, 103)로부터 각각의 장치가 구현할 수 있는 서비스에 대한 정보를 수신하고, 이를 사용자에게 제공할 수 있다.The URC
또한, URC 서버(200)는 사용자로부터 입력된 서비스 요청 명령(RQ)을 분석하고, 분석 결과에 따라 통신망(300)을 통해 접속된 다수의 URC 장치들(101, 102, 103) 중에서 입력된 서비스 요청 명령(RQ)을 수행할 수 있는 최적의 URC 장치(101, 102, 103)를 추출할 수 있다. In addition, the URC
그리고, URC 서버(200)는 추출된 URC 장치(101, 102, 103)에 사용자의 서비스 요청 명령(RQ)을 전송할 수 있다.In addition, the URC
또한, URC 서버(200)는 추후에 개발자에 의해 변경될 수 있는 다수의 URC 장치들(101, 102, 103) 각각의 서비스에 대한 정보를 주기적으로 갱신할 수 있다.
In addition, the URC
도 2는 도 1에 도시된 다수의 URC 장치들 중에서 하나의 URC 장치의 구성을 나타내는 도면이다. 이하에서는, 다수의 URC 장치들(101, 102, 103) 중에서 하나의 URC 장치(이하, 제1 URC 장치)(101)의 구성을 예로 들어 설명하나, 나머지 URC 장치들(101, 102, 103)의 구성도 제1 URC 장치(101)와 동일할 수 있다.FIG. 2 is a diagram illustrating a configuration of one URC device among the plurality of URC devices shown in FIG. 1. Hereinafter, a configuration of one URC device (hereinafter, referred to as a first URC device) 101 among the plurality of
도 1 및 도 2를 참조하면, 제1 URC 장치(101)는 개발자로부터 서비스에 대한 디스크립터(DC)로부터 하나 이상의 서비스 객체(SO)를 생성하고, 이를 저장할 수 있다.1 and 2, the first URC
이를 위하여, 제1 URC 장치(101)는 서비스 매니저(110), 서비스 에이전트(120), 동작 제어부(130) 및 다수의 하드웨어들(141, 143, 145)을 포함할 수 있다.To this end, the first URC
서비스 매니저(110)는 개발자로부터 입력된 디스크립터(DC)로부터 서비스 코드(SC) 및 동적 링크 라이브러리(DLL)를 생성할 수 있고, 이들을 이용하여 서비스 객체(SO)를 생성할 수 있다.The
이러한 서비스 매니저(110)는 본 발명의 다양한 실시예에 따라 개발자로부터 서비스 코드(SC)와 동적 링크 라이브러리(DLL)를 입력받아 서비스 객체(SO)를 생성할 수도 있다.The
서비스 매니저(110)는 서비스 코드 생성부(111) 및 컴파일부(113)를 포함할 수 있다.The
서비스 코드 생성부(111)는 개발자로부터 디스크립터(DC), 예컨대 도 5에 도시된 바와 같이 XML(eXtensible Markup Language; XML)을 기반으로 하여 작성된 서비스 디스크립터(DC)를 입력받을 수 있다.The
여기서, 도 5를 참조하면, 디스크립터(DC)에는 제1 URC 장치(101)에서 수행될 수 있는 서비스에 대한 정보를 기술할 수 있으며, 서비스 타입(또는, 인터페이스)와 이로부터 구현된 클래스 명칭 및 프로퍼티(속성값)을 포함할 수 있다.Here, referring to FIG. 5, the descriptor (DC) may describe information about a service that may be performed in the
또한, 하나의 디스크립터(DC)에는 다수의 서비스 정보가 기술될 수 있으며, 다수의 서비스별로 각각의 디스크립터(DC)가 기술될 수도 있다.In addition, a plurality of service information may be described in one descriptor DC, and each descriptor DC may be described for each service.
서비스 코드 생성부(111)는 입력된 디스크립터(DC)에 기초하여 서비스 코드(SC), 예컨대 도 6에 도시된 바와 같이 C++을 기반으로 작성된 서비스 코드(SC)를 생성하여 출력할 수 있다. The
컴파일부(113)는 서비스 코드 생성부(111)로부터 출력된 서비스 코드(SC)를 컴파일하여 동적 링크 라이브러리(DLL)를 생성할 수 있다. The compiling
여기서, 컴파일부(113)는 개발자로부터 서비스 코드(SC)에 대한 속성값, 즉 서비스 코드 프로퍼티를 입력받을 수 있고, 이를 서비스 코드(SC)에 추가한 후 컴파일 동작을 수행할 수 있다.Here, the compiling
서비스 매니저(110)는 서비스 코드 생성부(111)로부터 생성된 서비스 코드(SC)와 컴파일부(113)로부터 생성된 동적 링크 라이브러리(DLL)에 기초하여 하나 이상의 서비스 객체(SO)를 생성할 수 있다. The
생성된 서비스 객체(SO)는 서비스 에이전트(120)로 출력될 수 있다.The generated service object SO may be output to the
서비스 에이전트(120)는 서비스 매니저(110)로부터 출력된 서비스 객체(SO)를 저장할 수 있다. The
서비스 에이전트(120)는 사용자로부터 입력된 서비스 요청 명령(RQ)에 기초하여 저장된 서비스 객체(SO) 중에서 해당하는 서비스 객체(SO)를 추출하여 출력할 수 있다.The
서비스 에이전트(120)는 다수의 서번트들, 예컨대 제1 서번트(121) 내지 제M 서번트(125)를 포함할 수 있다. The
여기서, 서비스 에이전트(120)의 제1 서번트(121) 내지 제M 서번트(125)는 서비스 매니저(110)로부터 생성된 동적 링크 라이브러리(DLL)에 기초하여 생성될 수 있다.Here, the
또한, 제1 서번트(121) 내지 제M 서번트(125) 각각은 서비스 매니저(110)로부터 출력된 서비스 객체(SO)를 바인딩 하여 저장할 수 있다. In addition, each of the
이에 따라, 서비스 에이전트(120)는 사용자로부터 입력된 서비스 요청 명령(RQ)에 기초하여 제1 서번트(121) 내지 제M 서번트(125) 각각에 바인딩 된 서비스 객체(SO) 중에서 하나를 추출할 수 있다. Accordingly, the
서비스 에이전트(120)는 추출된 서비스 객체(SO)를 동작 제어부(130)로 출력할 수 있다.The
동작 제어부(130)는 서비스 에이전트(120)로부터 출력된 서비스 객체(SO)에 기초하여 제1 URC 장치(101)를 구성하는 다수의 하드웨어들, 예컨대 제1 하드웨어(141) 내지 제m 하드웨어(145)의 동작을 제어할 수 있으며, 이로부터 사용자가 원하는 서비스를 구현할 수 있다.The
예컨대, 동작 제어부(130)는 서비스 객체(SO)로부터 제1 URC 장치(101)의 동작을 제어할 수 있는 제어 신호(CNT)를 생성할 수 있다. For example, the
동작 제어부(130)는 생성된 제어 신호(CNT)를 제1 하드웨어(141) 내지 제m 하드웨어(145) 중에서 해당되는 하드웨어에 출력하는 것으로 제1 URC 장치(101)의 동작을 제어할 수 있다.The
예컨대, 사용자가 가정 또는 사무실 내의 물건을 이동시키기 위한 서비스를 제공받고자 서비스 요청 명령(RQ)을 입력할 수 있다.For example, a user may enter a service request command (RQ) to be provided with a service for moving objects in a home or office.
URC 서버(200)로부터 서비스 요청 명령(RQ)을 수신한 제1 URC 장치(101)의 서비스 에이전트(120)는 제1 서번트(121) 내지 제M 서번트(125) 각각에 저장된 서비스 객체(SO) 중에서 서비스 요청 명령(RQ)에 해당하는 서비스 객체(SO)를 추출하여 출력할 수 있다.The
동작 제어부(130)는 서비스 에이전트(120)로부터 출력된 서비스 객체(SO)에 기초하여 제어 신호(CNT)를 생성하여 출력할 수 있다. The
이때, 제어 신호(CNT)는 제1 URC 장치(101)의 다수의 하드웨어들 중에서 물건 이동 서비스를 수행할 수 있는 하드웨어, 예컨대 제1 URC 장치(101)를 물건이 위치한 지점까지 이동하여 물건을 획득하고 이를 정해진 위치까지 이동시키는 동작을 수행할 수 있는 하드웨어의 동작을 제어할 수 있다.In this case, the control signal CNT is obtained by moving a hardware capable of performing an object moving service among a plurality of hardware of the
따라서, 제1 URC 장치(101)는 제어 신호(CNT)에 의해 동작 제어되는 하드웨어를 통해 사용자가 원하는 서비스를 제공할 수 있다.
Accordingly, the
도 3은 본 발명에 따른 URC 시스템을 이용한 서비스 구현 동작에 대한 흐름도이다. 본 실시예에서는 설명의 편의를 위하여 도 2에 도시된 제1 URC 장치(101)가 사용자로부터 입력된 서비스 요청 명령(RQ)에 응답하여 서비스를 구현하는 예를 들어 설명한다. 그러나, 제1 URC 장치(101)를 제외한 나머지 URC 장치들(102, 103)에서도 실질적으로 동일한 방법을 이용하여 서비스를 구현할 수 있다.3 is a flowchart illustrating a service implementation operation using the URC system according to the present invention. In the present embodiment, for convenience of description, an example in which the
도 1 내지 도 3을 참조하면, 개발자는 제1 URC 장치(101)가 수행할 수 있는 서비스에 대한 정보, 즉 디스크립터(DC)를 기술하고, 이를 제1 URC 장치(101)에 입력할 수 있다. 1 to 3, a developer may describe information about a service that can be performed by the
예컨대, 개발자는 앞서 도 5를 참조하여 설명한 바와 같은 XML 기반으로 작성된 서비스 디스크립터(DC)를 제1 URC 장치(101)에 입력할 수 있다. For example, the developer may input the service descriptor DC written on the basis of XML as described above with reference to FIG. 5 to the
제1 URC 장치(101)는 입력된 디스크립터(DC)에 기초하여 하나 이상의 서비스 객체(SO)를 생성할 수 있다(S10).The
예컨대, 제1 URC 장치(101)의 서비스 매니저(110)는 입력된 디스크립터(DC)에 기초하여 서비스 코드(SC)와 동적 링크 라이브러리(DLL)를 생성할 수 있다. 제1 URC 장치(101)는 이들을 이용하여 서비스 객체(SO)를 생성할 수 있다. 생성된 서비스 객체(SO)는 서비스 에이전트(120)의 서번트(121, 123, 125)에 저장될 수 있다.For example, the
이러한, 서비스 객체(SO)의 생성 동작은 후에 도 4를 참조하여 상세히 설명한다.Such a creation operation of the service object SO will be described in detail later with reference to FIG. 4.
한편, 제1 URC 장치(101)를 통해 서비스를 제공받고자 하는 사용자는 URC 서버(200)로부터 제공되는 제1 URC 장치(101)의 서비스들 중에서 원하는 서비스를 요청하는 서비스 요청 명령(RQ)을 입력할 수 있다(S20).Meanwhile, a user who wants to receive a service through the
URC 서버(200)는 사용자로부터 입력된 서비스 요청 명령(RQ)을 제1 URC 장치(101)로 전송하고, 제1 URC 장치(101)는 서비스 요청 명령(RQ)에 따라 저장된 서비스 객체(SO) 중에서 해당되는 서비스 객체(SO)를 추출할 수 있다(S30).The
예컨대, 제1 URC 장치(101)의 서비스 에이전트(120)는 서비스 요청 명령(RQ)에 기초하여 다수의 서번트들(121, 123, 125) 각각에 바인딩 된 서비스 객체(SO) 중에서 서비스 요청 명령(RQ)에 해당하는 서비스 객체(SO)를 추출할 수 있다.For example, the
이어, 추출된 서비스 객체(SO)는 동작 제어부(130)로 제공되고, 동작 제어부(130)는 서비스 객체(SO)에 해당하는 제어 신호(CNT)를 생성하여 다수의 하드웨어들(141, 143, 145) 각각에 출력할 수 있다. Subsequently, the extracted service object SO is provided to the
제1 URC 장치(101)를 구성하는 다수의 하드웨어들(141, 143, 145) 각각은 동작 제어부(130)로부터 출력된 제어 신호(CNT)에 따라 사용자가 원하는 서비스를 수행할 수 있다(S40).
Each of the plurality of
도 4는 URC 장치에서 서비스 객체를 생성하는 동작에 대한 흐름도이다. 본 실시예에서도 도 2에 도시된 제1 URC 장치(101)에서 서비스 객체(SO)를 생성하는 예를 들어 설명하기로 한다.4 is a flowchart illustrating an operation of creating a service object in a URC device. In this embodiment, an example of generating a service object SO in the
도 1, 도 2 및 도 4를 참조하면, 개발자는 자신이 개발하고자 하는 서비스를 XML 기반으로 기술한 하나 이상의 디스크립터(DC)를 제1 URC 장치(101)로 입력할 수 있다. 1, 2, and 4, a developer may input one or more descriptors DC describing a service to be developed based on XML to the
제1 URC 장치(101)는 입력된 하나 이상의 디스크립터(DC)를 소정의 저장공간에 저장할 수 있다. The
여기서, 개발자는 제1 URC 장치(101)에서 수행될 수 있는 서비스를 디스크립터(DC)로 기술할 수도 있고, 제1 URC 장치(101)를 포함하는 다수의 URC 장치들(101, 102, 103) 각각에서 수행될 수 있는 서비스를 번들 디스크립터로 기술할 수도 있다.Here, the developer may describe a service that can be performed in the
개발자가 다수의 URC 장치들(101, 102, 103) 각각에서 수행될 수 있는 서비스를 번들 디스크립터로 기술한 경우에, 제1 URC 장치(101)는 이를 저장하되, 자신이 수행할 수 있는 서비스에 대한 디스크립터(DC)만을 추출하여 서비스 코드(SC)를 생성할 수 있다(S110). 여기서, 번들 디스크립터에는 다수의 서비스들에 대한 정보가 포함될 수 있다.When the developer describes a service that can be performed in each of the plurality of
예컨대, 제1 URC 장치(101)는 저장된 번들 디스크립터를 검색하고, 번들 디스크립터 중에 제1 URC 장치(101)에 적재(또는, 탑재)될 수 있는 디스크립터(DC)를 판단하여 추출하는 동작을 수행할 수 있다(S120).For example, the
그리고, 제1 URC 장치(101)의 서비스 매니저(110)는 추출된 디스크립터(DC)로부터 서비스 코드(SC)를 생성할 수 있다(S130).In addition, the
이어, 개발자는 앞서 추출된 디스크립터(DC)를 참조하여 생성된 서비스 코드(SC)의 프로퍼티(속성 값)를 입력시킬 수 있으며(S140), 서비스 매니저(110)는 프로퍼티가 입력된 서비스 코드(SC)를 컴파일하여 동적 링크 라이브러리(DLL)를 생성할 수 있다.Subsequently, the developer may input a property (property value) of the service code SC generated by referring to the descriptor DC extracted before (S140), and the
한편, 서비스 매니저(110)는 프로퍼티가 입력된 서비스 코드(SC)를 초기화시킬 수 있으며(S150), 초기화된 서비스 코드(SC)로부터 서비스 객체(SO)를 생성할 수 있다.Meanwhile, the
그리고, 생성된 서비스 객체(SO)는 서비스 에이전트(120)가 생성한 서번트에 바인딩될 수 있다. The generated service object SO may be bound to a servant generated by the
여기서, 서비스 에이전트(120)는 서비스 매니저(110)가 생성한 동적 링크 라이브러리(DLL)에 기초하여 서번트(121, 123, 125)를 생성할 수 있는데, 동적 링크 라이브러리(DLL)의 생성 개수(또는, 서비스 코드(SC)의 생성 개수)에 대응되도록 생성할 수 있다.Here, the
서비스 에이전트(120)는 서비스 객체(SO)를 바인딩하여 저장하고, 바인딩 된 서비스 객체(SO)의 정보, 즉 제1 URC 장치(101)가 수행할 수 있는 서비스에 대한 정보를 URC 서버(200)로 전송할 수 있다. The
URC 서버(200)는 전송된 제1 URC 장치(101)의 서비스 정보를 사용자에게 제공할 수 있으며, 사용자의 선택에 따른 서비스 요청 명령(RQ)을 입력받을 수 있다(S160).The
즉, 사용자는 URC 서버(200)가 제공하는 제1 URC 장치(101)가 수행할 수 있는 서비스들에 대한 정보로부터 자신이 받고자 하는 서비스를 선택한 후, 이를 요청하는 서비스 요청 명령(RQ)을 URC 서버(200)로 입력할 수 있다.That is, the user selects a service he / she wants to receive from information about services that can be performed by the
URC 서버(200)는 사용자가 입력한 서비스 요청 명령(RQ)을 제1 URC 장치(101)로 전송할 수 있으며, 제1 URC 장치(101)는 전송된 서비스 요청 명령(RQ)에 따라 저장된 서비스 객체(SO)를 이용하여 사용자가 원하는 서비스를 구현할 수 있다.The
한편, 기존에 사용되었던 서비스를 제거하고자 하는 경우에는 단순히 제1 URC 장치(101)에 저장되어 있는 디스크립터(DC)를 제거하는 동작을 수행하여 간단하게 수행할 수 있다.
On the other hand, if you want to remove a service that has been used previously can be performed simply by performing an operation to remove the descriptor (DC) stored in the
본 발명의 내용은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Although the contents of the present invention have been described with reference to one embodiment shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible therefrom. will be. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.
100: URC 장치 110: 서비스 매니저
111: 서비스 코드 생성부 113: 컴파일부
120: 서비스 에이전트 130: 동작 제어부
200: URC 서버 300: 통신망100: URC device 110: service manager
111: service code generator 113: compiler
120: service agent 130: operation control unit
200: URC server 300: communication network
Claims (17)
생성된 상기 서비스 코드에 기초하여 하나 이상의 서비스 객체를 생성하고, 생성된 상기 하나 이상의 서비스 객체를 상기 로봇에 적재하는 단계를 포함하고,
상기 서비스 코드를 생성하는 단계는,
다수의 서비스들 각각에 대한 디스크립터가 포함된 번들 디스크립터를 입력받는 단계;
상기 번들 디스크립터에서 상기 로봇이 구현할 수 있는 서비스에 대한 디스크립터를 추출하는 단계; 및
추출된 디스크립터로부터 상기 서비스 코드를 생성하는 단계를 포함하는 로봇 서비스 적재 방법.는 로봇 서비스 적재 방법.Generating a service code for a service that can be implemented by the robot from one or more descriptors; And
Generating at least one service object based on the generated service code, and loading the generated at least one service object into the robot,
Generating the service code,
Receiving a bundle descriptor including a descriptor for each of the plurality of services;
Extracting a descriptor for a service that can be implemented by the robot from the bundle descriptor; And
Robot service loading method comprising the step of generating the service code from the extracted descriptor.
입력된 프로퍼티를 상기 서비스 코드에 추가하고, 프로퍼티가 추가된 서비스 코드를 컴파일하여 동적 링크 라이브러리를 생성하는 단계; 및
상기 동적 링크 라이브러리에 기초하여 하나 이상의 서번트를 생성하고, 상기 서비스 코드에 기초하여 생성된 상기 하나 이상의 서비스 객체를 상기 하나 이상의 서번트 각각에 바인딩하여 적재하는 단계를 포함하는 로봇 서비스 적재 방법.The method of claim 1, wherein the loading of the one or more service objects to the robot comprises:
Adding an input property to the service code and compiling the service code to which the property is added to generate a dynamic link library; And
Generating one or more servants based on the dynamic link library, and binding and loading the one or more service objects generated based on the service code to each of the one or more servants.
상기 하나 이상의 서비스 객체를 상기 로봇에 적재하는 단계는, 상기 프로퍼티가 추가된 서비스 코드를 초기화하는 단계를 더 포함하는 로봇 서비스 적재 방법.The method of claim 3,
The loading of the one or more service objects to the robot further includes initializing a service code to which the property is added.
상기 하나 이상의 서번트는 상기 동적 링크 라이브러리의 생성 개수에 기초하여 생성되는 로봇 서비스 적재 방법.The method of claim 3,
And the one or more servants are generated based on the number of generations of the dynamic link library.
상기 하나 이상의 서번트는 상기 서비스 코드의 생성 개수에 기초하여 생성되는 로봇 서비스 적재 방법.The method of claim 3,
The one or more servants are generated based on the number of generation of the service code robot service loading method.
상기 로봇에 상기 하나 이상의 서비스 객체를 적재한 후에, 사용자로부터 입력된 서비스 요청 명령에 기초하여 적재된 상기 하나 이상의 서비스 객체를 이용하여 사용자에게 서비스를 구현하는 단계를 더 포함하는 로봇 서비스 적재 방법.The method according to claim 1,
And after loading the at least one service object on the robot, implementing a service to a user using the at least one service object loaded based on a service request command input from the user.
상기 서비스 요청 명령에 따라 적재된 상기 하나 이상의 서비스 객체 중에서 해당되는 서비스 객체를 추출하는 단계; 및
추출된 서비스 객체에 기초하여 제어 신호를 생성하고, 상기 제어 신호에 따라 상기 로봇의 동작을 제어하여 상기 서비스를 구현하는 단계를 포함하는 로봇 서비스 적재 방법.The method of claim 7, wherein implementing the service,
Extracting a corresponding service object from the one or more service objects loaded according to the service request command; And
And generating a control signal based on the extracted service object, and controlling the operation of the robot according to the control signal to implement the service.
상기 하나 이상의 디스크립터는 XML 기반의 코드로 기술되는 로봇 서비스 적재 방법.The method according to claim 1,
And the one or more descriptors are described in XML-based code.
상기 서비스 코드는 C++ 기반의 코드로 생성되는 로봇 서비스 적재 방법.The method according to claim 1,
The service code is a robot service loading method generated by C ++ based code.
상기 하나 이상의 서비스 객체를 적재하고, 사용자로부터 입력된 서비스 요청 명령에 따라 적재된 상기 하나 이상의 서비스 객체 중에서 해당되는 서비스 객체를 추출하여 출력하는 서비스 에이전트를 포함하고,
상기 서비스 매니저는,
상기 하나 이상의 디스크립터로부터 상기 서비스 코드를 생성하는 서비스 코드 생성부; 및
상기 서비스 코드를 컴파일하여 동적 링크 라이브러리를 생성하는 컴파일부를 포함하고,
상기 서비스 매니저는 상기 서비스 코드 및 상기 동적 링크 라이브러리에 기초하여 상기 하나 이상의 서비스 객체를 생성하는 로봇 서비스 적재 장치.A service manager generating a service code for a service that can be implemented by the robot from the input one or more descriptors, and generating and outputting one or more service objects based on the generated service code; And
A service agent for loading the at least one service object and extracting and outputting a corresponding service object from the at least one service object loaded according to a service request command input from a user;
The service manager,
A service code generator for generating the service code from the one or more descriptors; And
Compiling unit for compiling the service code to generate a dynamic link library,
And the service manager generates the one or more service objects based on the service code and the dynamic link library.
상기 컴파일부는 외부로부터 입력된 프로퍼티를 상기 서비스 코드에 추가한 후, 프로퍼티가 추가된 서비스 코드를 컴파일하여 상기 동적 링크 라이브러리를 생성하는 로봇 서비스 적재 장치.The method of claim 11,
And the compiling unit adds a property input from the outside to the service code, and compiles the service code to which the property is added to generate the dynamic link library.
상기 서비스 에이전트는 상기 동적 링크 라이브러리의 생성 개수에 기초하여 하나 이상의 서번트를 생성하고,
상기 서비스 매니저로부터 출력된 상기 하나 이상의 서비스 객체를 상기 하나 이상의 서번트 각각에 바인딩하여 적재하는 로봇 서비스 적재 장치.The method of claim 11,
The service agent generates one or more servants based on the number of generated dynamic link libraries,
The robot service loading apparatus for binding and loading the one or more service objects output from the service manager to each of the one or more servants.
상기 서비스 에이전트는 상기 서비스 코드의 생성 개수에 기초하여 하나 이상의 서번트를 생성하고,
상기 서비스 매니저로부터 출력된 상기 하나 이상의 서비스 객체를 상기 하나 이상의 서번트 각각에 바인딩하여 적재하는 로봇 서비스 적재 장치.The method of claim 11,
The service agent generates one or more servants based on the number of generated service codes;
The robot service loading apparatus for binding and loading the one or more service objects output from the service manager to each of the one or more servants.
상기 서비스 매니저는 XML 기반의 코드로 기술된 상기 디스크립터로부터 C++ 기반의 코드로 기술된 상기 서비스 코드를 생성하는 로봇 서비스 적재 장치.The method of claim 11,
And the service manager generates the service code described in C ++ based code from the descriptor described in XML based code.
상기 서비스 에이전트로부터 출력된 상기 서비스 객체에 기초하여 제어 신호를 생성하는 동작 제어부를 더 포함하고,
상기 동작 제어부는 상기 제어 신호에 기초하여 상기 로봇의 다수의 하드웨어들 각각의 동작을 제어하여 사용자에게 상기 서비스 요청 명령에 해당되는 서비스를 구현하는 로봇 서비스 적재 장치.
The method of claim 11,
And a control unit for generating a control signal based on the service object output from the service agent.
And the operation controller controls an operation of each of a plurality of hardwares of the robot based on the control signal to implement a service corresponding to the service request command to a user.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010242249A JP5202603B2 (en) | 2009-12-18 | 2010-10-28 | Robot service loading method and service loading apparatus therefor in intelligent service robot environment |
US12/971,117 US8793648B2 (en) | 2009-12-18 | 2010-12-17 | Method and device for loading service application of robot based on ubiquitous robotic companion (URC) environment |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090127076 | 2009-12-18 | ||
KR20090127076 | 2009-12-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110070727A KR20110070727A (en) | 2011-06-24 |
KR101381753B1 true KR101381753B1 (en) | 2014-04-07 |
Family
ID=44402197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100043869A KR101381753B1 (en) | 2009-12-18 | 2010-05-11 | Method and device for loading service application of robot based on Ubiquitous Robotic Companion(URC) environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101381753B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050091027A (en) * | 2002-12-26 | 2005-09-14 | 리서치 인 모션 리미티드 | System and method of creating and communicating with component based wireless applications |
KR100885546B1 (en) * | 2007-02-12 | 2009-02-26 | 권오봉 | Encoding method for controlling robot, encoding system thereof, and robot system using encoding system |
-
2010
- 2010-05-11 KR KR1020100043869A patent/KR101381753B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050091027A (en) * | 2002-12-26 | 2005-09-14 | 리서치 인 모션 리미티드 | System and method of creating and communicating with component based wireless applications |
KR100885546B1 (en) * | 2007-02-12 | 2009-02-26 | 권오봉 | Encoding method for controlling robot, encoding system thereof, and robot system using encoding system |
Also Published As
Publication number | Publication date |
---|---|
KR20110070727A (en) | 2011-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111832736B (en) | Method, apparatus and computer readable storage medium for processing machine learning model | |
Hallsteinsen et al. | Using product line techniques to build adaptive systems | |
US7992138B2 (en) | Method and apparatus for executing different java methods | |
US10228920B2 (en) | Automatic selection of an abstract data type | |
Reijers et al. | Design of an Intelligent Middleware for Flexible Sensor Configuration in M2M Systems. | |
US7818733B2 (en) | Improving bundle control in computing environment | |
JP2011107752A (en) | Information-processing device, communication system and program | |
KR102156371B1 (en) | Method for providing embedded software development tools for supporting embedded software development environment based on native building and apparatus thereof | |
Cano et al. | ECA rules for IoT environment: a case study in safe design | |
CN105335132A (en) | Method, apparatus and system for user-defined application function | |
Risler et al. | Formal behavior specification of multi-robot systems using hierarchical state machines in XABSL | |
Bouillon et al. | Reverse engineering of web pages based on derivations and transformations | |
Loke | Service-oriented device ecology workflows | |
Oliveira et al. | Component framework infrastructure for virtual environments | |
Figueroa et al. | Intml: A dataflow oriented development system for virtual reality applications | |
Yeboah-Antwi et al. | Embedding adaptivity in software systems using the ECSELR framework | |
KR101381753B1 (en) | Method and device for loading service application of robot based on Ubiquitous Robotic Companion(URC) environment | |
JP5202603B2 (en) | Robot service loading method and service loading apparatus therefor in intelligent service robot environment | |
Murai et al. | Metaprogramming framework for existing HPC languages based on the Omni compiler infrastructure | |
Geiger et al. | Using actions charts for reactive web application modeling | |
Muñoz et al. | Static mutual approach for protecting mobile agent | |
Pop et al. | Introducing support for embedded and real-time devices into existing hierarchical component system: Lessons learned | |
Andersson et al. | Implementation of the NEAT Policy Manager | |
Rittenbach et al. | GRA model driven design process | |
CN115268937A (en) | Multi-phase flow field initialization method, device, equipment and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20170320 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180226 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190610 Year of fee payment: 6 |