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 PDF

Info

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
Application number
KR1020050099031A
Other languages
Korean (ko)
Inventor
하영국
손주찬
조영조
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US11/286,998 priority Critical patent/US7613285B2/en
Application granted granted Critical
Publication of KR100730635B1 publication Critical patent/KR100730635B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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

A system and a method for performing service-oriented automatic remote control, and a remote server and a remote control agent thereof are provided to enable a user to receive a service providing a remotely controllable device connected to Internet at anytime and anywhere by automating remote control in a service-oriented way based on a semantic network technology and an AI(Artificial Intelligence) planning technology. A remote control agent(200) requests the service to the remote device. The remote server(300) controls the remote device based on remote device/service information by a service request of the remote control agent, and includes a control knowledge-base(310) and a device agent(320) performing the requested service by controlling the remote device. The controlling knowledge repository includes a knowledge-base(317) storing the remote device/service information, a search service module(311) searching the information corresponding to the service request from the knowledge-base, and an inferring module(313) generating a planning domain by generating/using an inference model for performing the requested service based on device/domain knowledge details received from the search service module and generating a service plan by setting an object task.

Description

서비스 지향 자동 원격 제어 시스템, 원격 제어 방법, 원격지 서버 및 원격제어 에이전트{SYSTEM AND METHOD FOR SERVICE-ORIENTED AUTOMATIC REMOTE CONTROL, REMOTE SERVER AND REMOTE CONTROL AGENT}Service-oriented automatic remote control system, remote control method, remote server and remote control agent {SYSTEM AND METHOD FOR SERVICE-ORIENTED AUTOMATIC REMOTE CONTROL, REMOTE SERVER AND REMOTE CONTROL AGENT}

도 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 remote robot arm 130 through the real-time feedback procedure 112 based web camera 140 The control command and control parameters in the proper order must be manually selected and transmitted to the web server 110 performing the robot arm device control procedure 111 through the user interface 101 on the web browser 100.

예를 들면, 로봇팔을 이용하여 원격지의 "물건옮기기(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 remote control agent 200 and a remote server 300.

예를 들어, 본 발명의 실시예에 따른 원격 제어 시스템이 웹 기반의 원격 제어 시스템인 경우, 본 시스템에 의한 제어 대상이 되는 웹 기반의 원격장치, 센서 등의 기능 및 인터페이스에 대한 의미를 시멘틱 웹 언어인 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 remote control agent 200 receives the service request from the user through the user interface, the remote control agent 200 infers based on the OWL and OWL-S specifications to configure and execute the required service-oriented automatic control process. At this time, the remote control agent communicates with the device control service and the sensor monitoring service on the remote server 300 (Web server according to this example) through a simple object access protocol (SOAP), which is a web messaging protocol, based on the generated control process. The service requested by the user can be executed.

이하, 도 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 remote control agent 200 and a remote server 300, and the remote server 300 may include a control knowledge store and a device control agent. At this time, the control knowledge store and the device control agent may be provided separately in a plurality of servers according to its function. Each component is interconnected based on a network such as the Internet.

원격제어 에이전트(200)는 인터페이스 모듈(201), 탐색 모듈(205), 프로세스 구성 모듈(203), 프로세스 실행 모듈(207) 및 통신 모듈(209)을 포함할 수 있다. The remote control agent 200 may include an interface module 201, a search module 205, a process configuration module 203, a process execution module 207, and a communication module 209.

통신 모듈(209)은 SOAP, XML(eXtensible Markup Language), HTTP(Hyper Text Markup Language)중 하나 이상을 갖는 웹 서비스 프로토콜 스택을 포함하여 원격지의 프로세스와 통신할 수 있다.The communication module 209 may communicate with a remote process, including a web service protocol stack having one or more of SOAP, eXtensible Markup Language (XML), and Hyper Text Markup Language (HTTP).

인터페이스 모듈(201)은 사용자가 원하는 서비스 태스크를 입력할 수 있는 인터페이스를 제공한다. The interface module 201 provides an interface through which a user can input a desired service task.

