# US 2023/0342684 A1 · Distributed Ledger Tracking of Robot Fleet Task Completion

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

- Number: US 2023/0342684 A1
- Document ID: US20230342684A1
- Status: Published application
- Kind: A1
- Application number: 18/333,385
- Filed: 2023-06-12
- Published: 2023-10-26
- Earliest claimed: 2020-12-18
- Assignees: Strong Force Vcn Portfolio 2019, LLC
- Applicants: Strong Force VCN Portfolio 2019, LLC
- Inventors: Charles H. Cella; Teymour S. El-Tahry; Leon Fortin, JR.
- Web page: https://patentgrep.com/patent/US20230342684A1

## CPC

- G06Q 20/14: specially adapted for billing systems
- B22F 10/85: for controlling or regulating additive manufacturing processes
- B25J 9/161: {Hardware, e.g. neural networks, fuzzy logic, interfaces, processor}
- B25J 9/163: {learning, adaptive, model based, rule based expert control}
- B25J 9/1653: {parameters identification, estimation, stiffness, accuracy, error analysis}
- B25J 9/1661: {characterised by task planning, object-oriented languages}
- B25J 9/1671: {characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems}
- B25J 9/1682: {Dual arm manipulator; Coordination of several manipulators}
- B25J 9/1697: {Vision controlled systems}
- B29C 64/357: Recycling
- B29C 64/379: Handling of additively manufactured objects, e.g. using robots
- B29C 64/386: Data acquisition or data processing for additive manufacturing
- B29C 64/393: for controlling or regulating additive manufacturing processes
- B33Y 10/00: Processes of additive manufacturing
- B33Y 40/00: Auxiliary operations or equipment, e.g. for material handling
- B33Y 50/00: Data acquisition or data processing for additive manufacturing
- B33Y 50/02: for controlling or regulating additive manufacturing processes
- G02B 3/14: of variable focal length
- G02B 26/00: Optical devices or arrangements for the control of light using movable or deformable optical elements (control of light by modification of the optical properties of the media of the elements involved therein G02F1/00)
- G05B 13/0265: {the criterion being a learning criterion}
- G05B 13/042: {in which a parameter or coefficient is automatically adjusted to optimise the performance}
- G05B 17/02: electric
- G05B 19/402: characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position (G05B19/19 takes precedence)
- G05B 19/4099: Surface or curve machining, making three-dimensional [3D] objects, e.g. desktop manufacturing
- G05B 19/41865: {characterised by job scheduling, process planning, material flow}
- G05D 1/0027: {involving a plurality of vehicles, e.g. fleet or convoy travelling (fleet control of land vehicles from a control room G05D1/0297; traffic control systems for road vehicles G08G1/00; for marine craft G08G3/00; for aircraft G08G5/00)}
- G05D 1/0221: {involving a learning process}
- G05D 1/0297: {by controlling means in a control room}
- G05D 1/221: Remote-control arrangements
- G05D 1/6987: {by centralised control off-board any of the vehicles}
- G06F 30/27: using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
- G06N 3/006: based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06N 3/09: Supervised learning
- G06N 5/025: Extracting rules from data
- G06N 20/00: Machine learning
- G06N 20/10: using kernel methods, e.g. support vector machines [SVM]
- G06N 20/20: Ensemble learning
- G06Q 10/06311: {Scheduling, planning or task assignment for a person or group}
- G06Q 10/0633: Workflow analysis
- G06Q 10/06334: {using forecasting or predicting}
- G06T 7/70: Determining position or orientation of objects or cameras (camera calibration G06T7/80)
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 51/02: using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 63/1441: {Countermeasures against malicious traffic (countermeasures against attacks on cryptographic mechanisms H04L9/002)}
- B22F 10/70: Recycling
- B22F 2998/00: Supplementary information concerning processes or compositions relating to powder metallurgy
- B29C 64/10: Processes of additive manufacturing
- G05B 2219/32015: Optimize, process management, optimize production line
- G05B 2219/32117: Resource allocation, of number of pallets, fixtures of each type to part type
- G05B 2219/32254: Work sequence, alternative sequence
- G05B 2219/32291: Task sequence optimization
- G05B 2219/32365: For resource planning
- G05B 2219/33006: Ama allocation manual automatic work between machine, manipulator and man
- G05B 2219/36252: Generate machining program based on a simulation to optimize a machine parameter
- G05B 2219/39146: Swarm, multiagent, distributed multitask fusion, cooperation multi robots
- G05B 2219/39167: Resources scheduling and balancing
- G05B 2219/40113: Task planning
- G05B 2219/49023: 3-D printing, layer of powder, add drops of binder in layer, new powder
- G05D 2101/15: using machine learning, e.g. neural networks
- G06F 2113/10: Additive manufacturing, e.g. three-dimensional [3D] printing
- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q 10/0631: Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q 10/063114: {Status monitoring or status determination for a person or group}
- G06Q 10/06313: {Resource planning in a project environment}
- G06Q 10/06316: {Sequencing of tasks or work}
- G06Q 10/0831: Overseas transactions
- G06Q 10/0833: Tracking
- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q 30/0201: Market modelling; Market analysis; Collecting market data
- G06Q 2220/00: Business processing using cryptography
- G06T 2207/20081: Training; Learning
- H04L 51/214: using selective forwarding
- H04L 51/216: Handling conversation history, e.g. grouping of messages in sessions or threads
- Y02P 80/10: Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
- Y02P 80/40: Minimising material used in manufacturing processes
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- Y02P 90/30: Computing systems specially adapted for manufacturing
- Y02P 90/84: Greenhouse gas [GHG] management systems
- 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
- B22F: WORKING METALLIC POWDER; MANUFACTURE OF ARTICLES FROM METALLIC POWDER; MAKING METALLIC POWDER (making alloys by powder metallurgy C22C); APPARATUS OR DEVICES SPECIALLY ADAPTED FOR METALLIC POWDER
- 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})
- B29C: SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING (making preforms B29B11/00; making laminated products by combining previously unconnected layers which become one product whose layers will remain together B32B37/00 - B32B41/00)
- B33Y: ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- G02B: OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- 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)
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

