# US 11,253,998 B2 · Method and arrangement for determination of a trajectory for a robot device in a cloud

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

- Number: US 11,253,998 B2
- Document ID: US11253998B2
- Status: Granted
- Kind: B2
- Application number: 16/641,313
- Filed: 2017-10-04
- Published: 2020-12-10
- Granted: 2022-02-22
- Earliest claimed: 2017-10-04
- Assignees: Telefonaktiebolaget LM Ericsson (publ)
- Applicants: Telefonaktiebolaget LM Ericsson (publ)
- Inventors: Geza Szabo; Attila Báder; Sándor Rácz
- Web page: https://patentgrep.com/patent/US11253998B2

## CPC

- B25J 9/161: {Hardware, e.g. neural networks, fuzzy logic, interfaces, processor}
- B25J 9/1664: {characterised by motion, path, trajectory planning}
- B25J 13/006: {by means of a wireless system for controlling one or several manipulators}
- G05B 19/4155: characterised by program execution, i.e. part program or machine function execution, e.g. selection of a program
- H04L 67/565: Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561)
- G05B 2219/40174: Robot teleoperation through internet
- G05B 2219/40269: Naturally compliant robot arm
- G05B 2219/40519: Motion, trajectory planning
- G05B 2219/40521: Alternative, allowable path substitution if arm movements not possible
- 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)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present disclosure relates to a Web server (104, 60, 70) and a method therein of determining a trajectory for controlling of a robot device over a cloud interface. From a URI-encoded HTTP request (402) for the trajectory between a first pose and a second pose of the robot device, it is determined (S112, 408) the length of matching between cached trajectories and the trajectory requested. The longest length of matching is compared (S114, 410) to a minimal matching length (406), and if the longest length is longer than the minimal matching length, a HTTP response is sent (S122, 412) comprising the trajectory being determined. If the longest length is shorter than the minimal matching length, a HTTP request to calculate is sent (S116, 414). Currently available web service architecture can be reused, and easily up-scaled.

## Claims

### Claim 1

A method of determining a trajectory in a Web server for controlling a robot device over a web interface in a cloud, the method comprising:
receiving a hypertext transfer protocol (HTTP) request for the trajectory between a first pose and a second pose of the robot device, wherein the HTTP request comprises a unified resource identifier (URI) string comprising information about the first and second poses;
obtaining, based on the information about the first and second poses, a URI-encoding of the first and second poses in the URI string, the URI string comprising a set of values defining each first and second pose; wherein the obtaining comprises:
obtaining digits from each set of values and with the same weight grouped together, where the digits of each one of the groups are positioned one after the other in the URI string, and wherein the groups are ordered according to decreasing weight of digits in each group;
obtaining a minimally required length of matching digits between a URI-encoded trajectory being requested and a URI-encoded trajectory to be determined;
determining the longest length of matching digits between a URI-encoding of any one of trajectories in a storage and the URI-encoded trajectory being requested;
determining whether the longest length of matching digits is shorter than the minimally required length of matching digits, or not; and
based on the determining whether the longest length of matching digits is shorter than the minimally required length of matching digits, either:
in response to the longest length of matching digits being equal to or longer than the minimally required length of matching digits, sending a HTTP response as a response to the HTTP request, the HTTP response comprising the trajectory being determined; or
in response to the longest length of matching digits being shorter than the minimally required length of matching digits, sending a HTTP request to a trajectory generator service (TGS) to calculate the trajectory being requested.

### Claim 2 (depends on 1)

The method of claim 1, wherein the obtaining the URI-encoding of the first and second poses comprises reading the information about the first and second poses and URI-encoding the read first and second poses into the URI string.

### Claim 3 (depends on 1)

The method of claim 1, wherein the obtaining the minimally required length of matching digits comprises obtaining the minimally required length encoded in a header field of the HTTP request.

### Claim 4 (depends on 1)

The method of claim 1, wherein the obtaining a minimally required length of matching digits comprises determining the minimally required length based on a required precision measure.

### Claim 5 (depends on 4)

The method of claim 4, wherein the determining the minimally required length is based on the length of URI-encoded the first and second poses of the trajectory being requested, a length based on the required precision measure, and the length of the URI string.

### Claim 6 (depends on 1)

The method of claim 1, wherein the method is performed in a HTTP cache of the Web server.

### Claim 7

A non-transitory computer readable recording medium storing a computer program product for determining a trajectory in a Web server for controlling a robot device over a web interface in a cloud, the computer program product comprising program instructions which, when run on processing circuitry of the Web server, causes the Web server to:
receive a hypertext transfer protocol (HTTP) request for the trajectory between a first pose and a second pose of the robot device, wherein the HTTP request comprises a unified resource identifier (URI) string comprising information about the first and second poses;
obtain, based on the information about the first and second poses, a URI-encoding of the first and second poses in the URI string, the URI string comprising a set of values defining each first and second pose; wherein the obtaining comprises:
obtaining digits from each set of values and with the same weight grouped together, where the digits of each one of the groups are positioned one after the other in the URI string, and wherein the groups are ordered according to decreasing weight of digits in each group;
obtaining a minimally required length of matching digits between a URI-encoded trajectory being requested and a URI-encoded trajectory to be determined;
determining the longest length of matching digits between a URI-encoding of any one of trajectories in a storage and the URI-encoded trajectory being requested;
determining whether the longest length of matching digits is shorter than the minimally required length of matching digits, or not; and
based on the determining whether the longest length of matching digits is shorter than the minimally required length of matching digits, either:
in response to the longest length of matching digits being equal to or longer than the minimally required length of matching digits, send a HTTP response as a response to the HTTP request, the HTTP response comprising the trajectory being determined; or
in response to the longest length of matching digits being shorter than the minimally required length of matching digits, send a HTTP request to a trajectory generator service (TGS) to calculate the trajectory being requested.

### Claim 8

A Web server capable of determining a trajectory for controlling a robot device over a web interface in a cloud, the Web server comprising:
processing circuitry;
memory containing instructions executable by the processing circuitry whereby the Web server is operative to:
receive a hypertext transfer protocol (HTTP) request for the trajectory between a first pose and a second pose of the robot device, where the HTTP request comprises a unified resource identifier (URI) string comprising information about the first and second poses;
obtain, based on the information about the first and second poses, a URI-encoding of the first and second poses in the URI string, the URI string comprising a set of values defining each first and second pose;
obtain digits from each set of values and with the same weight grouped together, where the digits of each one of the groups are positioned one after the other in the URI string, and wherein the groups are ordered according to decreasing weight of digits in each group;
obtain a minimally required length of matching digits between a URI-encoded trajectory being requested and a URI-encoded trajectory to be determined;
determine the longest length of matching digits between the URI-encoded trajectory being requested and a URI-encoding of any one of trajectories in a storage;
determine whether the longest length of matching digits is shorter than the minimally required length of matching digits, or not; and
based on the determination whether the longest length of matching digits is shorter than the minimally required length of matching digits, either:
in response to the longest length of matching digits is, equal to or, longer than the minimally required length of matching digits, send a HTTP response as a response to the HTTP request, the HTTP response comprising the trajectory to be determined; or
in response to the longest length of matching digits is shorter than the minimally required length of matching digits, send a HTTP request to a trajectory generator service (TGS) to calculate the trajectory being requested.

### Claim 9 (depends on 8)

The Web server of claim 8, wherein the instructions are such that the Web server is operative to read information about the first and second poses and URI-encode the read first and second poses into the URI string.

### Claim 10 (depends on 8)

The Web server of claim 8, wherein the instructions are such that the Web server is operative to determine the minimally required length based on a required precision measure.

### Claim 11 (depends on 10)

The Web server of claim 10, wherein the instructions are such that the Web server is operative to determine the minimally required length based on the length of URI-encoded the first and second poses of the trajectory being requested, a length based on the required precision measure, and the length of the URI string.

### Claim 12 (depends on 8)

The Web server of claim 8, wherein the processing circuitry and memory are comprised in a trajectory aware cache (TAC) of a content delivery network (CDN).

### Claim 13 (depends on 8)

The Web server of claim 8, wherein the Web server comprises a HTTP server.