탐색 모듈(205)은 인터페이스 모듈(201)을 통해 입력된 서비스 태스크 달성을 위해 필요한 지식을 후술할 제어 지식 저장소(310)로부터 의미 기반으로 검색한다.The search module 205 retrieves knowledge necessary for accomplishing the service task input through the interface module 201 from the control knowledge store 310, which will be described later, on a semantic basis.

프로세스 구성 모듈(203)은 탐색 모듈(205)이 검색한 지식을 기반으로, 사용자 요청 서비스 태스크를 달성하기 위한 장치 제어 프로세스를 구성한다. 그리고 프로세스 실행 모듈(207)은, 프로세스 구성 모듈(203)에 의해 생성된 장치 제어 프로세스를, 통신 모듈(209)을 통해서, 후술할 원격지의 장치제어 에이전트(320)와 통신하며 실행한다.The process configuration module 203 constructs a device control process for accomplishing a user request service task based on the knowledge retrieved by the discovery module 205. The process execution module 207 executes the device control process generated by the process configuration module 203 in communication with the device control agent 320 at a remote location, which will be described later, via the communication module 209.

제어 지식 저장소(310)는 탐색 서비스 모듈(311), 추론 모듈(313), 통신 모듈(315), 지식 베이스(317)를 포함할 수 있다.The control knowledge store 310 may include a search service module 311, an inference module 313, a communication module 315, and a knowledge base 317.

지식 베이스(317)는 도메인 지식 베이스(319) 및 장치 지식 베이스(318)를 포함하여,도메인 지식 베이스(319)는 예를 들어 OWL-S 복합 프로세스(Composite Process) 및 프로세스 내부의 데이타 흐름(Data Flow)으로서 기술되는 서비스 태스크 구성을 위한 도메인 지식을 저장하고, 장치 지식 베이스(318)는 예를 들어 OWL-S 단일 프로세스(Atomic Process) 및 서비스 그라운딩(Service Grounding)으로서 기술되는 원격 장치의 기능 및 제어 인터페이스에 대한 지식을 저장한다. 이 때, 도메인 지식 베이스(319) 및 장치 지식 베이스(318)는 하나의 베이스로 구성될 수도 있고, 별도로 구성되어 지식 베이스(317)에 포함될 수도 있음은 물론이다.The knowledge base 317 includes a domain knowledge base 319 and a device knowledge base 318, such that the domain knowledge base 319 is, for example, an OWL-S Composite Process and a data flow within the process. The domain knowledge for service task configuration described as a flow, and the device knowledge base 318 may, for example, function of a remote device described as an OWL-S Atomic Process and Service Grounding; Stores knowledge of the control interface. In this case, the domain knowledge base 319 and the device knowledge base 318 may be configured as one base or may be separately configured and included in the knowledge base 317.

탐색 서비스 모듈(311)은 지식 베이스(317)에 저장된 지식에 대한 의미 기반의 탐색 서비스를 제공하는데, 제어 지식 저장소(310)에 포함된 통신 모듈(315)을 통해 원격제어 에이전트(200)에게 의미 기반의 제어 지식 탐색 서비스를 제공한다.The search service module 311 provides a semantic based search service for knowledge stored in the knowledge base 317, which is meant for the remote control agent 200 through the communication module 315 included in the control knowledge store 310. Provides control knowledge search service based

추론 모듈(313)은 의미 기반의 탐색 서비스를 위한 OWL 지식 베이스 질의 처리 기능을 제공한다.The inference module 313 provides an OWL knowledge base query processing function for a semantic based search service.

장치 제어 에이전트(320)는 제어 서비스 모듈(321) 및 통신 모듈(323)을 포함하고, 제어 서비스 모듈(321)은 장치 제어 에이전트(320)에 연결되어 있는 원격 장치 혹은 센서에 대한 제어 기능을 구현하여, 통신 모듈(323)을 통해 원격제어 에이전트(200)에게 제어 서비스를 제공하게 된다.The device control agent 320 includes a control service module 321 and a communication module 323, and the control service module 321 implements a control function for a remote device or sensor connected to the device control agent 320. Thus, the control service is provided to the remote control agent 200 through the communication module 323.

도 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 domain knowledge base 319 and the device knowledge base 318 may be described as OWL-S as described above to store the domain knowledge and the device knowledge as described above.

다음, 원격제어 에이전트(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 interface module 201 included in the remote control agent 200 (S101), a semantic-based control knowledge search process is executed (S103). More specifically, the discovery module 205 of the remote control agent 200 may be configured from the domain knowledge base 319 and the device knowledge base 318, respectively, for the domain knowledge specification, the composite process and the device service specification, and the single process for configuring the control process. Search and data flow specification and service grounding specification (S105, S106, S107, S108). The search service module 311 of the control knowledge store 310 provides the semantic based search service for the knowledge stored in the knowledge base 317 to the remote control agent 200 through the communication module 315.

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>

Figure 112005059341607-pat00001
Figure 112005059341607-pat00001

<도메인 지식 베이스로부터 상기 서비스 요청에 따라 의미 기반으로 탐색된 홈 보안 점검 서비스 도메인 지식 명세의 실시예><Embodiment of home security check service domain knowledge specification searched on a semantic basis according to the service request from domain knowledge base>

Figure 112005059341607-pat00002
Figure 112005059341607-pat00002

<상기 도메인 지식 명세상의 복합 프로세스 "ReportHomeStatus" 프로세스의 CaptrureImage에서 ImageToBeSent로 이어지는 데이타 흐름><Data flow from CaptrureImage to ImageToBeSent in the composite process "ReportHomeStatus" process in the domain knowledge specification above>

Figure 112005059341607-pat00003
Figure 112005059341607-pat00003

<상기 도메인 지식 명세서상의 "MoveTo" 단일 서비스를 위해 장치 지식 베이스로부터 탐색된 로봇 구동 장치 서비스 명세의 실시예><Embodiment of Robot Drive Device Service Specification Searched from Device Knowledge Base for "MoveTo" Single Service on Domain Knowledge Specification>

Figure 112005059341607-pat00004
Figure 112005059341607-pat00004

<상기 장치 서비스 명세상의 "RobotMoveToService" 서비스를 위한 서비스 그라운딩><Service Grounding for "RobotMoveToService" Service in the Device Service Specification>

Figure 112005059341607-pat00005
Figure 112005059341607-pat00005

<상기 서비스 그라운딩상의 RobotMoveToService 실행을 위한 정보가 들어 있는 웹 서비스 정의 파일><Web service definition file containing information for executing RobotMoveToService on the service grounding>

Figure 112005059341607-pat00006
Figure 112005059341607-pat00006

이상 기술한 바와 같은 제어 지식 탐색 단계(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>

Figure 112005059341607-pat00007
Figure 112005059341607-pat00007

즉, 파싱된 도메인 지식 명세와 장치 서비스 명세의 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>

Figure 112005059341607-pat00008
Figure 112005059341607-pat00008

이하, 플래닝 오퍼레이터 생성 및 플래닝 메쏘드 생성 알고리즘에 대한 보다 구체적인 실시예를 기술한다.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>

Figure 112005059341607-pat00009
Figure 112005059341607-pat00009

<도메인 지식 명세를 위한 HTN 플래닝 메쏘드 생성 알고리즘의 실시예><Example of HTN Planning Method Generation Algorithm for Domain Knowledge Specification>

Figure 112005059341607-pat00010
Figure 112005059341607-pat00010

즉, 서비스가 출력만 갖는 경우 센싱만 하는 서비스로 간주하고, 서비스가 효과를 갖는 경우에는 특정 액션을 수행하는 서비스로 간주하여 플래닝 오퍼레이터를 생성하고, 서비스 프로세스 형태가 단일 서비스들 간의 순차적 형태인 경우와 서비스 프로세스 형태가 단일 서비스들간의 병렬적 형태인 경우 등에 대한 플래닝 메쏘드를 생성하여, 플래닝 도메인을 생성한다.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)

원격 장치를 제어하여 목적 서비스를 수행하도록 하는 원격제어시스템에 있어서,In the remote control system to control the remote device to perform the target service, 상기 원격 장치에 대해 서비스를 요청하는 원격 제어 에이전트; 및A remote control agent requesting a service to the remote device; And 상기 원격 제어 에이전트의 서비스 수행 요청에 따라, 원격 장치 정보 및 서비스 정보를 기초로 상기 원격 장치를 제어하는 원격지 서버를 포함하고, A remote server controlling the remote device based on remote device information and service information according to a service execution request of the remote control agent; 상기 원격지 서버는, The remote server, 상기 원격 장치 정보 및 상기 서비스 정보를 장치 지식 및 도메인 지식으로 각각 저장하는 지식베이스, A knowledge base for storing the remote device information and the service information as device knowledge and domain knowledge, respectively; 상기 원격제어에이전트의 요청에 따르는 정보를 상기 지식베이스로부터 검색하는 탐색서비스모듈, Search service module for retrieving information from the knowledge base according to the request of the remote control agent, 상기 탐색서비스모듈로부터 전달받은 상기 장치 지식 명세 및 상기 도메인 지식 명세를 입력으로 목적 서비스 수행을 위한 추론 모델을 생성하여 생성된 추론모델로부터 플래닝 도메인을 생성하고 목표 태스크를 설정하여 서비스 플랜을 생성하는 추론모듈을 포함하는 제어지식저장소; 와Inference that generates a planning domain from the inference model generated by generating an inference model for performing a target service by inputting the device knowledge specification and the domain knowledge specification received from the search service module, and sets a target task to generate a service plan Control Knowledge Repository comprising a module; Wow 저장된 원격 장치 정보 및 상기 서비스 정보를 기초로 상기 원격 장치를 제어하여 요청된 서비스를 수행하는 장치제어에이전트를 포함하는And a device control agent that controls the remote device based on the stored remote device information and the service information to perform the requested service. 원격제어시스템.Remote control system. 제1항에 있어서,The method of claim 1, 상기 원격 장치 정보는, The remote device information, 원격 장치의 기능, 원격 장치 제어 인터페이스 및 원격 장치가 직접 실행하는 단일 프로세스 정보 중 하나 이상을 포함하는One or more of the functions of the remote device, the remote device control interface, and the single process information that the remote device executes directly. 원격제어시스템.Remote control system. 제1항에 있어서,The method of claim 1, 상기 서비스 정보는,The service information, 서비스 태스크 구성을 위한 도메인 지식으로서, 복수의 단일 프로세스-원격 장치가 직접 실행하는 프로세스-로 구성되는 복합 프로세스 및 프로세스 내부의 데이타 흐름 중 하나 이상을 포함하는Domain knowledge for configuring service tasks, including one or more of a complex process consisting of a plurality of single processes—processes directly executed by a remote device—and data flow within the process. 원격제어시스템.Remote control system. 삭제delete 삭제delete 삭제delete 제1항에 있어서,The method of claim 1, 상기 추론모듈은 The reasoning module 상기 추론모델로부터의 플래닝 도메인 생성 및 의미 확장을 통해 생성된 플래닝 메쏘드(하위 태스크로 분할될 수 있는 태스크), 플래닝 오퍼레이터(직접 실행 가능한 태스크 최소단위), 초기 상태 및 목표 태스크를 입력값으로 하여, 인공지능 플래닝 알고리즘을 통해 서비스 플랜을 생성하는With the planning methods (tasks that can be divided into subtasks), planning operators (directly executable task minimum units), initial states, and target tasks generated through planning domain generation and semantic expansion from the inference model, To create a service plan through an AI planning algorithm. 원격제어시스템.Remote control system. 제7항에 있어서,The method of claim 7, wherein 상기 인공지능 플래닝 알고리즘은,The AI planning algorithm, HTN(Hierarchical Task Network) 플래닝 알고리즘인Hierarchical Task Network (HTN) planning algorithm 원격제어시스템.Remote control system. 제1항에 있어서,The method of claim 1, 상기 지식베이스는The knowledge base 상기 장치 지식을 저장하는 장치지식베이스 및Device knowledge base for storing the device knowledge and 상기 도메인 지식을 저장하는 도메인지식베이스를 포함하는 A domain knowledge base that stores the domain knowledge 원격제어시스템.Remote control system. 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 장치제어에이전트는,The device control agent, 목표 서비스 실행을 위해 생성된 장치 제어 프로세스에 따라 연결된 원격장치를 제어하는 제어서비스모듈을 포함하는A control service module for controlling a connected remote device according to a device control process generated for executing a target service; 원격제어시스템.Remote control system. 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 원격제어에이전트는,The remote control agent, 목적 서비스 수행을 위해 상기 원격지 서버에서 생성된 서비스 플랜을 통해상기 원격 장치에 대한 장치 제어 프로세스를 생성하는 프로세스구성모듈 및A process configuration module for generating a device control process for the remote device through a service plan generated at the remote server to perform a desired service; 장치 제어 프로세스를 실행하여 상기 원격지 서버가 상기 원격장치를 제어하여 목적 서비스가 수행되도록 하는 프로세스실행모듈을 포함하는A process execution module for executing a device control process so that the remote server controls the remote device to perform a target service; 원격제어시스템.Remote control system. 원격지 서버를 통해 원격 장치가 목적 서비스를 수행하도록 요청하는 원격 제어 에이전트에 있어서,A remote control agent that requests a remote device to perform a target service through a remote server, 상기 원격지 서버로부터 원격 장치 정보 및 서비스 정보를 탐색하는 탐색모듈;A search module for searching for remote device information and service information from the remote server; 원격 장치 정보 및 서비스 정보를 기초로 상기 원격지 서버에서 생성되는 서비스 플랜을 통해 장치 제어 프로세스를 생성하는 프로세스 구성모듈; 및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 for executing a device control process so that the remote server controls the remote device to perform a target service; 상기 서비스 플랜은, The service plan, 상기 원격지 서버가 상기 원격 장치 정보 및 상기 서비스 정보를 장치 지식 및 도메인 지식으로 각각 저장하여, 장치 지식 명세 및 도메인 지식 명세를 입력으로 목적 서비스 수행을 위한 추론 모델을 생성하고, 생성된 추론모델로부터 플래닝 도메인을 생성하고 목표 태스크를 설정하여 서비스 플랜이 생성되는The remote server stores the remote device information and the service information as device knowledge and domain knowledge, respectively, and generates an inference model for performing a target service by inputting the device knowledge specification and the domain knowledge specification, and planning from the generated inference model. A service plan is created by creating a domain and setting up target tasks. 원격 제어 에이전트.Remote control agent. 삭제delete 제12항에 있어서,The method of claim 12, 사용자로부터 목적 서비스가 입력되는 인터페이스 모듈을 더 포함하는Further comprising an interface module to which the target service is input from the user 원격 제어 에이전트.Remote control agent. 원격 제어 에이전트와 연결되어, 원격 제어 에이전트의 요청에 따라 원격장치를 제어하여 목적 서비스가 수행되도록 하는 원격지 서버에 있어서,In the remote server connected to the remote control agent, to control the remote device in accordance with the request of the remote control agent to perform the target service, 원격 장치 정보 및 서비스 정보를 저장하는 제어지식저장소; 및A control knowledge repository for storing remote device information and service information; And 저장된 원격 장치 정보 및 서비스 정보를 기초로 상기 원격 장치를 제어하여 요청된 서비스가 수행되도록 하는 장치제어에이전트를 포함하고 A device control agent for controlling the remote device based on the stored remote device information and the service information to perform the requested service; 상기 제어지식저장소는, The control knowledge storage, 상기 원격장치정보 및 상기 서비스 정보를 장치 지식 및 도메인 지식으로 각각 저장하는 지식 베이스;A knowledge base for storing the remote device information and the service information as device knowledge and domain knowledge, respectively; 상기 원격제어에이전트로의 요청에 따르는 정보를 상기 지식 베이스로부터 검색하는 탐색서비스모듈; 및A search service module for retrieving information from the knowledge base in response to a request to the remote control agent; And 상기 탐색서비스모듈로부터 전달받은 장치 지식 명세 및 도메인 지식 명세를 입력으로 목적 서비스 수행을 위한 추론 모델을 생성하고, 생성된 추론 모델로부터 플래닝 도메인을 생성하고 목표 태스크를 설정하여 서비스 플랜을 생성하는 추론 모듈을 포함하는An inference module for generating an inference model for performing a target service by inputting the device knowledge specification and the domain knowledge specification received from the search service module, generating a planning domain from the generated inference model, and setting a target task. Containing 원격지 서버.Remote server. 제15항에 있어서,The method of claim 15, 상기 원격 장치 정보는The remote device information 원격 장치의 기능, 원격 장치 제어 인터페이스 및 원격 장치가 직접 실행하는 단일 프로세스 정보 중 하나 이상을 포함하는One or more of the functions of the remote device, the remote device control interface, and the single process information that the remote device executes directly. 원격지 서버Remote server 제15항에 있어서,The method of claim 15, 상기 서비스 정보는The service information is 서비스 태스크 구성을 위한 도메인 지식으로서, 복수의 단일 프로세스-원격장치가 직접 실행하는 프로세스-로 구성되는 복합 프로세스 및 프로세스 내부의 데이타 흐름 중 하나 이상을 포함하는Domain knowledge for configuring service tasks, including one or more of a complex process consisting of a plurality of single processes—processes that are run directly by the remote device—and data flow within the process. 원격지 서버.Remote server. 삭제delete 삭제delete 제15항에 있어서,The method of claim 15, 상기 추론모듈은,The inference module, 상기 추론모델로부터의 플래닝 도메인 생성 및 의미 확장을 통해 생성된 플래닝 메쏘드(하위 태스크로 분할될 수 있는 태스크), 플래닝 오퍼레이터(직접 실행 가능한 태스크 최소단위), 초기 상태 및 목표 태스크를 입력으로 하여, 인공지능 플래닝 알고리즘을 통해 서비스 플랜을 생성하는Planning methods (tasks that can be divided into subtasks), planning operators (directly executable task minimum units), initial states, and target tasks generated through planning domain generation and semantic expansion from the inference model are inputted. To create a service plan through an intelligent planning algorithm. 원격지 서버.Remote server. 제20항에 있어서,The method of claim 20, 상기 인공지능 플래닝 알고리즘은,The AI planning algorithm, HTN(Hierarchical Task Network) 플래닝 알고리즘인Hierarchical Task Network (HTN) planning algorithm 원격지 서버.Remote server. 제15항에 있어서,The method of claim 15, 상기 지식 베이스는The knowledge base 상기 장치 지식을 저장하는 장치지식베이스; 및A device knowledge base for storing the device knowledge; And 상기 도메인 지식을 저장하는 도메인지식베이스를 포함하는A domain knowledge base that stores the domain knowledge 원격지 서버.Remote server. 제15항 내지 제17항 중 어느 한 항에 있어서,The method according to any one of claims 15 to 17, 상기 장치 제어 에이전트는,The device control agent, 목표 서비스 실행을 위해 생성된 장치 제어 프로세스에 따라 연결된 원격장치를 제어하는 제어 서비스 모듈을 포함하는A control service module for controlling a connected remote device according to a device control process generated for executing a target service; 원격지 서버.Remote server. 원격 장치를 제어하여 목적 서비스를 수행하도록 하는 원격 제어 방법에 있어서,In the remote control method to control the remote device to perform the target service, a) 원격 장치 정보 및 서비스 정보가 장치 지식 및 도메인 지식으로 각각 저장되어, 목적 서비스 수행을 위한 원격 장치 정보 및 서비스 정보에 해당하는 장치 지식 및 도메인 지식을 탐색하는 단계;a) storing the remote device information and the service information as the device knowledge and the domain knowledge, respectively, to search for the device knowledge and the domain knowledge corresponding to the remote device information and the service information for performing the target service; b-1) 탐색 결과, 목적 서비스에 해당하는 장치 지식 및 도메인 지식을 전달받는 단계;b-1) receiving the device knowledge and domain knowledge corresponding to the target service as a result of the discovery; b-2) 전달받은 장치 지식 및 도메인 지식을 입력으로 추론 모델을 생성하여, 생성된 추론 모델로부터 플래닝 도메인을 생성하고 목표 태스크를 설정하여 서비스 플랜을 생성하는 단계; 및b-2) generating an inference model using the received device knowledge and domain knowledge, generating a planning domain from the generated inference model, and setting a target task to generate a service plan; And c) 상기 서비스 플랜을 통해 원격 장치 제어 프로세스를 생성하여 실행하는 단계를 포함하는c) creating and executing a remote device control process via the service plan; 원격 제어 방법.Remote control method. 제24항에 있어서,The method of claim 24, 상기 원격 장치 정보는,The remote device information, 원격 장치의 기능, 원격 장치 제어 인터페이스 및 원격 장치가 직접 실행하는 단일 프로세스 정보 중 하나 이상을 포함하는One or more of the functions of the remote device, the remote device control interface, and the single process information that the remote device executes directly. 원격 제어 방법.Remote control method. 제24항에 있어서,The method of claim 24, 상기 서비스 정보는,The service information, 서비스 태스크 구성을 위한 도메인 지식으로서, 복수의 단일 프로세스-원격 장치가 직접 실행하는 프로세스-로 구성되는 복합 프로세스 및 프로세스 내부의 데이타 흐름 중 하나 이상을 포함하는Domain knowledge for configuring service tasks, including one or more of a complex process consisting of a plurality of single processes—processes directly executed by a remote device—and data flow within the process. 원격 제어 방법.Remote control method. 삭제delete 삭제delete 제24항에 있어서,The method of claim 24, 상기 b-2)단계는,Step b-2), 추론모델로부터의 플래닝 도메인 생성 및 의미 확장을 통해 생성된 플래닝 메쏘드(하위 태스크로 분할될 수 있는 태스크), 플래닝 오퍼레이터(직접 실행 가능한 태스크의 최소 단위), 초기 상태 및 목표 태스크를 입력값으로 하여, 인공 지능 플래닝 알고리즘을 통해 서비스 플랜을 생성하는 단계인With planning methods (tasks that can be split into subtasks), planning operators (minimum units of directly executable tasks), initial states, and target tasks generated through planning domain generation and semantic extensions from the inference model, To create a service plan through artificial intelligence planning algorithm 원격 제어 방법.Remote control method. 제29항에 있어서,The method of claim 29, 상기 인공지능 플래닝 알고리즘은 The AI planning algorithm HTN(Hierarchical Task Network) 플래닝 알고리즘인Hierarchical Task Network (HTN) planning algorithm 원격 제어 방법.Remote control method. 제24항 내지 제26항 중 한 항에 있어서,The method of claim 24, wherein 상기 c) 단계는,C), c-1) 상기 서비스 플랜을 기초로 목적 서비스 수행을 위해 필요한 상기 원격 장치에 대한 장치 제어 프로세스를 생성하는 단계;c-1) generating a device control process for the remote device necessary to perform a target service based on the service plan; c-2) 상기 장치 제어 프로세스 실행을 통해 상기 원격 장치가 제어되고 목적 서비스가 수행되도록 하는 단계를 더 포함하는c-2) causing the remote device to be controlled and performing a target service by executing the device control process; 원격 제어 방법.Remote control method. 원격 제어 에이전트와 연결되어, 원격 제어 에이전트의 요청에 따라 원격장치를 제어하여 목적 서비스가 수행되도록 하는 원격지 서버의 원격 제어 방법에 있어서,In the remote control method of the remote server connected to the remote control agent, to control the remote device according to the request of the remote control agent to perform the target service, a) 원격 장치 정보 및 서비스 정보가 장치 지식 및 도메인 지식으로 각각 저장되어, 목적 서비스 수행을 위한 원격 장치 정보 및 서비스 정보에 해당하는 장치 지식 및 도메인 지식을 탐색하는 단계;a) storing the remote device information and the service information as the device knowledge and the domain knowledge, respectively, to search for the device knowledge and the domain knowledge corresponding to the remote device information and the service information for performing the target service; b-1) 탐색 결과, 목적 서비스에 해당하는 장치 지식 및 도메인 지식을 전달받는 단계;b-1) receiving the device knowledge and domain knowledge corresponding to the target service as a result of the discovery; b-2) 전달받은 장치 지식 및 도메인 지식을 입력으로 추론 모델을 생성하여, 생성된 추론 모델로부터 플래닝 도메인을 생성하고 목표 태스크를 설정하여 서비스 플래닝을 생성하는 단계; 및b-2) generating an inference model using the received device knowledge and domain knowledge, generating a planning domain from the generated inference model, and setting a target task to generate service planning; And c) 상기 서비스 플랜을 통해 생성된 원격 장치 제어 프로세스에 따라 원격장치를 제어하여 목적 서비스가 수행되도록 하는 단계를 포함하는c) controlling the remote device according to the remote device control process generated through the service plan to perform the target service; 원격 제어 방법.Remote control method. 제32항에 있어서,33. The method of claim 32, 상기 원격 장치 정보는,The remote device information, 원격 장치의 기능, 원격 장치 제어 인터페이스 및 원격 장치가 직접 실행하는 단일 프로세스 중 하나 이상을 포함하는One or more of the functions of the remote device, the remote device control interface, and a single process directly executed by the remote device. 원격 제어 방법.Remote control method. 제32항에 있어서,33. The method of claim 32, 상기 서비스 정보는,The service information, 서비스 태스크 구성을 위한 도메인 지식으로서, 복수의 단일 프로세스-원격장치가 직접 실행하는 프로세스-로 구성되는 복합 프로세스 및 프로세스 내부의 데이타 흐름 중 하나 이상을 포함하는Domain knowledge for configuring service tasks, including one or more of a complex process consisting of a plurality of single processes—processes that are run directly by the remote device—and data flow within the process. 원격 제어 방법.Remote control method. 삭제delete 삭제delete 제32항에 있어서,33. The method of claim 32, 상기 b-2)단계는,Step b-2), 추론모델로부터의 플래닝 도메인 생성 및 의미 확장을 통해 생성된 플래닝 메쏘드(하위 태스크로 분할될 수 있는 태스크), 플래닝 오퍼레이터(직접 실행 가능한 태스크의 최소 단위), 초기 상태 및 목표 태스크를 입력값으로 하여, 인공 지능 플래닝 알고리즘을 통해 서비스 플랜을 생성하는 단계인With planning methods (tasks that can be split into subtasks), planning operators (minimum units of directly executable tasks), initial states, and target tasks generated through planning domain generation and semantic extensions from the inference model, To create a service plan through artificial intelligence planning algorithm 원격 제어 방법.Remote control method. 제37항에 있어서,The method of claim 37, 상기 인공지능 플래닝 알고리즘은 The AI planning algorithm HTN(Hierarchical Task Network) 플래닝 알고리즘인Hierarchical Task Network (HTN) planning algorithm 원격 제어 방법.Remote control method. 제32항 내지 제34항 중 어느 한 항에 있어서,The method of any one of claims 32 to 34, wherein 상기 c) 단계는, C), 상기 원격 제어 에이전트에 의해 생성된 원격 장치 제어 프로세스에 따라 네트워크를 통해 연결된 원격장치를 제어하여 목적 서비스가 수행되도록 하는 단계인Controlling a remote device connected through a network according to a remote device control process generated by the remote control agent to perform a target service; 원격 제어 방법.Remote control method.
KR1020050099031A 2004-12-07 2005-10-20 System and method for service-oriented automatic remote control, remote server and remote control agent KR100730635B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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