IP Library › Granted Patent US 12,111,632
Granted Patent B1
US 12,111,632 · App. 17/116,079 · Granted Oct 8, 2024

Edge device architecture within logistics center for increasing throughput

Inventor: Rohit Bansal (Lynnwood, WA)
Assignee: Amazon Technologies, Inc.
G05B19/4155B25J9/1661B25J9/1682B65G1/1373G06Q10/087G05B2219/40269
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,111,632
App. No.
17/116,079
Granted
Oct 8, 2024
Kind
B1
Abstract

A local device may receive, from a remote device, a task to be completed at a workstation within a logistics center in which orders are fulfilled and processed. The local device may determine, among a plurality of robotic agents at the workstation, a robotic agent configured to perform the task. An in-memory datastore having cache and compute capabilities may be stored in memory of the local device may store data associated with the task and the robotic agent to complete the task. The local device may instruct the robotic agent to perform the task and may receive, from the robotic agent, an indication associated with the performance of the task. This data may be stored in the in-memory datastore and/or may be used for assigning future tasks.

Claims (118)

1. A system comprising:

one or more processors;

one or more non-transitory computer-readable media; and

an in-memory datastore stored in the one or more non-transitory computer-readable media, the in-memory datastore storing information associated with a state of a plurality of robotic agents at a workstation within an environment in which orders for items are fulfilled, wherein individual robotic agents of the plurality of robotic agents are stored in association with one or more tasks that the individual robotic agents are configured to perform at the workstation;

wherein the one or more non-transitory computer-readable media store computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving, from a remote computing resource, a request for performing a task at the workstation;

determining, among the plurality of robotic agents at the workstation, a robotic agent to perform the task;

assigning the task to the robotic agent;

storing, in the in-memory datastore, a first indication associated with assigning the task to the robotic agent;

sending, to the robotic agent, an instruction associated with the robotic agent performing the task, wherein the robotic agent is configured to perform the task based at least in part on the instruction;

receiving, from the robotic agent, a second indication associated with the robotic agent performing the task; and

storing, in the in-memory datastore, a third indication associated with the robotic agent performing the task, wherein the third indication identifies at least one of:

a first identifier of the robotic agent;

a second identifier of the task; or

one or more resources within the environment utilized by the robotic agent to perform the task.

2. The system of claim 1 , wherein the first indication identifies at least one of:

a second time associated with receiving the request from the remote computing resource;

a third time associated with assigning the task to the robotic agent; or

the instruction associated with the robotic agent performing the task.

3. The system of claim 1 , the operations further comprising:

receiving, from the remote computing resource, a second request for a state of the robotic agent, wherein the state is associated with a current performance of the robotic agent or a previous performance of the robotic agent; and

transmitting, to the remote computing resource, the state of the robotic agent.

4. The system of claim 1 , the operations further comprising receiving, from the remote computing resource, a second request for one or more messages exchanged between the system and the robotic agent, the one or more messages identifying at least one of:

the instruction sent to the robotic agent;

a time associated with the robotic agent performing the task; or

one or more actions performed by the robotic agent to perform the task.

5. A method comprising:

receiving, at a local device and from a remote device, a first indication of a task to be performed at a workstation within an environment, wherein the remote device is physically remote from the local device;

determining, by the local device, a robotic agent at the workstation configured to perform the task;

storing, in an in-memory datastore at the local device, first data associated with the task and the robotic agent to perform the task;

sending, to the robotic agent, a second indication associated with the robotic agent performing the task;

receiving, from the robotic agent, a third indication associated with a performance of the task; and

storing, in the in-memory datastore, second data associated with the third indication.

6. The method of claim 5 , further comprising:

accessing the in-memory datastore to obtain a current state of the robotic agent; and

determining, based at least in part on the current state, to assign the task to the robotic agent,

wherein sending the second indication is based at least in part on assigning the task to the robotic agent.

7. The method of claim 5 , wherein the second data identifies at least one of:

a first time the robotic agent performed the task;

a second time the robotic agent received the second indication;

a first identifier of the task;

a second identifier of the robotic agent; or

one or more resources at the workstation utilized by the robotic agent.

8. The method of claim 5 , further comprising:

receiving, at the local device from the remote device, a fourth indication requesting information associated with the robotic agent performing the task; and

sending at least a portion of the second data to the remote device.

9. The method of claim 5 , further comprising sending, from the local device to the remote device, at least one of:

a current performance state of the robotic agent;

a previous performance state of the workstation;

a first previous task performed by the robotic agent;

a second previous task performed at the workstation by the robotic agent;

a first time associated with the first previous task performed by the robotic agent; or

a second time associated with the second previous task performed at the workstation.

10. The method of claim 5 , wherein the task is associated with the robotic agent, further comprising:

causing the robotic agent to remove a first container containing an item from a slot on a shelf;

causing the robotic agent to place the first container for transport; and

causing the robotic agent to place a second container into the slot.

11. The method of claim 10 , wherein the second data identifies at least one of:

a first identifier of the slot;

a second identifier of the first container;

a third identifier of the second container;

a first time associated with the robotic agent removing the first container from the slot;

a second time associated with the robotic agent placing the first container for transport; or

a third time associated with the robotic agent placing the second container into the slot.

12. The method of claim 5 , further comprising:

storing, in the in-memory datastore, one or more messages transmitted between the local device and the robotic agent, wherein the one or more messages are stored in association with a time of receipt; and

sending, from the local device to the remote device, the one or more messages.

13. The method of claim 5 , further comprising:

receiving, at the local device and from the remote device, a fourth indication of a second task to be completed at the workstation;

causing the second task to be queued, wherein the second task is configured to be performed after the task;

storing, in the in-memory datastore, third data associated with the second task being queued;

causing an instruction to be written on a programmable logic controller (PLC) of the robotic agent for carrying out the second task;

storing, in the in-memory datastore, fourth data associated with the instruction being written on the PLC;

receiving a fifth indication associated with the robotic agent receiving the second task; and

storing, in the in-memory datastore, fifth data associated with the robotic agent receiving the second task.

14. A device comprising:

one or more processors;

one or more non-transitory computer-readable media; and

an in-memory datastore stored in the one or more non-transitory computer-readable media, the in-memory datastore storing information associated with one or more robotic agents located at a workstation within an environment,

wherein the one or more non-transitory computer-readable media store computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving, from a remote device, a first indication of a task to be performed by a robotic agent of the one or more robotic agents;

assigning the task to the robotic agent;

storing a second indication in the in-memory datastore associated with assigning the task to the robotic agent;

causing an instruction associated with performing the task to be sent to the robotic agent;

receiving, from the robotic agent, a third indication associated with a performance of the task; and

causing a fourth indication associated with the performance of the task to be stored in the in-memory datastore.

15. The device of claim 14 , wherein the third indication includes one or more instructions associated with the robotic agent performing the task, the operations further comprising storing, in the in-memory datastore:

the instruction;

a time associated with the instruction being sent to the robotic agent;

a first identifier of the task; and

a second identifier of the robotic agent.

16. The device of claim 14 , the operations further comprising:

receiving, from the remote device, a fifth indication requesting a state of the task;

receiving, from the in-memory datastore, the state, wherein the state corresponds to at least one of:

a progress of the task;

a status of the robotic agent performing the task; or

a stage associated with assigning the task to the robotic agent; and

sending, to the remote device, data associated with the state.

17. The device of claim 14 , the operations further comprising receiving, from the remote device, a fifth indication requesting one or more messages exchanged between the device and the robotic agent, the one or more messages identifying at least one of:

the instruction sent to the robotic agent;

a first time associated with the robotic agent performing the task;

one or more actions performed by the robotic agent in performing the task; or

a second time associated with the one or more actions performed by the robotic agent.

18. The device of claim 14 , the operations further comprising:

receiving, from one or more sensors, image data depicting at least a portion of the workstation;

storing, in the in-memory datastore, the image data in association with a time at which the image data was generated; and

at least one of:

determining, based at least in part on the image data, a second task to perform or a modification to the task; or

sending, to the remote device, the image data.

19. The device of claim 14 , the operations further comprising:

receiving a fifth indication associated with a container utilized by the robotic agent to perform the task; and

storing, in the in-memory datastore, an identification of the container and at least one of:

a first time at which the robotic agent picked up the container, or

a second time at which the robotic agent dropped off the container.

20. The device of claim 14 , the operations further comprising:

receiving, from the in-memory datastore, a state of the robotic agent that is associated with the performance of the task;

determining, based at least in part on the state of the robotic agent, a second task for the robotic agent; and

causing a second instruction associated with the second task to be sent to the robotic agent.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2020
From: BANSAL, ROHIT
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 054590/0834 →
Cited By (3)
US 12,443,197 US 12,577,044 US 12,663,815