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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Abstract
본 발명은, 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
도 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;
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)는 2byte로 할당될 수 있으며, 데이터가 프로토콜에서 정의된 메시지임을 지정하기 위한 첫번째 필드값으로써, 입력된 데이터의 첫번째 필드값이 동일한 Protocol Discriminator일 경우에만 인터페이싱을 승인하여 데이터를 처리하도록 하고, 그렇지 않고 승인되지 않으면 처리하지 않고 무시해 버린다. 예를들면 0x7E7E와 같은 형식을 가지게 된다.The
Protocol Version(42)는 2 byte로 할당될 수 있으며, 프로토콜 Version에 대한 필드로서, 초기에는 예를 들어 0x0001로 설정(Version 1.0)되어 있다가 프로토콜이 업데이트될 때마다 비트를 하나씩 증가시킨다.The
Session ID(43)는 4byte로 할당되어 세션 번호로 구성되며 그 번호가 초기에 0x00000000값으로 할당될 수 있다. 사용자 인증이 끝난 후에 URC 서버에서 로봇에게 자동으로 부여하여 주며, Session ID(43)는 다른 단말들(예를 들어 사용자 단말 및 PDA)을 개별적으로 구분하고, 식별하기 위한 것이다. 여기서는 한 개의 포트와 여러 개의 포트를 쓸 수 있는 방법이 있으며, 한 개의 포트를 사용할 경우는 단순히 다른 로봇과 구분하고 식별하기 위해 사용되지만, 여러 개의 포트를 사용할 경우는 다른 로봇과의 식별뿐만 아니라 각각의 포트들을 구분하는데 사용할 수 있다.
이하, 제1 실시예에서는 Session ID(43)를 하나의 포트를 사용하여 로봇을 구분하기 위한 것으로 설명한다.Hereinafter, in the first embodiment, the
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
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 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)필드는 도시되지 않았지만, 음성인식용 데이터인 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
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
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
도 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
Acknowledgement response Message(51)는 로봇에서 상기와 같은 Request Message(50)를 전송하여 연결을 요구할 경우 연결이 성공적으로 이루어졌을 때, URC 서버에서 로봇에게 전송하는 응답 메시지이다.The
한편, Error Acknowledgement response Message(52)는 로봇과 URC 서버가 성공적으로 연결이 이루어지지 못하였을 경우, URC 서버에서 로봇에게 전송하는 응답 메시지이다.Meanwhile, the error
Synchronization Message(53)는 상기와 같이 URC 서버와 로봇간에 연결된 상태에서 URC 서버와 로봇간에 지속적인 연결 상태를 체크하는 메시지이다.The
Authorization Message(54)는 URC 서버로부터 로봇과의 네트워크 연결상태에 이상이 없다는 메시지, 즉 Acknowledgement response Message(52)를 수신하는 경우 로봇에서 상기 URC 서버로 인증을 요구하기 위해 전송하는 메시지이다.The
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
Data Message(57)는 일반적인 데이터 전송의 경우 해당되는 형식으로 영상, 음성, TTS, VoIP, 제어데이터 전송 등에 사용되는 메시지이다.The
Close Report Message(58)는 사용자가 URC 서버와의 연결의 종료를 로봇에 명령한 경우 로봇에서 URC 서버로 전송하는 연결 종료 메시지이다.The
상술한 바와 같은 공통헤드가 정의된 후에 사용하게 될 메시지들에 대한 각각의 서비스 필드를 더 상세하게 설명하면 다음과 같다.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
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
클라이언트(10)와 URC 서버(20) 및 URC 서버(20)와 로봇(30)은 각각 TCP/IP 기반의 네트워크를 통해 연결되며, 상기 네트워크를 통해 상호 패킷이 송수신되어 음성인식 데이터, 화상인식 데이터, Moving용 제어데이터에 따른 동작을 수행한다.The
사용자가 클라이언트(10)를 통해 로봇(30)을 동작시키기 위한 제어 패킷을 네트워크를 통해 전송하는 경우 URC 서버(20)는 수신된 패킷의 Payload필드를 분석하고, 사용자의 명령이 음성이나 키보드 명령일 경우 그 명령에 해당하는 서비스를 수행하도록 상기 로봇(30)을 제어하게 된다. 그러면, 로봇(30)은 서비스를 완료하여 그에 상응하는 패킷을 상기 URC 서버(20)로 제공하게 되고, URC 서버(20)는 로봇(30)으로부터 수신된 서비스 완료 패킷을 분석하여 그에 상응하는 결과 메시지를 패킷 형태로 서비스를 요구한 클라이언트(10)로 제공하게 되는 것이다.When the user transmits a control packet for operating the
따라서, 클라이언트(10)는 URC 서버(20)로부터 제공되는 결과 메시지에 따라 사용자가 모니터링할 수 있도록 디스플레이하게 되는 것이다.Therefore, the
한편, 사용자가 로봇(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
도 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
도 6에 도시된 바와 같이, 로봇(30) 및 클라이언트(10)는 URC 서버(20)에서 인증이 된 경우에만 사용자가 원하는 서비스를 수행할 수 있다. As shown in FIG. 6, the
우선, 패킷의 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
상기 메시지를 수신한 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 서버(20)는 네트워크에 이상이 없다고 판단하여 Acknowledgement response Message를 로봇(30)으로 전송한다. 이 메시지를 수신한 로봇(30)은 연결이 성공적으로 이루어졌음을 인식하여 수신된 메시지내 Payload의 Message Type를 통해 인증을 요구하는 Authorization Message를 URC 서버(20)로 전송한다. The
그러면, URC 서버(20)는 로봇(30)의 인증요구에 따라 로봇(30)의 인증을 수행하고, 인증이 성공적으로 이루어진 경우 인증을 확인하는 Positive Authorization Message를 로봇(30)에게 전송한다. 여기서, 전송되는 메시지내에는 로봇(30)의 인증번호 정보가 포함되어 있어 해당 인증 번호가 로봇(30)에 부여된다. 만일, URC 서버(20)에서 외부적 내부적 요인으로 인하여 로봇(30)의 인증이 실패할 경우 URC 서버(20)는 인증실패를 확인하는 Negative Authorization Message를 로봇(30)으로 전송한다.Then, the
따라서, URC 서버(20)와 로봇(30) 간의 인증여부를 확인한 후에 임의의 서비스 요구 패킷을 상호간에 송수신하여 사용자가 원하는 화상, 음성, Moving 등 서비스를 수행할 수 있는 것이다. Therefore, after confirming the authentication between the
한편, 클라이언트(10)의 인증절차 또한 상기와 동일한 과정으로 인증이 이루어지므로 그 상세한 절차에 대하여는 그 설명을 생략하고 상기와 동일한 방법을 통해 클라이언트(10)의 인증이 완료된 것으로 가정하자. On the other hand, since the authentication process of the
상기와 같이 로봇(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
즉, 로봇(30)은 사용자의 음성명령에 따라 해당 음성 데이터를 포함하는 패킷을 URC 서버(20)로 전송한다. URC 서버(20)는 수신된 패킷으로부터 음성명령을 분석하고 분석된 음성 명령에 상응하는 해당 서비스를 ID를 DB로부터 추출하여 로봇(30)에 해당 Service ID를 부여하게 된다. 즉, Service ID는 패킷의 Session ID에 해당하는 로봇(30)에게 전송한다. That is, the
Service ID를 부여받은 로봇(30)은 URC 서버(20)와 해당 서비스에 대한 구 체적인 실행모드의 패킷을 전송하면서, 상기 Service ID에 해당하는 서비스 즉 무인경비, 원격 모니터링, 음성인식, 화상인식, Moving 제어 중 어느 하나를 수행하고, 수행 결과에 대한 패킷을 URC 서버(20)로 전송한다. 여기서 상기 Service ID는 로봇(30)이 수행할 수 있는 다수의 다른 서비스도 설정할 수도 있다. The
예를들어, 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
상기 부여받은 Service ID를 이용하여 로봇(30)이 URC 서버(20)로 임의의 서비스를 요구하기 위한 패킷을 전송하게 되면, URC 서버(20)는 로봇(30)으로부터 전송된 패킷 헤더부분의 Service ID를 분석하여 해당 서비스 수행을 위한 어플리케이션을 구동하여 해당 서비스를 수행할 수 있도록 하는 것이다. When the
한편, 클라이언트(10)는 로봇(30)처럼 이동체가 아니므로 원격 모니터링을 위한 서비스에 해당하는 Service ID를 부여받고, 그 Service ID에 대한 패킷이 전송되어 로봇(30)의 동작상황이나, 모니터링 화상 및 음성 데이터 등을 URC 서버(20)로부터 수신하여 모니터링할 수 있는 것이다. On the other hand, since the
즉, 클라이언트(10)는 URC 서버(20)를 통해 직접 로봇(30)과 통신하여 로봇(30)을 제어할 수 있는 것이 아니라 단순히 로봇(30) 상태 등을 모니터링할 수 있는 기능을 가지고 있는 것이다. 이 경우 역시 URC 서버(20)는 클라이언트(10)로 로봇(30)의 상태 정보 예를 들면, 로봇의 상태 화상 정보, 음성 정보등의 모니터링 정보를 제공하기 위해서는 로봇(30)과 패킷 통신을 통해 해당 정보를 획득하게 되는 것이다. That is, the
상술한 바와 같은 Service ID에 해당하는 서비스를 달성하기 위하여 URC 서버(20)와 로봇(30) 간에 송수신되는 패킷의 Payload 필드내의 정보는 음성인식, 화상인식, 인증, Moving 제어, 제어단말 제어 등 실시예로 나누어지며, 이러한 서비스를 위한 로봇(30)과 URC 서버(20)간의 메시지 흐름을 첨부한 도면을 통해 구체적으로 설명해 보기로 하자. Information in the payload field of packets transmitted and received between the
도 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
URC 서버(20)는 상기 로봇(30)으로부터 수신된 메시지에 따라 음성 인식 어휘 파일명 정보가 포함된 ASR_SVC_RECG_FLST라는 메시지를 로봇(30)으로 전송하게 된다(S102). The
로봇(30)은 음성 인식 데이터를 포함한 ASR_SVC_RECG_PROC 메시지를 URC 버(20)에 전송하고(S103), URC 서버(20)는 로봇(30)으로부터 수신된 음성 인식 데이터를 분석하여 인식된 어휘 및 Score 정보를 포함하는 ASR_SVC_RECG_PROC_RESULT 메시지를 로봇(30)에게 전송하는 것이다(S104). The
로봇(30)은 다시 URC 서버(20)로 TTS_SVC_TEXT_BUFF라는 메시지를 통해 텍스트(Text)에 대한 일반 합성을 요청하고(S105), URC 서버(20)는 텍스트 합성 결과에 대한 TTS_SVC_TEXT_BUFF_RESULT 메시지를 로봇(30)으로 전송하게 되는 것이다(S106).The
로봇(30)은 URC 서버(30)로부터 수신한 텍스트 합성 결과 메시지에 따라 텍스트를 지정된 파일명으로 요청하기 위한 TTS_SVC_TEXT_FILE 메시지를 URC 서버(20)로 전송한다(S107).The
URC 서버(20)는 로봇(30)의 상기 메시지에 따라 합성된 음성 파일을 포함하는 TTS_SVC_TEXT_FILE_RESULT 메시지를 로봇(30)으로 전송하고(S108), 로봇(30)은 서버(20)에 전송된 Text에 대한 음성합성을 TTS_SVC_TEXT_STREAM라는 메시지로 요청하게 된다(S109).The
따라서, URC 서버(20)는 로봇(30)의 요청에 따라 TTS_SVC_TEXTSTREAM_RESULT라는 메시지를 통해 텍스트에 대한 합성된 음성 데이터와 ID를 로봇(30)으로 전송한다(S110). Accordingly, the
로봇(30)은 TTS_SVC_NAME_BUFF라는 메시지로 URC 서버(20)에 사람 이름에 대한 합성을 요청하고(S111), URC 서버(20)는 TTS_SVC_NAME_BUFF_+RESULT라는 메시지를 통해 합성한 사람 이름에 대한 데이터를 로봇(30)으로 전송하게 되는 것이다(S112).The
도 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
URC 서버(20)는 로봇(30)으로부터 수신한 로봇 ID에 대한 메시지에 따라 해당 로봇 ID를 이용하여 서비스가 가능한지에 대한 권한 부여 여부 결과 정보를 IDHCI_VISION_InitServer_RESULT 메시지를 통해 로봇(30)으로 전송하게 된다(S202). The
로봇(30)은 HCI_VISION_FRCONF라는 메시지를 통해 얼굴 등록 모드 실행 전, 등록한 User ID에 따른 얼굴등록이 가능한지 여부를 URC 서버(20)로 전송하게 된다(S203). The
URC 서버(20)는 로봇(30)의 User ID에 따른 얼굴 등록이 가능한 경우 HCI_VISION_FRCONF_PROC메시지를 통해 등록할 얼굴 화상을 로봇(30)에 요구한다(S204)When the face registration according to the user ID of the
로봇(30)은 URC 서버(20)의 요구에 따라 HCI_VISION_FRMODE메시지를 통해 얼굴 인식을 위해 촬상된 얼굴 화상 URC 서버(20)로 전송하여 URC 서버(20)에 등록하 고(S205), URC 서버(20)는 얼굴 화상이 등록되었음을 알리는 HCI_VISION_FR_PROC 메시지를 로봇(30)에게 전송한다(S206).The
로봇(30)은 화상 인식을 위한 실제 얼굴 데이터를 HCI_VISION_FI_MODE 메시지를 통해 URC 서버(20)에 전송하고(S207), URC 서버(20)는 로봇(30)으로부터 수신된 얼굴 데이터의 얼굴 인식 가능 여부에 대한 정보가 포함된 HCI_VISION_FI_PROC메시지를 로봇(30)으로 전송한다(S208).The
한편, 로봇(30)이 HCI_VISION_SV_MODE 메시지를 통해 무인 경비를 위한 화상 데이터를 URC 서버(20)에 전송하면(S209), URC 서버(20)는 무인 경비를 위한 로봇(30)으로부터 전송된 화상 데이터를 분석하고, 분석 결과에 대한 HCI_VISION_SV_PROC 메시지를 로봇(30)으로 전송함해 줌으로써 해당 서비스를 종료하는 것이다(S210). On the other hand, when the
도 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
먼저 로봇(30)에 대한 인증은 도 9에 도시된 바와 같이, 로봇(30)은 자신의 인증을 위해 인증에 필요한 정보를 포함한 AUTH_INITIATE 메시지를 URC 서버(20)로 전송한다(S301).First, the authentication for the
URC 서버(20)는 로봇(30)으로부터 전송된 인증에 필요한 정보를 분석하고 분석 결과에 대한 정보 즉, 인증 결과 정보를 포함하는 AUTH_RESULT 메시지를 로봇(30)으로 전송하여 인증을 수행한 후 기타 다른 서비스를 수행하게 되는 것이다(S302). The
한편, 클라이언트(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
클라이언트(10)는 다수개의 로봇(30) 들중 사용자가 선택한 로봇(30)에 대한 인증을 위한 AUTH_SELECTED_ROBOT 메시지를 메인 URC 서버(20)로 전송한다(S403).The
메인 URC 서버(20)는 사용자가 선택한 로봇(30)이 연결되어 있는 또 다른 URC 서버(21)를 할당하기 위한 해당 URC 서버(21) 정보를 포함하는 AUTH_ROBOT_LOCATION 메시지를 클라이언트(10)로 전송한다(S404). 이때는 제어할 로봇(30)이 연결되어 있는 URC 서버(21)에 대한 정보를 얻는 과정으로 이 과정은 생략할 수도 있다. The
그리고, 클라이언트(10)는 메인 URC 서버(20)와의 연결을 종료를 위해서는 AUTH_BYE 메시지를 전송함으로써 메인 URC 서버(20)와의 연결을 종료할 수 있는 것이다(S405).In addition, the
그리고, 클라이언트(10)는 사용자가 선택한 로봇(30)이 연결된 URC 서버(21)에 접속하여 원하는 서비스를 받기 위해서 인증 요청 메시지인 AUTH_RE_INITIATE 메시지를 URC 서버(21)로 전송한다(S406).In addition, the
이에 대해 URC 서버(21)는 인증 결과 정보를 포함하는 AUTH_RESULT 메시지를 해당 클라이언트(10)로 전송하여 인증을 완료하고 다음 절차를 진행하게 된다. In response to this, the
도 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
한편, 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 서버(20)의 데이터 갱신, 로봇(30)에서 URC 서버(20)로 전달된 로봇의 속성 DB를 갱신하는 역할, 사용자 ID와 Password 전송 그리 고 로봇(30)의 인증에 관한 메시지들이다. These messages are used to update the data of the
도 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
클라이언트(10)는 URC 서버(20)는 클라이언트(10)의 요구에 따라 자신이 가지고 있는 맵 버전 정보를 Map_Version_Resp 메시지를 통해 URC 서버(20)로 전송한다.The
이때, URC 서버(20)는 Map_Version_Resp 메시지를 통해 클라이언트(10)로부터 수신된 맵 버전 정보를 자신이 가지고 있는 맵 버전 정보와 비교 분석하여 맵 버전에 대한 매칭 결과 정보를 Client_For_Robot_Map 메시지를 통해 클라이언트(10)로 전송하게 된다.At this time, the
또한, URC 서버(20)는 맵 버젼이 맞지 않을 경우 맵 정보를 Client_For_Image 메시지를 통해서 클라이언트(10)로 전송한다.In addition, the
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
상술한 바와 같은 본 발명의 제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
또한, 제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
도 13에 도시된 바와 같이, 로봇(200)은 사용자나 외부로부터 입력되는 음성 명령이나 영상등의 상황 정보를 획득하여 URC 서버(100)로 전송을 하게 된다. As shown in FIG. 13, the
URC 서버(100)에서는 로봇(200)으로부터 전송되는 음성 명령이나 영상 정보등을 처리하여 사용자의 의도를 파악한 후 지능적이고 상황에 맞는 URC 서비스를 제공하게 되는 것이다. The
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
URC 규격에 따른 로봇(200)들은 URC 인프라에서 제공하는 다양한 서비스를 이용할 수가 있으며 URC 인프라에서 연동되는 많은 로봇(200) 들은 서비스 사업자에게 수익을 창출할 수 있는 시장을 제공할 수 있는 것이다.
다수의 URC 로봇(200)들과 원격에 위치한 다수의 클라이언트(300)는 URC 서버(100)와의 통신을 위한 메시지를 송수신하게 되는 URC 로봇(200)들 및 다수의 클라이언트(300)와 URC 서버(100)간의 통신 프로토콜에 사용되는 메시지 포맷은 도 14에 도시되어 있다. The plurality of
도 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.
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
한편, 도 15에 도시된 바와 같이 로봇 공통 프로파일에서는 로봇(200)을 제어하기 위한 일반적인 인터페이스를 제공한다. URC 서비스에서는 로봇 공통 프로파일에서 제공하는 기능들을 이용하여 사용자에게 로봇을 이용한 물리적인 서비스를 제공할 수 있다. 즉, URC 로봇 공통 프로파일은, 이동 프로파일, 네비게이션 프로파일, 음성 검출 프로파일, 발성 프로파일, 모션(Motion)프로파일 및 감정 프로파일을 포함할 수 있다. Meanwhile, as shown in FIG. 15, the robot common profile provides a general interface for controlling the
로봇 공통 프로파일은 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
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 로봇(200)들이 제공하는 기능들은 대부분 그 기능의 시작후 종료까지 어느 정도시간을 요하는 작업들이 많기 때문에 URC 로봇(200)들의 기능과 다른 기능들간의 동기를 맞추기 위해서는 작업의 시작과 끝나는 시점에서 해당 Acknowledge를 이벤트 형식으로 URC 서버(100)로 통지를 해주어야 한다. URC서버(100)에서는 이를 ACK를 통해서 서비스 수행에 필요한 동기를 맞추게 된다. 이러한 URC 로봇 ACK 동작을 보여주는 것이 도 16이다. In addition, since most of the functions provided by the
도 16에 도시된 바와 같이, 로봇(200)의 기능은 각 컴포넌트(Component) 별로 정의될 수 있기 때문에 각 컴포넌트들은 각기 상태 머신 예를 들면, 도 16에 도시된 바와 같이 로봇(200)을 구성하고 있는 구성요소들에 의해서 동작을 수행하며, 로봇(200)의 상태가 전이(Transition)되는 시점에서 해당 이벤트를 URC 서버(100)측으로 통지해 주어야 한다.As shown in FIG. 16, since the functions of the
즉, 로봇(200)의 기능은 로봇(200)의 각 Component별로 정의될 수 있기 때문에 로봇의 각 Component들은 각기 상태 머신(state machine)에 의해서 동작을 수행하며 상태(state)가 전이(transition)되는 시점에서 해당 이벤트를 URC 서버(100)측에 통지해 주어야 한다.That is, since the function of the
URC 프로토콜에서는 로봇(200)의 각 컴포넌트 상태를 "IDLE", ACTIVE" 두 가지로 구분하며, 각 상태에서 다른 상태로 전이될 때, "START", "END" 또는 "STOP"의 이벤트를 URC 서버(100)에 통지해 주어야 하는 것이다. 따라서, URC 서버(100)는 로봇(200)으로부터 전송되는 이벤트 메시지에 따라 로봇의 현재 동작 상태를 용이하게 파악할 수 있게 되는 것이다. In the URC protocol, each component state of the
한편, 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
도 17에 도시된 바와 같이, URC 서버(100)는 주기적으로(예를 들면 N 초 간격) Heartbeat 요구 메시지를 로봇(200)으로 전송하게 되고, 로봇(200)은 URC 서버로(100)로부터 전송된 Heartbeat 요구 메시지에 따라 Heartbeat 응답 메시지를 URC 서버(100)로 전송하게 된다. 따라서, URC 서버(100)는 로봇(200)과의 네트워크 연결 상태를 체크할 수 있게 되는 것이다. As shown in FIG. 17, the
만약, 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 프로토콜 메시지들을 이용하여 원격에 위치한 클라이언트에서 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
한편, 원격에 위치한 클라이언트(300)는 원격에서 URC 서버(100)에 접속을 하게 되고 자신이 제어하고자 하는 로봇(200)을 선택하여 구현하고자 하는 서비스의 로직에 따라서 로봇(200)으로부터 필요한 정보를 획득하거나 로봇을 원격에서 제어할 수 있다.On the other hand, the
원격 제어 및 모니터링 서비스의 경우 원격 클라이언트(300)는 로봇(200)으로 영상정보와 상태정보를 전송해 줄 것을 요청해서 원격에서 로봇(200)의 영상과 상태를 확인할 수가 있고, 또한 원격에서 로봇 제어 명령을 통해서 원격에서 로봇(200)을 이동시키거나 로봇(200)을 통해서 발성을 시키는 등의 제어를 수행할 수 있다. In the case of the remote control and monitoring service, the
이러한 클라이언트에서 로봇을 제어하거나 모니터링하기 위한 동작 흐름을 도 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 클라이언트(300)는 URC 서버(100)에 접속된 로봇(200)들의 리스트 정보를 요구하기 위한 URC_GET_ROBOT_LIST 메시지를 URC 서버(100)로 전송한다(S502). After the authentication is completed, the
URC 서버(100)는 URC 클라이언트(300)의 요구에 따라 로봇 리스트 정보를 URC_ROBOT_LIST 메시지에 포함하여 URC 클라이언트(300)로 전송하게 된다(S503).The
URC 클라이언트(300)는 URC 서버(100)로부터 전송된 로봇 리스트 정보에 따라 제어하고자 하는 로봇을 할당하고, 로봇 할당 정보와 해당 로봇의 사용 권한을 요구하기 위한 URC_ALLOCATE_ROBOT 메시지를 URC 서버(100)로 전송한다(S504).The
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 클라이언트(300)는 원하는 이벤트 채널에 가입한 후, 해당 로봇(200)으로부터 영상 정보 및 상태 정보를 요청하기 위해 OPEN_VISION 메시지 및 OPEN_STATUS_MONITOR 메시지를 URC 서버(100)를 통해 해당 로봇(200)으로 전송한다(S507, S508).In addition, the
로봇(200)은 URC 클라이언트(300)의 요청에 따라 자신이 촬영한 영상정보 및 상태 정보를 포함한 EVENT_NOTOFICATION(VISION, STATUS) 메시지를 주기적으로 URC 클라이언트(300)로 전송하게 된다(S509 내지 S512).The
URC 클라이언트(300)는 로봇(200)으로부터 전송되는 영상 정보 및 상태 정보를 이용하여 로봇(200)의 움직임을 제어하기 위한 메시지인 MOVE_ROBOT(FORWARD) 메시지를 로봇(200)으로 전송한다(S513).The
로봇(200)은 URC 클라이언트(300)의 요구에 따라 해당 움직임 동작을 수행하게 되는데, 클라이언트(300)가 로봇(200)의 움직임 동작 상태를 용이하게 확인하여 서비스 동기화를 위해 로봇(200)은 움직임 동작의 시작 시점과 종료 시점을 정확하게 알리기 위한 이벤트 통지 메시지인 EVENT_NOTIFICATION(MOVE_START)메시지와 EVENT_NOTIFICATION(MOVE_END)메시지를 URC 클라이언트(300)로 전송하게 된다(S513, S514).The
상기와 같은 방법을 통해 URC 클라이언트(300)는 로봇(200)으로부터 전송되는 영상 정보와 상태 정보를 이용하여 로봇(200)을 원격에서 실시간으로 제어할 수 있게 되는 것이다. Through the above method, the
이어, 서비스가 종료되면, 즉, 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
결국, 본 발명의 제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)
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)
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)
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)
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)
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 |
-
2005
- 2005-12-12 KR KR1020050122044A patent/KR100902662B1/en active IP Right Grant
- 2005-12-27 JP JP2007549254A patent/JP2008529324A/en active Pending
- 2005-12-27 CN CN2005800454037A patent/CN101095104B/en not_active Expired - Fee Related
Patent Citations (7)
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)
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 |