A system includes a job definition data structure, based on a request for a robotic fleet to perform a job, that defines tasks for the job. A robotic fleet configuration data structure corresponding to the job is based on the tasks and a fleet resource inventory. The robotic fleet configuration data structure assigns fleet resources from the fleet resource inventory to the tasks defined in the job definition data structure. The system provisions the respective fleet resource based on the configuration data structure, deploys the robotic fleet, monitors task completion status, and configures a distributed ledger for tracking task or job completion. The system, in response to completion of a task, updates a set of job completion data in the distributed ledger that reflects at least one of robotic task completion data, allocation of robotic resources to parties associated with the job, and actions triggered in response to the completion.

## Claims

### Claim 1

A system, comprising:
one or more computer-readable storage systems that collectively store:
a job definition data structure that is based on a request for a robotic fleet to perform a job, wherein the job definition data structure defines a set of tasks that are to be performed in performance of the job;
a robotic fleet configuration data structure corresponding to the job based on the set of tasks and a fleet resource inventory, wherein the robotic fleet configuration data structure assigns a plurality of fleet resources selected from the fleet resource inventory to the set of tasks defined in the job definition data structure; and
a respective configuration data structure for provisioning each respective fleet resource based on a respective set of tasks to which each respective fleet resource is assigned, a set of features of the fleet resource, one or more configuration requirements of the fleet resource, and a respective status of the fleet resource; and
a set of one or more processors that execute a set of computer-readable instructions, wherein the set of one or more processors collectively:
provision the respective fleet resource based on the respective configuration data structure;
deploy the robotic fleet to perform the job;
monitor the robotic fleet in performance of the job including fleet resource utilization and task completion status;
configure a distributed ledger for tracking task and/or job completion; and
in response to an indication of completion of at least one of a task of the set of tasks or performance of the job, update a set of job completion data in the distributed ledger that reflects at least one of robotic task completion data, allocation of robotic resources to parties associated with the job, and actions triggered in response to the indication of completion of the at least one task.

### Claim 2 (depends on 1)

The system of claim 1, wherein to monitor the robotic fleet includes deployment of smart contracts at a plurality of nodes of the configured distributed ledger, wherein the smart contracts are configured to monitor one or more of job requests, job execution, fleet resource use, evidence of completion of assigned robotic tasks, robotic fleet resource location data, sensor data, or status data.

### Claim 3 (depends on 1)

The system of claim 1, wherein the system extracts task completion data from the set of job completion data.

### Claim 4 (depends on 1)

The system of claim 1, wherein the distributed ledger is a block chain system.

### Claim 5 (depends on 1)

The system of claim 1, wherein the distributed ledger further stores robotic task completion data.

### Claim 6 (depends on 1)

The system of claim 1, wherein the distributed ledger further stores allocation of robotic resource utilization costs to parties associated with the job, including at least one of a job requestor, a fleet user, a fleet owner, and a fleet operator.

### Claim 7 (depends on 1)

The system of claim 1, wherein the set of one or more processors further collectively configure a set of nodes of the distributed ledger with a set of smart contracts to monitor job requests, job execution, and fleet resource use.

### Claim 8 (depends on 7)

The system of claim 7, wherein the set of one or more processors further collectively configure at least one fleet resource to provide evidence of completion of a task to a smart contract configured at a node of the set of nodes.

### Claim 9 (depends on 7)

The system of claim 7, wherein the set of one or more processors further collectively configure at least one node of the set of nodes of the distributed ledger to execute a smart contract.

### Claim 10 (depends on 1)

The system of claim 1, wherein the actions triggered in response to the indication of completion of the at least one task include payments to one or more of the parties associated with the job based on the allocation of robotic resource utilization costs in the distributed ledger.

### Claim 11

A method of robotic fleet tracking, comprising:
receiving a request for a robotic fleet to perform a job;
determining a job definition data structure that is based on the request, wherein the job definition data structure defines a set of tasks that are to be performed in performance of the job;
determining a robotic fleet configuration data structure corresponding to the job based on the set of tasks and a fleet resource inventory, wherein the robotic fleet configuration data structure assigns a plurality of resources selected from the fleet resource inventory to the set of tasks defined in the job definition data structure;
determining a respective configuration data structure for provisioning each respective fleet resource based on a respective set of tasks to which each respective fleet resource is assigned, a set of features of the fleet resource, one or more configuration requirements of the fleet resource, and a respective status of the fleet resource;
provisioning the respective fleet resource based on the respective configuration data structure;
deploying the robotic fleet to perform the job;
monitoring the robotic fleet in performance of the job including fleet resource utilization and task completion status;
configuring a distributed ledger for tracking task and/or job completion; and
in response to an indication of completion of at least one of a task of the set of tasks or performance of the job, updating a set of job completion data in the distributed ledger that reflects at least one of robotic task completion data, allocation of robotic resources to parties associated with the job, and actions triggered in response to the indication of completion of the at least one task.

### Claim 12 (depends on 11)

The method of claim 11, wherein monitoring the robotic fleet includes deployment of smart contracts at a plurality of nodes of the configured distributed ledger, wherein the smart contracts are configured to monitor one or more of job requests, job execution, fleet resource use, evidence of completion of assigned robotic tasks, robotic fleet resource location data, sensor data, or status data.

### Claim 13 (depends on 11)

The method of claim 11, wherein updating the set of job completion data in the distributed ledger includes updating task completion data in the set of job completion data.

### Claim 14 (depends on 11)

The method of claim 11, wherein the distributed ledger is a block chain system.

### Claim 15 (depends on 11)

The method of claim 11, wherein the distributed ledger further stores robotic task completion data.

### Claim 16 (depends on 11)

The method of claim 11, wherein the distributed ledger further stores allocation of robotic resource utilization costs to parties associated with the job, including at least one of a job requestor, a fleet user, a fleet owner, and a fleet operator.

### Claim 17 (depends on 11)

The method of claim 11, further including configuring a set of nodes of the distributed ledger with a set of smart contracts to monitor job requests, job execution, and fleet resource use.

### Claim 18 (depends on 17)

The method of claim 17, further including configuring at least one fleet resource to provide evidence of completion of a task to a smart contract configured at a node of the set of nodes.

### Claim 19 (depends on 17)

The method of claim 17, further including configuring at least one node of the set of nodes of the distributed ledger to execute a smart contract.

### Claim 20 (depends on 11)

The method of claim 11, wherein the actions triggered in response to the indication of completion of the at least one task include payments to one or more of the parties associated with the job based on the allocation of robotic resource utilization costs in the distributed ledger.
