KR20070052641A - Robot server, content providing system and method comprising the same - Google Patents
Robot server, content providing system and method comprising the same Download PDFInfo
- Publication number
- KR20070052641A KR20070052641A KR1020060020414A KR20060020414A KR20070052641A KR 20070052641 A KR20070052641 A KR 20070052641A KR 1020060020414 A KR1020060020414 A KR 1020060020414A KR 20060020414 A KR20060020414 A KR 20060020414A KR 20070052641 A KR20070052641 A KR 20070052641A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- content
- server
- data
- virtual
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004891 communication Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008451 emotion Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40089—Tele-programming, transmit task as a program, plus extra info needed by robot
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
로봇 제어를 위한 로봇 서버, 이를 포함하는 컨텐츠 제공 시스템 및 그 방법이 개시된다, 본 발명의 로봇과 통신하는 로봇 서버는 가상 로봇 객체 및 가상 로봇 객체 관리부를 포함한다. 로봇 서버는 로봇에 대응하여 생성되고, 로봇으로부터 수신되는 명령을 수행하며 로봇을 제어한다. 가상 로봇 객체 관리부는 로봇에 대응하는 가상 로봇 객체를 생성하고, 로봇과 연결되면 가상 로봇 객체를 활성화한다.A robot server for controlling a robot, a content providing system including the same, and a method thereof are disclosed. A robot server communicating with a robot of the present invention includes a virtual robot object and a virtual robot object manager. The robot server is generated corresponding to the robot, performs a command received from the robot, and controls the robot. The virtual robot object manager generates a virtual robot object corresponding to the robot and activates the virtual robot object when connected to the robot.
Description
도 1은 본 발명에 따른 컨텐츠 제공 시스템의 개략적인 구성도를 도시한 것이다.1 is a schematic structural diagram of a content providing system according to the present invention.
도 2는 도 1의 인증 서버의 내부 블록도를 도시한 것이다.FIG. 2 illustrates an internal block diagram of the authentication server of FIG. 1.
도 3은 인증 서버에서 실행되는 인증 과정을 흐름도로 도시한 것이다.3 is a flowchart illustrating an authentication process executed in the authentication server.
도 4는 접속요청 패킷의 구조를 도시한 것이다.4 shows the structure of a connection request packet.
도 5는 인증요청시 사용되는 패킷의 구조를 도시한 것이다.5 shows the structure of a packet used in an authentication request.
도 6은 로봇 서버에 대한 상세 블록도를 도시한 것이다.6 shows a detailed block diagram of the robot server.
도 7은 도 6의 인증부에서 수행되는 인증과정에 대한 흐름도를 도시한 것이다.7 is a flowchart illustrating an authentication process performed by the authentication unit of FIG. 6.
도 8은 본 발명에 따른 컨텐츠 서비스 방법에 대한 흐름도를 도시한 것이다.8 is a flowchart illustrating a content service method according to the present invention.
도 9a 및 도 9b는 도 6의 사용자 명령 실행부 또는 로컬 서비스 실행부와 컨텐츠 서버 간 컨텐츠 데이터를 송수신하기 위한 컨텐츠 패킷 구조 및 시스템 명령 패킷 구조를 도시한 것이다.9A and 9B illustrate a content packet structure and a system command packet structure for transmitting and receiving content data between a user command execution unit or a local service execution unit of FIG. 6 and a content server.
도 10(a)는 본 발명에 채용된 버퍼가 가득 채워진 경우의 버퍼 동기화 프로토콜을 도시한 것이다. Figure 10 (a) shows the buffer synchronization protocol when the buffer employed in the present invention is full.
도 10(b)는 본 발명에 채용된 버퍼가 비어있거나 일부가 채워진 경우의 버퍼 동기화 프로토콜을 도시한 것이다.Figure 10 (b) shows the buffer synchronization protocol when the buffer employed in the present invention is empty or partially filled.
도 11은 컨텐츠 서버(14)에 대한 상세 블록도를 도시한 것이다.11 shows a detailed block diagram of the
본 발명은 로봇 제어를 위한 서버, 이를 포함하는 컨텐츠 제공 시스템 및 그 방법에 관한 것으로, 특히 자체 프로세싱 능력이 없거나 낮은 로봇을 원격제어하는 서버, 그 로봇에게 컨텐츠를 제공하는 시스템 및 그 방법에 관한 것이다.The present invention relates to a server for controlling a robot, a content providing system including the same, and a method thereof, and more particularly, to a server for remotely controlling a robot having no or low self-processing capability, a system for providing content to the robot, and a method thereof. .
현재까지의 대부분의 로봇은 각종 센서를 구비하고, 자체 프로세서를 구비하여 음악 서비스, 구연동화와 같은 스트리밍(streaming) 서비스를 제공하며, 대용량 프로세싱 능력을 요구하는 컨텐츠, 예를 들어, 음성인식, 영상인식 또는 네비게이션과 같은 서비스를 제공할 수 있다. 그러나 이러한 서비스를 모두 제공할 수 있는 로봇은 고가이므로, 실용성이 떨어진다고 할 수 있다.Most robots up to now have various sensors and have their own processors to provide streaming services such as music service and video activity, and content that requires a large amount of processing power, for example, voice recognition and video. It can provide services such as recognition or navigation. However, since robots that can provide all of these services are expensive, they can be said to be impractical.
또한 종래의 네트워크 기반의 로봇은 홈서버 또는 가정 내 PC와 같은 홈 네트워크 기반의 서버에 미리 제공하고자 하는 컨텐츠를 저장해 놓았다가 서비스하기도 한다. 이러한 종래 기술은 제공하고자 하는 컨텐츠를 미리 저장해야 할 뿐만 아니라 다양한 로봇에 대응되는 컨텐츠를 제공하기도 어렵다. 또한 컨텐츠를 제공하는 홈서버 등과 직접 로봇이 통신하므로 로봇의 하드웨어에 손상을 줄 수 있는 컨텐츠에 대응할 수 없다는 문제점도 있다.In addition, the conventional network-based robot stores the content to be provided in advance to the home network-based server, such as a home server or a PC in the home and then service. The prior art is not only to store the content to be provided in advance, but also difficult to provide content corresponding to various robots. In addition, since the robot directly communicates with a home server that provides the content, there is a problem in that it cannot cope with contents that may damage the hardware of the robot.
본 발명이 이루고자 하는 기술적 과제는 자체 서비스를 제공할 능력이 없거나 어려운 로봇을 원격제어하고 로봇에 컨텐츠를 제공하는 로봇 서버, 이를 포함하는 컨텐츠 제공 시스템 및 그 방법을 제공하는 데 있다.An object of the present invention is to provide a robot server that remotely controls a robot that is incapable or unable to provide its own service and provides content to the robot, a content providing system including the same, and a method thereof.
상기 기술적 과제를 이루기 위한, 본 발명은 로봇과 통신하는 로봇 서버에 있어서, 상기 로봇에 대응하여 생성되고, 상기 로봇으로부터 수신되는 명령을 수행하며 상기 로봇을 제어하는 가상 로봇 객체; 및 상기 로봇에 대응하는 상기 가상 로봇 객체를 생성하고, 상기 로봇과 연결되면 상기 가상 로봇 객체를 활성화하는 가상 로봇 객체 관리부를 포함함을 특징으로 한다.According to an aspect of the present invention, there is provided a robot server communicating with a robot, comprising: a virtual robot object generated in correspondence with the robot, performing a command received from the robot, and controlling the robot; And a virtual robot object manager configured to generate the virtual robot object corresponding to the robot and activate the virtual robot object when connected to the robot.
상기 기술적 과제를 이루기 위한, 본 발명은 로봇에게 컨텐츠 서비스를 제공하는 컨텐츠 서비스 시스템에 있어서, 복수의 컨텐츠를 저장하고, 상기 컨텐츠 서비스를 요청받으면 요청된 컨텐츠 데이터를 전송하는 컨텐츠 서버; 및 상기 로봇으로부터 네트워크를 통해 상기 컨텐츠 서비스 요청을 수신하고, 상기 컨텐츠 서버에 접속하여 상기 요청된 컨텐츠 데이터를 수신하여 상기 로봇에게 전송하는 로봇 서버를 포함함을 특징으로 한다.According to an aspect of the present invention, there is provided a content service system for providing a content service to a robot, comprising: a content server configured to store a plurality of contents and to transmit requested content data when the content service is requested; And a robot server that receives the content service request from the robot through a network, accesses the content server, receives the requested content data, and transmits the requested content data to the robot.
상기 기술적 과제를 이루기 위한, 본 발명은 로봇에 컨텐츠 서비스를 제공하는 방법에 있어서, 상기 컨텐츠 서비스의 요청이 있으면, 상기 로봇에 대응하는 가상 로봇 객체를 활성화하는 단계; 및 상기 가상 로봇 객체를 통해 요청된 컨텐츠를 획득하여 상기 로봇에 전송하는 단계를 포함함을 특징으로 한다.According to an aspect of the present invention, there is provided a method of providing a content service to a robot, the method comprising: activating a virtual robot object corresponding to the robot when the content service is requested; And acquiring the requested content through the virtual robot object and transmitting the requested content to the robot.
이하에서 첨부된 도면을 참조하여 본 발명을 상세하게 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 컨텐츠 제공 시스템의 개략적인 구성도를 도시한 것이다. 도시된 컨텐츠 제공 시스템은 댁내(1)에 위치한 로봇(10) 및 무선 엑세스 포인트(Access Point, AP)(10), 무선 AP(11)를 통해 로봇(10)과 통신하는 인증서버(12), 로봇 서버(13) 및 컨텐츠 서버(14)를 포함한다. 여기서, 인증 서버(12), 로봇 서버(13) 및 컨텐츠 서버(14)는 각각 유선으로 연결되는 것이 바람직하다.1 is a schematic structural diagram of a content providing system according to the present invention. The illustrated content providing system includes a
인증서버(12)는 로봇 서버(13)에 접속하고자 하는 로봇(10)을 인증한다. 로봇 서버(13)는 입력된 사용자 명령을 해석하고 실행하며, 내장된 가상 로봇 객체를 통해 로봇(10)을 관리 및 제어한다. 컨텐츠 서버(14)는 로봇 서버(13)를 통해 로봇(10)에 컨텐츠를 제공한다.The
로봇(10)은 자체 컨텐츠 서비스를 제공할 수 없는 중저가 로봇이거나 자체 컨텐츠 서비스를 제공할 수 있는 고가의 로봇일 수도 있다.The
여기서, 하나의 로봇 서버(13)는 여러 로봇들(10)을 관리할 수 있고, 로봇 서버(13)는 하나 또는 복수의 서버들로 구성될 수 있으며, 컨텐츠 서버(14) 역시 하나 또는 복수의 서버들로 구성될 수 있다.Here, one
도 2는 도 1의 인증 서버(12)의 내부 블록도를 도시한 것이다. 도시된 인증 서버(12)는 패킷 검사부(121), 제어부(122) 및 저장부(123)를 포함한다. 도 3은 인증 서버(12)에서 실행되는 인증 과정을 흐름도로 도시한 것이다.FIG. 2 shows an internal block diagram of the
먼저, 패킷 검사부(121)는 로봇(10)으로부터 로봇 서버(13)로의 접속을 위한 접속요청 패킷을 수신하면, 수신한 접속요청 패킷을 분석한다(31단계). First, when the
도 4는 접속요청 패킷의 구조를 도시한 것이다. 접속요청 패킷은 로봇(10)의 일련번호를 나타내는 RSN(Robot Serial Number) 필드(41), 접속요청 시간을 나타내는 TS(Time Stamp) 필드(42), 접속요구 타입을 나타내는 RT(Request Type) 필드(43), 로봇 서버 주소 필드(44) 및 로봇 서버 포트(port) 필드(45)를 포함한다. 4 shows the structure of a connection request packet. The connection request packet includes an RSN (Robot Serial Number)
접속요청시, 로봇 서버 주소 필드(44)와 로봇 서버 포트 필드(45)는 비어있는 상태로 전달된다. When the connection request is made, the robot
패킷 검사부(121)는 수신한 접속요청 패킷의 각 필드가 적절한 값을 갖는지를 검사하여 유효한 것을 확인하면(32단계), 제어부(122)는 이전에 로봇(10)이 로봇 서버(13)에 접속하였는지를 판단한다(33단계). 이전에 접속하였는지에 대한 판단은 접속요청 패킷의 RSN필드(41)에 포함된 로봇 일련 번호를 독출한 다음, 저장부(123)에 저장된 로봇 접속 테이블(미도시)에 해당 RSN값이 포함되어 있는지를 검사함으로써 이루어진다.When the
이전에 로봇 서버(13)에 접속한 적이 없으면, 저장부(123)에 저장된 로봇 서버 목록 테이블(미도시)로부터 접속할 로봇 서버의 주소와 포트 번호를 획득한다(34단계).If the
제어부(122)는 이전에 로봇 서버(13)에 접속한 적이 있다면, 로봇 접속 테이블로부터 획득한 로봇 서버(13)의 주소와 포트 번호를, 처음 접속한 경우라면 로봇 서버 목록 테이블로부터 획득한 로봇 서버(13)의 주소와 포트 번호를 이용하여 해당 로봇 서버에 연결하고, 인증을 요청한다(35단계).If the
도 5는 인증요청시 사용되는 패킷의 구조를 도시한 것이다. 도시된 인증 패 킷은 RSN필드(51), 인증요청명령을 나타내는 명령 필드(52), 로봇의 일련번호에 대응하여 획득된 로봇의 모델 번호를 나타내는 필드(53) 및 로봇의 IP주소를 나타내는 필드(54)를 포함한다.5 shows the structure of a packet used in an authentication request. The illustrated authentication packet includes an
로봇 서버(13)로부터 인증이 이루어지면(36단계), 제어부(122)는 최초 접속인 경우 다음번 접속시 동일한 로봇 서버(13)에 접속할 수 있도록 로봇(10)의 RSN, 로봇 서버(13)의 주소 및 포트 번호를 로봇 접속 테이블에 추가 등록한다(38단계). 다음으로, 도 3의 패킷에서 로봇 서버 주소 필드(44) 및 로봇 서버 포트 필드(45)를 해당 값들로 채워서 로봇(10)에게 전송한다(39단계). 이후, 로봇(10)은 해당 로봇 서버 주소 및 포트 번호를 이용하여 로봇 서버와 통신한다.When authentication is made from the robot server 13 (step 36), the
36단계에서 인증이 이루어지지 않으면, 접속 대상의 로봇 서버가 동작하지않음을 나타내므로, 제어부(122)는 다른 로봇 서버에 접속하도록 34단계로 진행하여 로봇 서버 목록 테이블에서 다른 로봇 서버의 주소 및 포트를 획득한 다음 35단계로 진행한다.If the authentication is not performed in
도 6은 도 1의 로봇 서버(13)에 대한 상세 블록도를 도시한 것이다.FIG. 6 shows a detailed block diagram of the
도시된 로봇 서버(13)는 인증부(61), 가상 로봇 객체 관리부(62), 가상 로봇객체(63), 패킷 분배부(64) 및 자원(resource) 관리부(65)를 포함한다.The illustrated
인증부(61)는 인증 서버(12)의 제어부(122)로부터 송신된 인증 패킷을 수신하고 분석하여 현재 접속 요청한 로봇(10)을 인증한다.The
도 7은 도 6의 인증부(61)에서 수행되는 인증과정에 대한 흐름도를 도시한 것이다.FIG. 7 is a flowchart illustrating an authentication process performed by the
인증부(61)는 제어부(122)로부터 수신한 인증 패킷으로부터 로봇(10)에 대한 정보를 획득한다(71단계). 인증부(61)는 획득된 정보를 가상 로봇 객체 관리부(62)에 전달하고, 가상 로봇 객체 관리부(62)는 해당 로봇(10)에 대응하는 가상 로봇 객체가 있는지를 판별한다(72단계). 가상 로봇 객체가 있다면 해당 가상 로봇 객체(63)를 활성화한다(73단계). 해당 가상 로봇 객체가 없다면, 가상 로봇 객체 관리부(62)는 그 로봇(10)에 대응하는 가상 로봇 객체(63)를 생성한 다음(74단계), 활성화한다(73단계). The
가상 로봇 객체(63)는 데이터 전송부(631), 로봇 프락시(proxy)(632), 가상객체실행부(633) 및 컨텐츠 패킷 관리부(634)를 포함한다. 또한 가상객체실행부(633)는 사용자 명령 실행부(6331) 및 로컬 서비스 실행부(6332)를 포함한다. 이러한 요소들로 구성된 가상 로봇 객체(63)의 생성 과정은 다음과 같다.The
먼저, 가상로봇 객체 관리부(62)는 가상 객체 로봇(63)에 로봇(10)과 통신을 위한 동기/비동기 통신 포트를 할당한다. 다음으로, 해당 로봇(10)과의 통신 규약 및 데이터 처리 등을 위한 로봇 프락시(632)를 저장수단(62-1)으로부터 독출하여 가상 객체 로봇(632)에 설치한다. 접속되는 로봇의 종류가 다양하고 그에 따른 통신 규약 및 데이터 처리 방법이 다양하기 때문에, 접속하는 로봇의 종류에 대응되는 객체로서 로봇 프락시(632)는 가상 로봇 객체(63)의 한 요소로 구성되며, 인증서버(12)로부터 얻어진 로봇 모델을 참고로 하여 저장수단(62-1)으로부터 독출된다. 로봇 프락시(632)에 대한 정보는 XML 문서와 같은 텍스트 형태로 저장수단(62-1)에 저장되어 있다.First, the virtual
가상 로봇 객체 관리부(62)는 또한 할당된 동기/비동기 통신 포트를 통한 통신을 위해 데이터 전송부(631)를 가상 로봇 객체(63)에 설치하고, 컨텐츠 서버(14)로부터 컨텐츠 데이터를 패킷 단위로 저장 및 관리하는 컨텐츠 패킷 관리부(634), 사용자 명령을 해석하고 실행하는 사용자 명령 실행부(6331) 및 가상 로봇 객체(63)의 내부 상태 관리, 장애물로부터 로봇(10)의 보호, 사용자 명령이 없을 때 사용자를 위한 감성기반 서비스 등을 수행하는 로컬 서비스 실행부(6332)를 더 설치한다.The virtual
가상 로봇 객체 관리부(62)는 가상 로봇 객체(63)를 관리하고, 다수의 가상 로봇 객체(63)들에 대한 생명주기 관리 및 사용자 정보/설정 정보 등을 가상 로봇 객체(63)로 전달한다. 여기서, 생명주기는 로봇(10)의 파워가 온(on)상태이면 해당 가상 로봇 객체(63)를 유지하고, 로봇(10)의 파워가 오프(off)되면 해당 가상 로봇 객체(63)를 일정 시간 동안 유지하거나 삭제하는 것을 말한다.The virtual
인증부(61)는 가상 로봇 객체(63)가 활성화되면, 인증서버(12)에 인증되었음을 알린다. 인증이 이루어지면, 가상 로봇 객체(63)는 로봇(10)으로부터 최초 접속에 따른 연결 패킷인 HelloPacket을 수신한다(75단계). 가상 로봇 객체(63)는 로봇(10)으로부터 수신한 HelloPacket으로부터 로봇(10)의 IP주소 및 포트번호를 등록함으로써 서비스할 준비를 하게 된다(76단계).The
로봇 프락시(632)는 데이터 전송부(631)를 통해 로봇(10)과 통신한다. 통신은 패킷 데이터 단위로 동기/비동기로 이루어진다. 동기/비동기 통신을 위한 채널은 TCP/IP, UDP(User Datagram protocol)/IP를 포함하여 자바 RMI(Remote Method Invocation), CORBA(Common Object Request Broker Architecture) 등 다양한 형태의 프로토콜로 구성될 수 있다. 동기 통신은 로봇의 동작, 음성 또는 영상 표시에 있어서 끊김이 없도록 하기 위한 것이고, 비동기 통신은 긴급을 요하는 시스템 명령 또는 센서 정보와 같이 어느 한쪽이 일방적으로 전송하기 위한 것이다.The
비동기 통신의 경우, 데이터 전송부(631)는 로봇(10)으로부터 비동기 데이터를 수신한 다음, 그 로봇(10)에 대응되는 가상 로봇 객체(63)에 대한 정보를 가상 로봇 객체 관리부(62)로부터 얻고, 해당 가상 로봇 객체(63)의 로봇 프락시(632)로 비동기 데이터를 전달한다. 로봇 프락시(632)는 전달된 비동기 데이터를 해석하고 그에 따른 동작을 수행한다.In the case of asynchronous communication, the
패킷 분배부(64)에서 로봇 프락시(632)로 비동기 데이터를 전달하는 방법은 가상 로봇 객체(63)에 대응하는 함수를 호출하거나 이벤트 방식으로 이루어질 수 있다. 또한 로봇(10)으로부터 수신되는 비동기데이터의 경우, 그 전달 방식에 있어서도 로봇(10)이 비동기데이터를 로봇서버(13)로 전송하는 방식과 로봇서버(13)가 로봇(10)에게 비동기데이터를 요구하여 전송받는 방식 모두 사용될 수 있다.The method for transferring asynchronous data from the packet distributor 64 to the
동기/비동기 데이터에 대한 처리방식은 로봇의 유형마다 정의하는 규약 및 처리 방법이 서로 달라질 수 있기 때문에 본 발명에서는 로봇 프락시(632)가 로봇(10)과의 통신규약 및 데이터 처리 방법을 담당한다.In the present invention, since the protocol and processing method defined for each type of robot may be different from each other, the
가상객체실행부(633)는 로봇(10)으로부터 사용자가 입력한 명령을 수신하여 수신된 사용자 명령을 해석하고 실행하며, 장애물로부터 로봇(10)을 보호하며, 사용자를 위한 감성 기반 서비스를 수행한다. The virtual
사용자 명령 실행부(6331)는 사용자 명령이 음성이면, 자원관리부(65)의 자동음성인식(Automatic Speech Recognition, ASR)기능을 통해 외부의 ASR 서버와 접속하여 음성명령 데이터를 전송하고, 음성명령에 대한 문자열 또는 심볼형태를 받아 해석하여 실행한다. 사용자 명령이 문자열로 이루어진 것이라면, 문자열에 대한 음성 발성을 위해 자원관리부(65)의 TTS(Text-To-Speech) 기능을 통해 문자열을 음성 데이터로 변환하여 로봇(10)에게 전송한다.If the user command execution unit 6321 is a voice, the user command is connected to an external ASR server through an automatic speech recognition (ASR) function of the
로컬 서비스 실행부(6332)는 로봇(10)으로부터 수신되는 감지 데이터를 이용하여 로봇(10)에 장애물 회피 명령을 전송한다. 로봇(10)은 각종 센서를 구비하고, 센서를 통해 감지된 데이터를 로컬 서비스 실행부(6332)로 전송한다. 현재까지 대부분의 로봇들은 자체 센서정보를 이용하여 로봇내에서 장애물 탐지 및 회피 기능을 수행하지만, 이 경우 고성능의 프로세서를 구비하고 있어야한다. 따라서 그러한 고성능 프로세서를 구비하지 않은 저가형 로봇은 그러한 처리능력이 없으므로 외부에서 두뇌 역할을 대신할 장치가 필요하다. 본 발명에서는 로봇 서버(13)를 통해 자체 고성능 프로세서를 구비하지 않은 저가형 로봇에 대한 장애물 탐지 및 회피 기능을 수행한다. The local
로컬 서비스 실행부(6332)는 또한 사용자의 감성에 기반한 서비스를 제공할 수 있다. 현재까지 대부분의 로봇들은 사용자의 명령에 의하여 사용자가 원하는 서비스를 제공하였다. 그러나 본 실시예에 따르면, 일정한 시간이 되었거나 사용자 명령이 없는 채로 일정한 시간이 경과한 경우 로봇(10)은 사용자 의도를 미리 분석하여 사용자에게 적절한 서비스를 제공할 수 있다. 예를 들어, 오후 3시에는 사용 자의 명령이 없어도 사용자가 애청하는 음악을 컨텐츠 서버(14)로부터 수신하여 들려주는 것과 같은 지능적인 서비스를 제공할 수 있다. 이러한 지능적인 서비스를 제공하기 위해 로봇(10)은 이전에 수행되어온 사용자 명령 혹은 이력 사항을 바탕으로 사용자의 습관 또는 취향을 학습함으로써 사용자의 의도를 미리 분석한다. 학습은 상술한 바와 같이 동일한 시간대에 입력되는 사용자 명령이 소정 회수 이상 반복되는 패턴을 저장함으로써 해당 시간대에 사용자 명령이 없어도 실행되도록 할 수 있다.The local
컨텐츠 패킷 관리부(634)는 사용자 명령 실행부(6331) 또는 로컬 서비스 실행부(6332)가 컨텐츠 서버(14)에 연결하여 컨텐츠 데이터를 수신하고, 수신한 컨텐츠 데이터를 로봇(10)에 제공할 때, 통신 채널의 상태에 따라 오버플로우(overflow)가 발생하지 않도록 컨텐츠 데이터를 패킷 단위로 일시 저장하여 전송한다.The
도 8은 본 발명에 따른 컨텐츠 서비스 방법에 대한 흐름도를 도시한 것이다. 먼저, 로봇(10)은 사용자에게 제공할 수 있는 컨텐츠 목록을 제시하고, 사용자로부터 음성명령 또는 로봇(10)에 장착되어 있는 버튼 또는 터치 스크린을 이용한 사용자 선택을 입력받는다(81단계). 로봇(10)은 사용자 선택을 로봇 서버(13)의 사용자 명령 실행부(6331)로 전달한다. 사용자 명령 실행부(6331)는 사용자 명령을 수행하기 위해 컨텐츠 서버(634)에 연결한다(82단계). 컨텐츠 패킷 관리부(634)는 통신 연결 상태를 유지하면서, 컨텐츠 서버(14)로부터 사용자가 요청한 서비스에 대한 컨텐츠 데이터를 수신하여 버퍼(미도시)에 순차적으로 저장한다(83단계). 8 is a flowchart illustrating a content service method according to the present invention. First, the
도 9a 및 도 9b는 사용자 명령 실행부(6331) 또는 로컬 서비스 실행부(6332)와 컨텐츠 서버(14) 간 컨텐츠 데이터를 송수신하기 위한 컨텐츠 패킷 구조 및 시스템 명령 패킷 구조를 도시한 것이다. 여기서, PL은 패킷 길이, DT는 명령(CMD) 또는 서브 명령(SCMD)을 나타내는 필드이다. RSN은 로봇(10)의 일련번호, AL은 오디오 길이, VL은 비디오 길이, CL은 제어 데이터의 길이를 나타내는 필드이다. AD는 오디오 데이터, VD는 비디오 데이터, CD는 제어 데이터를 나타낸다. CS는 패킷의 오류발생 여부를 점검하기 위한 체크섬(checksum)을 나타내는 필드이다.9A and 9B illustrate a content packet structure and a system command packet structure for transmitting and receiving content data between the user
컨텐츠 패킷 관리부(634)는 버퍼의 크기 및 로봇(10)과의 채널 연결상태에 따라 저장된 컨텐츠 데이터를 독출하여 도 9a와 같은 형식으로 변환한 다음 로봇(10)으로 전송한다(84단계). 예를 들어 버퍼의 크기가 작고 채널 대역폭이 작다면 컨텐츠 서버(13)로부터 컨텐츠 데이터의 전송을 지연하는 등의 방법으로 오버플로우가 발생하지 않도록 한다. 로봇(10)은 수신한 컨텐츠 패킷을 스피커 또는 디스플레이 장치를 통해 사용자에게 제공한다(85단계).The
컨텐츠 서비스의 다른 예로서, 로컬 서비스 실행부(6332)는 상술한 바와 같은 학습내용에 따라 사용자 명령이 일정 시간 동안 없거나 하루 중 어느 시간이 되면 사용자가 자주 이용하는 컨텐츠를 사용자에게 제공하기 위해 81단계와 같이 컨텐츠 서버(14)에 연결할 수도 있다. 이하 82 내지 85의 과정은 동일하며, 그 과정들은 로컬 서비스 실행부(6332)와 컨텐츠 패킷 관리부(634) 사이에 이루어진다.As another example of the content service, the local
이와 같이, 로봇(10)과 로봇 서버(13) 사이에는 무선통신이 이루어지고, 로봇 서버(13)와 컨텐츠 서버(14) 사이에는 유선 통신이 이루어진다. 현재의 네트워 크 환경에서 무선 통신은 유선 통신에 비해 전송속도가 현저하게 떨어지고 패킷의 손실이 많이 발생한다. 따라서 유선통신 구간인 로봇 서버(13)와 컨텐츠 서버(14) 사이의 통신에 있어서 패킷 데이터 전송제어를 필요로 한다. 그렇지 않으면 무선 구간인 로봇 서버(13)와 로봇(10)간의 패킷 전송에 있어서 재전송이 필요하게 되면 유선구간에서의 패킷 데이터가 증가하게 된다. 이 경우 하드웨어적인 저장 공간의 제약으로 인하여 유선 구간의 패킷 데이터를 저장할 수 없게 되어 메모리 초과 오류가 발생한다. 예를 들어, 유선구간의 패킷 데이터를 모두 저장할 수 있다 하더라도 대화를 필요로 하는 실시간성 서비스 또는 실시간으로 컨텐츠 데이터를 전송해야하는 경우 과거의 데이터를 로봇(10)에 전송하게 되는 문제가 발생하게 된다.As such, wireless communication is performed between the
따라서 본 발명에서는 이러한 문제점을 해결하기 위해 컨텐츠 패킷 관리부(634)가 컨텐츠 데이터를 버퍼에 저장하고 전송을 제어한다. 버퍼의 크기는 로봇(10)의 유형과 그 처리 능력에 따라 정해질 수 있다.Therefore, in the present invention, to solve this problem, the
도 10(a)는 본 발명에 채용된 버퍼가 가득 채워진 경우의 버퍼 동기화 프로토콜을 도시한 것이다. 도시된 바에 따르면 버퍼가 가득 채워진 경우, 컨텐츠 패킷 관리부(634)는 컨텐츠 서버(14)에 BUF_FULL을 전송하고(101단계), 컨텐츠 서버(14)는 BUF_LOW가 수신될 때까지 대기한다(102단계). Figure 10 (a) shows the buffer synchronization protocol when the buffer employed in the present invention is full. As shown, when the buffer is full, the
도 10(b)는 본 발명에 채용된 버퍼가 비어있거나 일부가 채워진 경우의 버퍼 동기화 프로토콜을 도시한 것이다. 도시된 바에 따르면, 버퍼가 비어있는 경우, 컨텐츠 패킷 관리부(634)는 컨텐츠 서버(14)에 BUF_LOW를 전송하고(103단계), 컨텐츠 서버(14)는 패킷을 전송한다(104단계).Figure 10 (b) shows the buffer synchronization protocol when the buffer employed in the present invention is empty or partially filled. As illustrated, when the buffer is empty, the
본 발명에서 이러한 버퍼 동기화 프로토콜을 채택한 이유는 로봇 서버(13)의 데이터 저장 자원(미도시)이 한정되어 있기 때문이다. 또한 저장수단에 저장할 수 있다고 하더라도 많은 양의 컨텐츠 데이터를 처리함으로써 발생되는 처리 지연에 따라 사용자와 실시간 대화가 필요한 서비스는 로봇(10)이 적절하게 대응하지 못할 수 있으며, 라디오 스트리밍(radio streaming)과 같이 일방적으로 전송하는 스트리밍 서비스의 경우 많은 양의 데이터로 인해 실시간 서비스가 어렵게 되기 때문이다.The reason why the buffer synchronization protocol is adopted in the present invention is that data storage resources (not shown) of the
이러한 버퍼 동기화 프로토콜은 로봇(10)과 컨텐츠 패킷 관리부(634) 사이에도 적용될 수 있다. 즉, 컨텐츠 패킷 관리부(634)는 로봇(10)으로부터 버퍼 상태를 나타내는 신호를 수신하고, 버퍼가 오버플로우되지 않도록 컨텐츠 데이터의 전송을 제어한다.This buffer synchronization protocol may be applied between the
도 11은 컨텐츠 서버(14)에 대한 상세 블록도를 도시한 것이다. 도시된 컨텐츠 서버(14)는 패킷 송수신부(141), 패킷 해석부(142), 컨텐츠 로봇(143), 컨텐츠 실행부(144) 및 로봇 프락시(145)를 포함한다. 또한 컨텐츠 서버(14)는 음성 인식, 음성 변환 혹은 TTS 기능을 제공하기 위해 자원 관리부(146)를 더 포함할 수 있다.11 shows a detailed block diagram of the
패킷 송수신부(141)는 로봇 서버(13)의 컨텐츠 패킷 관리부(634)와 패킷을 송수신하고, 패킷 해석부(142)는 패킷 송수신부(141)를 통해 수신된 패킷의 종류 또는 내용을 해석한다. 이 패킷은 도 9a 또는 도 9b에 도시된 구조를 갖는 패킷으로, 각 필드 값을 이용하여 컨텐츠 요청 또는 컨텐츠 실행 시작과 같은 명령을 해석한다. 컨텐츠 로봇(143)는 패킷 해석부(142)의 해석 결과에 따라 해당 명령을 수 행한다. 예를 들어, 명령에 따라 컨텐츠의 시작, 중지, 일시정지, 재시작 또는 통신 상태 감지 등과 같은 컨텐츠의 라이프 사이클(life cycle)을 관리한다. 컨텐츠 실행부(144)는 요청된 컨텐츠를 외부 DB1로부터 로딩하고 실행하며 패킷 송수신부(141)를 통해 컨텐츠 패킷 관리부(634)로 전송한다. 로봇 프락시(145)는 패킷 해석부(142)를 통해 전달되는 로봇(10)에 대한 정보를 기반으로 하여 외부 DB2로부터 해당 로봇(10)에 구비된 센서들, 로봇(10)을 구동하는 액추에이터(actuator) 및 컨텐츠 서비스를 위한 로봇(10)의 다른 장치들에 대한 정보, 예를 들어, 프로세서의 사양 등을 독출하여 갖고 있으며, 컨텐츠 실행부(144)에 이러한 정보를 제공함으로써 로봇(10)의 환경에 맞는 컨텐츠 서비스를 제공할 수 있게 한다. 컨텐츠 개발자는 로봇 프락시(303)를 포함하는 표준 API나 XML 형태로 개발하여야 한다.The
본 발명은 또한 컴퓨터로 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기 테이프, 플로피 디스크 및 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브, 예를 들어 인터넷을 통한 전송의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD_ROM, magnetic tape, floppy disks, optical data storage devices, and the like, and also include those implemented in the form of carrier waves, for example, transmission over the Internet. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
본 발명에 따르면, 현재까지의 로봇과 같이 로봇을 제어하거나 컨텐츠를 사 용자에게 제공하기 위하여 센서정보의 수집, 분석 및 처리를 자체 처리하는 고가형 로봇이 아닌 저가형 로봇에서도 수행할 수 있다. 예를 들어, 음악 서비스, 동화구현과 같은 스트리밍 서비스 형태에서부터 대용량 프로세싱 능력을 요구하는 고급 서비스를 로봇 서버의 처리능력을 통하여 서버측 시스템 구조의 변경없이 다수의 로봇들을 원격 제어하거나 고급 엔터테인먼트 서비스를 제공할 수 있다.According to the present invention, in order to control the robot or provide contents to the user as in the present robot, it can be performed even in a low-cost robot, not an expensive robot that processes, collects, analyzes, and processes sensor information itself. For example, through the processing of the robot server, the advanced services that require high-capacity processing capabilities from streaming services such as music service and fairy tale implementation, can remotely control a number of robots or provide advanced entertainment services without changing the server-side system structure. can do.
또한 본 발명은 사용자의 명령 해석 및 실행, 로봇과의 통신을 로봇 서버에서 처리하고, 컨텐츠 데이터의 생성과 실행은 컨텐츠 서버에서 수행하여 로봇 서버를 통해 로봇에 전달함으로써 로봇 서버는 컨텐츠 데이터에 대한 재가공 및 컨텐츠 데이터의 수정을 통해 동일한 컨텐츠에 대해서도 사용자에게 차별화된 서비스를 제공할 수 있다.In another aspect, the present invention processes the user's command interpretation and execution, communication with the robot in the robot server, and the generation and execution of the content data is carried out in the content server and transferred to the robot through the robot server to reprocess the content data And by modifying the content data can provide a differentiated service to the user even for the same content.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서, 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, optimal embodiments have been disclosed in the drawings and the specification. Herein, specific terms have been used, but they are used only for the purpose of illustrating the present invention and are not intended to limit the scope of the present invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
Claims (28)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/599,903 US7835821B2 (en) | 2005-11-17 | 2006-11-15 | Robot server for controlling robot, system having the same for providing content, and method thereof |
JP2006312042A JP4712678B2 (en) | 2005-11-17 | 2006-11-17 | Robot server for robot control, content providing system including the same, and method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050110360 | 2005-11-17 | ||
KR20050110360 | 2005-11-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070052641A true KR20070052641A (en) | 2007-05-22 |
Family
ID=38275271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060020414A KR20070052641A (en) | 2005-11-17 | 2006-03-03 | Robot server, content providing system and method comprising the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070052641A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100818305B1 (en) * | 2006-11-17 | 2008-04-01 | 한국전자통신연구원 | Robot control system based on network on dynamic ip address environment |
KR100968944B1 (en) * | 2009-12-14 | 2010-07-14 | (주) 아이알로봇 | Apparatus and method for synchronizing robot |
KR100988597B1 (en) * | 2008-01-14 | 2010-10-18 | 주식회사 유진로봇 | Robot content authoring system having user Friendly form in web environments |
KR101237252B1 (en) * | 2011-04-19 | 2013-02-27 | 한성대학교 산학협력단 | Method for Controlling Robot And Multimedia Content by Using Virtual Upper Instruction, Computer-Readable Recording Medium with Program Therefor |
KR101253561B1 (en) * | 2008-12-29 | 2013-04-11 | 한국전자통신연구원 | Diagnosis and management server for multi-kinds robot |
KR20150106553A (en) * | 2014-03-12 | 2015-09-22 | (주) 퓨처로봇 | Home network system and method using robot |
WO2020105755A1 (en) * | 2018-11-20 | 2020-05-28 | (주)로보티즈 | Device and method for controlling robot motion |
-
2006
- 2006-03-03 KR KR1020060020414A patent/KR20070052641A/en not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100818305B1 (en) * | 2006-11-17 | 2008-04-01 | 한국전자통신연구원 | Robot control system based on network on dynamic ip address environment |
KR100988597B1 (en) * | 2008-01-14 | 2010-10-18 | 주식회사 유진로봇 | Robot content authoring system having user Friendly form in web environments |
KR101253561B1 (en) * | 2008-12-29 | 2013-04-11 | 한국전자통신연구원 | Diagnosis and management server for multi-kinds robot |
KR100968944B1 (en) * | 2009-12-14 | 2010-07-14 | (주) 아이알로봇 | Apparatus and method for synchronizing robot |
KR101237252B1 (en) * | 2011-04-19 | 2013-02-27 | 한성대학교 산학협력단 | Method for Controlling Robot And Multimedia Content by Using Virtual Upper Instruction, Computer-Readable Recording Medium with Program Therefor |
KR20150106553A (en) * | 2014-03-12 | 2015-09-22 | (주) 퓨처로봇 | Home network system and method using robot |
WO2020105755A1 (en) * | 2018-11-20 | 2020-05-28 | (주)로보티즈 | Device and method for controlling robot motion |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7835821B2 (en) | Robot server for controlling robot, system having the same for providing content, and method thereof | |
US10445142B2 (en) | Edge computing platform | |
US10791200B2 (en) | Method, apparatus and server for providing voice service | |
CN102137059B (en) | Method and system for blocking malicious accesses | |
KR20070052641A (en) | Robot server, content providing system and method comprising the same | |
US8103763B2 (en) | System for remote configuration, control, and monitoring of devices over computer network using central server | |
US20070135967A1 (en) | Apparatus and method of controlling network-based robot | |
US20120284696A1 (en) | Method, Apparatuses and a System for Compilation | |
US20100332984A1 (en) | System and method for providing a remote user interface for an application executing on a computing device | |
TWI313417B (en) | Dynamic wizard interface system and method | |
US20070150104A1 (en) | Apparatus and method for controlling network-based robot | |
US20070078527A1 (en) | Interface for Sensor Query and Control | |
CN112340557A (en) | Call information processing method, control board and storage medium | |
JP4571216B2 (en) | Device management system and set value setting method in the system | |
CN110456738B (en) | Monitoring system and monitoring method thereof | |
RU2605918C2 (en) | Method for providing functions in industrial automation system and industrial automation system | |
KR100772514B1 (en) | Apparatus for controlling robot by network-based robot control system and method thereof | |
CN108255585A (en) | SDK exception controls and application program operation method, device and its equipment | |
CN110428836A (en) | Internet of things equipment control method, information forwarding device and Internet of Things server | |
JP2007157166A (en) | Method and apparatus for providing xml-based service in server controlling mobile home service robot | |
KR20070061241A (en) | Network-based robot control device, robot and robot control method | |
JP7031042B1 (en) | IoT control system, data display method, device control method and program | |
Trifunović et al. | Data Exchange Interfaces in Automotive SOA | |
CN116266120A (en) | Adaptive file generation method and device, electronic equipment and medium | |
CN116341181A (en) | Data interaction method and device based on virtual simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |