# US 7,835,821 B2 · Robot server for controlling robot, system having the same for providing content, and method thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,835,821 B2
- Document ID: US7835821B2
- Status: Granted
- Kind: B2
- Application number: 11/599,903
- Filed: 2006-11-15
- Published: 2007-05-17
- Granted: 2010-11-16
- Earliest claimed: 2005-11-17
- Assignees: Electronics and Telecommunications Research Institute
- Inventors: Myung Chan Roh; Seung Woog Jung; Choul Soo Jang; Sung Hoon Kim; Joong Bae Kim; Kyeong Ho Lee; Young Jo Cho
- Web page: https://patentgrep.com/patent/US7835821B2

## CPC

- B25J 9/1656: {characterised by programming, planning systems for manipulators}
- G05B 2219/40089: Tele-programming, transmit task as a program, plus extra info needed by robot
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A robot server for controlling a robot, a system for providing content having the same, and a method thereof are provided. The robot server communicating with the robot includes a virtual robot object and a virtual robot object manager. The robot server executes commands that are generated in correspondence to the robot and received from the robot, and controls the robot. The virtual robot object manager generates the virtual robot object corresponding to the robot and activates the virtual robot object when connected to the robot.

## Claims

### Claim 1

A robot server adapted to communicate with a robot, the robot server comprising:
a virtual robot object manager (VROM) arranged to generate a virtual robot object (VRO) corresponding to the robot and the VROM arranged to activate the VRO when the VROM is in communication with the robot; and
the VRO arranged to execute commands received from the robot and the VRO arranged to control the robot, the VRO comprises:
a robot proxy (RProxy) arranged to include a communication protocol and data processing scheme according to a type of the robot and the RProxy arranged to communicate with the robot; and
a virtual object executing unit (VOEU) arranged to transmit content data to the robot in response to the received commands from the robot through the RProxy and the VOEU arranged to perform a service for managing the robot, wherein the VOEU comprises:
a user command executing unit (UCEU) arranged to transmit content data to the robot through the RProxy in accordance with a user command from among the received commands; and
a local service executing unit (LSEU) arranged to manage status of the robot including managing sensor data according to the received commands and the LSEU arranged to provide service including protection in accordance with robot motion communicated to the robot through the RPoxy, wherein the LSEU services content data to the robot in accordance with a predetermined condition by learning a pattern of the user command even when there is no user command.

### Claim 2 (depends on 1)

The robot server of claim 1, wherein content data is provided by a content server in communication with the robot server such that the content server is adapted to store storing a plurality of contents.

### Claim 3 (depends on 1)

The robot server of claim 1, further comprising a content packet manager (CPManager) that includes a buffer, the CPManaqer adapted to receive content data in a predetermined unit, the CPManager adapted to store received content data to the buffer, and the CPManager adapted to provide stored content data to the robot.

### Claim 4 (depends on 1)

The robot server of claim 1,
wherein the VROM further comprises a storage unit storing programs for a plurality of robot proxies corresponding to various types of robots, and the VROM is adapted to analyze the type of the robot and the VROM is adapted to install a program for the RProxy corresponding to the type of the robot when a connection request is received from the robot.

### Claim 5 (depends on 1)

The robot server of claim 1, further comprising an authentication unit (AU) analyzing an authentication data to obtain information on the robot, and the AU adapted to activate the VRO corresponding to the robot through the VROM using the obtained information subsequent to when receiving the authentication data from the robot.

### Claim 6 (depends on 5)

The robot server of claim 5, wherein the authentication data includes a serial number of the robot, a command for representing an authentication request, a model number of the robot acquired through the serial number of the robot, and an IP address of the robot.

### Claim 7

A content service system for providing content service to a robot, the system comprising:
a content server (CServer) arranged to store a plurality of contents and the CServer arranged to transmit a requested content data (RCData) when content service is requested; and
a robot server (RServer) arranged to receive a request for the content service (RCService) from the robot, the RServer arranged to connect to the CServer, the RServer arranged to receive the RCData, and the RServer arranged to transmit the RCData to the robot, wherein the RServer comprises:
a virtual robot object manager (VROM) arranged to generate a virtual robot object (VRO) in correspondence to the robot and the VROM arranged to activate the VRO when the VROM is connected to the robot; and
the VRO arranged to analyze the RCService received from the robot, to transmit the RCService to the CServer, the VRO arranged to receive the RCData from the CServer, and the VRO arranged to transmit the RCData to the robot, wherein the VRO comprises:
a robot proxy (RProxy) arranged to include a communication protocol and data processing scheme according to a type of the robot, and the RProxy arranged to communicate with the robot; and
a virtual object executing unit (VOEU) arranged to transmit the RCService received through the RProxy to the CServer, the VOEU arranged to receive the RCData from the CServer, and the VOEU arranged to transmit the RCData to the robot, wherein the VOEU provides corresponding content data to the robot when a predetermined condition is satisfied even when there is no RCService from the robot.

### Claim 8 (depends on 7)

The system of claim 7, wherein the CServer comprises:
a packet analyzer arranged to analyze a packet according to the RCService;
a content robot arranged to execute a command for managing a lifecycle of the RCService according to the analyzed result of the packet; and
a content executing unit (CEUnit) arranged to execute the RCService and transmit the RCdata to the RServer.

### Claim 9 (depends on 8)

The system of claim 8, wherein the RProxy which is needed for receiving the RCService, and the RProxy is adapted to provide information on devices included in the robot to the CEUnit.

### Claim 10 (depends on 7)

The system of claim 7 further comprising a content packet manager (CPManager) arranged to include a buffer, the CPManager adapted to receive the RCData in a predetermined unit, the CPManager adapted to store the received RCData to the buffer, and the CPManager adapted to provide the stored RCData to the robot.

### Claim 11 (depends on 8)

The system of claim 8, further comprising an authentication server arranged to authenticate the robot when the robot is connected to the RServer in order to request the RCService.

### Claim 12 (depends on 11)

The system of claim 11, wherein the authentication server comprises:
a packet checker arranged to determine whether each field value included in the packet is valid by analyzing the packet transmitted from the robot to the RServer; and
a controller arranged to determine whether the robot has ever been connected to the RServer before, and the controller arranged to connect to the RServer using a previous address and port number or a newly obtained address and port number, on the basis of the determined result.

### Claim 13 (depends on 12)

The system of claim 12, wherein the packet transmitted to the RServer includes a plurality of fields for representing a serial number of the robot, a connection request time, a connection request type, the address and port number of the robot server.

### Claim 14

A method of providing content service to a robot from a content service system, the method comprising:
receiving a request for content service (RCService) from the robot at a content server (CServer) of the content server system in which the CServer is arranged to store a plurality of contents;
transmitting from the CServer to a robot server (RServer) a corresponding requested content data (RCData) when the RCService is requested;
transmitting from the RServer to the robot the RCData, wherein the RServer comprises:
a virtual robot object manager (VROM) arranged to generate a virtual robot object (VRO) in correspondence to the robot and the VROM arranged to activate the VRO when the VROM is connected to the robot; and
the VRO arranged to analyze the RCService received from the robot, to transmit the RCService to the CServer, the VRO arranged to receive the RCData from the CServer, and the VRO arranged to transmit the RCData to the robot, wherein the VRO comprises:
a robot proxy (RProxy) arranged to include a communication protocol and data processing scheme according to a type of the robot, and the RProxy arranged to communicate with the robot; and
a virtual object executing unit (VOEU) arranged to transmit the RCService received through the RProxv to the CServer, the VOEU arranged to receive the RCData from the CServer, and the VOEU arranged to transmit the RCData to the robot, wherein the VOEU provides corresponding content data to the robot when a predetermined condition is satisfied even when there is no RCService from the robot.

### Claim 15 (depends on 14)

The method of claim 14, further comprising authenticating the robot prior to transmitting from the RServer to the robot the RCData.

### Claim 16 (depends on 15)

The method of claim 15, wherein the authentication of the robot comprises:
receiving the RCService from the robot and analyzing the received RCService;
obtaining an address and port number of a corresponding RServer to be connected to the robot and connecting the corresponding RServer to the robot, when the RCService is valid; and
receiving at the corresponding RServer an authentication packet from the CServer verifying the authenticity of the robot.

### Claim 17 (depends on 16)

The method of claim 16, wherein obtaining the address and port number of the robot server comprises:
determining whether or not the robot has ever been previously connected to the RServer;
reading a stored address and port number corresponding to the robot when the robot is determined to have been previously connected to the RServer; and
obtaining a new address and port number of the robot server RServer when the robot is determined to have not been previously connected to the RServer.

### Claim 18 (depends on 14)

The method of claim 14, wherein the CServer comprises:
a packet analyzer arranged to analyze a packet according to the RCService;
a content robot arranged to execute a command for managing a lifecycle of the RCService according to the analyzed result of the packet; and
a content executing unit (CEUnit) arranged to execute the RCService and transmit the RCdata to the RServer.

### Claim 19 (depends on 14)

The method of claim 14, wherein the RProxy which is needed for receiving the RCService, and the RProxy is adapted to provide information on devices included in the robot to a content executing unit (CEUnit).

### Claim 20 (depends on 14)

The method of claim 14, wherein the content service system of the method further comprises a content packet manager (CPManager) arranged to include a buffer, the CPManager adapted to receive the RCData in a predetermined unit, the CPManager adapted to store the received RCData to the buffer, and the CPManager adapted to provide the stored RCData to the robot.

### Claim 21 (depends on 14)

The method of claim 14, wherein a structure of a packet RCService includes fields for representing a length of the packet, a command and a subcommand for indicating the packet for requesting the content service, and a serial number of the robot.

### Claim 22 (depends on 14)

The method of claim 14, wherein a structure of a packet of the RCData includes fields for representing a length of the packet, a type of the data, a serial number of the robot, an audio length, a video length, a length of control data, and a checksum.
