KR100730635B1 - System and method for service-oriented automatic remote control, remote server and remote control agent - Google Patents
System and method for service-oriented automatic remote control, remote server and remote control agent Download PDFInfo
- Publication number
- KR100730635B1 KR100730635B1 KR1020050099031A KR20050099031A KR100730635B1 KR 100730635 B1 KR100730635 B1 KR 100730635B1 KR 1020050099031 A KR1020050099031 A KR 1020050099031A KR 20050099031 A KR20050099031 A KR 20050099031A KR 100730635 B1 KR100730635 B1 KR 100730635B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- remote
- knowledge
- information
- remote device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Abstract
Description
도 1은 기존의 웹 기반 원격 제어 시스템의 구성도이다.1 is a block diagram of a conventional web-based remote control system.
도 2는 본 발명의 실시예에 따른 원격 제어 시스템의 구성도이다.2 is a block diagram of a remote control system according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 원격 제어 시스템의 상세 구성도이다.3 is a detailed configuration diagram of a remote control system according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 원격 제어 방법의 흐름도이다.4 is a flowchart of a remote control method according to an embodiment of the present invention.
본 발명은 원격 제어 시스템, 원격 제어 방법, 원격지 서버 및 원격 제어 에이전트에 관한 것으로, 보다 상세하게는 원격 장치를 제어하여 목적 서비스를 수행하도록 하는 원격제어시스템, 원격 제어 방법, 원격지 서버 및 원격 제어 에이전트에 관한 것이다.The present invention relates to a remote control system, a remote control method, a remote server and a remote control agent, and more particularly, a remote control system, a remote control method, a remote server and a remote control agent to control a remote device to perform a target service. It is about.
컴퓨터 네트워킹 기술의 발전에 힘입어 인터넷 기반의 원격제어 시스템에 대한 다양한 연구 및 기술 개발이 이루어지고 있다. 이러한 기술들은 주로 모바일 로봇, 디지털 홈 가전 및 무인 이동체와 같은 네트워크에 연결된 장치를 인터넷을 통 해 사용자가 원격으로 제어할 수 있도록 하는데 초점을 맞추고 있다. 또한 인터넷 기술의 장점을 활용하여 사용자가 전세계 어느 곳에 있던 언제나 원하는 때에 네트워크에 연결된 장치를 제어하여 서비스를 제공받을 수 있도록 함으로써 산업, 교육, 연예, 오락 및 보안 등과 같은 다양한 분야에 활용될 수 있는 잠재력을 제공한다.Thanks to the development of computer networking technology, various researches and technical developments on internet-based remote control systems have been conducted. These technologies focus primarily on enabling users to remotely control devices connected to the network, such as mobile robots, digital home appliances and unmanned mobile vehicles, via the Internet. It also leverages the power of Internet technology to enable users to control their networked devices whenever they want, wherever they are in the world, enabling them to be used in a variety of fields such as industry, education, entertainment, entertainment and security. To provide.
최근에는 월드 와이드 웹(World Wide Web) 기술이 널리 사용됨에 따라 이를 활용한 원격제어 시스템들이 개발되고 있다. 이러한 시스템들은 모두 HTTP(Hyper Text Transport Protocol)을 기반으로 CGI(Common Gateway Interface) 또는 자바 기술을 활용하여 원격 장치를 제어하는 방식을 취하고 있다. 대표적 예로서, 남캘리포니어 대학(Univ. of Southern California)에서 개발된 최초의 원격 굴착 시스템인 Mercury, 카네기 멜론 대학(Carnegie Mellon Univ.)의 실내용 모바일 로봇인 Xaiver 그리고 로저 윌리암스 대학(Roger Williams Univ.)에서 개발한 웹 기반의 페인팅 시스템인 PumaPaint 등이 잘 알려져 있다.Recently, as the World Wide Web technology is widely used, remote control systems using the same have been developed. All of these systems are based on the Hyper Text Transport Protocol (HTTP) to take advantage of Common Gateway Interface (CGI) or Java technology to control remote devices. Examples include Mercury, the first remote excavation system developed at the University of Southern California, Xaiver, an indoor mobile robot at Carnegie Mellon Univ., And Roger Williams University. PumaPaint, a web-based painting system developed by Univ.
이러한 시스템들에 있어서 각각의 제어 명령은 해당 원격장치에 대한 행동 기반(Behavior-based)의 제어 기능을 제공하고 있다. 웹상의 원격제어 로봇 팔의 예를 들어보면, "집게열기(OPEN-GRIPPER)", "집기 (GRASP)", "들기(LIFT-UP)", "내리기(LIFT-DOWN)", "팔이동(MOVE)"과 같은 제어명령을 가정해 볼 수 있다. In these systems, each control command provides behavior-based control of the remote. Examples of remotely controlled robotic arms on the web include "OPEN-GRIPPER", "GRASP", "LIFT-UP", "LIFT-DOWN", and "Movement". You can assume a control command like "(MOVE)".
보다 구체적으로, 도 1의 종래 웹 기반 원격 제어 시스템의 구성도에서 도시된 바와 같이, 사용자가 원격지의 로봇 팔(130)을 실시간 피드백 프로시저(112) 기반의 웹 카메라(140)를 통해 감시하면서 수동으로 적절한 순서의 제어명령 및 제어 파라미터를 선택하여 웹 브라우저(100) 상의 사용자 인터페이스(101)를 통해 로봇팔 장치 제어 프로시저(111)를 수행하는 웹서버(110)에 전달해야 한다.More specifically, as shown in the configuration diagram of the conventional web-based remote control system of Figure 1, while the user monitors the
예를 들면, 로봇팔을 이용하여 원격지의 "물건옮기기(CLEAR-0BJECT)" 태스크를 수행하기 위해서 사용자는 웹 카메라는 보면서 옮길 대상과 위치, 그리고 로봇팔의 상태를 확인하고 다음과 같은 명령을 순차적으로 수행해야 한다. 일반적으로 하나의 태스크를 수행하기 위해서는, "대상 위치로 팔 이동", "내리기", "집게 열기", "집기", "들기", "목표위치로 팔 이동", '내리기", "집게열기", "들기"와 같은 과정을 연속적으로 처리해야 하는데, 이 과정이 복잡하고, 또한 처리 과정에서 오류가 발생하기 쉽다는 문제점이 있었다.For example, in order to perform a remote "CLEAR-0BJECT" task using a robot arm, the user checks the target and location to be moved and the state of the robot arm while viewing the web camera and sequentially executes the following commands. Should be done as In general, to perform a task, "move arm to target", "lower", "open forceps", "pinch", "lift", "move arm to target position", "lower", "open forceps" "," Such as "lift" must be processed continuously, this process is complicated, and there is a problem that errors are likely to occur in the process.
따라서 본 발명이 이루고자 하는 기술적 과제는 사용자 조작에 의해 처리되는 원격 제어 시스템을 서비스 지향적으로 자동화 할 수 있도록 하는데 있다. Therefore, the technical problem to be achieved by the present invention is to enable the service-oriented automation of the remote control system processed by the user operation.
상술한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 원격 제어 시스템은, 원격 장치를 제어하여 목적 서비스를 수행하도록 하는 원격제어시스템으로서, 상기 원격 장치에 대해 서비스를 요청하는 원격 제어 에이전트; 및 상기 원격 제어 에이전트의 서비스 수행 요청에 따라, 원격 장치 정보 및 서비스 정보를 기초로 상기 원격 장치를 제어하는 원격지 서버를 포함한다.According to another aspect of the present invention, a remote control system includes a remote control system for performing a service by controlling a remote device, the remote control agent requesting a service for the remote device; And a remote server controlling the remote device based on the remote device information and the service information according to the service performance request of the remote control agent.
그리고, 상술한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 원격 제어 방법은, 원격 장치를 제어하여 목적 서비스를 수행하도록 하는 원격 제어 방 법으로서, a) 목적 서비스 수행을 위해 원격 장치 정보 및 서비스 정보를 탐색하는 단계; b) 탐색된 상기 원격 장치 정보 및 상기 서비스 정보를 기초로 서비스 플랜을 생성하는 단계; 및 c) 상기 서비스 플랜을 통해 원격 장치 제어 프로세스를 생성하여 실행하는 단계를 포함한다.In addition, a remote control method according to an aspect of the present invention for achieving the above technical problem, a remote control method for performing a target service by controlling a remote device, a) remote device information and services to perform the target service Searching for information; b) creating a service plan based on the retrieved remote device information and the service information; And c) creating and executing a remote device control process via the service plan.
또, 상술한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 원격 제어 방법은, 원격 제어 에이전트와 연결되어, 원격 제어 에이전트의 요청에 따라 원격장치를 제어하여 목적 서비스가 수행되도록 하는 원격지 서버의 원격 제어 방법으로서, a) 목적 서비스 수행을 위해 원격 장치 정보 및 서비스 정보를 탐색하는 단계; b) 탐색된 상기 원격 장치 정보 및 상기 서비스 정보를 기초로 서비스 플랜을 생성하는 단계; 및 c) 상기 서비스 플랜을 통해 생성된 원격 장치 제어 프로세스에 따라 원격장치를 제어하여 목적 서비스가 수행되도록 하는 단계를 포함한다.In addition, the remote control method according to an aspect of the present invention for achieving the above technical problem, is connected to a remote control agent, the remote control of the remote server to perform the target service by controlling the remote device in response to the request of the remote control agent A control method, comprising: a) searching for remote device information and service information to perform a target service; b) creating a service plan based on the retrieved remote device information and the service information; And c) controlling the remote device according to the remote device control process generated through the service plan to perform the target service.
또한, 상술한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 원격지 서버는, 원격 제어 에이전트와 연결되어, 원격 제어 에이전트의 요청에 따라 원격장치를 제어하여 목적 서비스가 수행되도록 하는 원격지 서버로서, 원격 장치 정보 및 서비스 정보를 저장하는 제어지식저장소; 및 저장된 원격 장치 정보 및 서비스 정보를 기초로 상기 원격 장치를 제어하여 요청된 서비스가 수행되도록 하는 장치제어에이전트를 포함한다.In addition, the remote server according to the characteristics of the present invention for achieving the above-described technical problem, is connected to the remote control agent, the remote server as a remote server to control the remote device according to the request of the remote control agent to perform the target service, Control knowledge storage for storing device information and service information; And a device control agent controlling the remote device based on the stored remote device information and the service information to perform the requested service.
그리고, 상술한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 원격 제어 에이전트는, 원격지 서버를 통해 원격 장치가 목적 서비스를 수행하도록 요청하는 원격 제어 에이전트로서, 상기 원격지 서버로부터 원격 장치 정보 및 서비스 정보를 탐색하는 탐색모듈; 원격 장치 정보 및 서비스 정보를 기초로 상기 원격지 서버에서 생성되는 서비스 플랜을 통해 장치 제어 프로세스를 생성하는 프로세스 구성모듈; 및 장치 제어 프로세스를 실행하여 상기 원격지 서버가 상기 원격장치를 제어하여 목적 서비스가 수행되도록 하는 프로세스 실행모듈을 포함한다.In addition, a remote control agent according to an aspect of the present invention for achieving the above technical problem is a remote control agent requesting a remote device to perform a target service through a remote server, the remote device information and service information from the remote server Search module for searching for; A process configuration module for generating a device control process through a service plan generated at the remote server based on the remote device information and the service information; And a process execution module that executes a device control process so that the remote server controls the remote device to perform a target service.
이하 첨부도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
또한 이하에서는 설명의 편의를 위해 본 발명의 실시예에 따른 원격 제어 시스템이 웹 기반의 원격제어 시스템인 경우로 시멘틱 웹 언어인 OWL(Web Ontology Language) 및 OWL-S(OWL for Services)을 사용하는 경우를 예로 들어 설명하나, 본 발명의 권리범위가 반드시 웹 기반 시스템 및 OWL, OWL-S에 한정되는 것이 아님은 당연하다. 본 발명의 권리범위는 본 명세서에 기재된 내용을 기초로, 당업자에게 자명한 사항으로서 응용가능한 다양한 네트워트 환경 및 각 환경에 가장 적합한 언어를 포함한다.In the following description, for convenience of description, a remote control system according to an embodiment of the present invention uses a semantic web language, OWL (Web Ontology Language) and OWL-S (OWL for Services) as a web-based remote control system. Although a case will be described as an example, it is obvious that the scope of the present invention is not necessarily limited to the web-based system and the OWL and OWL-S. The scope of the present invention includes various network environments applicable as obvious to those skilled in the art based on the content described in this specification, and the language most suitable for each environment.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 원격 제어 시스템은, 원격제어 에이전트(200) 및 원격지 서버(300)를 포함한다.As shown in FIG. 2, the remote control system according to the embodiment of the present invention includes a
예를 들어, 본 발명의 실시예에 따른 원격 제어 시스템이 웹 기반의 원격 제어 시스템인 경우, 본 시스템에 의한 제어 대상이 되는 웹 기반의 원격장치, 센서 등의 기능 및 인터페이스에 대한 의미를 시멘틱 웹 언어인 OWL(Web Ontology Language) 및 OWL-S(OWL for Services)명세로서 기술할 수 있다.For example, when the remote control system according to the embodiment of the present invention is a web-based remote control system, semantic web means meanings of functions and interfaces of a web-based remote device and a sensor to be controlled by the system. It can be described as a language of Web Ontology Language (OWL) and OWL-S (OWL for Services).
이 때 OWL이란, 웹 온톨로지 언어로서 사람에게 정보를 표시하는데 그치지 않고, 정보의 내용을 직접 처리할 수 있는 애플리케이션을 구현하는데 활용될 수 있도록 설계된 언어이다. OWL은 풍부한 어휘(Vocabulary)와 형식적 의미론(formal semantics)을 포함하므로 기계 해석이 가능한 웹 컨텐츠를 제작하는데 있어 우수하며, 표현이 서로 다른 세 개의 하위 언어- OWL Lite, OWL 및 OWL FULL을 포함한다.In this case, OWL is a web ontology language that is not only used to display information to a person but also a language designed to be used to implement an application that can directly process information. OWL is rich in vocabulary and formal semantics, which makes it excellent for creating machine-interpretable web content, and includes three sublanguages with different expressions: OWL Lite, OWL, and OWL FULL.
또, OWL-S는 웹 서비스를 정의하는 서비스 온톨로지(Service Ontology), 서비스가 무엇을 하는지(What it does) 표현하는 서비스 프로파일 온톨로지(Service Profile Ontology), 서비스의 프로세스를 구체적으로 기술하는(How it works) 서비스 모델 온톨로지(Service Model Ontology), 서비스 접근 방법을 기술하는(How to access it) 서비스 그라운딩 온톨로지(Service Grounding Ontology)를 포함할 수 있다. 웹 서비스를 기술하기 위한 표준화된 형태로서 이러한 OWL-S의 상위 온톨로지가 사용되며, 각각의 웹 서비스는 OWL-S의 상위 온톨로지에서 정의된 클래스와 속성을 이용하여 작성된다. OWL-S also defines a service ontology that defines a web service, a service profile ontology that expresses what the service does, and how to describe the process of the service in detail. works may include a service model ontology and a service grounding ontology describing how to access it. As a standardized form for describing web services, the upper ontology of OWL-S is used, and each web service is created using the classes and attributes defined in the upper ontology of OWL-S.
이 때, 서비스 프로파일은 웹 서비스 구조와 서비스가 수행하는 기능, 그리고 서비스 특징에 대해 간략히 기술하며, 서비스가 수행하기 위한 인풋(Input), 프리컨디션(Precondition), 수행 후 제공되는 아웃풋(Output) 및 이펙트(effect)를 정의한다. 이를 통해서 웹 서비스가 무엇을 하는지를 정의할 수 있다. 그리고, 서비스 모델은 프로세스 플로우(Process-Flow), 계층(Composition Hierarchy), 프로세스 정의(Process Definition)를 정의하며, 각 프로세스의 IOPE(Input, Output, Precondition, Effect)를 구체적으로 정의한다. 그리고, 서비스 그라운딩은 커뮤니케이션 프로토콜(Communication Protocol), 포트 번호(Port Number)등을 정의하며, 자료구조, 프로토콜, 서비스의 물리적 주소 등과 같이 웹 서비스가 실제로 수행하 기 위한 필요한 모든 정보를 기술한다. 웹 서비스의 실질적인 동작을 처리하며, 소프트웨어 에이전트는 이렇게 정의된 프로토콜을 통해 웹 서비스에 접근하고 웹 서비스를 실행시킬 수 있다.In this case, the service profile briefly describes the web service structure, the functions performed by the service, and the service features. The service profile includes inputs, preconditions, outputs provided after the service, and Define the effect. This allows you to define what the web service does. The service model defines a process flow, a composition hierarchy, and a process definition, and specifically defines IOPE (input, output, precondition, and effect) of each process. In addition, service grounding defines a communication protocol, a port number, etc., and describes all the information necessary for the web service to actually perform, such as data structures, protocols, and physical addresses of services. It handles the actual operation of web services, and software agents can access and run web services through these defined protocols.
원격제어 에이전트(200)는 사용자 인터페이스를 통해 사용자로부터 서비스 요청을 받은 경우, OWL 및 OWL-S 명세를 기초로 추론하여 필요한 서비스 지향 자동 제어 프로세스를 구성하고 실행하게 된다. 이 때, 원격제어 에이전트는 생성된 제어 프로세스를 기반으로 웹 메시징 프로토콜인 SOAP(Simple Object Access Protocol)을 통해 원격지 서버(300, 본 예에 따르면 웹서버)상의 장치 제어 서비스 및 센서 모니터링 서비스와 통신하며 사용자가 요청한 서비스를 실행할 수 있다.When the
이하, 도 3을 참조하여 보다 구체적인 실시예를 설명한다.Hereinafter, a more specific embodiment will be described with reference to FIG. 3.
본 발명의 실시예에 따른 원격 제어 시스템은, 원격제어 에이전트(200) 및 원격지 서버(300)를 포함하고, 원격지 서버(300)는 제어 지식 저장소 및 장치 제어 에이전트를 포함할 수 있다. 이 때, 제어 지식 저장소 및 장치 제어 에이전트는 그 기능에 따라 복수의 서버에 별도 마련될 수도 있음은 물론이다. 그리고, 각각의 구성 요소는 인터넷과 같은 네트워크를 기반으로 상호 연결되어 있다.The remote control system according to the embodiment of the present invention may include a
원격제어 에이전트(200)는 인터페이스 모듈(201), 탐색 모듈(205), 프로세스 구성 모듈(203), 프로세스 실행 모듈(207) 및 통신 모듈(209)을 포함할 수 있다. The
통신 모듈(209)은 SOAP, XML(eXtensible Markup Language), HTTP(Hyper Text Markup Language)중 하나 이상을 갖는 웹 서비스 프로토콜 스택을 포함하여 원격지의 프로세스와 통신할 수 있다.The
인터페이스 모듈(201)은 사용자가 원하는 서비스 태스크를 입력할 수 있는 인터페이스를 제공한다. The
탐색 모듈(205)은 인터페이스 모듈(201)을 통해 입력된 서비스 태스크 달성을 위해 필요한 지식을 후술할 제어 지식 저장소(310)로부터 의미 기반으로 검색한다.The
프로세스 구성 모듈(203)은 탐색 모듈(205)이 검색한 지식을 기반으로, 사용자 요청 서비스 태스크를 달성하기 위한 장치 제어 프로세스를 구성한다. 그리고 프로세스 실행 모듈(207)은, 프로세스 구성 모듈(203)에 의해 생성된 장치 제어 프로세스를, 통신 모듈(209)을 통해서, 후술할 원격지의 장치제어 에이전트(320)와 통신하며 실행한다.The
제어 지식 저장소(310)는 탐색 서비스 모듈(311), 추론 모듈(313), 통신 모듈(315), 지식 베이스(317)를 포함할 수 있다.The
지식 베이스(317)는 도메인 지식 베이스(319) 및 장치 지식 베이스(318)를 포함하여,도메인 지식 베이스(319)는 예를 들어 OWL-S 복합 프로세스(Composite Process) 및 프로세스 내부의 데이타 흐름(Data Flow)으로서 기술되는 서비스 태스크 구성을 위한 도메인 지식을 저장하고, 장치 지식 베이스(318)는 예를 들어 OWL-S 단일 프로세스(Atomic Process) 및 서비스 그라운딩(Service Grounding)으로서 기술되는 원격 장치의 기능 및 제어 인터페이스에 대한 지식을 저장한다. 이 때, 도메인 지식 베이스(319) 및 장치 지식 베이스(318)는 하나의 베이스로 구성될 수도 있고, 별도로 구성되어 지식 베이스(317)에 포함될 수도 있음은 물론이다.The
탐색 서비스 모듈(311)은 지식 베이스(317)에 저장된 지식에 대한 의미 기반의 탐색 서비스를 제공하는데, 제어 지식 저장소(310)에 포함된 통신 모듈(315)을 통해 원격제어 에이전트(200)에게 의미 기반의 제어 지식 탐색 서비스를 제공한다.The
추론 모듈(313)은 의미 기반의 탐색 서비스를 위한 OWL 지식 베이스 질의 처리 기능을 제공한다.The
장치 제어 에이전트(320)는 제어 서비스 모듈(321) 및 통신 모듈(323)을 포함하고, 제어 서비스 모듈(321)은 장치 제어 에이전트(320)에 연결되어 있는 원격 장치 혹은 센서에 대한 제어 기능을 구현하여, 통신 모듈(323)을 통해 원격제어 에이전트(200)에게 제어 서비스를 제공하게 된다.The
도 4는 본 발명의 실시예에 따른 원격 제어 방법에 대한 전체 흐름도이다. 도시된 바와 같이, 본 발명의 실시예에 따른 원격 제어 과정은 크게 제어 지식 탐색 단계(S100), 플래닝 단계(S200) 및 제어 프로세스 실행 단계(S300)를 포함한다. 4 is an overall flowchart of a remote control method according to an embodiment of the present invention. As shown, the remote control process according to the embodiment of the present invention includes a control knowledge search step S100, a planning step S200, and a control process execution step S300.
우선, 제어 지식 탐색 단계(S100)에서, 도메인 지식 베이스(319) 및 장치 지식 베이스(318)는 상술한 바와 같이 OWL-S로 기술되어 상술한 바와 같은 도메인 지식 및 장치 지식을 저장할 수 있다. First, in the control knowledge search step S100, the
다음, 원격제어 에이전트(200)에 포함된 인터페이스 모듈(201)을 통해 사용자로부터 특정 서비스 실행을 요청받으면(S101), 의미 기반의 제어 지식 탐색 과정이 실행된다(S103). 보다 구체적으로, 원격제어 에이전트(200)의 탐색 모듈(205)은 도메인 지식 베이스(319) 및 장치 지식 베이스(318)로부터 각각 제어 프로세스 구성을 위한 도메인 지식 명세, 복합 프로세스 및 장치 서비스 명세, 단일 프로세스 를 탐색하고, 또 데이타 흐름 명세 및 서비스 그라운딩 명세를 탐색한다(S105, S106, S107, S108). 제어 지식 저장소(310)의 탐색 서비스 모듈(311)은 통신 모듈(315)을 통해 원격 제어 에이전트(200)에게 지식 베이스(317)에 저장된 지식에 대한 의미 기반의 탐색 서비스를 제공한다.Next, when a specific service execution request is requested from the user through the
OWL로 기술되는 사용자의 원격 홈 보안 점검 서비스 요청, 해당 서비스를 위한 도메인 지식 명세 및 장치 서비스 명세의 예는 이하와 같다. 본 예에서 홈 보안 점검 서비스는 카메라가 장착된 모바일 로봇을 집안 내 지정된 장소로 이동시키고 해당 장소의 사진을 찍은 후 외부에 있는 사용자에게 사진을 전송하는 과정으로 기술되어 있다.Examples of a remote home security check service request of a user described by OWL, a domain knowledge specification and a device service specification for a corresponding service are as follows. In this example, the home security inspection service is described as a process of moving a mobile robot equipped with a camera to a designated place in the house, taking a picture of the place, and transmitting the picture to an outside user.
<홈 보안 점검 서비스 요청의 실시예><Example of Home Security Check Service Request>
<도메인 지식 베이스로부터 상기 서비스 요청에 따라 의미 기반으로 탐색된 홈 보안 점검 서비스 도메인 지식 명세의 실시예><Embodiment of home security check service domain knowledge specification searched on a semantic basis according to the service request from domain knowledge base>
<상기 도메인 지식 명세상의 복합 프로세스 "ReportHomeStatus" 프로세스의 CaptrureImage에서 ImageToBeSent로 이어지는 데이타 흐름><Data flow from CaptrureImage to ImageToBeSent in the composite process "ReportHomeStatus" process in the domain knowledge specification above>
<상기 도메인 지식 명세서상의 "MoveTo" 단일 서비스를 위해 장치 지식 베이스로부터 탐색된 로봇 구동 장치 서비스 명세의 실시예><Embodiment of Robot Drive Device Service Specification Searched from Device Knowledge Base for "MoveTo" Single Service on Domain Knowledge Specification>
<상기 장치 서비스 명세상의 "RobotMoveToService" 서비스를 위한 서비스 그라운딩><Service Grounding for "RobotMoveToService" Service in the Device Service Specification>
<상기 서비스 그라운딩상의 RobotMoveToService 실행을 위한 정보가 들어 있는 웹 서비스 정의 파일><Web service definition file containing information for executing RobotMoveToService on the service grounding>
이상 기술한 바와 같은 제어 지식 탐색 단계(S100)가 끝나면, 플래닝 단계(S200)Z가 실행된다. 플래닝은 크게 파싱 및 추론 모델 생성 과정, 플래닝 도메인 생성/의미 확장 과정 및 플래닝 과정을 포함한다.When the control knowledge search step S100 as described above is finished, the planning step S200Z is executed. Planning largely includes parsing and inference model generation, planning domain creation / meaning expansion, and planning.
우선, 제어 지식 저장소의 언어 추론 모듈은 상술한 제어 지식 탐색 단계에서 탐색된 도메인 지식 명세 및 장치 서비스 명세를 입력으로 받아 각각을 파싱하여 추론 가능 객체 모델을 생성한다(S201, S203). 본 예의 경우, OWL로 기술된 도메인 지식 명세 및 장치 서비스 지식 명세를 입력으로 받아 각각을 파싱하고 추론 가능한 OWL 객체 모델을 생성하는데, 보다 구체적으로, OWL로 작성된 파일을 파싱하고 자바 라이브러리를 사용하여 실행가능한 자바 객체를 생성할 수 있다.First, the language inference module of the control knowledge repository receives the domain knowledge specification and the device service specification searched in the above-described control knowledge search step and parses each of them to generate an inferable object model (S201 and S203). In this example, we take the domain knowledge specification and device service knowledge specification described in OWL as inputs, and generate an OWL object model that can be parsed and inferred. More specifically, parsing a file written in OWL and executing it using a Java library. Can create Java objects.
다음, 추론 모듈은 플래닝 도메인을 생성하고 의미를 확장하는데, 예를 들어, HTN(Hierarchical Task Network)방식으로 플래닝을 하기 위해서는 OWL로 기술된 프로세스를 모두 플래닝 오퍼레이터 및 메쏘드로 변환해주어야 하며, 이 과정을 도메인 생성이라 할 수 있다. 이 때, 파싱된 추론 모델을 입력으로 받아서 실제 인 공지능 플래닝 알고리즘을 수행하기 위한 플래닝 메쏘드, 플래닝 오퍼레이터 및 초기 상태 및 목표 태스크를 생성할 수 있다(S205, S207, S209, S211). Next, the inference module creates a planning domain and extends its meaning. For example, in order to plan using the Hierarchical Task Network (HTN) method, all processes described in OWL must be converted into planning operators and methods. This can be called domain creation. In this case, a parsing inference model may be received as an input to generate a planning method, a planning operator, and an initial state and a target task for performing an actual known planning algorithm (S205, S207, S209, and S211).
이 때 HTN이란, 인공지능(Artificial Intelligence) 플래닝의 일종으로 계층적 태스크 모델을 기반으로 하는 방법이다. HTN 기반 서비스 구성의 기본 아이디어는 복잡한 태스크를 하위 태스크(Sub Task)로 나누고, 이 하위 태스크를 직접 실행 가능한 가장 간단한 수준의 단위 태스크로 나누어 가는 태스크 디컴포지션(Task Decomposition) 방법이다. 이를 위해 HTN은 오퍼레이터(Operator)와 메쏘드(Method)라 불리는 계층 구조를 갖는 태스크 단위로 플래닝을 수행한다. 이 때 오퍼레이터는 직접 실행이 가능한 태스크의 최소 단위로서 OWL-S 의 단일 프로세스(Atomic Process)에 매핑된다. 메쏘드는 하위 태스크로 분할될 수 있는 태스크로서 OWL-S의 복합 프로세스(Composite Process)와 매핑된다. 즉, OWL-S의 계층 구조 처럼 HTN 역시 메쏘드를 통한 태스크의 계층 구조를 갖는다.In this case, HTN is a type of artificial intelligence planning and is based on a hierarchical task model. The basic idea of HTN-based service configuration is to break down complex tasks into subtasks, and then task decomposition into the simplest level of unit tasks that can be executed directly. For this purpose, the HTN performs planning in units of tasks having a hierarchical structure called an operator and a method. At this time, the operator is mapped to a single process (Atomic Process) of OWL-S as a minimum unit of directly executable tasks. Methods are tasks that can be subdivided into subtasks and are mapped to the OWL-S Composite Process. That is, like the OWL-S hierarchical structure, the HTN also has a hierarchical structure of tasks through methods.
플래닝 도메인은 플래닝 메쏘드 및 플래닝 오퍼레이터 생성을 통해 만들어지며, 이는 도메인 확장 알고리즘을 따른다. 또한 파싱된 도메인 지식 명세와 장치 서비스 명세의 객체 모델에 대한 포함관계(Subsumpton Relation) 추론을 기반으로 한 의미 확장을 통해 보다 유연한 플래닝 도메인 생성이 가능할 수 있다(S213). Planning domains are created through the creation of planning methods and planning operators, which follow a domain extension algorithm. In addition, more flexible planning domain generation may be possible through semantic expansion based on subsumpton relation inference of the parsed domain knowledge specification and the device service specification object model (S213).
다음은 HTN 플래닝을 수행하기 위한 플래닝 도메인 생성 및 의미 확장 알고리즘의 예이다. The following is an example of a planning domain generation and semantic extension algorithm for performing HTN planning.
<HTN 플래닝을 위한 플래닝 도메인 의미 확장 알고리즘의 실시예><Example of Planning Domain Semantic Extension Algorithm for HTN Planning>
즉, 파싱된 도메인 지식 명세와 장치 서비스 명세의 OWL 객체 모델에 대한 포함 관계 추론을 기반으로 하여 플래닝 도메인을 생성하는데, S는 OWL-S 프로세스 모델의 장치 서비스 명세, K가 OWL-S 프로세스 모델의 도메인 지식 명세, K'가 확 장 알고리즘을 통해 산출되는 확장된 도메인 지식, C는 K'의 복합 프로세스이고 T는 C에 포함된 단일 프로세스라고 할 때, C에 포함된 모든 단일 프로세스 T에 대해서, S에 T와 일치하는 장치 서비스가 존재하면 T에 대해 해당 장치 서비스를 제공하고, T와 정확히 일치하는 장치 서비스가 존재하지 않으면, 유사한 서비스로 대체하여 플래닝 도메인 의미를 확장한다.That is, a planning domain is created based on the inference of the parsing of the OWL object model of the parsed domain knowledge specification and the device service specification, where S is the device service specification of the OWL-S process model, and K is the OWL-S process model. The domain knowledge specification, extended domain knowledge where K 'is derived through an extension algorithm, where C is a composite process of K' and T is a single process in C, for every single process T in C, If there is a device service that matches T in S, then it provides that device service for T. If there is no device service that exactly matches T, it replaces it with a similar service to extend the planning domain semantics.
다음은 HTN 플래닝을 위한 플래닝 도메인 생성 알고리즘의 예이다.The following is an example of a planning domain generation algorithm for HTN planning.
<HTN 플래닝을 위한 플래닝 도메인 생성 알고리즘의 실시예><Example of Planning Domain Generation Algorithm for HTN Planning>
이하, 플래닝 오퍼레이터 생성 및 플래닝 메쏘드 생성 알고리즘에 대한 보다 구체적인 실시예를 기술한다.Hereinafter, more specific embodiments of the planning operator generation and planning method generation algorithm will be described.
<장치 서비스 명세를 위한 HTN 플래닝 오퍼레이터 생성 알고리즘의 실시예><Example of HTN Planning Operator Generation Algorithm for Device Service Specification>
<도메인 지식 명세를 위한 HTN 플래닝 메쏘드 생성 알고리즘의 실시예><Example of HTN Planning Method Generation Algorithm for Domain Knowledge Specification>
즉, 서비스가 출력만 갖는 경우 센싱만 하는 서비스로 간주하고, 서비스가 효과를 갖는 경우에는 특정 액션을 수행하는 서비스로 간주하여 플래닝 오퍼레이터를 생성하고, 서비스 프로세스 형태가 단일 서비스들 간의 순차적 형태인 경우와 서비스 프로세스 형태가 단일 서비스들간의 병렬적 형태인 경우 등에 대한 플래닝 메쏘드를 생성하여, 플래닝 도메인을 생성한다.That is, if a service has only output, it is regarded as a service for sensing only. If a service has an effect, it is regarded as a service for performing a specific action, and a planning operator is created. Creates a planning method for the case where the service process type is parallel with a single service, and creates a planning domain.
다음, 플래닝 단계에서, 추론 모듈은 앞서 생성된 플래닝 메쏘드 및 플래닝 오퍼레이터, 초기값 및 목표 태스크를 입력으로 하여 적절한 인공지능 플래닝 알고리즘(예를 들어 HTN 플래닝 알고리즘)을 수행하여 서비스 플랜을 생성할 수 있다(S217). Next, in the planning stage, the inference module may generate a service plan by performing an appropriate AI planning algorithm (for example, an HTN planning algorithm) by inputting the planning method and the planning operator, the initial value, and the target task generated previously. (S217).
제어 프로세스 실행단계(S300)는 크게 제어 프로세스 생성 및 제어 프로세스 실행의 세부 단계를 포함한다. The control process execution step S300 largely includes the detailed steps of generating the control process and executing the control process.
제어 프로세서 생성 단계에서, 원격제어 에이전트의 프로세스 구성 모듈은 상술한 플래닝 단계를 통해 생성된 서비스 플랜을 입력으로 하여 실제 웹 프로토콜을 통해 실행 가능한 웹 서비스 프로세스를 생성한다. 이 때, 실행가능한 웹 서비스 프로세스를 생성하기 위해, 서비스 플랜뿐만 아니라, 앞서 제어 지식 탐색 단계에서 도메인 지식 베이스 및 장치 지식 베이스로부터 탐색된 데이타 흐름 명세 및 서비스 그라운딩 명세를 필요로 한다. 그리고 데이타 흐름 명세 및 서비스 그라운딩 명세는 각각 OWL 파싱 및 추론 모델 생성 과정을 통해 생성된 OWL 추론 모델에 반영되므로, 실제 제어 프로세스 생성 과정에서는 OWL 추론 모델을 통해 데이타 흐름 및 서비스 그라운딩 정보를 얻게 된다(S205, S301, S305).In the control processor generation step, the process configuration module of the remote control agent generates a web service process executable through the actual web protocol by inputting the service plan generated through the above-described planning step. At this time, not only the service plan but also the data flow specification and service grounding specification retrieved from the domain knowledge base and the device knowledge base in the control knowledge search step are needed to create an executable web service process. In addition, the data flow specification and the service grounding specification are respectively reflected in the OWL inference model generated through the OWL parsing and the inference model generation process, so that the data flow and the service grounding information are obtained through the OWL inference model in the actual control process generation process (S205). , S301, S305).
끝으로 제어 프로세스 실행 단계에서, 원격제어 에이전트의 프로세스 실행 모듈은 서비스 요청과 함께 입력된 초기값으로 사용자로부터 입력된 정보를 통해 생성된 실행 초기값을 이용하여 장치제어 서비스와 SOAP을 이용하여 통신하며 제어 프로세스를 실행하게 된다(S303, S307).Finally, in the execution of the control process, the process execution module of the remote control agent communicates using the device control service and SOAP using the execution initial value generated through the information input from the user with the initial value input together with the service request. The control process is executed (S303, S307).
이상 설명한 바는 본 발명의 실시예에 불과한 것으로, 본 발명의 권리범위가 이에 한정되는 것은 아니며, 당업자에게 자명한 사항에 대해 다양한 변형 실시가 가능함은 물론이다. 예를 들어 앞서 상술한 바와 같이 본 발명의 권리범위가 웹 기반의 기술로 한정되는 것은 아니며 다양한 네트워크 환경을 전제로 하는 기술로 응용가능함은 두말할 나위가 없다. 본 발명의 권리범위는 후술할 특허청구범위 기재사항 및 그 균등사항으로 인정되는 모든 기술적 구성요소를 포함한다.What has been described above is only an embodiment of the present invention, and the scope of the present invention is not limited thereto, and various modifications can be made to those skilled in the art. For example, as described above, the scope of the present invention is not limited to the web-based technology, and it is obvious that the present invention can be applied to a technology that assumes various network environments. The scope of the present invention includes all technical components recognized as the claims described below and equivalents thereof.
이상 설명한 바와 같이, 종래 웹 기반 원격제어 기술에 있어서 사용자가 인터넷에 연결된 장치를 웹 프로토콜인 HTTP 및 HTML 기반의 사용자 인터페이스를 통해 각각 단위 행동 기반의 원격제어를 수행해야 했다. 구체적으로 기존 웹 기반 원격 제어 시스템에서는 원하는 작업 수행을 위해서는 사용자가 원격 장치를 웹 카메라 혹은 다양한 센서등을 통해 감시하면서 수동으로 적절한 장치 제어 명령어들을 선택하여 웹 브라우저를 통해 수행해야 했다. As described above, in the conventional web-based remote control technology, the user has to perform the unit behavior-based remote control of the device connected to the Internet through the HTTP and HTML-based user interfaces which are the web protocols, respectively. Specifically, in the existing web-based remote control system, in order to perform a desired task, the user had to manually select an appropriate device control command and perform it through a web browser while monitoring the remote device through a web camera or various sensors.
그러나, 본 발명에 따르면, 시멘틱(Semantic) 네트워크 기술 및 인공지능 플래닝 기술을 이용하여 복잡하고 오류가 발생하기 쉬운 수동의 원격 제어 기술을 서비스 지향적으로 자동화하는 효과를 가져온다. 따라서 본 발명을 기반으로, 사용자는 모바일 로봇, 디지털 홈 가전 및 무인 이동체와 같은 인터넷에 연결된 장치를 언제 어디서나 원격으로 제어하고 서비스를 제공받을 수 있다. However, according to the present invention, the use of semantic network technology and artificial intelligence planning technology brings the effect of service-oriented automation of complex and error-prone manual remote control technology. Therefore, based on the present invention, a user can remotely control and receive a service anytime, anywhere through a device connected to the Internet such as a mobile robot, a digital home appliance, and an unmanned mobile vehicle.
Claims (39)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/286,998 US7613285B2 (en) | 2004-12-07 | 2005-11-22 | System and method for service-oriented automatic remote control, remote server, and remote control agent |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20040102476 | 2004-12-07 | ||
KR1020040102476 | 2004-12-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100730635B1 true KR100730635B1 (en) | 2007-12-11 |
Family
ID=39139299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050099031A KR100730635B1 (en) | 2004-12-07 | 2005-10-20 | System and method for service-oriented automatic remote control, remote server and remote control agent |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100730635B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004091368A (en) * | 2002-08-30 | 2004-03-25 | Central Glass Co Ltd | Halogen-containing alcohol and its production method |
-
2005
- 2005-10-20 KR KR1020050099031A patent/KR100730635B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004091368A (en) * | 2002-08-30 | 2004-03-25 | Central Glass Co Ltd | Halogen-containing alcohol and its production method |
Non-Patent Citations (1)
Title |
---|
한국특허공개공보 제2004-91368호 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7613285B2 (en) | System and method for service-oriented automatic remote control, remote server, and remote control agent | |
Ciortea et al. | Repurposing manufacturing lines on the fly with multi-agent systems for the web of things | |
Mayer et al. | Configuration of smart environments made simple: Combining visual modeling with semantic metadata and reasoning | |
US11385613B2 (en) | Process image within controllers enabling visibility and accessibility of real world objects | |
Ha et al. | Service-oriented integration of networked robots with ubiquitous sensors and devices using the semantic Web services technology | |
Proctor et al. | The canonical robot command language (CRCL) | |
Fritsch et al. | A flexible infrastructure for the development of a robot companion with extensible HRI-capabilities | |
Dai et al. | Enabling plug-and-play software components in industrial cyber-physical systems by adopting service-oriented architecture paradigm | |
Huber et al. | Goal-based semantic queries for dynamic processes in the internet of things | |
Ha et al. | A robotic service framework supporting automated integration of ubiquitous sensors and devices | |
Xue et al. | Learning with remote laboratories: Designing control algorithms with both block diagrams and customized C code schemes | |
Weigand et al. | Creating Virtual Knowledge Graphs from Software-Internal Data | |
Pandis et al. | An ontology-based framework for dynamic resource management in ubiquitous computing environments | |
Kordts et al. | Towards self-explaining ambient applications | |
Osuna et al. | Toward integrating cognitive components with computational models of emotion using software design patterns | |
Park et al. | An extensible data enrichment scheme for providing intelligent services in internet of things environments | |
KR100730635B1 (en) | System and method for service-oriented automatic remote control, remote server and remote control agent | |
Bonino et al. | Domains: Domain-based modeling for ambient intelligence | |
Schachinger et al. | Model-driven integration of building automation systems into Web service gateways | |
Davis et al. | A patterned approach for linking knowledge-based systems to external resources | |
Macik | Automatic user interface generation | |
Yang | Using knowledge ontologies and neural networks to control service-oriented robots | |
Hou et al. | Mobile Manipulation Tutorial | |
Harth et al. | Specifying and Executing Application Behaviour with Condition-Request Rules. | |
Pessemier et al. | Developing a PLC-friendly state machine model: lessons learned |
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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120611 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |