KR100902662B1 - Terminal data format, communication control system using the terminal data format, and method thereof - Google Patents

Terminal data format, communication control system using the terminal data format, and method thereof Download PDF

Info

Publication number
KR100902662B1
KR100902662B1 KR1020050122044A KR20050122044A KR100902662B1 KR 100902662 B1 KR100902662 B1 KR 100902662B1 KR 1020050122044 A KR1020050122044 A KR 1020050122044A KR 20050122044 A KR20050122044 A KR 20050122044A KR 100902662 B1 KR100902662 B1 KR 100902662B1
Authority
KR
South Korea
Prior art keywords
robot
message
server
terminal
client
Prior art date
Application number
KR1020050122044A
Other languages
Korean (ko)
Other versions
KR20060079092A (en
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 PCT/KR2005/004589 priority Critical patent/WO2006071062A1/en
Priority to CN2005800454037A priority patent/CN101095104B/en
Priority to JP2007549254A priority patent/JP2008529324A/en
Priority to EP05822431A priority patent/EP1834230A1/en
Priority to US11/323,775 priority patent/US20060149824A1/en
Publication of KR20060079092A publication Critical patent/KR20060079092A/en
Application granted granted Critical
Publication of KR100902662B1 publication Critical patent/KR100902662B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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

본 발명은, URC(Ubiquitous Robtic Companion) 기반의 인프라 내에 존재하는 다양한 형태의 네트워크 기반 로봇을 효율적으로 제어할 수 있도록 하며, 서비스 확장에 따른 개발을 유용하게 할 수 있도록 한 단말용 데이터 포맷을 이용한 통신 제어 시스템 및 그 방법에 관한 것으로서, 본 발명에 따른 통신 제어 시스템 및 방법에 적용되는 단말용 데이터 포맷은, 상기 로봇, 서버 및 클라이언트간의 인터페이싱을 승인하기 위해 프로토콜 식별자 정보를 포함하는 Protocol Discriminator 필드; 상기 현재 연결되어 있는 세션을 구분하기 위한 고유 정보(ID)를 포함하는 Session ID 필드; 상기 로봇, 서버 및 클라이언트 중 어느 하나가 수행하는 프로파일(제어 기능)을 구분하기 위한 정보를 포함하는 Profile ID 필드; 상기 로봇, 서버 및 클라이언트간에 송수신되는 메시지의 종류 정보를 포함하는 MSG Type 필드; 상기 MSG Type 필드에 정의된 데이터와 상기 Profile ID에 포함된 프로파일 정보에 따라 해당 기능에 대한 서비스를 수행하기 위한 정보가 포함된 Payload 필드를 포함한다. The present invention can efficiently control various types of network-based robots existing in an Ubiquitous Robtic Companion (URC) -based infrastructure, and communicate using a data format for a terminal to facilitate development according to service expansion. The present invention relates to a control system and a method thereof, wherein the data format for a terminal applied to the communication control system and method according to the present invention includes: a Protocol Discriminator field including protocol identifier information for approving interfacing between the robot, a server, and a client; A Session ID field including unique information (ID) for identifying the currently connected session; A Profile ID field including information for distinguishing a profile (control function) performed by any one of the robot, server, and client; An MSG Type field including type information of a message transmitted and received between the robot, server, and client; And a payload field including information for performing a service for a corresponding function according to data defined in the MSG Type field and profile information included in the Profile ID.

Description

단말용 데이터 포맷을 이용한 통신 제어 시스템 및 그 방법{TERMINAL DATA FORMAT, COMMUNICATION CONTROL SYSTEM USING THE TERMINAL DATA FORMAT, AND METHOD THEREOF}Communication control system and method using terminal data format {TERMINAL DATA FORMAT, COMMUNICATION CONTROL SYSTEM USING THE TERMINAL DATA FORMAT, AND METHOD THEREOF}

도 1은 종래 기술에 따른 로봇을 제어하기 위한 로봇과 사용자 호스트간의 네트워크 인터페이싱 관계를 나타낸 도면, 1 is a diagram illustrating a network interfacing relationship between a robot and a user host for controlling a robot according to the prior art;

도 2는 본 발명에 따른 로봇 제어를 위한 URC 프로토콜의 물리적 구조를 나타낸 도면,2 is a view showing the physical structure of the URC protocol for robot control according to the present invention,

도 3은 본 발명의 제1 실시예에 따른 로봇을 제어하기 위한 로봇과 URC 서버간의 URC 프로토콜을 통해 송수신되는 공통 메시지에 대한 헤더 구조를 나타낸 도면,3 is a diagram illustrating a header structure for a common message transmitted and received through a URC protocol between a robot and a URC server for controlling a robot according to a first embodiment of the present invention;

도 4는 본 발명에 따른 로봇과 URC 서버 간의 송수신되는 메시지 타입의 변화를 나타낸 도면이고,4 is a view showing a change in the message type transmitted and received between the robot and the URC server according to the present invention,

도 5는 본 발명의 제1 실시예에 URC 프로토콜을 이용한 로봇 제어 시스템의 네트워크 연결관계를 나타낸 도면.5 is a view showing a network connection relationship of the robot control system using the URC protocol in the first embodiment of the present invention.

도 6은 본 발명에 따른 로봇 제어 시스템에서 로봇과 클라이언트가 URC 서버에 접속시 URC 서버에서 로봇과 클라이언트에 제공 가능한 서비스와 해당 서비스를 위한 기본적인 상호간의 메시지 송수신 흐름을 나타낸 도면.6 is a diagram illustrating a service that can be provided to a robot and a client in a URC server and a basic message transmission / reception flow for the corresponding service when the robot and the client are connected to the URC server in the robot control system according to the present invention.

도 7은 본 발명에 따른 로봇 제어 방법에 있어서 로봇의 음성 인식 서비스 제공시 로봇과 URC 서버간의 메시지 흐름을 나타내 도면. 7 is a view illustrating a message flow between a robot and a URC server when providing a voice recognition service of a robot in the robot control method according to the present invention.

도 8은 본 발명에 따른 로봇 제어 방법에 있어서, 화상인식 및 움직임 검출(추적) 서비스를 위한 로봇과 URC 서버간의 메시지 송수신 흐름을 나타낸 도면.8 is a diagram illustrating a message transmission and reception flow between a robot and a URC server for image recognition and motion detection (tracking) service in the robot control method according to the present invention.

도 9는 본 발명에 따른 로봇 제어 방법에 있어서 로봇의 인증을 위한 로봇과 URC 서버간의 송수신 메시지 흐름을 나타낸 도면. 9 is a view showing a transmission and reception message flow between the robot and the URC server for authentication of the robot in the robot control method according to the present invention.

도 10은 본 발명에 따른 로봇 제어 방법에 있어서, 원격의 클라이언트에서 로봇의 원격 모니터링을 위해 서버와 인증 메시지의 송수신 흐름을 나타낸 도면.10 is a view illustrating a flow of transmission and reception of an authentication message with a server for remote monitoring of a robot in a remote client in the robot control method according to the present invention.

도 11은 본 발명에 따른 로봇 제어 방법에 있어 로봇의 구동을 제어하기 위한 로봇과 URC 서버간에 송수신되는 메시지의 종류를 나타낸 도면.11 is a view showing the types of messages transmitted and received between the robot and the URC server for controlling the operation of the robot in the robot control method according to the present invention.

도 12는 본 발명에 따른 로봇 제어 방법에 있어서, 원격 클라이언트에서 URC 서버를 통해 로봇을 제어하기 위한 원격 클라이언트와 URC 서버간의 메시지 송수신 흐름을 나타낸 도면.12 is a diagram illustrating a message transmission and reception flow between a remote client and a URC server for controlling a robot through a URC server in a robot control method according to the present invention.

도 13은 본 발명의 제2 실시예에 따른 로봇 제어 시스템에 대한 연결 관계를 개략적으로 나타낸 도면.
도 14는 본 발명의 제2 실시예에 따른 로봇, 클라이언트 및 URC 서버간에 송수신되는 메시지에 대한 공통 헤더 구조를 나타낸 도면.
13 is a view schematically showing a connection relationship for a robot control system according to a second embodiment of the present invention.
14 is a diagram illustrating a common header structure for a message transmitted and received between a robot, a client, and a URC server according to a second embodiment of the present invention.

도 15는 본 발명의 제2 실시예에 따른 통신 제어 시스템에서, 로봇, URC 서버 및 원격 클라이언트간의 URC 프로토콜 프로파일 구조를 나타낸 도면이다. FIG. 15 is a diagram illustrating a URC protocol profile structure between a robot, a URC server, and a remote client in a communication control system according to a second embodiment of the present invention.

도 16은 본 발명의 제2 실시예에 따른 통신 제어 시스템에서 로봇에서 이벤트 발생시 이벤트 발생 ACK 동작을 보여주는 도면. 16 is a view illustrating an event generation ACK operation when an event occurs in a robot in the communication control system according to the second embodiment of the present invention.

도 17은 본 발명에 따른 통신 제어 시스템에서 로봇과 URC 서버간에 연결 상태를 체크하기 위한 방법을 나타낸 도면.17 is a view showing a method for checking a connection state between a robot and a URC server in a communication control system according to the present invention.

도 18은 본 발명의 제2 실시예에 따른 원격 클라이언트에서 로봇을 제어하기 위한 메시지 송수신 흐름을 나타낸 도면.18 is a diagram illustrating a message transmission and reception flow for controlling a robot in a remote client according to a second embodiment of the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

10, 300 ; 클라이언트 20, 100 ; URC 서버10, 300; Client 20, 100; URC Server

30, 200 ; 로봇30, 200; robot

본 발명은 단말용 데이터 포맷을 이용한 통신 제어 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 URC(Ubiquitous Robtic Companion) 기반의 인프라 내에 존재하는 다양한 형태의 네트워크 기반 로봇을 효율적으로 제어할 수 있도록 하며, 서비스 확장에 따른 개발을 유용하게 할 수 있도록 한 단말용 데이터 포맷을 이용한 통신 제어 시스템 및 그 방법에 관한 것이다. The present invention relates to a communication control system and method using a data format for a terminal, and more particularly, to efficiently control various types of network-based robots existing in an infrastructure based on URC (Ubiquitous Robtic Companion). The present invention relates to a communication control system and a method using a data format for a terminal that can be usefully developed according to service expansion.

로봇은 각종 센서를 구비하여 사용자의 음성명령이나 문자명령 등 인식가능한 명령에 의하여 사용자가 부여한 임무를 프로그램이 의해서 적절하게 달성할 수 있다. The robot is equipped with various sensors so that the program can properly accomplish the task assigned by the user by recognizable commands such as voice commands or text commands of the user.

로봇은 사용자가 부여하는 임무에 따라서 청소용 로봇, 완구형 로봇 등등 휴먼로봇으로 점차적으로 개발되고 있으며, 하나의 로봇이 여러 기능을 동시에 수행할 수 있게 개발되고 있다.Robots are gradually developed as human robots, such as cleaning robots, toy robots, etc., according to a task assigned by a user, and a robot can be developed to perform several functions at the same time.

이와 같은 로봇들은 인간과의 커뮤니케이션을 통해서 각종 서비스를 제공할 수 있도록 개발되고 있으며, 커뮤니케이션 중에서 오픈 네크워크인 인터넷을 이용한 로봇의 인터페이스(interface)를 설정하는 방법과 그 구조에 대하여 여러 단체 및 학회에서 제안되고 있다. These robots are being developed to provide various services through communication with humans, and various organizations and societies have proposed how to set up the interface of the robot using the Internet, an open network, and its structure. It is becoming.

근래에 제안되고 있는 것 중의 하나인 Proxy-mediated human-robot 인터페이스의 아키텍쳐에는 Proxy-mediated HRI(Human Robot Interface)라는 방법으로 인터넷을 통한 User Interface agents(IAs)와 Embedded agents(EAs) 간의 통신을 포함하는 구조를 제안하고 있다. 도 1은 이러한 종래 기술에 따른 Proxy-mediated human-robot 인터페이스의 아키텍쳐에 대한 네트워크 연결 관계를 나타낸 도면이다. One of the recently proposed Proxy-mediated human-robot interface architectures includes communication between User Interface agents (IAs) and Embedded agents (EAs) over the Internet in a way called Proxy-mediated Human Robot Interface (HRI). We suggest structure to do. 1 is a diagram illustrating a network connection relationship with respect to the architecture of a proxy-mediated human-robot interface according to the related art.

도 1에 도시된 바와 같이, Proxy Agent는 IA(User Interface agent)의 communication Load와, 인터페이스와 관련된 Task를 위한 EA(Embedded agent)에 의한 계산자원의 점유율을 줄이고, IA와 EA사이의 링크를 동적으로 생성하거나 제거 및 비동기적으로 상방향 데이터의 전송을 제공한다. 여기서, RoboML이 사용되고 있는데, 이는 로봇을 위한 Markup language로 XML의 변형이다. XML은 프로그래밍을 하기 위해 이미 알려진 언어에 의해 표현될 수 있는 적합성과 사람에 의해 쉽게 처리되거나 조작될 수 있는 편리함 그리고 다른 플랫폼에서 응용 프로그램을 위한 적 합성 때문에 agent 통신과 정보 표현으로 사용하고 있다.As shown in FIG. 1, the Proxy Agent reduces the communication load of the IA (User Interface agent) and the computational resources occupied by the Embedded Agent (EA) for tasks related to the interface, and dynamically links the link between the IA and the EA. Provides creation or removal and transfer of upward data asynchronously. RoboML is used here, which is a transformation of XML into the markup language for robots. XML is used for agent communication and information representation because of its suitability to be represented by a known language for programming, ease of handling and manipulation by humans, and compatibility for applications on other platforms.

Agent communication language는 agent가 통신하고 진화하도록 프로그램이 가능한 AOP, 네트워크 상의 소프트웨어 어플리케이션 사이의 처리를 위한 환경으로 정의된 Telescript, KQML(Knowledge Query Manipulation language), FIPA 등이 있다.Agent communication language includes AOP which can program agent to communicate and evolve, Telescript defined as environment for processing between software applications on network, Knowledge Query Manipulation language (KQML), and FIPA.

또한, 로봇의 language로써는 동시에 동작을 수행하기 위한 프로세서 사이의 메시지 전달을 하는데 있어서, Task-Level Control과 communication으로 결합하는 TCA(Task Control Architecture), Procedural reasoning expert 개념에 바탕을 둔 PRS(Procedural Reasoning System), logical-based action language로써 Moving을 위한 navigation 조작, 인식, 상호작용을 프로그래밍할 수 있도록 발전한 GOLOG등이 있다.In addition, as the language of the robot, PRS (Procedural Reasoning System) based on the concept of TCA (Task Control Architecture) and Procedural reasoning expert, which combines task-level control and communication in delivering messages between processors to perform actions simultaneously. As a logical-based action language, GOLOG has been developed to program navigation manipulation, recognition, and interaction for moving.

이와 같이 프로그래밍된 로봇의 language는 원격으로 동작하는 로봇을 제어하기 위하여 인터페이싱할 수 있는 전송 프로토콜에 의해서 사용자명령을 전달할 수 있다. 임의의 로봇은 프레임워크(Framework)의 정의를 통해 로봇의 구조와 액션(Action)을 정의할 수 있고, 이미 존재하고 있는 통신프로토콜을 이용하여 로봇 데이터통신에 사용할 수 있도록 한다.The language of the robot thus programmed can transmit user commands by means of a transmission protocol that can be interfaced to control a robot operating remotely. Any robot can define the structure and action of the robot through the definition of the framework, and it can be used for the robot data communication using the existing communication protocol.

그런데, 이와 같은 로봇을 위한 전송 프로토콜은 각각의 로봇이 만들어질 때마다 맞춤 설계된 로봇 제작사들 만의 프로토콜을 사용하기 때문에 다른 로봇에 적용하기가 어렵고, 이에 따라 로봇과 서버 간의 연동이 거의 불가능한 문제점이 있다.However, the transmission protocol for such a robot is difficult to apply to other robots because each robot is made of a custom-designed robot manufacturer, there is a problem that it is almost impossible to interwork between the robot and the server. .

또한, 기존의 로봇을 위한 전송 프로토콜은 다수의 로봇에 일률적으로 적용할 수 없기 때문에 프로토콜의 범용성이 떨어지고, 호환이 불가능해 발전성이 떨어지는 문제점이 있다.In addition, since the transmission protocol for the existing robots cannot be uniformly applied to a plurality of robots, there is a problem that the generality of the protocols is inferior, and the incompatibility is inferior in development.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로, 본 발명의 목적은, URC(Ubiquitous Robtic Companion)기반내에 존재하는 다양한 형태의 로봇들이 URC 인프라를 통해 사용자에게 지능적이고 능동적이며 상황에 맞는 서비스를 제공하기 위한 로봇, URC 서버 및 원격 클라이언트간의 통신 프로토콜을 제공하고, 이러한 통신 프로토콜을 이용하여 로봇을 원활하게 제어할 수 있도록 한 통신 제어 시스템 및 그 방법을 제공함에 있다. Accordingly, the present invention has been made to solve the above problems, and an object of the present invention is that various types of robots existing in the Ubiquitous Robtic Companion (URC) base are intelligent, active and situational to the user through the URC infrastructure. The present invention provides a communication protocol and a method for providing a communication protocol between a robot, a URC server, and a remote client to provide a suitable service, and smoothly controlling the robot using the communication protocol.

또한, 본 발명의 다른 목적은, 상기한 통신 프로토콜을 이용하여 서비스 사업자(원격 클러이언트)가 원격에서도 URC 서버를 통해 로봇을 제어함으로써 서비스 개발에 융통성을 확보할 수 있도록 한 통신 제어 시스템 및 그 방법을 제공함에 있다. In addition, another object of the present invention, a communication control system and a method by which a service provider (remote client) can secure flexibility in service development by remotely controlling a robot through a URC server using the communication protocol described above. In providing.

상기한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 단말과 서버 중 어느 일측에서 타측을 향하여 전송하기 위한 데이터 포맷에 있어서, 상기 일측에서 타측을 향하여 상호 간의 인터페이싱을 승인하기 위한 Protocol Discriminator 필 드와, 상기 단말을 구별하기 위해 ID를 설정하는 Session ID 필드와, 상기 일측에서부터 상기 타측으로 향하여 데이터를 전송하기 위한 방향성을 설정하는 Data direction 필드와, 상기 데이터의 형식과 내용 중 적어도 어느 하나이상을 대표격으로 정의하는 Data Type 필드와, 상기 일측과 타측 중 어느 하나가 수행하는 하기 메시지의 서비스 이용여부를 판단하고, 이를 구분하기 위해 ID를 설정하는 Service ID 필드와, 상기 Data Type 필드에 정의된 데이터와 상기 Service ID 필드에서 판단된 이용가능한 서비스를 설정하여 상기 일측과 타측이 그 서비스를 수행하도록 메시지를 부여하는 Payload 필드를 포함한다. According to an aspect of the present invention for achieving the above object, in the data format for transmitting from one side of the terminal and the server to the other side, Protocol Discriminator field for approving interfacing between the one side to the other side And a Session ID field for setting an ID to distinguish the terminal, a Data direction field for setting a direction for transmitting data from the one side to the other side, and at least one or more of the format and contents of the data. A data type field defined as a representative case, a service ID field for determining whether to use a service of the following message performed by one of the one side and the other side, and setting an ID to distinguish it, and data defined in the data type field And setting the available service determined in the Service ID field to the one side. And a Payload field to give the message a side to perform the service.

여기서, 상기 Payload 필드의 메시지는 화상용, 음성용, Moving용으로 나누어지며, 화상용 메시지는 파일넘버와 사이즈와 화상데이터로 구성되고, 음성용 메시지는 파일넘버, 사이즈 및 음성 데이터로 구성되어 있으며, Moving용 메시지는 Moving를 제어하는 형태에 따라서 Robot movement, Robot status control, Robot status report, Robot Error status, Camera control의 command type를 갖는 것이 바람직하다.Here, the payload field message is divided into a picture, a voice, and a moving, the picture message is composed of a file number, a size, and image data, and a voice message is composed of a file number, a size, and voice data. For example, the moving message preferably has a command type of robot movement, robot status control, robot status report, robot error status, and camera control depending on the type of moving control.

상기 파일넘버는 Client Type과 Client ID와 파일생성순서로 구성되고, 상기 Robot movement는 상기 단말의 X축 이동거리와 단말의 Y축 이동거리, 단말의 자세각도와, 카메라 앵글로 구성되어 Moving을 제어하기 위한 메시지이고, 상기 Robot status control는 단말의 현재상태를 실기간으로 확인하기 위하여 단말의 상태 리포트와 리포팅 주기로 구성되어 있고, 상기 Robot status report는 상기 Robot movement에 따른 무인경보 설정상태, 단말의 이동상태, 감시상태, 이상상태, 신원확인상태, 경고상태 등의 상태정보 및 단말의 위치정보와, Action 완료정보에 대한 메시지로 구성되어 단말의 서비스 결과를 파악하기 위한 메시지이고, 상기 Robot Error status는 적어도 하나이상의 단말 자신의 이상여부를 판단하여 단말의 동작조건에 관한 메시지이고, 상기 Camera control은 화상전송과 관련된 메시지인 것이 바람직하다.The file number is composed of client type, client ID and file generation order, and the robot movement is composed of the X-axis movement distance of the terminal, the Y-axis movement distance of the terminal, the attitude angle of the terminal, and the camera angle to control the moving. The robot status control is composed of a status report and a reporting period of the terminal in order to check the current status of the terminal in real time, the robot status report is an unmanned alarm setting state according to the robot movement, the movement of the terminal It consists of status information such as status, monitoring status, abnormal status, identification status, warning status, message about terminal location information and action completion information, and it is a message to grasp the service result of the terminal. It is a message regarding the operating conditions of the terminal by determining whether at least one terminal itself is abnormal, and the Camera control is associated with the image transmission It is preferably a message.

또한, 상기 Payload 필드는 음성인식용 데이터인 ASR(Automatic Speech Recognition), 음성 출력용 데이터인 TTS(Text To Speech), 얼굴인식 및 움직임 검출용 데이터인 FR(Face Recognition)/MD(Motion Detection), 인증용 데이터인 Authorization, Moving용 데이터, VoIP용 데이터의 메시지를 제공하기 위하여 Client Type, Client ID, User ID, Authorization Code, Massage Type의 필드를 추가적으로 더 포함하는 것이 바람직하다.In addition, the payload field is ASR (Automatic Speech Recognition) that is voice recognition data, Text To Speech (TTS) that is voice output data, Face Recognition (MD) / Motion Detection (MD), authentication for face recognition and motion detection, authentication It is preferable to further include fields of Client Type, Client ID, User ID, Authorization Code, and Massage Type in order to provide messages of authorization data, moving data, and VoIP data.

상기 Client Type 필드는 상기 Data Direction 필드의 방향성 정보와 상호 보완적인 필드이며, 그 방향성 정보에 해당하는 단말의 종류를 나타내며, 상기 Client ID 필드는 적어도 하나이상의 단말에 상응하는 ID를 설정하여 상기 Data Direction 필드의 방향성 정보에 해당하는 단말을 구별하기 위한 것이며, 상기 User ID 필드는 적어도 하나이상의 단말을 서버가 인식하기 위한 ID로 설정하며, ID는 등록된 사용자 수에 상응하는 메시지를 갖는 것이며, 상기 Authorization Code 필드는 적어도 하나이상의 단말 각각의 인증번호를 제공하는 것이 바람직하다.The Client Type field is a field complementary to directional information of the Data Direction field, and indicates a type of a terminal corresponding to the directional information, and the Client ID field sets an ID corresponding to at least one or more terminals. In order to distinguish terminals corresponding to directional information of a field, the User ID field is set to an ID for recognizing at least one terminal by a server, and the ID has a message corresponding to the number of registered users. The code field preferably provides authentication numbers of at least one terminal.

그리고, 상기 Message Type 필드는 상기 단말과 서버 간에 연결 초기화, 응답, 동기화, 인증, 데이터전송 등을 위한 절차를 제공하며, 상기 단말과 서버 간에 전송되는 메시지는 상기 단말과 서버 간의 접속을 위한 제1 메시지 그룹, 상기 단말와 서버 간의 인증을 위한 제2 메시지 그룹, 상기 제1 메시지 그룹 및 제2 메시지 그룹의 연속성을 위한 메시지, 인증된 상호 간에 전송되는 Payload 메시지, 종료 메시지를 포함하는 것이 바람직하다.The message type field provides a procedure for initializing a connection, response, synchronization, authentication, and data transmission between the terminal and the server, and the message transmitted between the terminal and the server is a first connection for the connection between the terminal and the server. It is preferable to include a message group, a second message group for authentication between the terminal and the server, a message for continuity of the first message group and the second message group, a payload message transmitted between authenticated parties, and an end message.

상기 제1 메시지 그룹은 Request Message, Acknowledgement response Message, Error Acknowledgement response Message를 포함하고, 상기 제2 메시지 그룹은 Authorization Message, Positive Authorization Message, Negative Authorization Message를 포함하고, 상기 연속성을 위한 메시지는 Synchronization Message이며, 상기 Payload 메시지는 Data Message이고, 상기 종료 메시지는 Close Report Message인 것이 바람직하다.The first message group includes a request message, an acknowledgment response message, an error acknowledgment response message, the second message group includes an authorization message, a positive authorization message, and a negative authorization message, and the message for continuity is a synchronization message. The payload message is a data message, and the end message is a close report message.

한편, 상기 단말은 적어도 하나 이상의 로봇 단말과 적어도 하나 이상의 제어단말 중 적어도 어느 하나이상으로 구성되어 있는 것이 바람직하다. 상기 데이터포맷의 업데이트 상황을 제시하기 위한 Protocol Version 필드를 더 포함하는 것이 바람직하다.On the other hand, the terminal is preferably composed of at least one or more of at least one robot terminal and at least one control terminal. It is preferable to further include a Protocol Version field for presenting the update status of the data format.

본 발명에 따른 단말용 데이터포맷을 이용한 통신제어시스템의 일 측면에 따르면, 상기 데이터 포맷의 Payload 메시지 내용에 따라 화상, 음성, Moving 중 적어도 어느 하나이상의 서비스를 수행하는 단말과, 상기 단말을 통한 사용자명령을 인식하여 상기 단말과 해당 프로토콜에 따라 상기 데이터포맷을 갖는 패킷을 송수신하며, 상기 패킷 내 데이터 포맷에 따라 상기 서비스가 수행되도록 제어하는 서버를 포함한다.According to an aspect of a communication control system using a data format for a terminal according to the present invention, a terminal for performing at least one service among image, voice, and moving according to the payload message content of the data format, and a user through the terminal And a server that recognizes a command and transmits and receives a packet having the data format according to the terminal and the corresponding protocol, and controls the service to be performed according to the data format in the packet.

또한, 상기 단말은 적어도 하나이상의 로봇단말과 적어도 하나 이상의 제어 단말 중 적어도 어느 하나이상으로 구성되어 있는 것이 바람직하다.In addition, the terminal is preferably composed of at least one or more of at least one robot terminal and at least one control terminal.

여기서, 상기 로봇단말은 사용자로부터 음성메시지를 스스로 동작하기 위한 데이터포맷으로 가공하여 상기 서버에 제공하며 이에 대한 해당 서비스 메시지를 수행하여 그 결과를 사용자에게 알려주고, 상기 제어단말은 상기 로봇단말을 제어하기 위하여 사용자가 원하는 서비스 메시지를 상기 데이터포맷으로 가공하며 해당 데이터 포맷을 갖는 패킷을 상기 서버에게 전송하고, 상기 서버로부터 로봇단말의 서비스결과를 수신하여 사용자에게 알려주는 것이 바람직하다.In this case, the robot terminal processes the voice message from the user into a data format for self-operation and provides the server and informs the user of the result by performing a corresponding service message, and the control terminal controls the robot terminal. In order to process the service message desired by the user into the data format, it is preferable to transmit a packet having the corresponding data format to the server, and receive the service result of the robot terminal from the server and inform the user.

그리고, 상기 서비스 메시지는 Payload 메시지로, 인증번호 및 그 절차 메시지와, 화상인식메시지, 음성인식메시지, Moving용 제어메시지를 포함하며, 이에 따라 사용자에게 무인경비, 원격 모니터링 서비스를 제공하는 것이 바람직하다.The service message is a payload message, including an authentication number and a procedure message, an image recognition message, a voice recognition message, and a control message for moving. Accordingly, it is preferable to provide an unmanned security and remote monitoring service to a user. .

본 발명에 따른 적어도 어느 하나이상의 단말과 서버 중 어느 일측에서 타측을 향하여 상기 단말용 데이터 포맷을 갖는 패킷을 해당 프로토콜을 통해 전송하는 통신제어방법의 일 측면에 따르면, 상기 패킷의 데이터포맷에 따라 상기 단말과상기 서버 간에 인증절차에 따라 인증을 확인하는 단계와, 상기 인증 후 상기 패킷내 데이터포맷에 따라 상기 단말 각각을 구분하는 Session ID를 부여하는 단계와, 상기 Session ID가 부여된 해당 단말에게 사용자의 음성명령을 입력하여 그 음성데이터를 갖는 Payload 메시지를 서버에게 전송하고, 상기 Payload 메시지를 분석하여 Service ID를 회신하는 단계와, 상기 Service ID에 따른 동작을 수행하는 해당 단말이 그의 결과를 상기 서버에게 Payload 메시지로 전송하는 단계를 포함하는 단말용 데이터포맷을 이용한 통신제어방법에 의해 달성된다.According to an aspect of the communication control method for transmitting a packet having the data format for the terminal from one side of at least one terminal or server according to the present invention to the other side through a corresponding protocol, according to the data format of the packet Confirming authentication according to an authentication procedure between a terminal and the server, granting a Session ID for distinguishing each of the terminals according to the data format in the packet after the authentication, and providing a user to the corresponding terminal to which the Session ID has been assigned. Sending a payload message having the voice data to the server by inputting a voice command, and analyzing the payload message to return a Service ID, and the corresponding terminal performing an operation according to the Service ID, the server receives the result Communication control room using a terminal data format comprising the step of transmitting to the payload message to To be achieved.

또한, 상기 Service ID에 해당하는 서비스는 무인경비, 원격모니터링, 음성인식, 화상인식, Moving 제어를 수행하는 것이 바람직하다.In addition, the service corresponding to the Service ID, it is preferable to perform unattended security, remote monitoring, voice recognition, image recognition, Moving control.

여기서, 상기 인증절차는 상기 Payload 메시지의 내부 필드에 해당하는 Message Type의 Request Message, Acknowledgement response Message, Error Acknowledgement response Message를 순차적으로 수행하여 상기 단말이 상기 서버에게 접속을 시도하는 단계와, 상기 접속 후 상기 Message Type의 Authorization Message, Positive Authorization Message, Negative Authorization Message를 순차적으로 수행하여 상기 단말의 인증요구에 따른 인증번호를 부여하는 단계를 포함하는 것이 바람직하다.Here, the authentication procedure is a step of the terminal attempts to access the server by sequentially performing a request message, an acknowledgment response message, an error acknowledgment response message of a message type corresponding to the internal field of the payload message, and after the access It is preferable to include the step of sequentially performing the Authorization Message, Positive Authorization Message, Negative Authorization Message of the Message Type to give the authentication number according to the authentication request of the terminal.

그리고, 상기 단말이 복수개 이상일 경우, 상기 인증번호 부여하는 단계는 각 단말의 리스트를 받아 Select Message로 원하는 해당 단말에게 인증요구메시지를 전송하는 단계를 더 포함하는 것이 바람직하다.And, if there are more than one terminal, the step of assigning the authentication number preferably further comprises the step of receiving a list of each terminal and transmitting an authentication request message to the corresponding terminal desired by the Select Message.

한편, 상기 단말은 적어도 하나이상의 로봇단말과 적어도 하나이상의 제어단말 중 적어도 어느 하나이상으로 구성되어 있는 것이 바람직하다.On the other hand, the terminal is preferably composed of at least one or more of at least one robot terminal and at least one control terminal.

본 발명에 따른 로봇을 제어하기 위한 서버, 로봇 및 클라이언트간에 송수신되는 패킷의 데이터 포맷에 있어서, 상기 데이터 포맷은 상기 로봇, 서버 및 클라이언트간의 인터페이싱을 승인하기 위래 프로토콜 식별자 정보를 포함하는 Protocol Discriminator 필드; 상기 현재 연결되어 있는 세션을 구분하기 위한 고유 정보(ID)를 포함하는 Session ID 필드; 상기 로봇, 서버 및 클라이언트 중 어느 하나가 수행하는 프로파일(제어 기능)을 구분하기 위한 정보를 포함하는 Profile ID 필드; 상기 로봇, 서버 및 클라이언트간에 송수신되는 메시지의 종류 정보를 포함하는 MSG Type 필드; 상기 MSG Type 필드에 정의된 데이터와 상기 Profile ID에 포함된 프로파일 정보에 따라 해당 기능에 대한 서비스를 수행하기 위한 메시지가 포함된 Payload 필드를 포함한다. A data format of a packet transmitted and received between a server, a robot, and a client for controlling a robot according to the present invention, the data format comprising: a Protocol Discriminator field including protocol identifier information for approving interfacing between the robot, server, and client; A Session ID field including unique information (ID) for identifying the currently connected session; A Profile ID field including information for distinguishing a profile (control function) performed by any one of the robot, server, and client; An MSG Type field including type information of a message transmitted and received between the robot, server, and client; The payload field includes a message for performing a service for a corresponding function according to data defined in the MSG Type field and profile information included in the Profile ID.

상기 서버의 프로파일은, 상기 로봇과 클라이언트의 인증을 수행하기 위한 인증 프로파일, 상기 클라이언트에서 원격으로 로봇제어를 수행할 수 있도록 인터페이스를 제공하는 원격 제어 프로파일, 상기 서버나 클라이언트에서 로봇의 이벤트(로봇 움직임 제어)를 제어를 수행할 수 있도록 한 이벤트 프로파일, 로봇으로부터 수신되는 음성 명령의 음성 인식을 위한 음성 인식 프로파일, 음성 인식 데이터와 텍스트 데이터를 합성하기 위한 음성 합성 프로파일, 로봇으로부터 전송되는 영상 정보를 인식하기 위한 영상 인식 프로파일, 로봇의 움직임을 검출하기 위한 움직임 검출 프로파일중 적어도 하나의 프로파일을 포함한다. The profile of the server may include an authentication profile for performing authentication of the robot and the client, a remote control profile providing an interface for remotely controlling the robot from the client, and an event (robot movement) of the robot at the server or client. Control event), a voice recognition profile for voice recognition of voice commands received from the robot, a voice synthesis profile for synthesizing voice recognition data and text data, and image information transmitted from the robot. At least one profile of the image recognition profile for detecting, the motion detection profile for detecting the movement of the robot.

상기 로봇의 프로파일은, 로봇의 위치 이동을 위한 이동 프로파일, 네비게이션 프로파일, 음성 명령에 대한 음성 검출 프로파일, 서버로부터 제공되는 음성 합성에 데이터를 출력하는 발성 프로파일, 로봇의 움직임을 제어하는 모션 프로파일, 로봇의 감정 표현 기능을 수행하는 감정 프로파일 중 적어도 하나의 프로파일을 포함한다. The profile of the robot includes a movement profile for moving the position of the robot, a navigation profile, a voice detection profile for a voice command, a voice profile for outputting data to a voice synthesis provided from a server, a motion profile for controlling the movement of the robot, and a robot. At least one profile of the emotion profile to perform the emotional expression function of.

상기 로봇 프로파일은, 상기 서버나 클라이언트로부터 로봇의 움직임 제어 메시지가 수신되어 로봇의 각 컴포넌트별 움직임 상태가 전이(Transition)되는 경 우 움직임 전이 이벤트 정보를 상기 서버나 클라이언트로 제공하는 이벤트 제공 프로파일을 더 포함한다. The robot profile further includes an event providing profile that provides motion transition event information to the server or client when a motion control message of the robot is received from the server or client and the motion state of each component of the robot is transitioned. Include.

상기 움직임 전이 이벤트는, 로봇의 각 컴포넌트 상태를 IDLE 및 ACTIVE 상태로 구분하고, 각 상태에서 다른 상태로 전이가 될 때, 시작, 종료(또는 정지) 이벤트로 구분한다. The motion transition event divides each component state of the robot into an IDLE and an ACTIVE state, and divides it into a start, end (or stop) event when a transition is made from each state to another state.

상기 서버의 프로파일은, 상기 로봇의 네트워크 접속상태를 파악하기 위해 주기적으로 Heartbeat 요구 메시지를 전송하는 HB 요구 프로파일을 더 포함한다.The server profile further includes an HB request profile that periodically transmits a heartbeat request message to determine the network connection status of the robot.

상기 로봇의 프로파일은, 상기 서버로부터 로봇의 네트워크 접속 상태를 파악하기 위해 주기적으로 전송하는 Heartbeat 요구 메시지에 따라 Heartbeat 응답 메시지를 상기 서버로 전송하는 HB 응답 프로파일을 더 포함한다.The robot profile further includes an HB response profile that transmits a Heartbeat response message to the server according to a Heartbeat request message periodically transmitted from the server to determine a network connection state of the robot.

또한, 본 발명에 따른 통신 제어 시스템의 다른 측면에 따르면, 기 설정된 데이터 포맷의 Payload 필드 내용에 따라 화상, 음성, Moving 중 적어도 어느 하나 이상의 서비스를 수행하는 로봇과; 상기 로봇을 통한 사용자 명령을 인식하여 상기 로봇과 해당 프로토콜을 따라 상기 데이터 포맷을 갖는 패킷을 송수신하며, 상기 패킷의 데이터 포맷에 따라 상기 서비스가 수행되도록 제어하는 서버; 원격에 위치하여 상기 서버를 통해 로봇의 원격 제어 및 모니터링 서비스를 수행하는 클라이언트를 포함한다. In addition, according to another aspect of the communication control system according to the present invention, a robot for performing at least one service of the image, voice, moving according to the contents of the payload field of the preset data format; A server that recognizes a user command through the robot and transmits and receives a packet having the data format according to the robot and the protocol, and controls the service to be performed according to the data format of the packet; Located remotely and includes a client to perform a remote control and monitoring service of the robot through the server.

상기 로봇은, 상기 서버 또는 클라이언트로부터 로봇을 구성하는 각 검포넌트를 제어하기 위한 제어 메시지가 수신되어 해당 컴포넌트를 구동하고, 해당 컴포넌트의 움직임 상태가 전이(Transition)되는 경우 움직임 전이 이벤트 정보를 상기 서버나 클라이언트로 제공한다.The server, when a control message for controlling each inspection component constituting the robot is received from the server or the client, drives the corresponding component, and when the movement state of the corresponding component is transitioned, the server sends the motion transition event information to the server. I serve as a client.

상기 움직임 전이 이벤트 정보는, 로봇의 각 컴포넌트 상태를 IDLE 및 ACTIVE 상태로 구분하고, 각 상태에서 다른 상태로 전이가 될 때, 시작, 종료(또는 정지) 이벤트 정보를 포함한다.The motion transition event information divides each component state of the robot into IDLE and ACTIVE states, and includes start, end (or stop) event information when a transition is made from each state to another state.

상기 서버는, 상기 로봇의 네트워크 접속상태를 파악하기 위해 주기적으로 Heartbeat 요구 메시지를 전송하고 로봇으로부터 수신되는 Heartbeat 응답 메시지의 수신 여부에 따라 로봇의 네트워크 접속 상태를 파악한다.The server periodically transmits a heartbeat request message to determine the network connection state of the robot, and determines the network connection state of the robot according to whether or not a heartbeat response message is received from the robot.

상기 로봇은, 상기 서버로부터 주기적으로 전송하는 Heartbeat 요구 메시지에 따라 Heartbeat 응답 메시지를 상기 서버로 전송한다.The robot transmits a heartbeat response message to the server according to a heartbeat request message periodically transmitted from the server.

상기 서버는, 상기 클라이언트에서 로봇의 원격 제어를 위해 클라이언트의 인증을 수행하고, 자신과 연결된 로봇들의 리스트 정보를 클라이언트로 제공하며,클라이언트로부터 제어하고자하는 로봇이 할당된 경우 할당된 로봇과 클라이언트간에 인터페이스를 제공한다.The server performs authentication of the client for remote control of the robot at the client, provides the list information of the robots connected to the client, and when a robot to be controlled from the client is assigned, an interface between the allocated robot and the client To provide.

한편, 본 발명에 따른 클라이언트, 로봇 및 클라이언트와 로봇간의 인터페이스를 제공하는 서버를 포함한 통신 제어 시스템에서 원격에 위치한 클라이언트를 이용하여 로봇을 제어하는 방법의 일 측면에 따르면, 상기 원격에 위치한 클라이언트는 임의의 로봇을 원격 제어 및 모니터링 서비스를 수행하기 위해 서버에 접속하여 인증 및 서버에 접속된 다수의 로봇 리스트 정보를 요구하는 단계; 상기 서버는 클라이언트의 인증을 수행한 후, 자신과 연결된 로봇 리스트정보를 상기 클라이언트로 전송하는 단계; 상기 클라이언트는 서버로부터 전송된 로봇 리스트 정보를 이용하여 제어하고자 하는 로봇을 선택하여 해당 정보를 서버로 전송하는 단계; 상기 서버는 클라이언트로부터 선택된 로봇과 상기 클라이언트간에 로봇 원격 제어 및 모니터링 서비스를 위한 메시지의 송수신 인터페이스를 설정하는 단계를 포함한다. Meanwhile, according to an aspect of a method of controlling a robot using a client located remotely in a communication control system including a client, a robot, and a server providing an interface between the client and the robot, the client located remotely may be Requesting a plurality of robot list information connected to the server to authenticate and access the server to perform a remote control and monitoring service of the robot; After the server authenticates the client, transmitting the robot list information connected to the server to the client; The client selecting a robot to be controlled by using the robot list information transmitted from the server and transmitting the corresponding information to the server; The server includes setting a transmission / reception interface of a message for robot remote control and monitoring service between the robot selected from the client and the client.

상기 클라이언트와 클라이언트가 선택한 로봇간에 인터페이스가 설정된 상태에서, 클라이언트는 서버를 통해 로봇을 제어하기 위한 다양한 서비스 채널에 가입하는 단계; 서비스 채널에 가입 후, 클라이언트는 서버를 통해 로봇으로 로봇이 촬영한 영상 정보와 로봇의 상태 정보를 요구하고, 로봇으로부터 주기적으로 전송되는 영상 정보 및 상태 정보에 따라 로봇의 임의의 기능을 제어하기 제어 메시지를 전송하는 단계; 로봇은 클라이언트로부터 서버를 통해 전송되는 제어 메시지에 따라 해당 기능을 수행하고, 해당 기능의 동작 시점과 종료 시점에 대한 이벤트 정보를 서버를 통해 클라이언트로 전송하는 단계; 상기 클라이언트는 로봇의 원격 제어 및 모니터링 서비스가 종료되면, 서버로 로봇과의 연결 종료 요구 메시지를 전송하여 로봇과의 연결을 로그아웃하는 단계를 더 포함한다. In a state in which an interface is established between the client and the robot selected by the client, the client subscribing to various service channels for controlling the robot through a server; After joining the service channel, the client requests image information and status information of the robot to the robot through the server, and controls to control any function of the robot according to the image information and status information periodically transmitted from the robot. Sending a message; The robot performs the corresponding function according to the control message transmitted from the client through the server, and transmits event information on the operation time and the end time of the function to the client through the server; The client further includes the step of logging out the connection with the robot by sending a connection termination request message to the server when the remote control and monitoring service of the robot is terminated.

상기 서버에서 로봇의 네트워크 연결 상태를 체크하기 위해 주기적으로 Heartbeat 요구 메시지를 로봇으로 전송하는 단계; 상기 로봇은, 상기 서버로부터 전송되는 Heartbeat 요구 메시지에 따라 응답 메시지를 전송하여 네트워크 연결 상태 정보를 서버로 통지하는 단계를 더 포함한다. Periodically transmitting a heartbeat request message to the robot to check the network connection status of the robot at the server; The robot may further include transmitting a response message according to the Heartbeat request message transmitted from the server to notify the server of network connection status information.

이하, 본 발명에 따른 단말용 데이터 포맷을 이용한 통신 제어 시스템 및 그 방법에 대하여 첨부된 도면을 참조하여 각 실시예별로 상세하게 살펴 보기로 하자. Hereinafter, a communication control system using a terminal data format and a method thereof according to the present invention will be described in detail with reference to the accompanying drawings.

(제1 실시예)(First embodiment)

도 2는 본 발명에 따른 로봇 제어를 위한 TCP/IP 기반의 URC 프로토콜의 물리적 계층 구조를 나타낸 도면이다.2 is a diagram illustrating a physical layer structure of a TCP / IP-based URC protocol for robot control according to the present invention.

도 2에 도시된 바와 같이 URC 프로토콜은 이더넷(Ethernet) 기반에서 네트워크와 전송계층인 TCP/IP 계층의 상위에 위치한 응용계층에 속하며, TCP/IP 프로토콜 기반에서 서버에게 단말 즉 클라이언트와 로봇의 사용인증을 확인할 수 있고, 이에 따라 확인된 클라이언트에 의해 상기 로봇이 적절한 동작을 수행하도록 서버를 원하는 서비스명령에 따라서 통제하는 것이다.As shown in FIG. 2, the URC protocol belongs to an application layer located above the TCP / IP layer, which is a network and a transport layer, based on Ethernet, and authenticates the use of a terminal, that is, a client and a robot, to a server based on the TCP / IP protocol. In this case, the robot is controlled by the identified client according to a desired service command so that the robot can perform an appropriate operation.

여기서, URC 프로토콜을 제외한 다른 프로토콜 즉 SMTP(Simple mail transfer protocol), DNS(Domain name protocol) 등은 본 발명의 기술적 사상과 관련이 없으므로 그에 대한 설명을 생략한다.Here, other protocols except for the URC protocol, namely Simple Mail Transfer Protocol (SMTP), Domain Name Protocol (DNS), etc., are not related to the technical spirit of the present invention, and thus description thereof will be omitted.

프로토콜은 로봇의 효율적인 운용과 동작을 위한 임베디드 네트워크(Embedded network)를 기반으로 하며, URC 서버와 로봇 ,URC 서버와 클라이언트 또는 기타 단말 등과 쉽게 연동할 수 있으며, 각종 서비스 동작을 단순하게 구현할 수 있다.The protocol is based on an embedded network for efficient operation and operation of the robot, and can easily interoperate with a URC server, a robot, a URC server, a client or other terminals, and can simply implement various service operations.

URC 프로토콜은 TCP/IP 기반으로 한 응용계층 간에 통신을 통하여 로봇과 URC 서버 및 URC 서버와 클라이언트 간에 데이터를 송수신하여 클라이언트에서 로봇을 제어할 뿐만 아니라 로봇을 통하여 사용자가 직접 명령을 입력하므로 로봇의 서비스 동작을 무리없이 수행할 수 있도록 한다.The URC protocol sends and receives data between the robot and the URC server and the URC server and the client through communication between the application layers based on TCP / IP to control the robot from the client, and the user directly inputs the command through the robot to provide the services of the robot. Allows you to perform the operation without difficulty.

로봇과 URC 서버 및 URC 서버와 클라이언트 간에는 프로토콜을 일치하고 인터페이스를 동기화하여 이들간에 데이터를 송수신하므로 사용자가 원하는 서비스를 무리없이 수행할 수 있다. 여기서, 상기 송수신되는 패킷은 로봇과 URC 서버 및 URC 서버와 클라이언트 간에 인터페이스하기 위한 데이터 포맷을 가지고 있다. The protocol is matched between the robot and the URC server and the URC server and the client, and the interface is synchronized to transmit and receive data between them, so that the user can easily perform the desired service. Here, the transmitted and received packet has a data format for interfacing between the robot and the URC server and the URC server and the client.

도 3은 본 발명의 제1 실시예에 따른 로봇을 제어하기 위한 로봇과 URC 서버간의 URC 프로토콜을 통해 송수신되는 패킷에 대한 헤더 구조를 나타낸 도면이다. 3 is a diagram illustrating a header structure of a packet transmitted and received through a URC protocol between a robot and a URC server for controlling a robot according to a first embodiment of the present invention.

도 3에 도시된 바와 같은 구조를 갖는 패킷은 패킷 내 페이로드(이하, Payload라 칭함) 필드의 정보에 따라 화상용, 음성용, VoIP용, Moving용 등으로 구분되며, 이들은 해당하는 각 포트를 통해 전송된다. 각 포트별로 공통적인 헤더를 가지고 있다.A packet having a structure as shown in FIG. 3 is classified into a picture, a voice, a VoIP, a moving, and the like according to the information of a payload (hereinafter referred to as a payload) field in the packet, and these packets correspond to each corresponding port. Is sent through. Each port has a common header.

상기 패킷의 공통헤더는 다수의 필드를 가지고 있으며, 그 각각의 필드는 도 3에 도시된 바와 같이 Protocol Discriminator(41), Protocol Version(42), Session ID(43), Data Direction(44), Data Type(45), Service ID(46), Payload Length(47), Reserved(48), Payload(49) 필드를 포함한다. 여기서, 상기 Payload(49) 필드는 2Byte에 해당하는 크기의 Payload Head를 포함하고 있으며, Client Type, Client ID, User ID, Message Type, Authorization Code가 Payload의 내부 필드를 형성하고 있다.The common header of the packet has a plurality of fields, each of which has a protocol discriminator 41, a protocol version 42, a session ID 43, a data direction 44, and data as shown in FIG. It includes a Type 45, Service ID 46, Payload Length 47, Reserved 48, and Payload 49 fields. Here, the payload 49 field includes a payload head having a size corresponding to 2 bytes, and a client type, a client ID, a user ID, a message type, and an authorization code form an internal field of the payload.

Protocol Discriminator(41)는 2byte로 할당될 수 있으며, 데이터가 프로토콜에서 정의된 메시지임을 지정하기 위한 첫번째 필드값으로써, 입력된 데이터의 첫번째 필드값이 동일한 Protocol Discriminator일 경우에만 인터페이싱을 승인하여 데이터를 처리하도록 하고, 그렇지 않고 승인되지 않으면 처리하지 않고 무시해 버린다. 예를들면 0x7E7E와 같은 형식을 가지게 된다.The Protocol Discriminator 41 can be allocated with 2 bytes and is the first field value to designate that the data is a message defined in the protocol. The protocol discriminator 41 processes the data by approving the interface only when the first field value of the input data is the same Protocol Discriminator. If not, it will be ignored without processing. For example, it will have the format 0x7E7E.

Protocol Version(42)는 2 byte로 할당될 수 있으며, 프로토콜 Version에 대한 필드로서, 초기에는 예를 들어 0x0001로 설정(Version 1.0)되어 있다가 프로토콜이 업데이트될 때마다 비트를 하나씩 증가시킨다.The Protocol Version 42 may be allocated in 2 bytes, and is a field for the Protocol Version. The Protocol Version 42 is initially set to, for example, 0x0001 (Version 1.0), and increases by one bit each time the protocol is updated.

Session ID(43)는 4byte로 할당되어 세션 번호로 구성되며 그 번호가 초기에 0x00000000값으로 할당될 수 있다. 사용자 인증이 끝난 후에 URC 서버에서 로봇에게 자동으로 부여하여 주며, Session ID(43)는 다른 단말들(예를 들어 사용자 단말 및 PDA)을 개별적으로 구분하고, 식별하기 위한 것이다. 여기서는 한 개의 포트와 여러 개의 포트를 쓸 수 있는 방법이 있으며, 한 개의 포트를 사용할 경우는 단순히 다른 로봇과 구분하고 식별하기 위해 사용되지만, 여러 개의 포트를 사용할 경우는 다른 로봇과의 식별뿐만 아니라 각각의 포트들을 구분하는데 사용할 수 있다. Session ID 43 is composed of a session number assigned to 4 bytes and the number may be initially assigned a value of 0x00000000. After the user authentication is completed, the URC server automatically assigns the robot, and the Session ID 43 is used to separately identify and identify other terminals (eg, user terminal and PDA). In this case, there is a way to use one port and several ports, and if one port is used, it is used to distinguish and identify with other robots. It can be used to identify ports in.

이하, 제1 실시예에서는 Session ID(43)를 하나의 포트를 사용하여 로봇을 구분하기 위한 것으로 설명한다.Hereinafter, in the first embodiment, the Session ID 43 is used to distinguish the robot using one port.

Data Direction(44) 필드는 1 byte를 가지고 데이터의 최종 목적지를 구분하기 위한 필드로써, 로봇에서 URC 서버로 전달되는지 혹은 클라이언트에서 URC 서버로 전달되는 패킷인지를 구분하기 위해 사용한다. 패킷을 송신하는 주체가 누구인지를 구분하기 위한 구분자라고 보면 된다. 예를 들어, Data Direction(44)필드에 0x01로 나타내면 로봇에서 URC 서버로 송신하는 것임을 알 수 있다.The Data Direction (44) field is used to distinguish the final destination of data with 1 byte. It is used to distinguish whether the packet is transmitted from the robot to the URC server or the client to the URC server. It can be regarded as a delimiter for identifying who is sending the packet. For example, if 0x01 is indicated in the Data Direction (44) field, it can be seen that the robot transmits to the URC server.

Data Type(45) 필드는 1 byte를 가지고, 데이터의 형식과 내용에 따라서 여러 가지로 구분될 수 있다. 즉, Data Type(45) 필드에 기록되는 데이터는 음성 인식용 데이터인 ASR(Automatic Speech Recognition), 음성 출력용(합성용) 데이터인 TTS(Text To Speech), 얼굴인식 및 움직임 검출용 데이터인 FR(Face Recognition)/MD(Motion Detection), 인증용 데이터인 Authorization, 로봇 제어용 데이터, PDA용 데이터, VoIP용 데이터 등으로 나타낼 수 있다. 이와 같은 Data Type(45) 필드내에 기록되는 여러 데이터 형식별로 서로 다른 포트에 따라서 패킷을 전송할 수 있다.The Data Type (45) field has 1 byte and can be classified into various types according to the format and content of the data. That is, the data recorded in the Data Type (45) field includes Automatic Speech Recognition (ASR) which is data for speech recognition, Text To Speech (TTS) which is data for speech output (synthesis), and FR (Data for speech recognition and motion detection). Face Recognition) / MD (Motion Detection), Authorization Data for Authorization, Robot Control Data, PDA Data, VoIP Data. Packets can be transmitted according to different ports for various data types recorded in the Data Type 45 field.

Service ID(46)필드는 2 byte로 할당되며, 로봇과 원격 클라이언트에 서비스 세션을 구분하기 위해 URC 서버로부터 할당받은 ID를 기록하는 필드로써, 상기 Payload(49)필드에 기록되는 서비스의 이용 가능 여부를 판단하고, 이를 구분하기 위한 데이터가 기록된 필드이다. Service ID에 따라 무인경비서비스, 원격 모니터링 서비스, 음성 인식 서비스, 화상 인식 서비스로 나누어진다. 초기 Service ID는 0x0000으로 시작하고 서비스가 시작될 때마다 하나씩 증가하는 형태를 가진다.The Service ID (46) field is assigned to 2 bytes and records the ID allocated from the URC server to distinguish the service session between the robot and the remote client. The service recorded in the Payload 49 field is available. It is a field in which data for judging and classifying the data is recorded. According to Service ID, it is divided into Unmanned Security Service, Remote Monitoring Service, Voice Recognition Service, and Image Recognition Service. The initial Service ID starts with 0x0000 and increases by one each time the service is started.

Payload Length(47) 필드는 2 byte를 가지며, 헤더를 제외한 실제 payload(49) 필드의 크기를 바이트 형태로 명시한다.The Payload Length (47) field has 2 bytes and specifies the size of the actual payload (49) field except the header in the form of bytes.

Reserved(48) 필드는 4 byte를 가지며, 향후 패킷의 QoS 보장을 위해 추가적인 필드 항목으로 사용하지 않는 여분의 필드이다.The Reserved (48) field has 4 bytes and is an extra field that is not used as an additional field item to guarantee QoS of a future packet.

Payload(49) 필드는 각 서비스에 해당하는 API를 위한 추가적인 필드와 실제 영상 및 음성 데이터가 포함되는 부분이다. 공통헤더가 정의된 후에 포트로 전송되는 패킷들에 대한 각각의 추가적인 구분이 필요하다. Payload(49) 필드 내의 패이로드는 실제적으로 Data type(45)에서 정해지는 데이터 타입 즉 음성인식용 데이터인 ASR(Automatic Speech Recognition), 음성 출력용(합성용) 데이터인 TTS(Text To Speech), 얼굴인식 및 움직임 검출용 데이터인 FR(Face Recognition)/MD(Motion Detection), 인증용 데이터인 Authorization, 로봇제어용 데이터 PDA용 데이터, VoIP용 데이터 등이 전송된다. The payload 49 field is an additional field for an API corresponding to each service and a portion including actual video and audio data. After the common header is defined, each additional distinction is needed for packets sent to the port. The payload in the Payload (49) field is actually a data type determined by Data type (45), that is, Automatic Speech Recognition (ASR), which is speech recognition data, Text To Speech (TTS), which is data for speech output (synthesis), and face. Face Recognition (FR) / Motion Detection (MD) data for recognition and motion detection, Authorization data for authentication, data for PDA, robot control data, and data for VoIP are transmitted.

Payload(49)필드는 도시되지 않았지만, 음성인식용 데이터인 ASR(Automatic Speech Recognition), 음성 출력용 데이터인 TTS(Text To Speech), 얼굴인식 및 움직임 검출용 데이터인 FR(Face Recognition)/MD(Motion Detection), 인증용 데이터인 Authorization, 로봇제어용 데이터 PDA용 데이터, VoIP용 데이터를 의미하는 다수의 형태로 구분될 수 있다. 이를 위하여 Client Type, Client ID, User ID, Authorization Code, Massage Type의 필드를 더 포함하고 있다.Although the payload 49 field is not shown, Automatic Speech Recognition (ASR), which is speech recognition data, Text To Speech (TTS), which is speech output data, and Face Recognition (MD) / MD (Motion), which is data for face recognition and motion detection Detection), Authorization data for authentication, Robot control data PDA data, VoIP data can be classified into a number of forms. To this end, it further includes fields of Client Type, Client ID, User ID, Authorization Code, and Massage Type.

Client Type은 1byte로 할당되며, 단말의 종류 즉 로봇 또는 다수의 원격 클라이언트 단말들을 각각 0x01, 0x02, 0x03, 0x04로 나타낸다. 즉, Data Direction()에 의해서 데이터의 이동방향에 따라 클라이언트 단말이 출발지 또는 목적지일 경우, Client Type은 그 클라이언트 단말을 나타낸다.The client type is allocated to 1 byte and represents the type of the terminal, that is, the robot or the plurality of remote client terminals as 0x01, 0x02, 0x03, and 0x04, respectively. That is, when the client terminal is the origin or destination according to the data moving direction by Data Direction (), the Client Type indicates the client terminal.

Client ID는 4byte로 할당되며, 다수의 단말들 마다 각각 고유의 ID가 부여되어 각각의 클라이언트 단말을 구별하기 위한 것이다. 즉, Data Direction(44)에 의해서 데이터의 이동방향에 따라 클라이언트 단말이 출발지 또는 목적지가 될 경우, Client ID는 그 클라이언트 단말을 의미한다. ID의 부여방법은 제조순서 및 사용자의 지역과 사용자 ID등을 조합하여 적절한 ID를 생성한다. Client ID is allocated to 4 bytes, and a unique ID is assigned to each of a plurality of terminals to distinguish each client terminal. In other words, when the client terminal becomes the origin or destination according to the data moving direction by the data direction 44, the client ID means the client terminal. In the method of assigning ID, a proper ID is generated by combining the manufacturing order and the user's region and the user ID.

User ID는 1byte를 가지고 URC 서버가 인식한 사용자의 ID이며, 초기에 000000으로 설정되어 사용자의 수가 늘어날 때마다 하나씩 증가한다. URC 서버로부터 인증받은 후 등록 가능한 사용자의 ID를 부여하고, 다수의 사용자일 경우 마스터를 제외하고 나머지는 슬레이브이다.User ID is the ID of the user recognized by the URC server with 1 byte. It is initially set to 000000 and increases by one whenever the number of users increases. After being authenticated by the URC server, the user can assign a user ID that can be registered.

Authorization Code는 로봇단말의 Authorization Message를 위한 인증번호를 포함하는 필드이고, 메시지 헤드부분의 메시지 타입의 필드가 Authorization Message가 아닐 경우 디폴트(Default)의 값을 갖는다. Authorization Message일 경우는 개개인에게 미리 부여된 인증키를 사용자에게 입력받고, 인증이 확인된 경우만 서비스 사용이 가능하도록 한다.The Authorization Code is a field that contains an authentication number for the Authorization Message of the robot terminal, and has a default value when the message type field of the message head portion is not an Authorization Message. In the case of an Authorization Message, the user receives an authentication key previously given to the individual, and the service can be used only when the authentication is confirmed.

Massage Type는 2byte로 할당되며, 데이터를 전송하기 위한 것인지, 로봇 및 클라이언트와 URC 서버 사이의 연결 초기화, 응답, 동기화, 인증 등을 위한 것인지에 따른 절차를 구분하는 것이다. 메시지의 종류에 따라서 구분하면, 도 4와 같이, Request Message(50), Acknowledgement response Message(51), Error Acknowledgement response Message(52), Synchronization Message(53), Authorization Message(54), Positive Authorization Message(55), Negative Authorization Message(56), Data Message(57), Close Report Message(58)로 구분될 수 있다. The Massage Type is allocated in 2 bytes and classifies the procedure according to whether it is to transmit data or to initiate, respond, synchronize, or authenticate the connection between the robot and the client and the URC server. According to the type of message, as shown in Fig. 4, the Request Message 50, the Acknowledgement Response Message 51, the Error Acknowledgement Response Message 52, the Synchronization Message 53, the Authorization Message 54, and the Positive Authorization Message ( 55), Negative Authorization Message (56), Data Message (57), Close Report Message (58).

도 4는 본 발명에 따른 로봇과 URC 서버 간의 송수신되는 메시지 타입의 변화를 나타낸 도면이다.4 is a diagram illustrating a change in a message type transmitted and received between a robot and a URC server according to the present invention.

도 4에 도시된 바와 같이 Request Message(50)는 로봇에서 URC 서버에게 연결을 시도할 때 로봇에서 URC 서버로 전송되는 메시지이다.As shown in FIG. 4, the Request Message 50 is a message transmitted from the robot to the URC server when the robot attempts to connect to the URC server.

Acknowledgement response Message(51)는 로봇에서 상기와 같은 Request Message(50)를 전송하여 연결을 요구할 경우 연결이 성공적으로 이루어졌을 때, URC 서버에서 로봇에게 전송하는 응답 메시지이다.The acknowledgment response message 51 is a response message transmitted from the URC server to the robot when the connection is successfully made when the robot sends the request message 50 as described above.

한편, Error Acknowledgement response Message(52)는 로봇과 URC 서버가 성공적으로 연결이 이루어지지 못하였을 경우, URC 서버에서 로봇에게 전송하는 응답 메시지이다.Meanwhile, the error acknowledgment response message 52 is a response message transmitted from the URC server to the robot when the robot and the URC server are not successfully connected.

Synchronization Message(53)는 상기와 같이 URC 서버와 로봇간에 연결된 상태에서 URC 서버와 로봇간에 지속적인 연결 상태를 체크하는 메시지이다.The Synchronization Message 53 is a message for checking a continuous connection state between the URC server and the robot in the state connected between the URC server and the robot as described above.

Authorization Message(54)는 URC 서버로부터 로봇과의 네트워크 연결상태에 이상이 없다는 메시지, 즉 Acknowledgement response Message(52)를 수신하는 경우 로봇에서 상기 URC 서버로 인증을 요구하기 위해 전송하는 메시지이다.The Authorization Message 54 is a message transmitted from the URC server to the URC server to request the authentication when an acknowledgment response message 52 is received.

Positive Authorization Message(55)는 URC 서버에서 로봇의 인증이 성공했을 경우 로봇에게 전송하는 인증 완료 메시지이다.Positive Authorization Message (55) is an authentication completion message sent to the robot when the authentication of the robot succeeds in the URC server.

한편, Negative Authorization Message(56)는 URC 서버에서 로봇의 인증이 실패한 경우 로봇에게 전송하는 인증 실패 메시지이다.Meanwhile, the Negative Authorization Message 56 is an authentication failure message transmitted to the robot when authentication of the robot fails in the URC server.

Data Message(57)는 일반적인 데이터 전송의 경우 해당되는 형식으로 영상, 음성, TTS, VoIP, 제어데이터 전송 등에 사용되는 메시지이다.The data message 57 is a message used for video, audio, TTS, VoIP, control data transmission, etc. in a corresponding format for general data transmission.

Close Report Message(58)는 사용자가 URC 서버와의 연결의 종료를 로봇에 명령한 경우 로봇에서 URC 서버로 전송하는 연결 종료 메시지이다.The Close Report Message 58 is a connection termination message transmitted from the robot to the URC server when the user commands the robot to terminate the connection with the URC server.

상술한 바와 같은 공통헤드가 정의된 후에 사용하게 될 메시지들에 대한 각각의 서비스 필드를 더 상세하게 설명하면 다음과 같다.Each service field for messages to be used after the common head as described above is defined will be described in more detail as follows.

먼저, 상기 Payload 필드는 화상용, 음성용, Moving용 payload 필드로 구분될 수 있다. First, the payload field may be divided into a payload field for image, voice, and moving.

화상용 Payload 메시지 필드는 파일넘버, 사이즈와 실제 2진 데이터로 구성되어 있으며, 파일넘버는 Client Type 1바이트와, Client ID 4바이트와, 파일생성순서 3바이트로 구성되어 있고, 사이즈는 실제 화상의 크기를 나타내는 것으로 4바이트로 구성되어 있고, 데이터는 실제 데이터이다. The Payload message field for image consists of file number, size and actual binary data. The file number consists of 1 byte of Client Type, 4 bytes of Client ID, and 3 bytes of file creation order. It represents the size and consists of 4 bytes, and the data is actual data.

음성용 Payload 메시지 필드는 화상과 동일한 타입 즉 파일넘버와 사이즈와 실제 2진 데이터로 구성되어 있으며, 파일넘버는 Client Type 1바이트와, Client ID 4바이트와, 파일생성순서 3바이트로 구성되어 있고, 사이즈는 실제 음성의 크기를 나타내는 것으로 4바이트로 구성되어 있고, 데이터는 실제 데이터이다.The payload message field for voice is composed of the same type as the image, that is, the file number and size, and the actual binary data.The file number is composed of 1 byte of Client Type, 4 bytes of Client ID, and 3 bytes of file creation order. The size represents the size of the actual voice and is composed of 4 bytes. The data is actual data.

예를 들어 화상용 및 음성용 파일넘버가 0x01(Client Type) 000000001(Client ID) 000009(파일생성순서)일 경우, 이는 로봇단말 1번에서 9번째로 생성된 음성 및 화상 데이터란 의미이다. 만약 헤드에서 Data Direction 값이 0x01일 경우, 음성 및 화상 데이터가 로봇단말의 카메라 및 마이크에서 서버로 전송될 데이터를 의미하고, 0x02일 경우, 반대방향으로 향하는 데이터전송을 의미한다.For example, if the file number for image and sound is 0x01 (Client Type) 000000001 (Client ID) 000009 (file creation order), this means the voice and image data generated from the ninth to the robot terminals. If the data direction value at the head is 0x01, the voice and image data means data to be transmitted from the camera and microphone of the robot terminal to the server. If the data direction is 0x02, it means data transmission in the opposite direction.

Moving용 Payload 메시지 필드는 제어명령의 형태에 따라 Robot movement, Robot status control, Robot status report, Robot Error status, Camera control로써 5가지의 command type으로 구성되어 있다.The payload message field for moving consists of five command types: robot movement, robot status control, robot status report, robot error status, and camera control, depending on the type of control command.

command type이 Robot movement일 경우, 이는 총 12바이트로 할당되며, 로봇단말의 X축 이동거리 4바이트와, 로봇단말의 Y축 이동거리 4바이트와, 로봇단말의 자세각도 2바이트와, 카메라 앵글 2바이트로 구성되어 있다. If the command type is Robot movement, it is allocated 12 bytes in total, 4 bytes of X-axis movement distance of the robot terminal, 4 bytes of Y-axis movement distance of the robot terminal, 2 bytes of posture angle of the robot terminal, and camera angle 2 Consists of bytes.

command type이 Robot status control일 경우, 이는 총 5바이트로 할당되며, 로봇단말 상태 Report 여부 1바이트와, Report 주기 4바이트로 구성되어 있다.When the command type is Robot status control, it is allocated with 5 bytes in total, and it consists of 1 byte of robot terminal status report and 4 bytes of report period.

command type이 Robot status report일 경우, 이는 총 15바이트로 할당되며, 상기 Robot movement 정보를 이용한 로봇단말의 현재 위치정보 12바이트와, 로봇단말 현재 상태 정보 2바이트와, Action 완료여부 1바이트로 구성되어 있다. 여기서 현재상태 정보는 무인경비 설정상태, 로봇단말 이동상태, 감시상태, 로봇단말 이상상태, 신원확인상태, 경고상태를 나타내는 정보이다.When the command type is Robot status report, it is allocated with a total of 15 bytes, and consists of 12 bytes of current position information of the robot terminal using the robot movement information, 2 bytes of current status information of the robot terminal, and 1 byte of completion of action. have. The current state information is information indicating an unmanned guard setting state, robot terminal movement state, monitoring state, robot terminal abnormal state, identity verification state, warning state.

command type이 Robot Error status일 경우, 이는 총 3바이트로 할당되며, 로봇단말이 자체적으로 이상여부를 판단한 것으로, 이상없음, 로봇단말 이동부 고장, 장애물로 인한 이동불가, 배터리 부족등을 나타내는 정보이다.If the command type is Robot Error status, this is allocated as 3 bytes in total, and it is the robot terminal that has determined whether it is abnormal. It is information indicating no abnormality, failure of the robot terminal moving part, impossibility of moving due to obstacles, and battery low. .

command type이 Camera control일 경우, 이는 총 2바이트로 할당되며, 화상데이터 전송 시작 등에 관하여 명령된 상태 1바이트와, 화상 데이터 전송 1바이트로 구성되어 있다.When the command type is Camera control, it is allocated in total of 2 bytes, and is composed of 1 byte of status commanded for image data transmission start and the like, and 1 byte of image data transmission.

상술한 바와 같은 본 발명의 제1 실시예에 따른 메시지 포맷을 이용한 로봇 제어 시스템에 대하여 살펴보자 Let's look at the robot control system using the message format according to the first embodiment of the present invention as described above

도 5는 본 발명에 따른 로봇 제어 시스템에 대한 네트워크 연결 관계를 나타낸 도면이다. 5 is a view showing a network connection relationship for the robot control system according to the present invention.

도 5에 도시된 바와 같이, 로봇 제어 시스템은, 클라이언트(10), URC 서버(20) 및 로봇(30)을 포함할 수 있다. As shown in FIG. 5, the robot control system may include a client 10, a URC server 20, and a robot 30.

클라이언트(10)와 URC 서버(20) 및 URC 서버(20)와 로봇(30)은 각각 TCP/IP 기반의 네트워크를 통해 연결되며, 상기 네트워크를 통해 상호 패킷이 송수신되어 음성인식 데이터, 화상인식 데이터, Moving용 제어데이터에 따른 동작을 수행한다.The client 10, the URC server 20, the URC server 20, and the robot 30 are respectively connected through a TCP / IP-based network, and packets are transmitted and received to each other through the network to recognize voice data and image recognition data. Performs operation according to moving control data.

사용자가 클라이언트(10)를 통해 로봇(30)을 동작시키기 위한 제어 패킷을 네트워크를 통해 전송하는 경우 URC 서버(20)는 수신된 패킷의 Payload필드를 분석하고, 사용자의 명령이 음성이나 키보드 명령일 경우 그 명령에 해당하는 서비스를 수행하도록 상기 로봇(30)을 제어하게 된다. 그러면, 로봇(30)은 서비스를 완료하여 그에 상응하는 패킷을 상기 URC 서버(20)로 제공하게 되고, URC 서버(20)는 로봇(30)으로부터 수신된 서비스 완료 패킷을 분석하여 그에 상응하는 결과 메시지를 패킷 형태로 서비스를 요구한 클라이언트(10)로 제공하게 되는 것이다.When the user transmits a control packet for operating the robot 30 through the client 10 through the network, the URC server 20 analyzes the payload field of the received packet, and the user's command is a voice or keyboard command. In this case, the robot 30 is controlled to perform a service corresponding to the command. Then, the robot 30 completes the service and provides a packet corresponding thereto to the URC server 20, and the URC server 20 analyzes the service completion packet received from the robot 30 and corresponds to the result. The message is provided to the client 10 requesting the service in the form of a packet.

따라서, 클라이언트(10)는 URC 서버(20)로부터 제공되는 결과 메시지에 따라 사용자가 모니터링할 수 있도록 디스플레이하게 되는 것이다.Therefore, the client 10 is to be displayed for the user to monitor according to the result message provided from the URC server 20.

한편, 사용자가 로봇(30)에게 음성으로 서비스 명령을 입력하면, 로봇(30)은 사용자가 입력한 음성 입력 신호를 TCP/IP 패킷으로 변환하여 해당 패킷을 URC 서버(20)로 전송한다. URC 서버(20)는 로봇(30)으로부터 수신된 패킷내의 음성데이터를 분석하여 사용자가 원하는 서비스를 인식하고, 이를 다시 Moving 제어명령의 패킷으로 변환하여 로봇(30)에게 네트워크를 통해 전송한다. 따라서, 로봇(30)은 상기 URC 서버(20)로부터 수신된 패킷의 Payload 정보에 해당하는 서비스를 수행하고, 이에 대한 응답을 상기 URC 서버(20)로 전송하면 URC 서버(20)가 그 결과 정보에 상응하는 음성 패킷을 생성하여 다시 로봇(30)으로 전송함으로써 사용자는 로봇(30)에서 출력되는 음성을 통해 그 결과를 확인할 수 있게 되는 것이다.On the other hand, when a user inputs a service command by voice to the robot 30, the robot 30 converts the voice input signal input by the user into a TCP / IP packet and transmits the packet to the URC server 20. The URC server 20 analyzes the voice data in the packet received from the robot 30 to recognize a service desired by the user, converts it into a packet of a moving control command, and transmits it to the robot 30 through a network. Therefore, the robot 30 performs a service corresponding to the payload information of the packet received from the URC server 20, and transmits a response to the URC server 20, the URC server 20 is the resulting information By generating a voice packet corresponding to the transmission to the robot 30 again, the user can check the result through the voice output from the robot (30).

도 6은 본 발명에 따른 로봇 제어 시스템에서 로봇과 클라이언트가 URC 서버에 접속시 URC 서버에서 로봇과 클라이언트에 제공 가능한 서비스와 해당 서비스를 위한 기본적인 상호간의 메시지 송수신 흐름을 나타낸 도면이다.6 is a diagram illustrating a service that can be provided to a robot and a client in a URC server and a basic message transmission / reception flow for the corresponding service when the robot and the client access the URC server in the robot control system according to the present invention.

패킷에 대하여 다시 언급하면, 이는 Protocol Discriminator(41), Protocol Version(42), Session ID(43), Data Direction(44), Data Type(45), Service ID(46), Payload Length(47), Reserved(48), Payload(49)의 필드를 가지고 있고, 특히, 상기 Payload(49) 필드는 Client Type, Client ID, User ID, Authorization Code, Message Type가 Payload의 내부 필드를 형성하고 있다.Referring again to the packet, it is: Protocol Discriminator (41), Protocol Version (42), Session ID (43), Data Direction (44), Data Type (45), Service ID (46), Payload Length (47), Reserved 48 and Payload 49 have fields. In particular, the Payload 49 field has an internal field of Payload in which Client Type, Client ID, User ID, Authorization Code, and Message Type.

도 6에 도시된 바와 같이, 로봇(30) 및 클라이언트(10)는 URC 서버(20)에서 인증이 된 경우에만 사용자가 원하는 서비스를 수행할 수 있다. As shown in FIG. 6, the robot 30 and the client 10 may perform a service desired by the user only when the URC server 20 is authenticated.

우선, 패킷의 Payload 필드의 세부항목 중에서 Authorization Code, Message Type에 인증을 위한 데이터를 설정하고, 각 코드와 메시지에 따라 인증절차가 진행된다.First, authentication data is set in the Authorization Code and Message Type among the detailed items of the Payload field of the packet, and an authentication procedure is performed according to each code and message.

즉, 로봇(30)은 초기에 인증되어 있지 않으며, 인증을 위한 연결 요구 메시지를 URC 서버(20)에 전송한다. 이때, 로봇(30)에서 URC 서버로 전송되는 메시지는 Authorization Code에 인증 번호가 디폴트로 설정되어 있으며, Payload필드의 Message Type에 상호 간의 연결을 시도하기 위한 Request Message가 존재하고, 나머지 필드에 초기 접속에 따른 데이터가 설정된다. That is, the robot 30 is not initially authenticated and transmits a connection request message for authentication to the URC server 20. At this time, the message transmitted from the robot 30 to the URC server has an authentication number set by default in the Authorization Code, and there is a request message for attempting to connect to each other in the Message Type of the Payload field, and initial access to the remaining fields. The data according to is set.

상기 메시지를 수신한 URC 서버(20)는 Payload 필드의 Message Type이 Request Message임을 확인하고, 성공적으로 연결되었음을 알리는 응답 메시지 - Acknowledgement response Message를 로봇(30)으로 전송한다. 성공적으로 연결되지 않았으면, 상기 URC 서버(20)는 Error Acknowledgement response Message를 로봇(30)으로 전송한다. 이 때, 송수신되는 메시지의 Payload에는 Message Type이 Synchronization Message를 나타내면 URC 서버(20)와 로봇(30) 간에 네트워크 연결이 지속적으로 이루어지고 있음을 알 수 있다.Upon receiving the message, the URC server 20 confirms that the message type of the payload field is a request message, and transmits an acknowledgment response message to the robot 30 indicating the successful connection. If the connection is not successful, the URC server 20 transmits an error acknowledgment response message to the robot 30. At this time, it can be seen that the network connection is continuously made between the URC server 20 and the robot 30 when the message type indicates a synchronization message in the payload of the transmitted and received messages.

URC 서버(20)는 네트워크에 이상이 없다고 판단하여 Acknowledgement response Message를 로봇(30)으로 전송한다. 이 메시지를 수신한 로봇(30)은 연결이 성공적으로 이루어졌음을 인식하여 수신된 메시지내 Payload의 Message Type를 통해 인증을 요구하는 Authorization Message를 URC 서버(20)로 전송한다. The URC server 20 determines that there is no abnormality in the network and transmits an Acknowledgement response message to the robot 30. Receiving this message, the robot 30 recognizes that the connection is successful and transmits an Authorization Message requesting authentication through the Message Type of Payload in the received message to the URC server 20.

그러면, URC 서버(20)는 로봇(30)의 인증요구에 따라 로봇(30)의 인증을 수행하고, 인증이 성공적으로 이루어진 경우 인증을 확인하는 Positive Authorization Message를 로봇(30)에게 전송한다. 여기서, 전송되는 메시지내에는 로봇(30)의 인증번호 정보가 포함되어 있어 해당 인증 번호가 로봇(30)에 부여된다. 만일, URC 서버(20)에서 외부적 내부적 요인으로 인하여 로봇(30)의 인증이 실패할 경우 URC 서버(20)는 인증실패를 확인하는 Negative Authorization Message를 로봇(30)으로 전송한다.Then, the URC server 20 performs the authentication of the robot 30 according to the authentication request of the robot 30, and transmits a positive authorization message to confirm the authentication to the robot 30 when the authentication is successful. Here, the authentication number information of the robot 30 is included in the transmitted message, and the corresponding authentication number is assigned to the robot 30. If the authentication of the robot 30 fails due to an external internal factor in the URC server 20, the URC server 20 transmits a Negative Authorization Message confirming the authentication failure to the robot 30.

따라서, URC 서버(20)와 로봇(30) 간의 인증여부를 확인한 후에 임의의 서비스 요구 패킷을 상호간에 송수신하여 사용자가 원하는 화상, 음성, Moving 등 서비스를 수행할 수 있는 것이다. Therefore, after confirming the authentication between the URC server 20 and the robot 30, it is possible to perform a service, such as video, voice, moving, etc. desired by the user by sending and receiving a random service request packet to each other.

한편, 클라이언트(10)의 인증절차 또한 상기와 동일한 과정으로 인증이 이루어지므로 그 상세한 절차에 대하여는 그 설명을 생략하고 상기와 동일한 방법을 통해 클라이언트(10)의 인증이 완료된 것으로 가정하자. On the other hand, since the authentication process of the client 10 is also authenticated by the same process as above, the detailed description thereof will be omitted and it is assumed that the authentication of the client 10 is completed through the same method.

상기와 같이 로봇(30)과 클라이언트(10)의 인증절차가 종료되면, URC 서버(20)는 클라이언트(10)와 URC 서버(20) 및 URC 서버(20)와 로봇(30) 간에 다수의 클라이언트와 로봇을 구분하기 위하여 Session ID 필드에 ID를 부여하여 로봇(30) 및 클라이언트(10)에 전송한다. 따라서, 해당 로봇(30) 및 클라이언트(30)는 URC 서버(20)로부터 부여된 Session ID를 이용하여 원하는 서비스 요구 메시지를 또는 로봇(30) 제어를 위한 제어요구 메시지를 URC 서버(20)로 요청하게 되고, URC 서버(20)는 수신된 서비스 요구 메시지 또는 로봇 제어 메시지에 따라 해당 서비스를 수행하거나 로봇(30)을 제어하게 되는 것이다. When the authentication procedure of the robot 30 and the client 10 is completed as described above, the URC server 20 is a plurality of clients between the client 10 and the URC server 20 and the URC server 20 and the robot 30. In order to distinguish between the robot and the robot, an ID is assigned to the Session ID field and transmitted to the robot 30 and the client 10. Accordingly, the robot 30 and the client 30 request a desired service request message or a control request message for controlling the robot 30 to the URC server 20 using the Session ID provided from the URC server 20. The URC server 20 performs the corresponding service or controls the robot 30 according to the received service request message or the robot control message.

즉, 로봇(30)은 사용자의 음성명령에 따라 해당 음성 데이터를 포함하는 패킷을 URC 서버(20)로 전송한다. URC 서버(20)는 수신된 패킷으로부터 음성명령을 분석하고 분석된 음성 명령에 상응하는 해당 서비스를 ID를 DB로부터 추출하여 로봇(30)에 해당 Service ID를 부여하게 된다. 즉, Service ID는 패킷의 Session ID에 해당하는 로봇(30)에게 전송한다. That is, the robot 30 transmits the packet including the voice data to the URC server 20 according to the voice command of the user. The URC server 20 analyzes the voice command from the received packet, extracts the corresponding service corresponding to the analyzed voice command from the DB, and gives the corresponding service ID to the robot 30. That is, the Service ID is transmitted to the robot 30 corresponding to the Session ID of the packet.

Service ID를 부여받은 로봇(30)은 URC 서버(20)와 해당 서비스에 대한 구 체적인 실행모드의 패킷을 전송하면서, 상기 Service ID에 해당하는 서비스 즉 무인경비, 원격 모니터링, 음성인식, 화상인식, Moving 제어 중 어느 하나를 수행하고, 수행 결과에 대한 패킷을 URC 서버(20)로 전송한다. 여기서 상기 Service ID는 로봇(30)이 수행할 수 있는 다수의 다른 서비스도 설정할 수도 있다. The robot 30 having received the Service ID transmits a packet of a specific execution mode for the URC server 20 and the corresponding service, and the service corresponding to the Service ID, that is, unmanned security, remote monitoring, voice recognition, and image recognition. , Moving control is performed, and the packet for the execution result is transmitted to the URC server 20. The Service ID may also set a number of other services that the robot 30 can perform.

예를들어, Service ID의 기능을 보면, 단말(로봇, 클라이언트) 인증이 끝난 후에, 사용자가 로봇(30)을 통해 음성으로 특정 서비스를 요청하면 URC 서버(20)에 전달된 음성 데이터는 분석 과정을 거쳐 특정 서비스 호출로 인식되고 해당 로봇(30)이 이서비스에 대한 사용 권한을 가지고 있는지를 판단한다. 판단 결과, 해당 로봇(30)이 해당 서비스 사용 권한이 부여된 로봇(30)인 경우 URC 서버(20)는 이에 대한 Service ID를 호출한 로봇(30)에 부여하게 된다. 그러면, Service ID를 부여받은 로봇(30)은 해당 서비스를 이용함에 있어 부여받은 Service ID를 사용하게 된다. For example, referring to the function of the service ID, after the terminal (robot, client) authentication is completed, when the user requests a specific service by voice through the robot 30, the voice data transmitted to the URC server 20 is analyzed. Through it is recognized as a specific service call and determines whether the robot 30 has the authority to use this service. As a result of determination, when the robot 30 is the robot 30 to which the service use authority is granted, the URC server 20 grants the robot 30 to call the service ID. Then, the robot 30 granted the Service ID uses the Service ID given in using the corresponding service.

상기 부여받은 Service ID를 이용하여 로봇(30)이 URC 서버(20)로 임의의 서비스를 요구하기 위한 패킷을 전송하게 되면, URC 서버(20)는 로봇(30)으로부터 전송된 패킷 헤더부분의 Service ID를 분석하여 해당 서비스 수행을 위한 어플리케이션을 구동하여 해당 서비스를 수행할 수 있도록 하는 것이다. When the robot 30 transmits a packet for requesting an arbitrary service to the URC server 20 by using the received service ID, the URC server 20 transmits a service of a packet header part transmitted from the robot 30. This is to analyze the ID and to run the application to perform the service.

한편, 클라이언트(10)는 로봇(30)처럼 이동체가 아니므로 원격 모니터링을 위한 서비스에 해당하는 Service ID를 부여받고, 그 Service ID에 대한 패킷이 전송되어 로봇(30)의 동작상황이나, 모니터링 화상 및 음성 데이터 등을 URC 서버(20)로부터 수신하여 모니터링할 수 있는 것이다. On the other hand, since the client 10 is not a mobile object like the robot 30, the client 10 receives a service ID corresponding to a service for remote monitoring, and a packet for the service ID is transmitted to transmit an operation state or a monitoring image of the robot 30. And it can receive and monitor the voice data from the URC server 20.

즉, 클라이언트(10)는 URC 서버(20)를 통해 직접 로봇(30)과 통신하여 로봇(30)을 제어할 수 있는 것이 아니라 단순히 로봇(30) 상태 등을 모니터링할 수 있는 기능을 가지고 있는 것이다. 이 경우 역시 URC 서버(20)는 클라이언트(10)로 로봇(30)의 상태 정보 예를 들면, 로봇의 상태 화상 정보, 음성 정보등의 모니터링 정보를 제공하기 위해서는 로봇(30)과 패킷 통신을 통해 해당 정보를 획득하게 되는 것이다. That is, the client 10 does not directly control the robot 30 by directly communicating with the robot 30 through the URC server 20, but has a function of simply monitoring the status of the robot 30 and the like. . In this case, the URC server 20 also provides packet information with the robot 30 to provide the client 10 with monitoring information such as status information of the robot 30, for example, status image information and voice information of the robot 30. This information will be obtained.

상술한 바와 같은 Service ID에 해당하는 서비스를 달성하기 위하여 URC 서버(20)와 로봇(30) 간에 송수신되는 패킷의 Payload 필드내의 정보는 음성인식, 화상인식, 인증, Moving 제어, 제어단말 제어 등 실시예로 나누어지며, 이러한 서비스를 위한 로봇(30)과 URC 서버(20)간의 메시지 흐름을 첨부한 도면을 통해 구체적으로 설명해 보기로 하자. Information in the payload field of packets transmitted and received between the URC server 20 and the robot 30 in order to achieve a service corresponding to the service ID as described above is performed by voice recognition, image recognition, authentication, moving control, control terminal control, and the like. Divided by example, let us explain in detail through the accompanying drawings the message flow between the robot 30 and the URC server 20 for this service.

도 7은 본 발명에 따른 로봇 제어 방법에 있어서 로봇의 음성 인식(ASR:Autimatic Speech Recognition, TTS : Text To Speech) 서비스를 위한 로봇과 URC 서버간의 메시지 흐름을 나타내 도면이다. FIG. 7 is a diagram illustrating a message flow between a robot and a URC server for an ASR (Autimatic Speech Recognition, TTS: Text To Speech) service in a robot control method according to the present invention.

도 7에 도시된 바와 같이, 먼저 로봇(30)은 사용자가 입력한 음성명령을 인식하기 위하여 URC 서버(20)로 ASR_SVC_RECG_WLST라는 메시지를 URC 서버(20)로 전송한다(S101). 상기 메시지는 음성 인식시 필요한 사용자 음성의 어휘 리스트를 포함한다. As shown in FIG. 7, first, the robot 30 transmits a message ASR_SVC_RECG_WLST to the URC server 20 to the URC server 20 in order to recognize a voice command input by the user (S101). The message includes a lexical list of user voices required for speech recognition.

URC 서버(20)는 상기 로봇(30)으로부터 수신된 메시지에 따라 음성 인식 어휘 파일명 정보가 포함된 ASR_SVC_RECG_FLST라는 메시지를 로봇(30)으로 전송하게 된다(S102). The URC server 20 transmits the message ASR_SVC_RECG_FLST including the voice recognition vocabulary file name information to the robot 30 according to the message received from the robot 30 (S102).

로봇(30)은 음성 인식 데이터를 포함한 ASR_SVC_RECG_PROC 메시지를 URC 버(20)에 전송하고(S103), URC 서버(20)는 로봇(30)으로부터 수신된 음성 인식 데이터를 분석하여 인식된 어휘 및 Score 정보를 포함하는 ASR_SVC_RECG_PROC_RESULT 메시지를 로봇(30)에게 전송하는 것이다(S104). The robot 30 transmits the ASR_SVC_RECG_PROC message including the speech recognition data to the URC server 20 (S103), and the URC server 20 analyzes the speech recognition data received from the robot 30 to recognize the recognized vocabulary and score information. The ASR_SVC_RECG_PROC_RESULT message including the will be transmitted to the robot 30 (S104).

로봇(30)은 다시 URC 서버(20)로 TTS_SVC_TEXT_BUFF라는 메시지를 통해 텍스트(Text)에 대한 일반 합성을 요청하고(S105), URC 서버(20)는 텍스트 합성 결과에 대한 TTS_SVC_TEXT_BUFF_RESULT 메시지를 로봇(30)으로 전송하게 되는 것이다(S106).The robot 30 requests the general synthesis of the text through the TTS_SVC_TEXT_BUFF message to the URC server 20 again (S105), and the URC server 20 sends the TTS_SVC_TEXT_BUFF_RESULT message for the text synthesis result to the robot 30. It will be transmitted to (S106).

로봇(30)은 URC 서버(30)로부터 수신한 텍스트 합성 결과 메시지에 따라 텍스트를 지정된 파일명으로 요청하기 위한 TTS_SVC_TEXT_FILE 메시지를 URC 서버(20)로 전송한다(S107).The robot 30 transmits a TTS_SVC_TEXT_FILE message for requesting text as a specified file name to the URC server 20 according to the text synthesis result message received from the URC server 30 (S107).

URC 서버(20)는 로봇(30)의 상기 메시지에 따라 합성된 음성 파일을 포함하는 TTS_SVC_TEXT_FILE_RESULT 메시지를 로봇(30)으로 전송하고(S108), 로봇(30)은 서버(20)에 전송된 Text에 대한 음성합성을 TTS_SVC_TEXT_STREAM라는 메시지로 요청하게 된다(S109).The URC server 20 transmits a TTS_SVC_TEXT_FILE_RESULT message including the voice file synthesized according to the message of the robot 30 to the robot 30 (S108), and the robot 30 transmits the text to the text transmitted to the server 20. The voice synthesis is requested with the message TTS_SVC_TEXT_STREAM (S109).

따라서, URC 서버(20)는 로봇(30)의 요청에 따라 TTS_SVC_TEXTSTREAM_RESULT라는 메시지를 통해 텍스트에 대한 합성된 음성 데이터와 ID를 로봇(30)으로 전송한다(S110). Accordingly, the URC server 20 transmits the synthesized voice data and ID of the text to the robot 30 through the message TTS_SVC_TEXTSTREAM_RESULT according to the request of the robot 30 (S110).

로봇(30)은 TTS_SVC_NAME_BUFF라는 메시지로 URC 서버(20)에 사람 이름에 대한 합성을 요청하고(S111), URC 서버(20)는 TTS_SVC_NAME_BUFF_+RESULT라는 메시지를 통해 합성한 사람 이름에 대한 데이터를 로봇(30)으로 전송하게 되는 것이다(S112).The robot 30 requests the URC server 20 to synthesize the human name with the message TTS_SVC_NAME_BUFF (S111), and the URC server 20 transmits the data about the synthesized human name through the message TTS_SVC_NAME_BUFF_ + RESULT. 30) to be transmitted (S112).

도 8은 본 발명에 따른 로봇 제어 방법에 있어서, 화상인식 및 움직임 검출(추적) 서비스를 위한 로봇과 URC 서버간의 메시지 송수신 흐름을 나타낸 도면이다. 8 is a diagram illustrating a message transmission and reception flow between a robot and a URC server for image recognition and motion detection (tracking) service in the robot control method according to the present invention.

도 8에 도시된 바와 같이, 먼저 로봇(30)은 HCI_VISION_InitServer라는 메시지를 통해 자신의 Session ID 즉, 로봇 ID를 URC 서버(20)로 전송한다(S201). As shown in FIG. 8, the robot 30 first transmits its Session ID, that is, the robot ID, to the URC server 20 through the message HCI_VISION_InitServer (S201).

URC 서버(20)는 로봇(30)으로부터 수신한 로봇 ID에 대한 메시지에 따라 해당 로봇 ID를 이용하여 서비스가 가능한지에 대한 권한 부여 여부 결과 정보를 IDHCI_VISION_InitServer_RESULT 메시지를 통해 로봇(30)으로 전송하게 된다(S202). The URC server 20 transmits authorization result result information on whether the service is available using the robot ID according to the message for the robot ID received from the robot 30 to the robot 30 through the IDHCI_VISION_InitServer_RESULT message ( S202).

로봇(30)은 HCI_VISION_FRCONF라는 메시지를 통해 얼굴 등록 모드 실행 전, 등록한 User ID에 따른 얼굴등록이 가능한지 여부를 URC 서버(20)로 전송하게 된다(S203). The robot 30 transmits to the URC server 20 whether the face registration according to the registered user ID is possible before executing the face registration mode through the message HCI_VISION_FRCONF (S203).

URC 서버(20)는 로봇(30)의 User ID에 따른 얼굴 등록이 가능한 경우 HCI_VISION_FRCONF_PROC메시지를 통해 등록할 얼굴 화상을 로봇(30)에 요구한다(S204)When the face registration according to the user ID of the robot 30 is possible, the URC server 20 requests the robot 30 for a face image to be registered through the HCI_VISION_FRCONF_PROC message (S204).

로봇(30)은 URC 서버(20)의 요구에 따라 HCI_VISION_FRMODE메시지를 통해 얼굴 인식을 위해 촬상된 얼굴 화상 URC 서버(20)로 전송하여 URC 서버(20)에 등록하 고(S205), URC 서버(20)는 얼굴 화상이 등록되었음을 알리는 HCI_VISION_FR_PROC 메시지를 로봇(30)에게 전송한다(S206).The robot 30 transmits the image to the face image URC server 20 captured for face recognition through the HCI_VISION_FRMODE message according to the request of the URC server 20, and registers the same in the URC server 20 (S205). 20) transmits an HCI_VISION_FR_PROC message indicating that the face image has been registered to the robot 30 (S206).

로봇(30)은 화상 인식을 위한 실제 얼굴 데이터를 HCI_VISION_FI_MODE 메시지를 통해 URC 서버(20)에 전송하고(S207), URC 서버(20)는 로봇(30)으로부터 수신된 얼굴 데이터의 얼굴 인식 가능 여부에 대한 정보가 포함된 HCI_VISION_FI_PROC메시지를 로봇(30)으로 전송한다(S208).The robot 30 transmits the actual face data for image recognition to the URC server 20 through the HCI_VISION_FI_MODE message (S207), and the URC server 20 determines whether the face data received from the robot 30 can be recognized. The HCI_VISION_FI_PROC message including the information is transmitted to the robot 30 (S208).

한편, 로봇(30)이 HCI_VISION_SV_MODE 메시지를 통해 무인 경비를 위한 화상 데이터를 URC 서버(20)에 전송하면(S209), URC 서버(20)는 무인 경비를 위한 로봇(30)으로부터 전송된 화상 데이터를 분석하고, 분석 결과에 대한 HCI_VISION_SV_PROC 메시지를 로봇(30)으로 전송함해 줌으로써 해당 서비스를 종료하는 것이다(S210). On the other hand, when the robot 30 transmits the image data for the unmanned security guard through the HCI_VISION_SV_MODE message to the URC server 20 (S209), the URC server 20 transmits the image data transmitted from the robot 30 for the unmanned security guard. The service is terminated by transmitting the HCI_VISION_SV_PROC message for the analysis result to the robot 30 (S210).

도 9는 본 발명에 따른 로봇 제어 방법에 있어서 로봇의 인증을 위한 로봇과 URC 서버간의 송수신 메시지 흐름을 나타낸 도면이고, 도 10은 본 발명에 따른 로봇 제어 방법에 있어서, 원격의 클라이언트에서 로봇의 원격 모니터링을 위해 서버와 인증 메시지의 송수신 흐름을 나타낸 도면이다.9 is a view showing a transmission and reception message flow between the robot and the URC server for the authentication of the robot in the robot control method according to the invention, Figure 10 is a robot control method in the robot control method according to the present invention, the remote of the robot from a remote client A diagram illustrating a flow of transmission and reception of authentication messages with a server for monitoring.

도 9 및 도 10에 도시된 바와 같이 인증메시지는 최초 연결 요청시 전송되는데 로봇(30)에 대한 인증과 클라이언트(10)들에 대한 인증 두 가지로 나눌 수 있다. As shown in FIG. 9 and FIG. 10, an authentication message is transmitted upon an initial connection request, which can be divided into two types of authentication for the robot 30 and authentication for the clients 10.

먼저 로봇(30)에 대한 인증은 도 9에 도시된 바와 같이, 로봇(30)은 자신의 인증을 위해 인증에 필요한 정보를 포함한 AUTH_INITIATE 메시지를 URC 서버(20)로 전송한다(S301).First, the authentication for the robot 30 is shown in FIG. 9, the robot 30 transmits an AUTH_INITIATE message including information necessary for authentication for its authentication to the URC server 20 (S301).

URC 서버(20)는 로봇(30)으로부터 전송된 인증에 필요한 정보를 분석하고 분석 결과에 대한 정보 즉, 인증 결과 정보를 포함하는 AUTH_RESULT 메시지를 로봇(30)으로 전송하여 인증을 수행한 후 기타 다른 서비스를 수행하게 되는 것이다(S302). The URC server 20 analyzes the information required for authentication transmitted from the robot 30 and transmits the AUTH_RESULT message including the information on the analysis result, that is, the authentication result information, to the robot 30 to perform authentication, and then the other. The service will be performed (S302).

한편, 클라이언트(10)에 인증절차는 도 10에 도시된 바와 같이, 먼저 클리이언트(10)는 AUTH_INITIATE메시지를 통해 최초 연결 요청시 인증에 필요한 정보를 메인 URC 서버(20)로 전송하고(S401), 메인 URC 서버(20)는 클라이언트(10)의 인증 요청에 따라 연결 가능한 로봇(30)들에 대한 리스트 정보 및 로봇(30)들의 현재 상태 정보를 포함한 AUTH_ROBOT_LIST 메시지를 클라이언트(10)로 전송한다(S402).Meanwhile, as shown in FIG. 10, the client 10 first authenticates the client 10 to the main URC server 20 when the first connection request is made through the AUTH_INITIATE message. In response to the authentication request from the client 10, the main URC server 20 transmits an AUTH_ROBOT_LIST message including list information about the connectable robots 30 and current status information of the robots 30 (see FIG. S402).

클라이언트(10)는 다수개의 로봇(30) 들중 사용자가 선택한 로봇(30)에 대한 인증을 위한 AUTH_SELECTED_ROBOT 메시지를 메인 URC 서버(20)로 전송한다(S403).The client 10 transmits an AUTH_SELECTED_ROBOT message for authentication of the robot 30 selected by the user among the plurality of robots 30 to the main URC server 20 (S403).

메인 URC 서버(20)는 사용자가 선택한 로봇(30)이 연결되어 있는 또 다른 URC 서버(21)를 할당하기 위한 해당 URC 서버(21) 정보를 포함하는 AUTH_ROBOT_LOCATION 메시지를 클라이언트(10)로 전송한다(S404). 이때는 제어할 로봇(30)이 연결되어 있는 URC 서버(21)에 대한 정보를 얻는 과정으로 이 과정은 생략할 수도 있다. The main URC server 20 transmits an AUTH_ROBOT_LOCATION message containing the corresponding URC server 21 information for allocating another URC server 21 to which the robot 30 selected by the user is connected (10). S404). In this case, the process of obtaining information about the URC server 21 to which the robot 30 to be controlled is connected may be omitted.

그리고, 클라이언트(10)는 메인 URC 서버(20)와의 연결을 종료를 위해서는 AUTH_BYE 메시지를 전송함으로써 메인 URC 서버(20)와의 연결을 종료할 수 있는 것이다(S405).In addition, the client 10 may terminate the connection with the main URC server 20 by transmitting an AUTH_BYE message for terminating the connection with the main URC server 20 (S405).

그리고, 클라이언트(10)는 사용자가 선택한 로봇(30)이 연결된 URC 서버(21)에 접속하여 원하는 서비스를 받기 위해서 인증 요청 메시지인 AUTH_RE_INITIATE 메시지를 URC 서버(21)로 전송한다(S406).In addition, the client 10 transmits an AUTH_RE_INITIATE message, which is an authentication request message, to the URC server 21 in order to access the URC server 21 to which the robot 30 selected by the user is connected and receive a desired service (S406).

이에 대해 URC 서버(21)는 인증 결과 정보를 포함하는 AUTH_RESULT 메시지를 해당 클라이언트(10)로 전송하여 인증을 완료하고 다음 절차를 진행하게 된다. In response to this, the URC server 21 transmits an AUTH_RESULT message including authentication result information to the corresponding client 10 to complete authentication and proceed to the next procedure.

도 11은 본 발명에 따른 로봇 제어 방법에 있어 로봇의 구동을 제어하기 위한 로봇과 URC 서버간에 송수신되는 메시지 종류를 나타낸 도면이다.11 is a diagram illustrating message types transmitted and received between a robot and a URC server for controlling the driving of a robot in the robot control method according to the present invention.

도 11에 도시된 바와 같이, 로봇(30)에서 URC서버(20)로 전송되는 메시지들로는, 로봇(30)의 움직임 제어를 요구하는 Robot_Movement 메시지, 로봇(30)의 상태 점검 주기를 결정하기 위한 Robot_Report Frequency 메시지, 로봇(30)의 현재 상태 정보를 보고하기 위한 Robot status Report 메시지, 로봇(30)의 에러 상태 정보를 체크하기 위한 Robot Error status 메시지를 포함할 수 있다. As shown in FIG. 11, the messages transmitted from the robot 30 to the URC server 20 include a Robot_Movement message requesting movement control of the robot 30, and a Robot_Report for determining a status checking period of the robot 30. It may include a Frequency message, a Robot status Report message for reporting the current status information of the robot 30, a Robot Error status message for checking the error status information of the robot 30.

한편, URC 서버(20)에서 로봇(30)으로 전송되는 메시지로는, 로봇(30)의 카메라 움직을 제어하기 위한 Camera Control 메시지, 로봇(30) 또는 URC 서버(20)의 상태를 로봇(30)에게 알려주기 위한 Status_Info Report 메시지, 로봇(30)과 URC(20)와의 연결 종료 사유를 알려주기 위한 Close_Info Report 메시지를 포함할 수 있다. Meanwhile, as a message transmitted from the URC server 20 to the robot 30, a camera control message for controlling the camera movement of the robot 30, the state of the robot 30, or the URC server 20 may be sent to the robot 30. ) May include a Status_Info Report message for notifying, and a Close_Info Report message for informing the reason for connection termination between the robot 30 and the URC 20.

이와 같은 메시지들은, URC 서버(20)의 데이터 갱신, 로봇(30)에서 URC 서버(20)로 전달된 로봇의 속성 DB를 갱신하는 역할, 사용자 ID와 Password 전송 그리 고 로봇(30)의 인증에 관한 메시지들이다. These messages are used to update the data of the URC server 20, update the attribute DB of the robot transferred from the robot 30 to the URC server 20, transmit user ID and password, and authenticate the robot 30. Messages about this.

도 12는 본 발명에 따른 로봇 제어 방법에 있어서, 원격 클라이언트에서 URC 서버를 통해 로봇을 제어하기 위한 원격 클라이언트와 URC 서버간의 송수신되는 메시지의 종류를 나타낸 도면.12 is a diagram illustrating a type of a message transmitted and received between a remote client and a URC server for controlling a robot through a URC server in a robot control method according to the present invention.

도 12에 도시된 바와 같이, URC 서버(20)는 클라이언트(10)로 맵 버전 정보를 요구하기 위한 Map_Version_Req 메시지를 클라이언트(10)로 전송한다.As shown in FIG. 12, the URC server 20 transmits a Map_Version_Req message to the client 10 for requesting map version information from the client 10.

클라이언트(10)는 URC 서버(20)는 클라이언트(10)의 요구에 따라 자신이 가지고 있는 맵 버전 정보를 Map_Version_Resp 메시지를 통해 URC 서버(20)로 전송한다.The client 10 transmits the map version information of the URC server 20 to the URC server 20 through the Map_Version_Resp message according to the request of the client 10.

이때, URC 서버(20)는 Map_Version_Resp 메시지를 통해 클라이언트(10)로부터 수신된 맵 버전 정보를 자신이 가지고 있는 맵 버전 정보와 비교 분석하여 맵 버전에 대한 매칭 결과 정보를 Client_For_Robot_Map 메시지를 통해 클라이언트(10)로 전송하게 된다.At this time, the URC server 20 compares the map version information received from the client 10 with the map version information owned by the client 10 through the Map_Version_Resp message, and compares the matching result information for the map version with the Client_For_Robot_Map message. Will be sent to.

또한, URC 서버(20)는 맵 버젼이 맞지 않을 경우 맵 정보를 Client_For_Image 메시지를 통해서 클라이언트(10)로 전송한다.In addition, the URC server 20 transmits the map information to the client 10 through the Client_For_Image message when the map version is not correct.

URC 서버(20)는 우선 클라이언트(10)에 Client_For_Robot_Status 메시지를 통해 로봇 상태에 대하여 알려 준다. 또한 클라이언트(10)는 URC 서버(20)에게 Client_Sampling_Freq, Client_For_Image, Client_For_Button_Control, Client_Map_Control 그리고 Client_For_Robot_Camera_Control 메시지를 전달하는 데, 이들 각각은 서버(20)에서 얼마나 자주 정보를 받는지, 서버(20)에 영상데이터를 요청할 경우, 서버에 전달할 로봇 카메라를 제어할 경우 그리고 종료 요청일 경우에 전달하는 메시지들이다.The URC server 20 first informs the client 10 about the robot status through a Client_For_Robot_Status message. In addition, the client 10 transmits the Client_Sampling_Freq, Client_For_Image, Client_For_Button_Control, Client_Map_Control, and Client_For_Robot_Camera_Control messages to the URC server 20, each of which receives image data from the server 20 and requests image data from the server 20. In this case, messages are transmitted when controlling a robot camera to be delivered to a server and when a termination request is made.

상술한 바와 같은 본 발명의 제1 실시예는 로봇, 서버와 사용자 단말(클라이언트) 간의 원활한 연동이 이루어지도록 한 단말용 데이터 포맷을 제안하고, 이에 따라 로봇 및 클라이언트가 서버를 이용하여 로봇으로부터 원하는 서비스를 원활하고 편리하게 모니터링 할 수 있도록 한 것이다.As described above, the first embodiment of the present invention proposes a data format for a terminal that enables a smooth interworking between a robot, a server, and a user terminal (client), and accordingly, the robot and the client want a service from the robot using a server. It will allow you to monitor smoothly and conveniently.

그러나 이와 같은 본 발명에 따른 제1 실시예는, 서비스 구현을 위해 서비스에 특화된 메시지 구조를 가지도록 되어 있다. 이는 서비스 개발을 위해 메시지 구조가 매번 구현되거나, 추가되어야 하는 불편한 문제점을 안고 있다. 또한, 추가된 메시지 구조는 다른 응용된 서비스를 구현하기에는 적합하지 않아 재활용이 불가능하다는 단점이 있는 것이다. However, this first embodiment according to the present invention is intended to have a message structure specific to the service for the service implementation. This is an inconvenient problem that a message structure must be implemented or added every time for service development. In addition, the added message structure is disadvantageous that it is not suitable for implementing other applied services and cannot be recycled.

또한, 도 3에 도시된 바와 같이, Service ID(46) 필드를 가지고 있어 로봇과 URC 서버 그리고 서비스를 제공받는 클라이언트는 특정 서비스에 따라 Service ID를 부여받고 부여받은 Service ID를 가지고 서비스 구현을 하게 된다. 그러므로, 특정 서비스를 제공받기 위해서는 각각의 서비스에 대한 서로 다른 메시지 구조가 필요하게 되는 것이다. In addition, as shown in Figure 3, having a Service ID 46 field, the robot, the URC server, and the client receiving the service is implemented according to a specific service and the service ID has been given a service ID . Therefore, in order to receive a specific service, a different message structure for each service is required.

또한, 제1 실시예에서는 서비스 수행의 동기를 위한 메카니즘이 제공되지 않는다. 만약, 서비스 수행의 동기가 맞지 않는 경우에는 서비스 시작과 종료에 대한 시점이 모호해질 수 있다. 즉, URC 서버측에서 부정확한 시점에 서비스를 제공할 수도 있게 되며, 그로 인한 로봇의 오동작을 초래할 수도 있는 것이다. In addition, in the first embodiment, a mechanism for synchronizing service performance is not provided. If the motives of service execution are not correct, the timing of service start and end may be blurred. That is, the URC server side may provide a service at an inaccurate time point, which may cause a malfunction of the robot.

또한, 로봇과 URC 서버간에 존재할 수 있는 비정상적인 상황에 대처하기 위한 메카니즘을 제공하지 않았다. 즉, 네트워크가 불안정한 상태에서 로봇이 연결이 종료되면, URC 서버는 그 상황을 파악하지 못하고 로봇이 지속적으로 네트워크에 접속해 있는 것으로 인식할 수 있는 것이다. 따라서, 사용자는 네트워크의 불안정한 상태를 인지하지 못하게 되며 URC 서버는 에러 메시지 출력, 강제 종료 등의 적절한 조치를 취할 수 없게 되는 단점이 있는 것이다. In addition, it does not provide a mechanism to cope with abnormal situations that may exist between the robot and the URC server. In other words, if the robot is disconnected while the network is unstable, the URC server does not know the situation and can recognize that the robot is continuously connected to the network. Therefore, the user may not recognize the unstable state of the network, and the URC server may not take an appropriate action such as an error message output or forced termination.

따라서, 이하에서 설명되는 본 발명에 따른 제 2 실시예에서는 상기한 본 발명에 따른 제1 실시예에 대한 문제점들을 해소하기 위한 것이다. Accordingly, the second embodiment according to the present invention described below is intended to solve the problems of the first embodiment according to the present invention.

(제2 실시예)(2nd Example)

이하, 첨부한 도면을 참조하여 본 발명의 제2 실시예에 대한 로봇 제어 시스템 및 그 방법에 대하여 상세하게 살펴보기로 하자. Hereinafter, a robot control system and a method thereof according to a second embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 13은 본 발명의 제2 실시예에 따른 로봇 제어 시스템에 대한 연결 관계를 개략적으로 나타낸 도면이다. FIG. 13 is a view schematically showing a connection relationship to a robot control system according to a second embodiment of the present invention. FIG.

도 13에 도시된 바와 같이, 다수의 로봇(200)은 네트워크를 통해 URC 서버(100)와 연결되고, 원격에 위치한 다수의 클라이언트(300)는 네트워크를 통해 URC 서버(100)와 각각 연결된다. As shown in FIG. 13, the plurality of robots 200 are connected to the URC server 100 through a network, and the plurality of remotely located clients 300 are connected to the URC server 100 through the network, respectively.

도 13에 도시된 바와 같이, 로봇(200)은 사용자나 외부로부터 입력되는 음성 명령이나 영상등의 상황 정보를 획득하여 URC 서버(100)로 전송을 하게 된다. As shown in FIG. 13, the robot 200 acquires context information such as a voice command or an image input from a user or an external device, and transmits the situation information to the URC server 100.

URC 서버(100)에서는 로봇(200)으로부터 전송되는 음성 명령이나 영상 정보등을 처리하여 사용자의 의도를 파악한 후 지능적이고 상황에 맞는 URC 서비스를 제공하게 되는 것이다. The URC server 100 processes the voice command or image information transmitted from the robot 200 to grasp the intention of the user, and then provides the intelligent and context-sensitive URC service.

URC 서비스에서는 이동성을 이용하여 정보 전달 등의 서비스 이외에 사용자에게 물리적인 서비스까지 제공가능하다. In the URC service, it is possible to provide physical services to users in addition to services such as information transfer using mobility.

또한, 원격에 위치한 다수의 클라이언트(300)는 원격에서 로봇(200)이 가지고 있는 인식 기능 및 로봇(200)이동성을 활용하여 다양항 형태의 서비스를 제공할 수 있는데 이는 서비스를 URC 서버(10)에서만 제공하는 것이 아니라 서비스 사업자들이 원격에서도 서비스를 제공할 수 있도록 함으로써 URC 인프라내에서 다양한 형태의 비즈니스 모델이 창출될 수 있도록 하는 것이다. In addition, the plurality of remotely located client 300 can provide a variety of forms of services by using the robot 200 and the recognition function of the remotely located in the remote 200, which is a service URC server 10 It is not only to provide services but also to allow service providers to provide services remotely so that various types of business models can be created within the URC infrastructure.

URC 규격에 따른 로봇(200)들은 URC 인프라에서 제공하는 다양한 서비스를 이용할 수가 있으며 URC 인프라에서 연동되는 많은 로봇(200) 들은 서비스 사업자에게 수익을 창출할 수 있는 시장을 제공할 수 있는 것이다. Robots 200 according to the URC standard can use a variety of services provided by the URC infrastructure, and many robots 200 that are interlocked in the URC infrastructure can provide a market that can generate revenue to service providers.

다수의 URC 로봇(200)들과 원격에 위치한 다수의 클라이언트(300)는 URC 서버(100)와의 통신을 위한 메시지를 송수신하게 되는 URC 로봇(200)들 및 다수의 클라이언트(300)와 URC 서버(100)간의 통신 프로토콜에 사용되는 메시지 포맷은 도 14에 도시되어 있다. The plurality of URC robots 200 and the plurality of clients 300 remotely located to send and receive messages for communication with the URC server 100 and the plurality of clients (300) and the URC server (300) The message format used for the communication protocol between 100 is shown in FIG.

도 14는 본 발명의 제2 실시예에 따른 로봇, 클라이언트 및 URC 서버간에 송수신되는 메시지에 대한 공통 헤더 구조를 나타낸 도면이다. 14 is a diagram illustrating a common header structure for a message transmitted and received between a robot, a client, and a URC server according to a second embodiment of the present invention.

도 14에 도시된 바와 같이, URC 프로토콜은 기본적으로 TCP/IP 프로토콜을 이용하여 메시지 기반의 통신을 수행하며 이 단위 메시지를 URC 메시지라 한다. 이러한 URC 메시지의 프레이밍(Framing)은 통신의 효율을 위하여 바이너리 형식의 메시지 구성을 사용한다. URC 메시지는 그 용도에 따라 URC Request, URC Response, URC Heartbeat, URC Event 메시지 4가지로 구분이 되며 4가지 메시지 형식 모두 공통된 헤더 형식을 가지게 되는 것이다. URC 공통 헤더메시지 헤더 필드의 데이터 형식과 그 의미는 아래의 표 1과 같다. As shown in FIG. 14, the URC protocol basically performs message-based communication using the TCP / IP protocol, and this unit message is called a URC message. Framing of these URC messages uses a message format in binary format for efficient communication. URC messages are classified into four types of URC Request, URC Response, URC Heartbeat, and URC Event messages, and all four message types have a common header format. The data format and meaning of the URC common header message header field are shown in Table 1 below.

FIELDFIELD TYPETYPE DESCRIPTIONDESCRIPTION DISCRIMINATORDISCRIMINATOR shortshort URC 프로토콜 식별자(에를 들어 0x7e7e)URC protocol identifier (for example 0x7e7e) VERSIONVERSION bytebyte 현재 사용하고 있는 URC 프로토콜의 버전(예를들어 0x02)The version of the URC protocol currently in use (eg 0x02). SESSION IDSESSION ID integerinteger 현재 연결된 세션에 대한 IDID for the currently connected session PROFILE IDPROFILE ID shortshort 메시지가 속해있는 프로파일의 ID(기능 ID)ID of the profile to which the message belongs (function ID) RESERVEDRESERVED Reserved Field (2byte)Reserved Field (2 bytes) MSG TYPEMSG TYPE bytebyte 메시지의 종류Type of message MSG LENMSG LEN unsignded integerunsignded integer 공통헤더의 크기를 제외한 나머지 메시지의 길이The length of the message except the size of the common header

URC 프로토콜에서 정의된 메시지들은 그 기능과 용도에 따라서, 각각의 프로파일들로 구분이 되며 URC 프로토콜에서 제공하는 프로파일들은 도 15에 도시된 바와 같다. Messages defined in the URC protocol are classified into profiles according to their functions and uses, and the profiles provided by the URC protocol are shown in FIG. 15.

도 15는 본 발명의 제2 실시예에 따른 로봇 제어 시스템에서 로봇, URC 서버 및 원격 클라이언트간의 URC 프로토콜 프로파일 구조를 나타낸 도면이다. FIG. 15 is a diagram illustrating a URC protocol profile structure between a robot, a URC server, and a remote client in a robot control system according to a second embodiment of the present invention.

도 15에 도시된 바와 같이, URC 서버(100)의 프로파일에서는, 음성/영상 인식, 음성 합성 등 지능형 서비스를 구현하기 위해 필요한 여러 가지 기능들을 제공하며, 또한 원격에서 클라이언트(300)들이 로봇을 제어할 수 있는 인터페이스를 제공하는 것이다. 즉, URC 서버 프로파일은, 인증 프로파일, 원격 인터페이스 프로파일, 이벤트 프로파일, 음성 인식 프로파일, 음성 합성 프로파일, 영상 인식 프로파일 및 움직임 검출 프로파일을 포함할 수 있다. As shown in FIG. 15, the profile of the URC server 100 provides various functions necessary for implementing intelligent services such as voice / video recognition and voice synthesis, and also remotely controls the robots by the clients 300. It is to provide an interface to do this. That is, the URC server profile may include an authentication profile, a remote interface profile, an event profile, a voice recognition profile, a voice synthesis profile, an image recognition profile, and a motion detection profile.

한편, 도 15에 도시된 바와 같이 로봇 공통 프로파일에서는 로봇(200)을 제어하기 위한 일반적인 인터페이스를 제공한다. URC 서비스에서는 로봇 공통 프로파일에서 제공하는 기능들을 이용하여 사용자에게 로봇을 이용한 물리적인 서비스를 제공할 수 있다. 즉, URC 로봇 공통 프로파일은, 이동 프로파일, 네비게이션 프로파일, 음성 검출 프로파일, 발성 프로파일, 모션(Motion)프로파일 및 감정 프로파일을 포함할 수 있다. Meanwhile, as shown in FIG. 15, the robot common profile provides a general interface for controlling the robot 200. In the URC service, a physical service using a robot may be provided to a user by using functions provided by a robot common profile. That is, the URC robot common profile may include a movement profile, a navigation profile, a voice detection profile, a speech profile, a motion profile, and an emotion profile.

로봇 공통 프로파일은 URC 로봇들이 URC 인프라를 통해서 서비스를 제공받기 위해서 로봇 개발자들이 구현해야 하는 기능들을 의미하며, 로봇 공통 파일을 구현한 로봇은 그 형태와 성능에 관계없이 동일한 서비스를 제공받을 수 있게 되는 것이다. The robot common profile refers to the functions that robot developers must implement in order for URC robots to receive services through the URC infrastructure, and robots that implement the robot common file can receive the same services regardless of their form and performance. will be.

이하에서는, 본 발명의 제2 실시예에서 로봇, URC 서버 및 클라이언트간의 URC 통신 프로토콜의 동작 메카니즘에 대하여 살펴보기로 하자. Hereinafter, the operation mechanism of the URC communication protocol between the robot, the URC server and the client in the second embodiment of the present invention will be described.

URC 프로토콜의 동작 메카니즘은, URC 메시지 구성(Framing) 메카니즘, URC 메시지 인코딩(Encoding) 메카니즘, URC 인증 메카니즘(Authentication), URC 로봇 ACK(Robot Acknowledge) 및 HB 메카니즘(Heartbeat)을 포함할 수 있다. The operating mechanism of the URC protocol may include a URC message framing mechanism, a URC message encoding mechanism, a URC authentication mechanism, a URC robot ACK and an HB heartbeat.

먼저, URC 메시지 구성(Framing)에 대하여 살펴보면, URC 프로토콜은 기본적으로 TCP상에서 메시지 기반의 통신을 수행하여 이 단위메시지를 URC 메시지라고 한다. URC 메시지의 Framing은 통신의 효율을 위하여 바이너리 형식의 메시지 구성을 사용하며 URC 메시지에 들어가는 여러 가지 정보는 UDR(URC Protocol Data Representation)에 기술된 데이터 형식으로 표현이 된다. First, regarding the URC message framing, the URC protocol basically performs a message-based communication on TCP so that this unit message is called a URC message. Framing of URC message uses binary message composition for communication efficiency, and various information contained in URC message is expressed in data format described in UDR Protocol Data Representation (UDR).

그리고, URC 메시지 인코딩(Encoding)은, URC 메시지들은 "llittle-endian" 형식으로 인코딩되며 한글의 인코딩은 "KSC-5601"을 사용한다.In the URC message encoding, URC messages are encoded in a "llittle-endian" format, and Korean encoding uses "KSC-5601".

URC 인증(Authentication)메카니즘은, URC 인프라에 접속하는 모든 URC 로봇들과 URC 클라이언트들은 인증과정을 통해서 로봇(200)과 사용자를 식별하는 과정을 거치며 필요한 권한을 부여받게 된다. URC 로봇(200)에 대해서는 미리 등록된 ROBOT ID를 기반으로 인증을 수행하며 URC 클라이언트(300)들은 미리 등록된 사용자 아이디 및 패스워드 기반의 인증을 수행하여 자신을 식별하게 되는 것이다. In the URC authentication mechanism, all URC robots and URC clients accessing the URC infrastructure are given the necessary authority through the process of identifying the robot 200 and the user through the authentication process. The URC robot 200 performs authentication based on the ROBOT ID registered in advance, and the URC clients 300 identify themselves by performing authentication based on a pre-registered user ID and password.

URC 로봇 ACK 메카니즘은, 이벤트 통지 및 그에 대한 응답에 관한 메카니즘으로(, Event Nofitication / Acknowledge) URC 로봇(200)들은 유비쿼터스 환경내에서 획득한 사용자 음성명령, 움직임 검출등과 같은 이벤트가 발생하였을 경우 이에 대한 정보를 비동기적으로 URC 서버(100)에 통지해줄 수 있어야 한다. URC서버(100)에서는 이와 같은 비동기적인 이벤트 정보를 통해서 사용자의 의도나 상황을 파악하여 거기에 맞는 적절한 서비스를 제공해 줄 수 있는 것이다. The URC robot ACK mechanism is a mechanism for event notification and response (Event Nofitication / Acknowledge) when the URC robot 200 receives an event such as user voice command or motion detection acquired in the ubiquitous environment. It should be able to notify the URC server 100 asynchronously. The URC server 100 can provide the appropriate service by grasping the user's intention or situation through such asynchronous event information.

또한, URC 로봇(200)들이 제공하는 기능들은 대부분 그 기능의 시작후 종료까지 어느 정도시간을 요하는 작업들이 많기 때문에 URC 로봇(200)들의 기능과 다른 기능들간의 동기를 맞추기 위해서는 작업의 시작과 끝나는 시점에서 해당 Acknowledge를 이벤트 형식으로 URC 서버(100)로 통지를 해주어야 한다. URC서버(100)에서는 이를 ACK를 통해서 서비스 수행에 필요한 동기를 맞추게 된다. 이러한 URC 로봇 ACK 동작을 보여주는 것이 도 16이다. In addition, since most of the functions provided by the URC robots 200 require a certain amount of time from the start of the function to the end of the function, in order to synchronize the functions of the URC robots 200 with other functions, the operation of the URC robots 200 is performed. At the end, the corresponding Acknowledge should be notified to the URC server 100 in the form of an event. In the URC server 100 to match the synchronization necessary to perform the service through the ACK. 16 shows such a URC robot ACK operation.

도 16에 도시된 바와 같이, 로봇(200)의 기능은 각 컴포넌트(Component) 별로 정의될 수 있기 때문에 각 컴포넌트들은 각기 상태 머신 예를 들면, 도 16에 도시된 바와 같이 로봇(200)을 구성하고 있는 구성요소들에 의해서 동작을 수행하며, 로봇(200)의 상태가 전이(Transition)되는 시점에서 해당 이벤트를 URC 서버(100)측으로 통지해 주어야 한다.As shown in FIG. 16, since the functions of the robot 200 may be defined for each component, each component constitutes a state machine, for example, as shown in FIG. 16. The operation is performed by the components present, and the corresponding event should be notified to the URC server 100 at the time when the state of the robot 200 is transitioned.

즉, 로봇(200)의 기능은 로봇(200)의 각 Component별로 정의될 수 있기 때문에 로봇의 각 Component들은 각기 상태 머신(state machine)에 의해서 동작을 수행하며 상태(state)가 전이(transition)되는 시점에서 해당 이벤트를 URC 서버(100)측에 통지해 주어야 한다.That is, since the function of the robot 200 can be defined for each component of the robot 200, each component of the robot performs an operation by a state machine and a state is transitioned. At this point, the event should be notified to the URC server 100.

URC 프로토콜에서는 로봇(200)의 각 컴포넌트 상태를 "IDLE", ACTIVE" 두 가지로 구분하며, 각 상태에서 다른 상태로 전이될 때, "START", "END" 또는 "STOP"의 이벤트를 URC 서버(100)에 통지해 주어야 하는 것이다. 따라서, URC 서버(100)는 로봇(200)으로부터 전송되는 이벤트 메시지에 따라 로봇의 현재 동작 상태를 용이하게 파악할 수 있게 되는 것이다. In the URC protocol, each component state of the robot 200 is divided into two types, "IDLE" and ACTIVE, and when the state transitions from each state to another state, an event of "START", "END" or "STOP" is transmitted to the URC server. Therefore, the URC server 100 can easily grasp the current operation state of the robot according to an event message transmitted from the robot 200.

한편, Heartbeat 메카니즘은, 기본적으로, URC 로봇(200)들은 구동과 동시에 URC 서버(100)에 연결되어 URC 로봇(200)의 구동 종료시까지 연결을 유지하게 된다. 따라서 서비스 도중에 비정상적인 네트워크 환경으로 인해 연결이 끊어진 경우 비정상적인 상황을 빠른 시간내에 파악하여 적절한 조치를 취하는 것이 중요하다. URC 서버(100)와 UEC 로봇(200)간에 정상적인 네트워크 연결을 유지하고 있는지를 지속적으로 파악하기 위해 URC 프로토콜에서는 URC 로봇(200)과 URC 서버(100)간에 Heartbeat 프로토콜을 정의하여 상기와 같은 네트워크 환경에 의한 비정상적인 상황을 대처하도록 하는 것이다. 즉, 이와 같이 URC 로봇(200)과 URC 서버(100)간에 상기와 같은 네트워크 환경에 의해 로봇(200)과 URC 서버(100)간에 연결상태를 파악하기 위한 동작에 대하여 도 17에 도시되어 있다. 즉, 도 17은 로봇과 URC 서버간에 연결 상태를 체크하기 위한 방법이 조시되어 있다. On the other hand, the heartbeat mechanism, basically, the URC robots 200 are connected to the URC server 100 at the same time the drive is maintained until the end of the drive of the URC robot 200. Therefore, if the connection is lost due to an abnormal network environment during the service, it is important to identify the abnormal situation quickly and take appropriate action. In order to continuously determine whether the URC server 100 and the UEC robot 200 maintains a normal network connection, the URC protocol defines a Heartbeat protocol between the URC robot 200 and the URC server 100 to define the network environment as described above. To deal with abnormal situations caused by. That is, FIG. 17 illustrates an operation for determining a connection state between the robot 200 and the URC server 100 by the network environment as described above between the URC robot 200 and the URC server 100. That is, FIG. 17 illustrates a method for checking a connection state between a robot and a URC server.

도 17에 도시된 바와 같이, URC 서버(100)는 주기적으로(예를 들면 N 초 간격) Heartbeat 요구 메시지를 로봇(200)으로 전송하게 되고, 로봇(200)은 URC 서버로(100)로부터 전송된 Heartbeat 요구 메시지에 따라 Heartbeat 응답 메시지를 URC 서버(100)로 전송하게 된다. 따라서, URC 서버(100)는 로봇(200)과의 네트워크 연결 상태를 체크할 수 있게 되는 것이다. As shown in FIG. 17, the URC server 100 periodically transmits a Heartbeat request message to the robot 200 (for example, every N seconds), and the robot 200 transmits the data from the URC server 100 to the robot 200. The heartbeat response message is transmitted to the URC server 100 according to the heartbeat request message. Therefore, the URC server 100 can check the network connection state with the robot 200.

만약, URC 서버(100)에서 Heartbeat 요구 메시지를 전송하였음에도 불구하고 일정 주기내에 Heartbeat 응답 메시지가 수신되지 않을 경우 네트워크 연결이 비정상적인 상태로 판단하고, 일정 주기내에 Heartbeat 응답 메시지가 수신되는 경우 로봇(200)과의 연결 상태가 정상적인 경우라고 판단한다. 따라서, URC 서버(100)는 네트워크 연결이 비정상적인 상태로 판단한 경우 로봇(200)과 연결을 위해 재 접속을 시도하여 로봇(200)을 지속적으로 제어할 수 있게 되는 것이다. If the heartbeat response message is not received within a certain period, even though the URC server 100 transmits the heartbeat request message, it is determined that the network connection is in an abnormal state, and if the heartbeat response message is received within the predetermined period, the robot 200. It is determined that the connection status with is normal. Therefore, when the URC server 100 determines that the network connection is abnormal, it will be able to continuously control the robot 200 by attempting to reconnect for the connection with the robot 200.

상기한 바와 같은 메카니즘 및 URC 프로토콜 메시지들을 이용하여 원격에 위치한 클라이언트에서 URC 서버를 통해 로봇을 제어하는 방법에 대하여 도 18을 참조하여 단계적이면서 구체적으로 설명해 보기로 하자. A method of controlling the robot through the URC server from a remotely located client using the mechanism and the URC protocol messages as described above will be described in detail with reference to FIG. 18.

도 18은 본 발명의 제2 실시예에 따른 클라이언트에서 로봇을 원격으로 제어를 위한 메시지 송수신 흐름을 나타낸 도면이다. 18 is a diagram illustrating a message transmission and reception flow for remotely controlling a robot in a client according to a second exemplary embodiment of the present invention.

먼저, 로봇(200)은 기동과 함께 URC 서버(100)에 접속하여 자신이 획득한 음성 명령이나 현재 영상 정보등의 상황정보를 URC 서버(100)로 전송하게 되고, URC 서버(100)로부터의 제어명령을 받아 URC 프로토콜에 규약된 동작을 수행하게 된다. First, the robot 200 connects to the URC server 100 and starts transmitting the situation information such as a voice command or current image information acquired by the robot 200 to the URC server 100, and from the URC server 100. It receives the control command and performs the operation defined in the URC protocol.

한편, 원격에 위치한 클라이언트(300)는 원격에서 URC 서버(100)에 접속을 하게 되고 자신이 제어하고자 하는 로봇(200)을 선택하여 구현하고자 하는 서비스의 로직에 따라서 로봇(200)으로부터 필요한 정보를 획득하거나 로봇을 원격에서 제어할 수 있다.On the other hand, the remote client 300 is remotely connected to the URC server 100 and selects the robot 200 to be controlled by the robot 200 according to the logic of the service to implement the necessary information from the robot 200 Can be acquired or controlled remotely.

원격 제어 및 모니터링 서비스의 경우 원격 클라이언트(300)는 로봇(200)으로 영상정보와 상태정보를 전송해 줄 것을 요청해서 원격에서 로봇(200)의 영상과 상태를 확인할 수가 있고, 또한 원격에서 로봇 제어 명령을 통해서 원격에서 로봇(200)을 이동시키거나 로봇(200)을 통해서 발성을 시키는 등의 제어를 수행할 수 있다. In the case of the remote control and monitoring service, the remote client 300 may request to transmit the image information and the status information to the robot 200 to check the image and status of the robot 200 remotely, and also control the robot remotely. The control may be performed by remotely moving the robot 200 or talking through the robot 200 through a command.

이러한 클라이언트에서 로봇을 제어하거나 모니터링하기 위한 동작 흐름을 도 18을 참조하여 단계적으로 설명해 보기로 하자. An operation flow for controlling or monitoring a robot in such a client will be described step by step with reference to FIG. 18.

먼저, 도 18에 도시된 바와 같이, 원격에 위치한 URC 클라이언트(300)는 URC 로봇(200)을 원격 제어하거나 로봇(300)의 모니터링 서비스를 제공하기 위하여 URC 서버(100)로 URC_CLIENT_LOGIN 메시지를 전송하여 URC 서버(100)에 접속한 후, URC 서버(100)로부터 인증을 받게 된다(S501). 여기서, 클라이언트 인증 절차는 본 발명의 제1 실시예에서 구체적으로 설명되었기에 그 상세 설명은 생략하기로 한다. First, as shown in FIG. 18, the URC client 300 located remotely transmits a URC_CLIENT_LOGIN message to the URC server 100 to remotely control the URC robot 200 or provide a monitoring service of the robot 300. After accessing the URC server 100, the authentication is received from the URC server 100 (S501). Here, since the client authentication procedure has been described in detail in the first embodiment of the present invention, a detailed description thereof will be omitted.

인증이 완료된 후, URC 클라이언트(300)는 URC 서버(100)에 접속된 로봇(200)들의 리스트 정보를 요구하기 위한 URC_GET_ROBOT_LIST 메시지를 URC 서버(100)로 전송한다(S502). After the authentication is completed, the URC client 300 transmits a URC_GET_ROBOT_LIST message for requesting list information of the robots 200 connected to the URC server 100 to the URC server 100 (S502).

URC 서버(100)는 URC 클라이언트(300)의 요구에 따라 로봇 리스트 정보를 URC_ROBOT_LIST 메시지에 포함하여 URC 클라이언트(300)로 전송하게 된다(S503).The URC server 100 transmits the robot list information to the URC client 300 by including the robot list information in the URC_ROBOT_LIST message according to the request of the URC client 300 (S503).

URC 클라이언트(300)는 URC 서버(100)로부터 전송된 로봇 리스트 정보에 따라 제어하고자 하는 로봇을 할당하고, 로봇 할당 정보와 해당 로봇의 사용 권한을 요구하기 위한 URC_ALLOCATE_ROBOT 메시지를 URC 서버(100)로 전송한다(S504).The URC client 300 allocates a robot to be controlled according to the robot list information transmitted from the URC server 100, and transmits a URC_ALLOCATE_ROBOT message for requesting the robot allocation information and the use authority of the robot to the URC server 100. (S504).

URC 클라이언트(300)는 URC 서버(100)로부터 로봇 제어를 위한 사용권한이 허여된 경우, 해당 로봇(200)의 제어 및 원격 모니터링에 필요한 상태 정보와 영상 정보를 모니터링 할 수 있도록 해당 이벤트 채널에 각각 가입하기 위한 메시지인 SUBSRIBER_EVENT_CHANNEL(VISION, SYSTEM, ROBOT, STATUS)메시지를 URC 서버(100)를 통해 해당 로봇(200)으로 전송하게 되는 것이다(S505, S506). 여기서, URC 서버(100)는 단순히 URC 클라이언트(300)로부터 전송되는 해당 메시지를 클라이언트(300)가 할당한 해당 로봇(200)로 인터페이싱하는 기능을 수행한다. When the URC client 300 is authorized to control the robot from the URC server 100, each of the URC client 300 to the corresponding event channel to monitor the status information and image information necessary for the control and remote monitoring of the robot 200. SUBSRIBER_EVENT_CHANNEL (VISION, SYSTEM, ROBOT, STATUS) message to the subscription is to be transmitted to the robot 200 through the URC server 100 (S505, S506). Here, the URC server 100 simply performs a function of interfacing the corresponding message transmitted from the URC client 300 to the robot 200 allocated by the client 300.

또한, URC 클라이언트(300)는 원하는 이벤트 채널에 가입한 후, 해당 로봇(200)으로부터 영상 정보 및 상태 정보를 요청하기 위해 OPEN_VISION 메시지 및 OPEN_STATUS_MONITOR 메시지를 URC 서버(100)를 통해 해당 로봇(200)으로 전송한다(S507, S508).In addition, the URC client 300 subscribes to the desired event channel, the OPEN_VISION message and OPEN_STATUS_MONITOR message to the corresponding robot 200 through the URC server 100 in order to request image information and status information from the robot 200. Transmit (S507, S508).

로봇(200)은 URC 클라이언트(300)의 요청에 따라 자신이 촬영한 영상정보 및 상태 정보를 포함한 EVENT_NOTOFICATION(VISION, STATUS) 메시지를 주기적으로 URC 클라이언트(300)로 전송하게 된다(S509 내지 S512).The robot 200 periodically transmits an EVENT_NOTOFICATION (VISION, STATUS) message including the image information and the state information photographed by the URC client 300 to the URC client 300 (S509 to S512).

URC 클라이언트(300)는 로봇(200)으로부터 전송되는 영상 정보 및 상태 정보를 이용하여 로봇(200)의 움직임을 제어하기 위한 메시지인 MOVE_ROBOT(FORWARD) 메시지를 로봇(200)으로 전송한다(S513).The URC client 300 transmits a MOVE_ROBOT (FORWARD) message, which is a message for controlling the movement of the robot 200, by using the image information and state information transmitted from the robot 200 (S513).

로봇(200)은 URC 클라이언트(300)의 요구에 따라 해당 움직임 동작을 수행하게 되는데, 클라이언트(300)가 로봇(200)의 움직임 동작 상태를 용이하게 확인하여 서비스 동기화를 위해 로봇(200)은 움직임 동작의 시작 시점과 종료 시점을 정확하게 알리기 위한 이벤트 통지 메시지인 EVENT_NOTIFICATION(MOVE_START)메시지와 EVENT_NOTIFICATION(MOVE_END)메시지를 URC 클라이언트(300)로 전송하게 된다(S513, S514).The robot 200 performs a corresponding movement operation according to a request of the URC client 300. The client 300 easily checks the movement operation state of the robot 200 so that the robot 200 moves for service synchronization. The EVENT_NOTIFICATION (MOVE_START) message and the EVENT_NOTIFICATION (MOVE_END) message, which are event notification messages for accurately notifying the start time and the end time of the operation, are transmitted to the URC client 300 (S513 and S514).

상기와 같은 방법을 통해 URC 클라이언트(300)는 로봇(200)으로부터 전송되는 영상 정보와 상태 정보를 이용하여 로봇(200)을 원격에서 실시간으로 제어할 수 있게 되는 것이다. Through the above method, the URC client 300 may remotely control the robot 200 in real time using image information and state information transmitted from the robot 200.

이어, 서비스가 종료되면, 즉, URC 클라이언트(300)에서 로봇(200)의 원격제어가 종료되면, URC 클라이언트(300)는 URC 서버(100)로 원격 제어한 즉, 로봇의 할당을 해지하기 위한 메시지인 URC_RELEASE_ROBOT 메시지를 URC 서버(100)로 전송하고(S516), URC 클라이언트(300)는 URC 서버(100)의 접속을 종료하기 위한 URC_CLIENT_LOGOUT 메시지를 URC 서버로(100)로 전송함으로써, 모든 서비스를 종료하게 되는 것이다. Then, when the service is terminated, that is, when the remote control of the robot 200 from the URC client 300 is terminated, the URC client 300 is remotely controlled by the URC server 100, that is, to release the assignment of the robot The URC_RELEASE_ROBOT message, which is a message, is transmitted to the URC server 100 (S516), and the URC client 300 transmits a URC_CLIENT_LOGOUT message to the URC server 100 to terminate the connection of the URC server 100 to the URC server 100. It will end.

결국, 본 발명의 제2 실시예에서는, 제1 실시예에서 서비스에 특화된 메시지 구조를 공통의 프로파일 형태의 프로토콜로 개선하여 서비스 사업자는 프로토콜 계층을 활용하여 서비스 로직 중심적인 개발을 할 수 있게 되는 것이다. As a result, in the second embodiment of the present invention, the service-specific message structure in the first embodiment is improved to a protocol of a common profile type, so that a service provider can develop a service logic-centric development using a protocol layer. .

이는 새로운 메시지를 더 추가하지 않아도 공통의 인터페이스와 인프라를 제공함으로써 보다 편리한 서비스 추가가 이루어 질 수 있다. 또한, 프로파일을 활용하여 원격에서도 서비스 로직을 구성할 수 있는 인터페이스를 제공함으로써 사업자가 손쉽게 서비스를 추가할 수 있도록 하였다.This allows for more convenient service addition by providing a common interface and infrastructure without adding more new messages. In addition, the service provider can easily add a service by providing an interface for configuring service logic remotely using a profile.

또한, 본 발명의 제1 실시예에서 제공하지 않은 서비스 수행 동기화를 제공하기 위해 제1 실시예에서 제공한 메시지 프리미티브인 Request, Response 구조를 개선하고 Event 메시지를 추가하였다. 즉, 본 발명의 제2 실시예에서는 Event 메시지를 이용하여 모든 로봇상에서 수행중인 서비스에 대해서 명시적인 Acknowledge을 보내줌으로써 에러 발생을 줄이고, 서비스 로직 구성이 보다 용이한 것이다. In addition, in order to provide service performance synchronization not provided in the first embodiment of the present invention, the request and response structure, which is a message primitive provided in the first embodiment, is improved and an event message is added. That is, in the second embodiment of the present invention, an error message is reduced by sending an explicit acknowledgment for a service running on all robots using an event message, and service logic is more easily configured.

마지막으로 본 발명의 제1 실시예에서, URC 로봇과 URC 서버간에 존재할 수 있는 비정상적인 상황에 대처하기 위한 메카니즘을 제공하지 않았지만 본 발명의 제2 실시에에서는 URC Heartbeat 메시지를 추가하여 로봇이나 서버의 비정상적인 상태를 확인하고 그에 따른 조치를 취할 수 있도록 한 것으로, 이는 사용자와 로봇 서버간의 상태 점검을 보다 효율적으로 할 수 있도록 한 것이다.Lastly, in the first embodiment of the present invention, a mechanism for coping with an abnormal situation that may exist between the URC robot and the URC server is not provided, but in the second embodiment of the present invention, the URC Heartbeat message is added to the abnormal state of the robot or server. This is to check the status and take action accordingly, which makes the status check between the user and the robot server more efficient.

네트워크 기반의 로봇들이 본 발명에서 제시한 프로토콜을 따름으로서 URC 인프라에서 제공하는 다양한 기능들을 활용하여 사용자에게 지능적이고 상황에 맞는 서비스를 제공할 수 있다.Network-based robots can provide intelligent and contextual services to users by utilizing various functions provided by the URC infrastructure by following the protocol proposed by the present invention.

또한 URC 클라이언트는 원격에서 로봇이 가지고 있는 센싱기능 및 로봇의 이동성을 활용하여 다양한 형태의 서비스를 제공할 수가 있는데 이는 서비스를 URC 서버에서만 제공하는 것이 아니라 서비스 사업자들이 원격에서도 서비스를 제공할 수 있도록 함으로써 URC 인프라내에서 다양한 형태의 비즈니스 모델이 나올 수 있는 것이다. In addition, the URC client can provide various types of services by utilizing the robot's sensing capabilities and the mobility of the robot from a remote location. Various types of business models can emerge within the URC infrastructure.

결국 URC 프로토콜 규약을 따르는 로봇들은 URC 인프라에서 제공하는 다양한 서비스를 이용할 수가 있으며 URC 인프라에서 연동된 많은 로봇들은 서비스 사업자에게 수익을 창출할 수 있는 시장을 제공하게 되어 지능형 로봇 서비스의 보급에 크게 기여할 수 있을 것이다.As a result, robots following the URC protocol can use various services provided by the URC infrastructure, and many robots linked with the URC infrastructure can provide a market for profitable service providers to contribute to the dissemination of intelligent robot services. There will be.

상기한 바와 같은 본 발명은 로봇, 서버와 사용자 클라이언트 간의 원활한 연동이 이루어지도록 한 프로토콜의 데이터 포맷을 제안하기 때문에 다수의 로봇과 클라이언트라 하더라도 효율적인 호환성을 확보하여 범용적으로 사용할 수 있는 효과가 있다.As described above, the present invention proposes a data format of a protocol for smoothly interworking between a robot, a server, and a user client, so that even a plurality of robots and clients can secure efficient compatibility and can be used universally.

또한, 이에 따라 로봇 및 사용자와 같은 단말이 서버를 이용하여 로봇으로부터 원하는 서비스를 원활하고 편리하게 사용할 수 있기 때문에 사용자의 편리성을 극대화시키는 효과가 있다.In addition, since a terminal such as a robot and a user can smoothly and conveniently use a desired service from the robot using a server, there is an effect of maximizing user convenience.

또한, 서비스 수행 동기화를 제공하기 위해 Event 메시지를 추가하였으며, 추가된 Event 메시지를 이용하여 모든 로봇상에서 수행중인 서비스에 대해서 명시적인 Acknowledge을 보내줌으로써 에러 발생을 줄이고, 서비스 로직 구성이 보다 용이한 것이다. In addition, an event message has been added to provide service performance synchronization. By using the added event message, explicit acknowledgments are sent for services running on all robots, reducing the occurrence of errors and making service logic easier.

마지막으로 URC 로봇과 URC 서버간에 존재할 수 있는 네트워크 환경에 따른 비정상적인 상황에 대처하기 위한 메카니즘 즉, URC Heartbeat 메시지를 추가하여 로봇이나 서버의 비정상적인 상태를 확인하고 그에 따른 조치를 용이하게 취할 수 있도록 한 것으로, 이는 사용자와 로봇 서버간의 상태 점검을 보다 효율적으로 할 수 있는 것이다. Lastly, a mechanism for coping with abnormal situations in the network environment that may exist between the URC robot and the URC server, that is, the URC Heartbeat message has been added to check the abnormal state of the robot or server and to take appropriate action. This makes the status check between the user and the robot server more efficient.

또한, 네트워크 기반의 로봇들이 본 발명에서 제시한 프로토콜을 따름으로서 URC 인프라에서 제공하는 다양한 기능들을 활용하여 사용자에게 지능적이고 상황에 맞는 서비스를 제공할 수 있다.In addition, network-based robots can provide intelligent and contextual services to users by utilizing various functions provided by the URC infrastructure by following the protocol proposed by the present invention.

또한 URC 클라이언트는 원격에서 로봇이 가지고 있는 센싱기능 및 로봇의 이동성을 활용하여 다양한 형태의 서비스를 제공할 수가 있는데 이는 서비스를 URC 서버에서만 제공하는 것이 아니라 서비스 사업자들이 원격에서도 서비스를 제공할 수 있도록 함으로써 URC 인프라내에서 다양한 형태의 비즈니스 모델이 나올 수 있는 것이다. In addition, the URC client can provide various types of services by utilizing the robot's sensing capabilities and the mobility of the robot from a remote location. Various types of business models can emerge within the URC infrastructure.

결국 URC 프로토콜 규약을 따르는 로봇들은 URC 인프라에서 제공하는 다양한 서비스를 이용할 수가 있으며 URC 인프라에서 연동된 많은 로봇들은 서비스 사업자에게 수익을 창출할 수 있는 시장을 제공하게 되어 지능형 로봇 서비스의 보급에 크게 기여할 수 있을 것이다.As a result, robots following the URC protocol can use various services provided by the URC infrastructure, and many robots linked with the URC infrastructure can provide a market for profitable service providers to contribute to the dissemination of intelligent robot services. There will be.

Claims (49)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 유/무선 통신 기반에서의 통신제어시스템에 있어서;A communication control system based on wired / wireless communication; 기 설정된 데이터 포맷의 Payload 내용에 따라 화상, 음성, Moving 중 적어도 어느 하나 이상의 서비스를 수행하는 단말과;A terminal for performing at least one service among image, voice, and moving according to payload contents of a preset data format; 상기 단말을 통한 사용자명령을 인식하여 상기 단말과 해당 프로토콜에 따라 상기 데이터포맷을 가지는 패킷을 송수신하며, 상기 데이터포맷으로 상기 서비스가 수행되도록 제어하는 서버를 포함하되, Recognizing a user command through the terminal and transmitting and receiving the packet having the data format according to the terminal and the corresponding protocol, and includes a server for controlling the service to be performed in the data format, 상기 단말과 서버 중 어느 일측에서 타측을 향하여 전송하기 위한 패킷은, 상기 일측에서 타측을 향하여 상호 간의 인터페이싱을 승인하기 위한 Protocol Discriminator 필드와;The packet for transmission from one side of the terminal and the server to the other side, Protocol Discriminator field for accepting the interfacing between the one side from the other side; 상기 단말을 구별하기 위해 ID를 설정하는 Session ID 필드와;A Session ID field for setting an ID to distinguish the terminal; 상기 일측에서부터 상기 타측으로 향하여 데이터를 전송하기 위한 방향성을 설정하는 Data direction 필드와;A Data direction field for setting a direction for transmitting data from the one side to the other side; 상기 데이터의 형식과 내용 중 적어도 어느 하나이상을 대표격으로 정의하는 Data Type 필드와;A Data Type field defining at least one of a format and contents of the data as a representative; 상기 일측과 타측 중 어느 하나가 수행하는 하기 메시지의 서비스 이용여부를 판단하고, 이를 구분하기 위해 ID를 설정하는 Service ID 필드와;A Service ID field for determining whether to use a service of the following message performed by one of the one side and the other side, and setting an ID to distinguish the service; 상기 Data Type 필드에 정의된 데이터와 상기 Service ID 필드에서 판단된 이용가능한 서비스를 설정하여 상기 일측과 타측이 그 서비스를 수행하도록 메시지를 부여하는 Payload 필드를 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신제어시스템.And a payload field for setting a data defined in the data type field and an available service determined in the service ID field and assigning a message to the one side and the other side to perform the service. Communication control system using. 제10항에 있어서;The method of claim 10; 상기 단말은 적어도 하나이상의 로봇단말과 적어도 하나이상의 제어단말을 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신 제어 시스템.The terminal includes at least one robot terminal and at least one control terminal communication control system using a data format for the terminal. 제11항에 있어서;The method of claim 11; 상기 로봇단말은 사용자로부터 음성메시지를 스스로 동작하기 위한 데이터포맷을 갖는 패킷으로 가공하여 상기 서버에 제공하며 이에 대한 해당 서비스를 수행하여 그 결과를 사용자에게 알려주고;The robot terminal processes the voice message from the user into a packet having a data format for operating itself and provides the server to the server, and performs the corresponding service to inform the user of the result; 상기 제어단말은 상기 로봇단말을 제어하기 위하여 사용자가 원하는 서비스 에 대한 정보를 상기 데이터포맷을 갖는 패킷으로 가공하며 이를 상기 서버에게 전송하고, 상기 서버로부터 로봇단말의 서비스결과를 수신하여 사용자에게 알려주는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신제어시스템.The control terminal processes the information about the service desired by the user into a packet having the data format in order to control the robot terminal and transmits it to the server, and receives the service result of the robot terminal from the server and informs the user. Communication control system using a terminal data format, characterized in that. 제12항에 있어서;The method of claim 12; 상기 서비스에 대한 정보는 상기 패킷의 Payload 필드에 기록되는 것으로, 상기 Payload 필드에 기록되는 메시지는 인증번호 및 그 절차 메시지, 화상 인식 메시지, 음성 인식 메시지, Moving용 제어메시지를 포함하며, 이에 따라 사용자에게 무인경비, 원격 모니터링 서비스를 제공하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신제어시스템.The information about the service is recorded in the Payload field of the packet, and the message recorded in the Payload field includes an authentication number and its procedure message, image recognition message, voice recognition message, and moving control message. Communication control system using a data format for the terminal, characterized in that to provide unmanned security, remote monitoring service. 유/무선 통신 기반에서 적어도 어느 하나이상의 단말과 서버 중 어느 일측에서 타측을 향하여 설정된 단말용 데이터포맷을 가지는 패킷을 해당 프로토콜로 전송하는 통신제어방법에 있어서;Claims [1] A communication control method for transmitting a packet having a data format for a terminal set from one side of at least one terminal and a server toward the other side in a wired / wireless communication based on a corresponding protocol; 상기 패킷의 데이터포맷을 이용하여 상기 단말과 상기 서버 간에 인증절차에 따라 인증을 확인하는 단계와;Confirming authentication according to an authentication procedure between the terminal and the server using a data format of the packet; 상기 인증 후 상기 데이터포맷으로 상기 단말 각각을 구분하는 Session ID를 부여하는 단계와;Assigning a Session ID for identifying each of the terminals in the data format after the authentication; 상기 Session ID가 부여된 해당 단말에게 사용자의 음성명령을 입력하여 그 음성데이터를 갖는 패킷의 Payload 메시지를 서버에게 전송하고, 상기 Payload 메시지를 분석하여 Service ID를 회신하는 단계와;Inputting a user's voice command to the corresponding terminal to which the Session ID is assigned, transmitting a payload message of a packet having the voice data to a server, analyzing the payload message, and returning a service ID; 상기 Service ID에 따른 동작을 수행하는 해당 단말이 그의 결과를 상기 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신제어방법.And transmitting, by the corresponding terminal performing the operation according to the Service ID, the result thereof to the server. 제14항에 있어서;The method of claim 14; 상기 Service ID에 해당하는 서비스는 무인경비, 원격모니터링, 음성인식, 화상인식, Moving 제어를 수행하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신제어방법.The service corresponding to the Service ID is an unmanned security, remote monitoring, voice recognition, image recognition, moving control method using a data format for the terminal, characterized in that for performing. 제14항에 있어서;The method of claim 14; 상기 인증절차는,The authentication procedure, 상기 데이터포맷의 Payload 메시지의 내부 필드에 해당하는 Message Type의 Request Message, Acknowledgement response Message, Error Acknowledgement response Message를 순차적으로 수행하여 상기 단말이 상기 서버에게 접속을 시도하는 단계와;The terminal attempting to access the server by sequentially performing a request message, an acknowledgment response message, and an error acknowledgment response message of a message type corresponding to an internal field of the payload message of the data format; 상기 접속 후 상기 Message Type의 Authorization Message, Positive Authorization Message, Negative Authorization Message를 순차적으로 수행하여 상기 단말의 인증요구에 따른 인증번호를 부여하는 단계를 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신제어방법.After the connection, sequentially performing the Authorization Message, Positive Authorization Message, and Negative Authorization Message of the Message Type to assign an authentication number according to the authentication request of the terminal. Way. 제16항에 있어서,The method of claim 16, 상기 단말이 복수개 이상일 경우, 상기 인증번호 부여하는 단계는 각 단말의 리스트를 받아 상기 Message Type에 정의된 Select Message로 원하는 해당 단말에게 인증요구메시지를 전송하는 단계를 더 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신제어방법.If there is more than one terminal, the step of assigning an authentication number further comprises the step of receiving a list of each terminal and transmitting an authentication request message to the corresponding terminal desired by the Select Message defined in the Message Type Communication control method using data format. 제14항에 있어서;The method of claim 14; 상기 단말은 적어도 하나이상의 로봇단말과 적어도 하나이상의 제어단말 중 적어도 어느 하나이상으로 구성되어 있는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신제어방법.And the terminal comprises at least one of at least one robot terminal and at least one control terminal. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 통신 제어 시스템에 있어서;A communication control system; 기 설정된 데이터 포맷의 Payload 내용에 따라 화상, 음성, Moving 중 적어도 어느 하나 이상의 서비스를 수행하는 로봇과;A robot that performs at least one service among images, voices, and movings according to payload contents of a preset data format; 상기 로봇을 통한 사용자 명령을 인식하여 상기 로봇과 해당 프로토콜에 따라 상기 데이터 포맷을 가지는 패킷을 송수신하며, 상기 데이터 포맷으로 상기 서비스가 수행되도록 제어하는 서버; A server which recognizes a user command through the robot and transmits and receives a packet having the data format according to the robot and the protocol, and controls the service to be performed in the data format; 원격에 위치하여 상기 서버를 통해 로봇의 원격 제어 및 모니터링 서비스를 수행하는 클라이언트를 포함하되, Includes a client located remotely to perform a remote control and monitoring service of the robot through the server, 상기 로봇, 서버 및 클라이언트간에 기 설정된 데이터 포맷은, The preset data format between the robot, server, and client, 상기 로봇, 서버 및 클라이언트간의 인터페이싱을 승인하기 위해 프로토콜 식별자 정보를 포함하는 Protocol Discriminator 필드;A Protocol Discriminator field containing protocol identifier information for approving interfacing between the robot, server and client; 현재 연결되어 있는 세션을 구분하기 위한 고유 정보(ID)를 포함하는 Session ID 필드;A Session ID field containing unique information (ID) for identifying a session that is currently connected; 상기 로봇, 서버 및 클라이언트 중 어느 하나가 수행하는 프로파일(제어 기능)을 구분하기 위한 정보를 포함하는 Profile ID 필드; A Profile ID field including information for distinguishing a profile (control function) performed by any one of the robot, server, and client; 상기 로봇, 서버 및 클라이언트간에 송수신되는 메시지의 종류 정보를 포함하는 MSG Type 필드;An MSG Type field including type information of a message transmitted and received between the robot, server, and client; 상기 MSG Type 필드에 정의된 데이터와 상기 Profile ID에 포함된 프로파일 정보에 따라 해당 기능에 대한 서비스를 수행하기 위한 메시지가 포함된 Payload 필드를 포함하는 통신 제어 시스템.And a payload field including a message for performing a service for a corresponding function according to data defined in the MSG Type field and profile information included in the Profile ID. 제26항에 있어서, The method of claim 26, 상기 로봇은, 상기 서버 또는 클라이언트로부터 로봇을 구성하는 각 컴포넌트를 제어하기 위한 제어 메시지를 상기 기 설정된 데이터 포맷을 이용하여 수신하여 해당 컴포넌트를 구동하고, 해당 컴포넌트의 움직임 상태가 전이(Transition)되는 경우 움직임 전이 이벤트 정보를 상기 서버나 클라이언트로 제공하는 통신 제어 시스템.The robot receives a control message for controlling each component constituting the robot from the server or client using the preset data format to drive the corresponding component, and when the movement state of the corresponding component is transitioned. A communication control system for providing motion transition event information to the server or client. 제27항에 있어서, The method of claim 27, 상기 움직임 전이 이벤트 정보는, 로봇의 각 컴포넌트 상태를 IDLE 및 ACTIVE 상태로 구분하고, 각 상태에서 다른 상태로 전이가 될 때, 시작, 종료(또는 정지) 이벤트 정보를 포함하는 통신 제어 시스템.The motion transition event information divides each component state of the robot into IDLE and ACTIVE states, and includes start, end (or stop) event information when a transition is made from each state to another state. 제26항에 있어서, The method of claim 26, 상기 서버는, 상기 로봇의 네트워크 접속상태를 파악하기 위해 주기적으로 Heartbeat 요구 메시지를 상기 기 설정된 데이터 포맷에 따라 전송하고 로봇으로부터 상기 기 설정된 데이터 포맷에 따라 수신되는 HB 응답 메시지의 수신 여부에 따라 로봇의 네트워크 접속 상태를 파악하는 통신 제어 시스템.The server periodically transmits a heartbeat request message according to the preset data format and determines whether the robot receives the HB response message according to the preset data format to determine the network connection state of the robot. Communication control system to grasp network connection status. 제29항에 있어서, The method of claim 29, 상기 로봇은, 상기 서버로부터 주기적으로 전송하는 Heartbeat 요구 메시지에 따라 Heartbeat 응답 메시지를 상기 서버로 전송하는 통신 제어 시스템.And the robot transmits a heartbeat response message to the server according to a heartbeat request message periodically transmitted from the server. 제26항에 있어서, The method of claim 26, 상기 서버는, 상기 클라이언트에서 로봇의 원격 제어를 위해 클라이언트의 인증을 수행하고, 자신과 연결된 로봇들의 리스트 정보를 클라이언트로 제공하며,클라이언트로부터 제어하고자하는 로봇이 할당된 경우 할당된 로봇과 클라이언트간에 인터페이스를 제공하는 통신 제어 시스템.The server performs authentication of the client for remote control of the robot at the client, provides the list information of the robots connected to the client, and when a robot to be controlled from the client is assigned, an interface between the allocated robot and the client Provide communication control system. 삭제delete 제26항에 있어서, The method of claim 26, 상기 서버의 프로파일은, Profile of the server, 상기 로봇과 클라이언트의 인증을 수행하기 위한 인증 프로파일, 상기 클라이언트에서 원격으로 로봇제어를 수행할 수 있도록 인터페이스를 제공하는 원격 제어 프로파일, 상기 서버나 클라이언트에서 로봇의 이벤트(로봇 움직임 제어)를 제어를 수행할 수 있도록 한 이벤트 프로파일, 로봇으로부터 수신되는 음성 명령의 음성 인식을 위한 음성 인식 프로파일, 음성 인식 데이터와 텍스트 데이터를 합성하기 위한 음성 합성 프로파일, 로봇으로부터 전송되는 영상 정보를 인식하기 위한 영상 인식 프로파일, 로봇의 움직임을 검출하기 위한 움직임 검출 프로파일중 적어도 하나의 프로파일을 포함하는 통신 제어 시스템.An authentication profile for performing authentication of the robot and the client, a remote control profile providing an interface for remotely controlling the robot from the client, and controlling an event (robot movement control) of the robot from the server or the client An event profile, a voice recognition profile for voice recognition of voice commands received from the robot, a voice synthesis profile for synthesizing voice recognition data and text data, an image recognition profile for recognizing image information transmitted from the robot, And at least one profile of the motion detection profile for detecting motion of the robot. 제26항에 있어서, The method of claim 26, 상기 로봇의 프로파일은, Profile of the robot, 로봇의 위치 이동을 위한 이동 프로파일, 네비게이션 프로파일, 음성 명령에 대한 음성 검출 프로파일, 서버로부터 제공되는 음성 합성에 데이터를 출력하는 발성 프로파일, 로봇의 움직임을 제어하는 모션 프로파일, 로봇의 감정 표현 기능을 수행하는 감정 프로파일 중 적어도 하나의 프로파일을 포함하는 통신 제어 시스템.It performs the movement profile for moving the robot's position, navigation profile, voice detection profile for voice command, voice profile outputting data to voice synthesis provided from the server, motion profile to control the robot's movement, and robot's emotion expression function. And at least one profile of said emotion profile. 클라이언트, 로봇 및 클라이언트와 로봇간의 인터페이스를 제공하는 서버를 포함한 통신 제어 시스템에서 원격에 위치한 클라이언트를 이용하여 로봇을 제어하는 방법에 있어서, In a method for controlling a robot using a client located remotely in a communication control system including a client, a robot and a server providing an interface between the client and the robot, 상기 원격에 위치한 클라이언트는 임의의 로봇을 원격 제어 및 모니터링 서비스를 수행하기 위해 서버에 접속하여 인증 및 서버에 접속된 다수의 로봇 리스트 정보를 요구하는 단계; Requesting a plurality of robot list information connected to a server by connecting to a server to perform remote control and monitoring service of any robot; 상기 서버는 클라이언트의 인증을 수행한 후, 자신과 연결된 로봇 리스트정보를 상기 클라이언트로 전송하는 단계; After the server authenticates the client, transmitting the robot list information connected to the server to the client; 상기 클라이언트는 서버로부터 전송된 로봇 리스트 정보를 이용하여 제어하고자 하는 로봇을 선택하여 해당 정보를 서버로 전송하는 단계; The client selecting a robot to be controlled by using the robot list information transmitted from the server and transmitting the corresponding information to the server; 상기 서버는 클라이언트로부터 선택된 로봇과 상기 클라이언트간에 로봇 원격 제어 및 모니터링 서비스를 위한 메시지의 송수신 인터페이스를 설정하는 단계를 포함하는 통신 제어 방법 The server communication control method comprising the step of setting the transmission and reception interface of the message for the robot remote control and monitoring service between the robot selected from the client and the client 제35항에 있어서, 36. The method of claim 35 wherein 상기 클라이언트와 클라이언트가 선택한 로봇간에 인터페이스가 설정된 상태에서, 클라이언트는 서버를 통해 로봇을 제어하기 위한 다양한 서비스 채널에 가입하는 단계; In a state in which an interface is established between the client and the robot selected by the client, the client subscribing to various service channels for controlling the robot through a server; 서비스 채널에 가입 후, 클라이언트는 서버를 통해 로봇으로 로봇이 촬영한 영상 정보와 로봇의 상태 정보를 요구하고, 로봇으로부터 주기적으로 전송되는 영상 정보 및 상태 정보에 따라 로봇의 임의의 기능을 제어하기 제어 메시지를 전송하는 단계; After joining the service channel, the client requests image information and status information of the robot to the robot through the server, and controls to control any function of the robot according to the image information and status information periodically transmitted from the robot. Sending a message; 로봇은 클라이언트로부터 서버를 통해 전송되는 제어 메시지에 따라 해당 기능을 수행하고, 해당 기능의 동작 시점과 종료 시점에 대한 이벤트 정보를 서버를 통해 클라이언트로 전송하는 단계; The robot performs the corresponding function according to the control message transmitted from the client through the server, and transmits event information on the operation time and the end time of the function to the client through the server; 상기 클라이언트는 로봇의 원격 제어 및 모니터링 서비스가 종료되면, 서버로 로봇과의 연결 종료 요구 메시지를 전송하여 로봇과의 연결을 로그아웃하는 단계를 더 포함하는 통신 제어 방법.And when the client ends the remote control and monitoring service of the robot, sending a connection termination request message to the server to log out of the connection with the robot. 제36항에 있어서, The method of claim 36, 상기 서버는 로봇의 네트워크 연결 상태를 체크하기 위해 주기적으로 Heartbeat 요구 메시지를 로봇으로 전송하는 단계; The server periodically sending a heartbeat request message to the robot to check the robot's network connection status; 상기 로봇은, 상기 서버로부터 전송되는 Heartbeat 요구 메시지에 따라 응답 메시지를 전송하여 네트워크 연결 상태 정보를 서버로 통지하는 단계를 더 포함하는 통신 제어 방법.The robot further comprises the step of notifying the network connection status information to the server by sending a response message according to the Heartbeat request message transmitted from the server. 제10항에 있어서;The method of claim 10; 상기 Payload 필드내 기록되는 메시지는 화상용, 음성용, Moving용 메시지로 나누어지며, 화상용 메시지는 파일넘버, 사이즈 및 화상 데이터로 구성되고, 상기 음성용 메시지는 파일넘버, 사이즈, 음성 데이터로 구성되며,, Moving용 메시지는 Moving를 제어하는 형태에 따라서 Robot movement, Robot status control, Robot status report, Robot Error status, Camera control의 command type를 갖는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신 제어 시스템.A message recorded in the payload field is divided into a picture message, a voice message, and a moving message. The picture message is composed of a file number, a size, and picture data. The voice message is composed of a file number, a size, and voice data. And the moving message has a command type of robot movement, robot status control, robot status report, robot error status, and camera control according to the type of controlling the moving. 제38항에 있어서,The method of claim 38, 상기 음성용 메시지 및 화상용 메시지에 포함된 파일넘버는 Client Type과 Client ID와 파일생성순서로 구성되고; A file number included in the voice message and the picture message comprises a Client Type, a Client ID, and a file generation order; 상기 Robot movement는 상기 단말의 X축 이동거리와 단말의 Y축 이동거리, 단말의 자세각도와, 카메라 앵글로 구성되어 Moving을 제어하기 위한 메시지이고;The robot movement is a message for controlling moving by consisting of an X-axis movement distance of the terminal, a Y-axis movement distance of the terminal, an attitude angle of the terminal, and a camera angle; 상기 Robot status control는 단말의 현재상태를 실기간으로 확인하기 위하여 단말의 상태 리포트와 리포팅 주기로 구성되어 있고;The robot status control is composed of a status report and a reporting period of the terminal to check the current status of the terminal in real time; 상기 Robot status report는 상기 Robot movement에 따른 무인경보 설정상태, 단말의 이동상태, 감시상태, 이상상태, 신원확인상태, 경고상태 등의 상태정보 및 단말의 위치정보와, Action 완료정보에 대한 메시지로 구성되어 단말의 서비스 결과를 파악하기 위한 메시지이고;The robot status report is a message about the unmanned alarm setting state, the movement state of the terminal, the monitoring state, the abnormal state, the identification state, the warning state, the position information of the terminal, and the action completion information according to the robot movement. A message configured to determine a service result of the terminal; 상기 Robot Error status는 적어도 하나 이상의 단말 자신의 이상여부를 판단하여 단말의 동작조건에 관한 메시지이고,The Robot Error status is a message regarding an operation condition of the terminal by determining whether at least one terminal itself is abnormal, 상기 Camera control의 command type은 화상전송과 관련된 메시지인 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신 제어 시스템.The command type of the camera control is a communication control system using a data format for a terminal, characterized in that the message associated with the image transmission. 제38항에 있어서;The method of claim 38; 상기 Payload 필드는 음성인식용 데이터인 ASR(Automatic Speech Recognition), 음성 출력용 데이터인 TTS(Text To Speech), 얼굴인식 및 움직임 검출용 데이터인 FR(Face Recognition)/MD(Motion Detection), 인증용 데이터인 Authorization, Moving용 데이터, VoIP용 데이터의 메시지를 제공하기 위하여 Client Type, Client ID, User ID, Authorization Code, Massage Type의 필드를 추가적으로 더 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신 제어 시스템.The payload field includes ASR (Automatic Speech Recognition), which is voice recognition data, Text To Speech (TTS), which is voice output data, Face Recognition (MD) / Motion Detection (MD), and authentication data, which are data for face recognition and motion detection. In order to provide messages of Authorization, Moving data, and VoIP data, a communication control system using a terminal data format further comprises fields of Client Type, Client ID, User ID, Authorization Code, and Massage Type. . 제40항에 있어서;41. The method of claim 40; 상기 Client Type 필드는 상기 Data Direction 필드의 방향성 정보와 상호 보완적인 필드이며, 그 방향성 정보에 해당하는 단말의 종류를 나타내며;The Client Type field is a field complementary to the directional information of the Data Direction field, and indicates a type of a terminal corresponding to the directional information; 상기 Client ID 필드는 적어도 하나이상의 단말에 상응하는 ID를 설정하여 상기 Data Direction 필드의 방향성 정보에 해당하는 단말을 구별하기 위한 것이며;The Client ID field is for distinguishing a terminal corresponding to the directional information of the Data Direction field by setting an ID corresponding to at least one terminal; 상기 User ID 필드는 적어도 하나이상의 단말을 서버가 인식하기 위한 ID를 설정하며, ID는 등록된 사용자 수를 의미하며;The User ID field sets an ID for recognizing at least one terminal by a server, and ID means a number of registered users; 상기 Authorization Code 필드는 적어도 하나이상의 단말 각각의 인증번호를 제공하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신 제어 시스템.The Authorization Code field is a communication control system using a data format for a terminal, characterized in that to provide an authentication number of each of at least one terminal. 제40항에 있어서41. The method of claim 40 상기 Message Type 필드는 상기 단말과 서버 간에 연결 초기화, 응답, 동기화, 인증, 데이터전송 등을 위한 절차를 제공하며, The Message Type field provides a procedure for connection initialization, response, synchronization, authentication, data transmission, etc. between the terminal and the server. 상기 단말과 서버 간에 전송되는 메시지는 상기 단말과 서버 간의 접속을 위한 제1메시지그룹, 상기 단말와 서버 간의 인증을 위한 제2메시지그룹, 상기 제1메시지그룹 및 제2메시지그룹의 연속성을 위한 메시지, 인증된 상호 간에 전송되는 메시지, 종료 메시지를 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신 제어 시스템.The message transmitted between the terminal and the server includes a first message group for connection between the terminal and the server, a second message group for authentication between the terminal and the server, a message for continuity of the first message group and the second message group, Communication control system using a data format for the terminal, characterized in that it comprises a message, the end message transmitted to each other authenticated. 제42항에 있어서;43. The method of claim 42; 상기 제1메시지그룹은 Request Message, Acknowledgement response Message, Error Acknowledgement response Message를 포함하고, 상기 제2메시지그룹은 Authorization Message, Positive Authorization Message, Negative Authorization Message를 포함하고, 상기 연속성을 위한 메시지는 Synchronization Message이며, 상기 Payload 메시지는 Data Message이고, 상기 종료 메시지는 Close Report Message인 것을 특징으로 하는 단말용 데이터 포맷을 이용한 통신 제어 시스템.The first message group includes a request message, an acknowledgment response message, and an error acknowledgment response message, and the second message group includes an authorization message, a positive authorization message, and a negative authorization message, and the message for continuity is a synchronization message. And the payload message is a data message and the end message is a close report message. 제10항에 있어서;The method of claim 10; 상기 단말은 적어도 하나 이상의 로봇과 적어도 하나이상의 클라이언트 단말 중 적어도 하나를 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신 제어 시스템.The terminal includes at least one of at least one robot and at least one client terminal communication control system using a data format for the terminal. 제10항에 있어서;The method of claim 10; 상기 데이터 포맷의 업데이터 상황을 제시하기 위한 Protocol Version 필드를 더 포함하는 것을 특징으로 하는 단말용 데이터포맷을 이용한 통신 제어 시스템.And a Protocol Version field for presenting the updater status of the data format. 제34항에 있어서, The method of claim 34, wherein 상기 로봇 프로파일은, 상기 서버나 클라이언트로부터 로봇의 움직임 제어 메시지가 수신되어 로봇의 각 컴포넌트별 움직임 상태가 전이(Transition)되는 경우 움직임 전이 이벤트 정보를 상기 서버나 클라이언트로 제공하는 이벤트 제공 프로파일을 더 포함하는 통신 제어 시스템.The robot profile further includes an event provision profile that provides motion transition event information to the server or client when a motion control message of the robot is received from the server or client and the motion state of each component of the robot is transitioned. Communication control system. 제46항에 있어서, 47. The method of claim 46 wherein 상기 움직임 전이 이벤트는, 로봇의 각 컴포넌트 상태를 IDLE 및 ACTIVE 상태로 구분하고, 각 상태에서 다른 상태로 전이가 될 때, 시작, 종료(또는 정지) 이벤트로 구분하는 통신 제어 시스템.The movement transition event divides each component state of the robot into an IDLE and an ACTIVE state, and divides each state into a start, end (or stop) event when a transition is made from each state to another state. 제33항에 있어서, The method of claim 33, wherein 상기 서버의 프로파일은, Profile of the server, 상기 로봇의 네트워크 접속상태를 파악하기 위해 주기적으로 Heartbeat 요구 메시지를 전송하는 HB 요구 프로파일을 더 포함하는 통신 제어 시스템.And a HB request profile that periodically transmits a Heartbeat request message to determine a network connection state of the robot. 제34항에 있어서, The method of claim 34, wherein 상기 로봇의 프로파일은, Profile of the robot, 상기 서버로부터 로봇의 네트워크 접속 상태를 파악하기 위해 주기적으로 전송하는 Heartbeat 요구 메시지에 따라 Heartbeat 응답 메시지를 상기 서버로 전송하는 HB 응답 프로파일을 더 포함하는 통신 제어 시스템.And a HB response profile for transmitting a heartbeat response message to the server according to a heartbeat request message periodically transmitted from the server to determine a network connection state of the robot.
KR1020050122044A 2004-12-30 2005-12-12 Terminal data format, communication control system using the terminal data format, and method thereof KR100902662B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/KR2005/004589 WO2006071062A1 (en) 2004-12-30 2005-12-27 A terminal data format and a communication control system and method using the terminal data format
CN2005800454037A CN101095104B (en) 2004-12-30 2005-12-27 A terminal data format and a communication control system and method using the terminal data format
JP2007549254A JP2008529324A (en) 2004-12-30 2005-12-27 Terminal data format and communication control system and method using terminal data format
EP05822431A EP1834230A1 (en) 2004-12-30 2005-12-27 A terminal data format and a communication control system and method using the terminal data format
US11/323,775 US20060149824A1 (en) 2004-12-30 2005-12-30 Terminal data format and a communication control system and method using the terminal data format

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040116792 2004-12-30
KR20040116792 2004-12-30

Publications (2)

Publication Number Publication Date
KR20060079092A KR20060079092A (en) 2006-07-05
KR100902662B1 true KR100902662B1 (en) 2009-06-15

Family

ID=37170868

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050122044A KR100902662B1 (en) 2004-12-30 2005-12-12 Terminal data format, communication control system using the terminal data format, and method thereof

Country Status (3)

Country Link
JP (1) JP2008529324A (en)
KR (1) KR100902662B1 (en)
CN (1) CN101095104B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210015387A (en) * 2019-08-02 2021-02-10 한국전자통신연구원 Method and apparatus for distributed smart factory operation using opc ua

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214079B2 (en) 2007-03-30 2012-07-03 Sungkyunkwan University Foundation For Corporate Collaboration Central information processing system and method for service robot having layered information structure according to recognition and reasoning level
US20090016251A1 (en) * 2007-07-13 2009-01-15 Gainspan, Inc. Management method and system of low power consuming devices
KR100924088B1 (en) * 2007-12-28 2009-11-02 모스트아이텍 주식회사 Method for Controlling flow of Communication between URC Server and Client
KR101115529B1 (en) * 2009-11-17 2012-02-27 (주)이산솔루션 Robot management system and method for controlling and monitoring robot using the same
CN102014122B (en) * 2010-09-10 2015-04-22 上海复控华龙微系统技术有限公司 IP Camera service system of point-to-point protocol based on two-way safety authentication
CN102333071A (en) * 2011-05-26 2012-01-25 浙江大学 Engineering mechanical vehicle networking and communicating method and engineering mechanical vehicle networking system
WO2014101022A1 (en) * 2012-12-26 2014-07-03 华为技术有限公司 Remote wakening method, device and system
CN104184776A (en) * 2013-05-27 2014-12-03 腾讯科技(深圳)有限公司 Method and apparatus for realizing commonly used expression synchronization of instant messaging tools
CN106506674B (en) * 2016-11-25 2019-07-09 腾讯科技(深圳)有限公司 Communication information synchronous method and device
CN111464573B (en) * 2019-01-21 2023-07-28 胡俊喜 Network communication system, method and device for data forwarding across communication protocols
CN110071972A (en) * 2019-04-19 2019-07-30 国网甘肃省电力公司电力科学研究院 A method of identification controls network channel based on TeamViewer remote software
CN110275532B (en) * 2019-06-21 2020-12-15 珠海格力智能装备有限公司 Robot control method and device and visual equipment control method and device
CN111741072B (en) * 2020-05-27 2021-10-12 清华大学 Low-bandwidth high-security data transmission method based on equipment virtualization
CN113001541B (en) * 2021-02-20 2021-11-19 周旺平 Robot automatic control method
CN113608538A (en) * 2021-08-04 2021-11-05 联想新视界(南昌)人工智能工研院有限公司 Control service integration method of underwater robot based on 5G edge calculation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970020334A (en) * 1995-10-17 1997-05-28 김광호 Multi Robot Control Method
KR19980059207A (en) * 1996-12-31 1998-10-07 이우복 How to generate communication packet for robot controller
KR20050026275A (en) * 2003-09-09 2005-03-15 삼성전자주식회사 System for control home robot using distributed intelligence
KR100497310B1 (en) * 2005-01-10 2005-06-23 주식회사 아이오. 테크 Selection and playback method of multimedia content having motion information in network based robot system
KR100499770B1 (en) * 2004-12-30 2005-07-07 주식회사 아이오. 테크 Network based robot control system
KR20050118920A (en) * 2004-06-15 2005-12-20 주식회사 케이티프리텔 Method and device for controlling robot over fixed/mobile convergence telecommunication network
KR100594165B1 (en) * 2005-05-24 2006-06-28 삼성전자주식회사 Robot controlling system based on network and method for controlling velocity of robot in the robot controlling system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2873222B2 (en) * 1997-05-12 1999-03-24 川崎重工業株式会社 Robot information processing device
JP4320904B2 (en) * 2000-03-02 2009-08-26 ソニー株式会社 Gateway and data communication method
JP2002328851A (en) * 2001-04-27 2002-11-15 Sony Corp Control method and transmitter
JP2003134128A (en) * 2001-10-23 2003-05-09 Japan Radio Co Ltd Method for constructing, repairing/reconstructing and operating multistage transmission network
JP2003205483A (en) * 2001-11-07 2003-07-22 Sony Corp Robot system and control method for robot device
KR100452343B1 (en) * 2001-12-28 2004-10-12 에스케이텔레텍주식회사 Memory medium storing file for Mobile Communication Device including Machine-Language-Code Execution Section and File Execution Method using the same
JP4073771B2 (en) * 2002-12-04 2008-04-09 日本電信電話株式会社 Video / audio communication service providing system, service processing method in the system, and video / audio communication system by distributed resource cooperation
JP2004318862A (en) * 2003-03-28 2004-11-11 Sony Corp Information providing device and method, and information providing system
JP2004306200A (en) * 2003-04-08 2004-11-04 Yaskawa Electric Corp Robot control system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970020334A (en) * 1995-10-17 1997-05-28 김광호 Multi Robot Control Method
KR19980059207A (en) * 1996-12-31 1998-10-07 이우복 How to generate communication packet for robot controller
KR20050026275A (en) * 2003-09-09 2005-03-15 삼성전자주식회사 System for control home robot using distributed intelligence
KR20050118920A (en) * 2004-06-15 2005-12-20 주식회사 케이티프리텔 Method and device for controlling robot over fixed/mobile convergence telecommunication network
KR100499770B1 (en) * 2004-12-30 2005-07-07 주식회사 아이오. 테크 Network based robot control system
KR100497310B1 (en) * 2005-01-10 2005-06-23 주식회사 아이오. 테크 Selection and playback method of multimedia content having motion information in network based robot system
KR100594165B1 (en) * 2005-05-24 2006-06-28 삼성전자주식회사 Robot controlling system based on network and method for controlling velocity of robot in the robot controlling system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210015387A (en) * 2019-08-02 2021-02-10 한국전자통신연구원 Method and apparatus for distributed smart factory operation using opc ua
KR102593008B1 (en) * 2019-08-02 2023-10-23 한국전자통신연구원 Method and apparatus for distributed smart factory operation using opc ua

Also Published As

Publication number Publication date
CN101095104B (en) 2010-12-08
KR20060079092A (en) 2006-07-05
JP2008529324A (en) 2008-07-31
CN101095104A (en) 2007-12-26

Similar Documents

Publication Publication Date Title
KR100902662B1 (en) Terminal data format, communication control system using the terminal data format, and method thereof
US20060149824A1 (en) Terminal data format and a communication control system and method using the terminal data format
JP6313914B1 (en) System and method for notifying event occurrence
CN103460674B (en) For supplying/realize the method for sending out notice session and pushing provision entity
EP2122922B1 (en) Remote control using instant messaging
CN110651241A (en) Connecting multiple mobile devices to a smart home assistant account
CN110718218B (en) Voice processing method, device, equipment and computer storage medium
EP2308023B1 (en) Virtual media device
US20060036744A1 (en) Implementing and coordinating configuration of protocol processes
CN113785555A (en) Providing communication services using a set of I/O user devices
CN110855680A (en) Internet of things equipment docking method and device
CN108282768B (en) Bluetooth device sharing control and request method and device, and computer storage medium
US10204098B2 (en) Method and system to communicate between devices through natural language using instant messaging applications and interoperable public identifiers
US20070136301A1 (en) Systems and methods for enforcing protocol in a network using natural language messaging
KR20080019826A (en) Robot remote control apparatus using instant message protocol and method thereof
CN110113623A (en) A kind of audio-video slice transmission platform based on Session Initiation Protocol
CN104717127B (en) Method, terminal and the system of contact person's triggering are realized based on image recognition
JP2002120184A (en) Robot operation control system on network
KR100914249B1 (en) Communication System and method for network based robot control
CN106656479A (en) Equipment password authentication method, servers and terminal
JP2004187149A (en) Remote equipment control method and equipment management device
WO2010024778A1 (en) Remote control using instant messaging
JP2000092152A (en) Information communication system and communication terminal equipment thereof
CN102932428A (en) Device linking
JP2010142944A (en) Robot client management system for network-based robot control and its method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130530

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 10