# US 10,118,296 B1 · Tagged robot sensor data

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

- Number: US 10,118,296 B1
- Document ID: US10118296B1
- Status: Granted
- Kind: B1
- Application number: 14/850,888
- Filed: 2015-09-10
- Granted: 2018-11-06
- Earliest claimed: 2015-09-10
- Assignees: X Development LLC
- Applicants: X Development LLC
- Inventors: Jamie Moline Gennis; Andre Hentz; Daniel Lam
- Web page: https://patentgrep.com/patent/US10118296B1

## CPC

- B25J 9/1656: {characterised by programming, planning systems for manipulators}
- H04L 41/085: Retrieval of network configuration; Tracking network configuration history
- H04L 67/1029: using data related to the state of servers by a load balancer
- Y10S 901/46: Sensing device
- 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})
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

Methods, apparatus, systems, and computer-readable media are provided for creating, storing, and/or offloading tagged robot sensor data. In various implementations, a first plurality of sensor data points that are sampled by one or more sensors associated with a robot and that share a first attribute may be identified. Each of the first plurality of sensor data points may be tagged with a first tag, which may be indicative of the first attribute. A context in which a robot is operating may be identified. A first transport rule that governs how sensor data points tagged with the first tag are treated when the robot operates in the context may then be identified. At least a subset of the first plurality of tagged sensor data points may then be offloaded from the robot and/or stored locally on the robot pursuant to the first transport rule.

## Claims

### Claim 1

A method comprising:
identifying, by a robot, first and second pluralities of actuator sensor data points that are generated based on operation of actuators that are integral with the robot while the robot performs one or more tasks, wherein the first plurality of actuator sensor data points share a first attribute and the second plurality of actuator sensor data points share a second attribute that is different than the first attribute, and wherein the actuator sensor data points are generated by torque or force sensors associated with the actuators;
tagging, by the robot, each of the identified first plurality of actuator sensor data points with a first tag, wherein the first tag is indicative of the first attribute shared by the first plurality of actuator sensor data points;
tagging, by the robot, each of the identified second plurality of actuator sensor data points with a second tag, wherein the second tag is indicative of the second attribute shared by the second plurality of actuator sensor data points, and wherein the second tag also indicates a lower priority than the first tag;
identifying, by the robot, a context in which the robot is operating;
identifying, by the robot, a first transport rule that governs how actuator sensor data points tagged with the first tag are treated when the robot operates in the context;
identifying, by the robot, a second transport rule that governs how actuator sensor data points tagged with the second tag are treated when the robot operates in the context;
offloading, by the robot to a remote computing device via a network connection, at least a subset of the first plurality of tagged actuator sensor data points pursuant to the first transport rule, wherein the offloading comprises transmitting at least the subset of the first plurality of tagged actuator sensor data points to the remote computing device in a manner selected based on the context in which the robot is operating; and
overwriting, by the robot, at least a subset of the second plurality of tagged actuator sensor data points pursuant to the second transport rule.

### Claim 2 (depends on 1)

The method of claim 1, wherein the subset is selected from the first plurality of actuator sensor data points based on the context in which the robot is operating.

### Claim 3 (depends on 1)

The method of claim 1, wherein the network connection is selected based on the context.

### Claim 4 (depends on 1)

The method of claim 1, wherein the context comprises available communication bandwidth between the robot and the remote computing device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the context comprises reliability of the network connection.

### Claim 6 (depends on 1)

The method of claim 1, wherein the context comprises power available to the robot.

### Claim 7 (depends on 1)

The method of claim 1, wherein the context comprises available memory in the robot.

### Claim 8 (depends on 1)

The method of claim 1, wherein the context comprises an activity level of the robot.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first attribute comprises an origin of the first plurality of actuator sensor data points.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first attribute comprises a data type of the first plurality of actuator sensor data points.

### Claim 11

A robot comprising one or more processors and memory operably coupled with the one or more processors, wherein the memory stores instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to:
identify first and second pluralities of actuator sensor data points that are generated based on operation of actuators that are integral with the robot while the robot performs one or more tasks, wherein the first plurality of actuator sensor data points share a first attribute and the second plurality of actuator sensor data points share a second attribute that is different than the first attribute, and wherein the actuator sensor data points are generated by torque or force sensors associated with the actuators;
tag each of the identified first plurality of actuator sensor data points with a first tag, wherein the first tag is indicative of the first attribute shared by the first plurality of actuator sensor data points;
tag each of the identified second plurality of actuator sensor data points with a second tag, wherein the second tag is indicative of the second attribute shared by the second plurality of actuator sensor data points, and wherein the second tag also indicates a lower priority than the first tag;
identify a context in which the robot is operating;
identify a first transport rule that governs how data points tagged with the first tag are treated when the robot operates in the context;
identify a second transport rule that governs how actuator sensor data points tagged with the second tag are treated when the robot operates in the context;
offload, to a remote computing device via a communication interface operably coupled with one or more of the processors, at least a subset of the first plurality of tagged actuator sensor data points pursuant to the first transport rule, wherein the offload operation comprises transmission of at least the subset of the first plurality of tagged actuator sensor data points to the remote computing device in a manner selected based on the context in which the robot is operating; and
overwrite at least a subset of the second plurality of tagged actuator sensor data points pursuant to the second transport rule.

### Claim 12 (depends on 11)

The robot of claim 11, wherein the context includes one or more communication channels currently available to the robot via the communication interface.

### Claim 13 (depends on 11)

The robot of claim 11, wherein the context includes one or more attributes of a communication channel currently available to the robot via the communication interface.

### Claim 14 (depends on 11)

The robot of claim 11, wherein the memory further stores instructions that cause one or more of the processors to transmit at least the subset of the first plurality of tagged actuator sensor data points to the remote computing device in a manner selected based on the context in which the robot is operating.

### Claim 15 (depends on 14)

The robot of claim 14, wherein the subset is selected from the first plurality of actuator sensor data points based on the context in which the robot is operating.

### Claim 16 (depends on 14)

The robot of claim 14, wherein the context comprises one or more of reliability or bandwidth of a communication channel between the robot and the remote computing device, power available to the robot, available memory in the robot, an activity level of the robot, an origin of the first plurality of actuator sensor data points, or a data type of the first plurality of actuator sensor data points.

### Claim 17

At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to perform the following operations:
identifying first and second pluralities plurality of actuator sensor data points that are generated based on operation of actuators that are integral with a robot while the robot performs one or more tasks, wherein the first plurality of actuator sensor data points share a first attribute and the second plurality of actuator sensor data points share a second attribute that is different than the first attribute, and wherein the actuator sensor data points are generated by torque or force sensors associated with the actuators;
tagging each of the identified first plurality of actuator sensor data points with a first tag, wherein the first tag is indicative of the first attribute shared by the first plurality of actuator sensor data points;
tagging each of the identified second plurality of actuator sensor data points with a second tag, wherein the second tag is indicative of the second attribute shared by the second plurality of actuator sensor data points, and wherein the second tag also indicates a lower priority than the first tag;
identifying a context in which the robot is operating;
identifying a first transport rule that governs how actuator sensor data points tagged with the first tag are treated when the robot operates in the context;
identifying a second transport rule that governs how actuator sensor data points tagged with the second tag are treated when the robot operates in the context;
offloading or storing, to a remote computing device via a network connection, at least a subset of the first plurality of tagged actuator sensor data points pursuant to the first transport rule, wherein the offloading comprises transmitting at least the subset of the first plurality of tagged actuator sensor data points to the remote computing device in a manner selected based on the context in which the robot is operating; and
overwriting at least a subset of the second plurality of tagged actuator sensor data points pursuant to the second transport rule.

### Claim 18 (depends on 17)

The at least one non-transitory computer-readable medium of claim 17, wherein the context comprises one or more of:
available communication bandwidth between the robot and the remote computing device;
reliability of a communication channel between the robot and the remote computing device;
power available to the robot;
available memory in the robot; or
an activity level of the robot.
